KVM/QEMU橋接網(wǎng)絡(luò)設(shè)置
配置kvm的網(wǎng)絡(luò)有2種方法。其一,默認(rèn)方式為用戶模式網(wǎng)絡(luò)(Usermode Networking),數(shù)據(jù)包由NAT方式通過(guò)主機(jī)的接口進(jìn)行傳送。其二,使用橋接方式(Bridged Networking),外部的機(jī)器可以直接聯(lián)通到虛擬機(jī),就像聯(lián)通到你的主機(jī)一樣。
第一,用戶模式
虛擬機(jī)可以使用網(wǎng)絡(luò)服務(wù),但局域網(wǎng)中其他機(jī)器包括宿主機(jī)無(wú)法連接它。比如,它可以瀏覽網(wǎng)頁(yè),但外部機(jī)器不能訪問(wèn)架設(shè)在它里面的web服務(wù)器。
默認(rèn)的,虛擬機(jī)得到的ip空間為10.0.2.0/24,主機(jī)ip為10.0.2.2供虛擬機(jī)訪問(wèn)??梢詓sh到主機(jī)(10.0.2.2),用scp來(lái)拷貝文件。
第二,橋接模式
這種模式允許虛擬機(jī)就像一臺(tái)獨(dú)立的主機(jī)一樣擁有網(wǎng)絡(luò)。這種模式需要網(wǎng)卡支持,一般的有線網(wǎng)卡都支持,絕大部分的無(wú)線網(wǎng)卡都不支持
A) 在主機(jī)上創(chuàng)建一個(gè)網(wǎng)絡(luò)橋
1)安裝bridge-utils
sudo apt-get install bridge-utils
2)改變網(wǎng)絡(luò)設(shè)置,先停止網(wǎng)絡(luò)
sudo invoke-rc.d networking stop
如果是用遠(yuǎn)程連接進(jìn)行設(shè)置,設(shè)置完后,重啟網(wǎng)絡(luò)sudo invoke-rc.d networking restart,如果中途有一步錯(cuò)誤,將不能連接
3)修改/etc/network/interfaces,直接用下面的替換。
a) 靜態(tài)ip模式
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
b) DHCP模式
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
4)重啟網(wǎng)絡(luò)
sudo /etc/init.d/networking restart
B) 隨機(jī)生成一個(gè)KVM的MAC地址
MACADDR="52:54:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed s/^/(../)/(../)/(../)/(../).*$//1:/2:/3:/4/)"; echo $MACADDR
可以指定一個(gè)mac地址,但要注意,第一個(gè)字節(jié)必須為偶數(shù),如00,52等,不能為奇數(shù)(01),否則會(huì)有不可預(yù)料的問(wèn)題。因?yàn)槠鏀?shù)保留為多播使用。如,KVM可以接收ARP包并回復(fù),但這些回復(fù)會(huì)使其他機(jī)器迷惑。這是以太網(wǎng)的規(guī)則,而非KVM的問(wèn)題。
如直接將網(wǎng)卡地址設(shè)置為MACADDR="32:32:32:32:32:32"
C) 將以前安裝的虛擬機(jī)網(wǎng)絡(luò)改為橋接方式或者安裝新的虛擬機(jī)使用橋接網(wǎng)絡(luò)
一個(gè)腳本文件
#start kvm.winxp
USERID=`whoami`
MACADDR="32:32:32:32:32:32"
model=e1000e
iface=`sudo tunctl -b -u $USERID`
kvm -net nic,vlan=0,macaddr=$MACADDR -net tap,vlan=0,ifname=$iface $@
sudo tunctl -d $iface
#end kvm.winxp
使用iso文件安裝winxp,運(yùn)行如下命令:
sudo ./kvm.bridge -m 512 -hda winxp.img -cdrom /home/software/zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso -boot d
運(yùn)行安裝完的虛擬機(jī),運(yùn)行如下命令:
sudo ./kvm.bridge -m 512 -hda winxp.img -boot c
===================================================================================
linux中Kvm橋接網(wǎng)絡(luò)成功的關(guān)鍵
KVM在LINUX中的重要作用,速度等,我不再評(píng)價(jià),我只能說(shuō),快!
但是,如果你要在一個(gè)服務(wù)器中使用多個(gè)虛擬機(jī),并且想讓這些虛擬機(jī)提供服務(wù),那么,橋接網(wǎng)絡(luò)是必不可少的,可是,網(wǎng)上流傳的三四個(gè)版本中,關(guān)于橋接網(wǎng)絡(luò)的,你試一下,會(huì)發(fā)現(xiàn),很難成功,這是何道理?看起來(lái)他們似乎都配置成功了,也有可能是軟件版本的問(wèn)題,總之,你親自嘗試的時(shí)候,會(huì)發(fā)現(xiàn),這其實(shí)很難實(shí)現(xiàn)。
當(dāng)然,如果無(wú)法實(shí)現(xiàn)的話,也就沒(méi)有此文了!
先說(shuō)一下我的軟件配置:
Linux 2.6.28-11-server #42-Ubuntu SMP X86_64位Ubuntu服務(wù)器版9.04
KVM內(nèi)核是自帶的。
真實(shí)網(wǎng)絡(luò)接口名稱:eth0
KVM的安裝方法我就不寫(xiě)了,網(wǎng)上有一大堆,注意,KVM有兩個(gè)部分,一個(gè)部分是內(nèi)核部分,這在9.04中是自帶的,您要安裝的KVM是管理部分(我也不知道這樣理解是否正確,總之,你要安裝KVM及QEMU)
不安裝QEMU也可以用,因?yàn)镵VM帶一個(gè)修改版本的QEMU
成功的關(guān)鍵是配置網(wǎng)絡(luò)及路由(這個(gè)在網(wǎng)上流傳的版本中沒(méi)有提到)
請(qǐng)生成一個(gè)文件(qemu-ifup),將這個(gè)文件加上可執(zhí)行屬性,文件內(nèi)容如下:
#!/bin/sh
set -x
switch=br0
if [ -n "$1" ];then
/usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1
/usr/bin/sudo /sbin/ip link set $1 up
sleep 0.5s
/usr/bin/sudo /usr/sbin/brctl addif $switch $1
exit 0
else
echo "Error: no interface specified"
exit 1
fi
將這個(gè)文件保存在你的HOME目錄下,或者其它的目錄也行。
修改你的/etc/network/interfaces文件如下:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
bridge_ports eth0 //注意這個(gè)eth0,這是你的計(jì)算機(jī)的實(shí)際網(wǎng)卡,請(qǐng)根據(jù)你的網(wǎng)絡(luò)修改,也可能跟我的這個(gè)一樣。
address 192.168.1.242 //根據(jù)你的需要設(shè)置從這里到下面的參數(shù),這個(gè)網(wǎng)絡(luò)跟你的實(shí)現(xiàn)網(wǎng)絡(luò)在一個(gè)子網(wǎng)內(nèi),不然無(wú)法橋接
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameserver 192.168.1.1 219.141.136.10
dns-search Office
此時(shí),重新啟動(dòng)計(jì)算機(jī)即可。
你可能注意到, 這個(gè)文件里可能有關(guān)于eth0的配置,請(qǐng)刪除它即可,也就是說(shuō),不能對(duì)eth0進(jìn)行任何配置,這個(gè)接口在重新啟動(dòng)后,應(yīng)該是沒(méi)有配置IP的,否則不能工作。
重新啟動(dòng)完成后,請(qǐng)比照一下你的接口配置是否跟我的一樣:
#ifconfig
br0 Link encap:以太網(wǎng) 硬件地址 00:21:5e:4e:33:e2
inet 地址:192.168.1.242 廣播:192.168.1.255 掩碼:255.255.255.0
inet6 地址: fe80::221:5eff:fe4e:33e2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 躍點(diǎn)數(shù):1
接收數(shù)據(jù)包:48324758 錯(cuò)誤:0 丟棄:0 過(guò)載:0 幀數(shù):0
發(fā)送數(shù)據(jù)包:25261650 錯(cuò)誤:0 丟棄:0 過(guò)載:0 載波:0
碰撞:0 發(fā)送隊(duì)列長(zhǎng)度:0
接收字節(jié):63199826111 (63.1 GB) 發(fā)送字節(jié):5380518900 (5.3 GB)
eth0 Link encap:以太網(wǎng) 硬件地址 00:21:5e:4e:33:e2
inet6 地址: fe80::221:5eff:fe4e:33e2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 躍點(diǎn)數(shù):1
接收數(shù)據(jù)包:48903854 錯(cuò)誤:0 丟棄:0 過(guò)載:0 幀數(shù):0
發(fā)送數(shù)據(jù)包:28125512 錯(cuò)誤:0 丟棄:0 過(guò)載:0 載波:0
碰撞:0 發(fā)送隊(duì)列長(zhǎng)度:1000
接收字節(jié):64152739997 (64.1 GB) 發(fā)送字節(jié):6185466883 (6.1 GB)
中斷:16
請(qǐng)注意,只有br0有地址,而eth0是沒(méi)有地址的,再比照一下你的路由表:
#route
內(nèi)核 IP 路由表
目標(biāo) 網(wǎng)關(guān) 子網(wǎng)掩碼 標(biāo)志 躍點(diǎn) 引用 使用 接口
localnet * 255.255.255.0 U 0 0 0 br0
default bogon 0.0.0.0 UG 100 0 0 br0
請(qǐng)注意,如果你的路由表與我的不一樣,例如出現(xiàn)四行,即又加上了
localnet * ................... eth0
default bogon ..................eth0
那么,你八成是不能成功橋接的,出現(xiàn)這樣的問(wèn)題應(yīng)該是由于你的ETH0網(wǎng)絡(luò)被配置了IP,處理的辦法就是想辦法去掉eth0的IP,可以使用這個(gè)方法:
#ifconfig eth0 0.0.0.0
比較一下,你的橋接網(wǎng)絡(luò)接口:
#brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00215e4e33e2 no eth0
tap0
tap1
tap2
應(yīng)該有這行存在(了可能還會(huì)出現(xiàn)其它的行,例如pan0),后面的tapX是不同的虛擬機(jī)的接口,這里可以看出,我橋接了三個(gè)虛擬接口到一個(gè)直接的接口。
如果你的IP地址配置與路由表跟我的一樣,那么,應(yīng)該是可以橋接成功的。
接下來(lái)就是啟動(dòng)你的虛擬機(jī),啟動(dòng)前需要?jiǎng)?chuàng)建虛擬機(jī)的磁盤(pán)(即下面的u_ubuntu.img,可以參照網(wǎng)上的方法,這里就不重復(fù)了),啟動(dòng)虛擬機(jī)的方法:
#sudo kvm -hda u_ubuntu.img -boot c -net nic,model=virtio,macaddr=DE:AD:AF:22:33:22 -net tap,script=qemu-ifup -m 1024 -smp 2 -clock rtc -localtime
當(dāng)然,有很的參數(shù)可用,我就不介紹了(其實(shí)我也不是很懂,嘿嘿),關(guān)鍵的問(wèn)題就是macaddr和script兩項(xiàng),如果你有多個(gè)虛擬機(jī),那么一樣要配置不同的macaddr,script一定要指向你剛才保存的那個(gè)文件,可以使用絕對(duì)路徑指明。
啟動(dòng)后,你應(yīng)該可以正常安裝操作系統(tǒng)了,安裝完成后,如果虛擬機(jī)操作系統(tǒng)網(wǎng)絡(luò)配置成DHCP,那么應(yīng)該可以獲取一個(gè)192.168.1.0網(wǎng)絡(luò)內(nèi)的地址,如果你不能獲取地址,那么說(shuō)明配置不成功。
在虛擬機(jī)工作的情況下,在宿主計(jì)算機(jī)上運(yùn)行ifconfig,應(yīng)該可以看到一個(gè)自動(dòng)增加的接口tapX(其中X從0開(kāi)始)。
小結(jié)一下:
1)eth0(宿主計(jì)算機(jī)連接到網(wǎng)絡(luò)的真實(shí)網(wǎng)絡(luò)接口)不能有IP地址!
2)路由表一定要正確,可以去找一找關(guān)于路由方面的介紹,了解一下這個(gè)路由信息的意思
=============================================================================================
近幾天在搞kvm。kvm真的是很不錯(cuò),運(yùn)行操作系統(tǒng)速度非???,至少比我以前用的vbox要快。但是 kvm的網(wǎng)絡(luò)配置讓我頭疼了一陣,上網(wǎng)找了很多資料,無(wú)奈那些資料要不省略了一些內(nèi)容(都把我當(dāng)高手看了),要不就是寫(xiě)了一堆東西,不說(shuō)原理,看了半天都搞不懂為什么要那么做,反正都不適合我這種“從0開(kāi)始”的人。故今天花了幾個(gè)小時(shí)做實(shí)驗(yàn),終于弄出了一個(gè)解決方法,現(xiàn)在從頭到尾講出來(lái)跟大家分享一下。
對(duì)于那些跟我一樣想要找到一個(gè)只要照著它的提示打命令就多半能成功的方法的人,此帖應(yīng)該有用。高手請(qǐng)無(wú)視此帖~
首先說(shuō)一下實(shí)現(xiàn)原理。我是想先在host上造一塊假網(wǎng)卡,然后guest的系統(tǒng)跟這假網(wǎng)卡連接構(gòu)成一個(gè)局域網(wǎng)。guest想連外網(wǎng)的話,就把host當(dāng)路由器。至于域名服務(wù)器,在guest系統(tǒng)里直接指定。
本人實(shí)驗(yàn)的host是ubuntu 8.04 server,guest是freebsd 7.0 release。(都是64位)
接下來(lái)我會(huì)假設(shè)你已經(jīng)裝了kvm,而且能用它啟動(dòng)虛擬機(jī)。
(以下一到四參照了vbox的網(wǎng)絡(luò)設(shè)定,都在host下操作)
一,首先把必要的工具裝了:
代碼:
sudo apt-get install uml-utilities
二,再造假網(wǎng)卡tap0(名字隨便取)并作一些基本配置
代碼:
sudo tunctl -t tap0 -u xxx
此處xxx換成你自己的用戶名
代碼:
sudo chmod 0666 /dev/net/tun
這樣大家都有權(quán)力去讀寫(xiě)那個(gè)假網(wǎng)卡。即使在上面那行代碼中你指定了自己的用戶名,你還是沒(méi)有辦法讀寫(xiě)tap0(很奇怪),所以這條命令是有用的。
三,配置網(wǎng)卡的網(wǎng)絡(luò)參數(shù)。
代碼:
sudo ifconfig tap0 192.168.0.10 netmask 255.255.255.0 up
隨便設(shè),但是你要確保你待會(huì)設(shè)置的guest的網(wǎng)卡ip跟tap0的屬于同一個(gè)網(wǎng)段。
四,接下來(lái)是系統(tǒng)的配置(連外網(wǎng)所必須)
代碼:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
這樣開(kāi)啟了linux的ip轉(zhuǎn)發(fā)功能,host可以當(dāng)路由器用了。如果你想讓guest連上外網(wǎng)的話這條一定要。
代碼:
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
這條命令也是連外網(wǎng)所必須的。
五,啟動(dòng)kvm虛擬機(jī)
代碼:
kvm -M pc -m 512 -hda /root/hda.img -net nic -net tap,ifname=tap0,script=no -boot c
-net nic -net tap,ifname=tap0,script=no是跟網(wǎng)絡(luò)相關(guān)的,上面的命令的其他部分自己跟據(jù)實(shí)際情況修改。ifname=你造的假網(wǎng)卡的名字,我的是tap0。
六,guest系統(tǒng)的配置。(接下來(lái)的事請(qǐng)我不詳細(xì)講了,在guest下操作,根據(jù)不同的guest系統(tǒng)自己找資料,不要鄙視我~~~)
guest啟動(dòng)后應(yīng)該會(huì)認(rèn)出一張網(wǎng)卡,realtek的。我的freebsd認(rèn)出來(lái)是re0。把那網(wǎng)卡的ip設(shè)定成192.168.0.x,(這個(gè)ip跟host下tap0的ip不能相同!但要確保它們同在一個(gè)子網(wǎng)。我的是192.168.0.11),并把netmask設(shè)成 255.255.255.0。到現(xiàn)在,guest和host應(yīng)該是同在一個(gè)子網(wǎng)了。你可以試一下在guest里ping 192.168.0.10,在host里ping 192.168.0.11,如無(wú)意外,應(yīng)該能ping通。到現(xiàn)在已實(shí)現(xiàn)host guest之間的互訪。
七,讓guest連上外網(wǎng)。(前提是host已經(jīng)連上外網(wǎng))
只需要把guest的默認(rèn)網(wǎng)關(guān)設(shè)置成192.168.0.10(你的假網(wǎng)卡的ip)就可以了,非常的簡(jiǎn)單。
域名服務(wù)器手動(dòng)設(shè)置,不會(huì)很麻煩。
至此kvm網(wǎng)絡(luò)設(shè)置的問(wèn)題解決了,freebsd在線裝東西中~
希望此帖能對(duì)大家有點(diǎn)幫助。
==========================================================================================
研究了很久的KVM,感覺(jué)是我用過(guò)的最快的虛擬機(jī)。對(duì)比常用的虛擬機(jī),Vmware的功能全面,設(shè)置簡(jiǎn)單,但其速度不是很好;VirtualBox的效率雖然比Vmware高一些,但是存在不少缺點(diǎn),感覺(jué)在運(yùn)行時(shí)比較搶CPU,現(xiàn)在virtualbox已經(jīng)支持smp,和虛擬化技術(shù),但整體效率還是沒(méi)有KVM高(但是圖形效率作的不錯(cuò));KVM(Kernel-based Virtual Machine),基于內(nèi)核的虛擬機(jī),是我用過(guò)的最快的虛擬機(jī),需要CPU支持虛擬化技術(shù),并且在BIOS里打開(kāi)虛擬化選項(xiàng),效率可達(dá)到物理機(jī)的80%以上,對(duì)SMP的支持很好。所以現(xiàn)在強(qiáng)烈吐血賣(mài)命推薦KVM。(注:在原文最下面添加了版虛擬化驅(qū)動(dòng)(virtio)的使用方式)
(使用磁盤(pán)方式以更新,請(qǐng)大家注意!!!)
沒(méi)有廢話,以下是在UBUNTU 10.04.1 64BIT下的方法
獲得KVM:
KVM的網(wǎng)站:http://sourceforge.net/projects/kvm/files/
下載最新的qemu-kvm-0.13.0.tar.gz
解壓:
代碼:
tar -xzvf qemu-kvm-0.13.0.tar.gz
需要用到的包:
在 UBUNTU 10.04中 ,可以使用
代碼:
sudo apt-get build-dep qemu-kvm
來(lái)解決依賴關(guān)系。
三步曲:
代碼:
cd qemu-kvm-0.13.0
/configure --prefix=/usr/local/kvm
make
sudo make install
安裝好以后加載KVM模塊
代碼:
sudo modprobe kvm
sudo modprobe kvm-intel //如果你的是INTEL處理器就用這個(gè)
sudo modprobe kvm-amd //如果你的是AMD處理器就用這個(gè)
這樣就裝好了。
下面介紹配置KVM橋接網(wǎng)絡(luò)的方法: 特別注意,大部分不能橋接無(wú)線網(wǎng)卡。。。只能橋接PCI網(wǎng)卡。。。。
安裝橋接工具:
代碼:
sudo apt-get install bridge-utils
安裝創(chuàng)建TAP界面的工具:
代碼:
sudo apt-get install uml-utilities
編輯網(wǎng)絡(luò)界面配置文件(
代碼:
sudo vi /etc/network/interfaces
),根據(jù)你的情況加入以下內(nèi)容:
代碼:
auto eth0
iface eth0 inet manual
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm lm是我的用戶名,在這里換為你的用戶名
auto br0
iface br0 inet static 當(dāng)然這里也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
激活tap0和br0: //有些時(shí)候會(huì)不奏效,但重啟后就行了
代碼:
sudo /sbin/ifup tap0
sudo /sbin/ifup br0
好了以后ifconfig看一下,多了一個(gè)tap0和br0, br0上的IP地址就是你本機(jī)的IP地址。
KVM的使用方法:
KVM的使用方法具體可以參考
代碼:
/usr/local/kvm/bin/qemu-system-x86_64 --help
下面具體舉幾個(gè)例子:
創(chuàng)建虛擬磁盤(pán)(用qemu-img命令):
代碼:
mkdir kvm
cd kvm
/usr/local/kvm/bin/qemu-img create -f qcow2 winxp.img 10G
創(chuàng)建虛擬機(jī):
代碼:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -drive file=/home/lm/kvm/winxp.img,cache=writeback -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -smp 2 -soundhw es1370
這里對(duì)各個(gè)參數(shù)說(shuō)明一下:
代碼:
-m 512
分配512MB的內(nèi)存給GUEST OS
代碼:
-drive file=/home/lm/kvm/winxp.img,cache=writeback
使用虛擬磁盤(pán)的文件和路徑,并啟用writeback緩存。
代碼:
-localtime
使用本地時(shí)間(一定要加這個(gè)參數(shù),不然虛擬機(jī)時(shí)間會(huì)有問(wèn)題)
代碼:
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tapo,script=no
使用網(wǎng)絡(luò),并連接到一個(gè)存在的網(wǎng)絡(luò)設(shè)備tap0,注意mac地址一定要自己編一個(gè),特別是如果你虛擬了多個(gè)系統(tǒng)并且要同時(shí)運(yùn)行的話,不然就MAC沖突了,在
代碼:
-boot d
從光盤(pán)啟動(dòng) (從硬盤(pán)啟動(dòng)則為 -boot c )
代碼:
-cdrom /home/lm/iso/winxp.iso
使用的光盤(pán)鏡像,如果要使用物理光驅(qū)的話就是 -cdrom /dev/cdrom
代碼:
-smp 2
smp處理器個(gè)數(shù)為2個(gè),如果你是4核處理器,后面的數(shù)字就為4(如果不開(kāi)啟此選項(xiàng),則只能以單核模式運(yùn)行)
開(kāi)始啟動(dòng)裝系統(tǒng)了吧?是不是非常的快?如果你機(jī)器可以的話大概在15分鐘左右就把XP裝好了。
啟動(dòng)裝好的虛擬機(jī)(很簡(jiǎn)單,上面的命令改兩個(gè)參數(shù)就行):
代碼:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -drive file=/home/lm/kvm/winxp.img,cache=writeback -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -soundhw es1370
然后在客戶端里設(shè)置好IP地址就可以使用了,但是KVM的顯卡能力不行,可以通過(guò)rdesktop遠(yuǎn)程連接解決
代碼:
rdesktop 192.168.1.4:3389 -u administrator -p ****** -g 1280x750 -D -r sound:local 分辨率可以自行設(shè)定,是不是比VirtualBox的無(wú)縫連接模式要爽??
補(bǔ)充:
如果同時(shí)運(yùn)行多個(gè)GUEST OS ,則網(wǎng)絡(luò)設(shè)置要改一下,在/etc/network/interfaces 里加幾個(gè)tap界面就行了,每個(gè)GUEST OS單獨(dú)使用一個(gè)TAP,比如說(shuō)現(xiàn)在要同時(shí)運(yùn)行3個(gè)GUEST OS ,則配置文件如下:
代碼:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm lm是我的用戶名,在這里換為你的用戶名
auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm lm是我的用戶名,在這里換為你的用戶名
auto tap2
iface tap2 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm lm是我的用戶名,在這里換為你的用戶名
auto br0
iface br0 inet static 當(dāng)然這里也可以使用DHCP分配
bridge_ports eth0 tap0 tap1 tap2
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
啟動(dòng)GUEST OS
代碼:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512-drive file=/home/lm/kvm/winxp.img,cache=writeback -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -soundhw es1370
把ifname=tap0換為你要tap1或者tap2就行了,MAC也要改噢。。
要注意,系統(tǒng)重啟后要重新加載kvm內(nèi)核模塊:
代碼:
sudo modprobe kvm
sudo modprobe kvm-amd //如果使用AMD處理器
sudo modprobe kvm-intel //如果是用INTEL處理器
當(dāng)然,你也可以修改系統(tǒng)相關(guān)設(shè)置在啟動(dòng)時(shí)自動(dòng)加載該模塊。
同理,可以用此方法安裝LINUX。裝完了可以對(duì)比一下,是不是比VB和VM要爽得多呢?
其他比如像USB連接問(wèn)題可以參考論壇里的帖子
我已經(jīng)在我的系統(tǒng)里同時(shí)運(yùn)行了4個(gè)CentOS 4.8 1個(gè)winxp sp3 1個(gè)win2003 sp2 5個(gè)FreeBSD 8.0
速度太快了,難以置信。
系統(tǒng)配置為:Athlon X2 5000+ 8G RAM 跑的Ubuntu 10.04.1 64bit
其實(shí)KVM的安裝和使用都很方便簡(jiǎn)單的,大家要理解KVM各個(gè)參數(shù)的含義。最關(guān)鍵的就是KVM的網(wǎng)絡(luò)橋接的設(shè)置,在這里大家要多看軟件自身的文檔,會(huì)有很大的幫助。
以上是KVM的最基礎(chǔ)的實(shí)現(xiàn)方法,望大家多看文檔,以便掌握更多更靈活的功能。
BTW:
[b]現(xiàn)在已經(jīng)找到了原來(lái)磁盤(pán)性能糟糕的原因,按照以往的方法是用 -hda disk.img 的方法來(lái)使用虛擬磁盤(pán),現(xiàn)在版本更新以后時(shí)候 -drive file=/home/lm/kvm/winxp.img,cache=writeback 來(lái)使用虛擬磁盤(pán),請(qǐng)廣大使用KVM的用戶注意這里的變化。
注:Ubuntu 10.04 LTS 下的安裝源里的KVM的方法(qemu-kvm 0.12.3):
直接
代碼:
sudo apt-get install qemu-kvm
網(wǎng)絡(luò)配置如上,是一樣的。
大家注意一個(gè)問(wèn)題,如果你虛擬的是WIN2003,那么切勿在-net參數(shù)中使用model=e1000,否則HOST和GUEST之間不能PING通
添加:半虛擬化驅(qū)動(dòng)使用方式如下
WIN系統(tǒng)需要下載的驅(qū)動(dòng)程序:
http://www.linux-kvm.com
在左手邊有一個(gè)Windows Guest Drivers,下載cdrom image和floppy image
使用版虛擬化驅(qū)動(dòng)(virtio)可以得到更好的磁盤(pán)性能和網(wǎng)絡(luò)性能,使用版虛擬化驅(qū)動(dòng)的時(shí)候,KVM的啟動(dòng)參數(shù)如下(安裝WIN時(shí)):
代碼:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -drive file=/home/lm/kvm/winxp.img,if=virtio,boot=on,cache=writeback -localtime -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -fda=/disk/virtio-win-1.1.11-0.vfd -smp 2
說(shuō)明一下新的參數(shù):
代碼:
在file=/home/lm/kvm/winxp.img,if=virtio,boot=on,cache=writeback中
添加了if=virtio,通過(guò)virio來(lái)使用磁盤(pán)
代碼:
在 -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01中
添加了model=virtio,通過(guò)virtio來(lái)使用網(wǎng)絡(luò)
代碼:
-fda=/disk/virtio-win-1.1.11-0.vfd
驅(qū)動(dòng)程序的軟盤(pán)鏡像,-fda為添加一個(gè)軟盤(pán)驅(qū)動(dòng)器
在安裝WINDOWS的時(shí)候需要注意:在虛擬機(jī)啟動(dòng)從光盤(pán)引導(dǎo)啟動(dòng)WINDOWS安裝的時(shí)候(最開(kāi)始的時(shí)候)會(huì)提示你,按F6選擇第三方驅(qū)動(dòng)程序,按F6以后過(guò)幾秒鐘,它會(huì)出現(xiàn)選擇第三方驅(qū)動(dòng)的畫(huà)面,按下S,會(huì)讓你選擇你要加載的第三方驅(qū)動(dòng)。(網(wǎng)絡(luò)太慢,圖傳不上來(lái),大家可參考:http://www.linux-kvm.org/page/WindowsGuestDrivers/viostor/installation)
在WINDOWS安裝完成以后,還要安裝virtio網(wǎng)絡(luò)驅(qū)動(dòng)程序,修改KVM啟動(dòng)參數(shù):
代碼:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -drive file=/home/lm/kvm/winxp.img,if=virtio,boot=on,cache=writeback -localtime -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -cdrom /home/lm/iso/virtio-win-1.1.11-0.iso -smp 2
啟動(dòng)虛擬機(jī),啟動(dòng)好WIN系統(tǒng)以后,在WIN中安裝網(wǎng)卡驅(qū)動(dòng)程序(在設(shè)備管理器中安裝),驅(qū)動(dòng)程序就在虛擬機(jī)的光驅(qū)中。有時(shí)在安裝過(guò)程中會(huì)出現(xiàn)問(wèn)題,那么去掉cache=writeback重新安裝試試。
現(xiàn)在主流的LINUX系統(tǒng)的內(nèi)核都集成了virtio驅(qū)動(dòng),所以在使用半虛擬化驅(qū)動(dòng)安裝LINUX的時(shí)候可以直接安裝,無(wú)需加載virtio驅(qū)動(dòng)來(lái)安裝。
注:
如果你使用的是raw文件系統(tǒng)或LVM分區(qū),則應(yīng)該將cache=writeback改為cache=none
建議大家使用LVM分區(qū)方式,這樣虛擬機(jī)的磁盤(pán)性能可以接近物理機(jī)的磁盤(pán)性能。關(guān)于LVM的創(chuàng)建大家可以去查找相關(guān)文章,在這里給大家一個(gè)KVM使用LVM分區(qū)的示例:
代碼:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -drive file=/dev/vg0/lv1,if=virtio,boot=on,cache=none -localtime -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2
新聞熱點(diǎn)
疑難解答
圖片精選