1. 程式人生 > >KVM/QEMU橋接網路設定及kvm資料

KVM/QEMU橋接網路設定及kvm資料

KVM/QEMU橋接網路設定

配置kvm的網路有2種方法。其一,預設方式為使用者模式網路(Usermode Networking),資料包由NAT方式通過主機的介面進行傳送。其二,使用橋接方式(Bridged Networking),外部的機器可以直接聯通到虛擬機器,就像聯通到你的主機一樣。
第一,使用者模式
虛擬機器可以使用網路服務,但區域網中其他機器包括宿主機無法連線它。比如,它可以瀏覽網頁,但外部機器不能訪問架設在它裡面的web伺服器。
預設的,虛擬機器得到的ip空間為10.0.2.0/24,主機ip為10.0.2.2供虛擬機器訪問。可以ssh到主機(10.0.2.2),用scp來拷貝檔案。
第二,橋接模式
這種模式允許虛擬機器就像一臺獨立的主機一樣擁有網路。這種模式需要網絡卡支援,一般的有線網絡卡都支援,絕大部分的無線網絡卡都不支援
A) 在主機上建立一個網路橋
1)安裝bridge-utils
sudo apt-get install bridge-utils
2)改變網路設定,先停止網路
sudo invoke-rc.d networking stop
如果是用遠端連線進行設定,設定完後,重啟網路sudo invoke-rc.d networking restart,如果中途有一步錯誤,將不能連線
3)修改/etc/network/interfaces,直接用下面的替換。
a) 靜態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)重啟網路
sudo /etc/init.d/networking restart

B) 隨機生成一個KVM的MAC地址
MACADDR="52:54:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^/(../)/(../)/(../)/(../).*$//1:/2:/3:/4/')"; echo $MACADDR
可以指定一個mac地址,但要注意,第一個位元組必須為偶數,如00,52等,不能為奇數(01),否則會有不可預料的問題。因為奇數保留為多播使用。如,KVM可以接收ARP包並回復,但這些回覆會使其他機器迷惑。這是乙太網的規則,而非KVM的問題。
如直接將網絡卡地址設定為MACADDR="32:32:32:32:32:32"
C) 將以前安裝的虛擬機器網路改為橋接方式或者安裝新的虛擬機器使用橋接網路
一個指令碼檔案
#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
[email protected]

sudo tunctl -d $iface
#end kvm.winxp
使用iso檔案安裝winxp,執行如下命令:
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
執行安裝完的虛擬機器,執行如下命令:
sudo ./kvm.bridge -m 512 -hda winxp.img -boot c

===================================================================================

linux中Kvm橋接網路成功的關鍵

KVM在LINUX中的重要作用,速度等,我不再評價,我只能說,快!
但是,如果你要在一個伺服器中使用多個虛擬機器,並且想讓這些虛擬機器提供服務,那麼,橋接網路是必不可少的,可是,網上流傳的三四個版本中,關於橋接網路的,你試一下,會發現,很難成功,這是何道理?看起來他們似乎都配置成功了,也有可能是軟體版本的問題,總之,你親自嘗試的時候,會發現,這其實很難實現。
當然,如果無法實現的話,也就沒有此文了!
先說一下我的軟體配置:
Linux 2.6.28-11-server #42-Ubuntu SMP X86_64位Ubuntu伺服器版9.04
KVM核心是自帶的。
真實網路介面名稱:eth0
KVM的安裝方法我就不寫了,網上有一大堆,注意,KVM有兩個部分,一個部分是核心部分,這在9.04中是自帶的,您要安裝的KVM是管理部分(我也不知道這樣理解是否正確,總之,你要安裝KVM及QEMU)
不安裝QEMU也可以用,因為KVM帶一個修改版本的QEMU
成功的關鍵是配置網路及路由(這個在網上流傳的版本中沒有提到)
請生成一個檔案(qemu-ifup),將這個檔案加上可執行屬性,檔案內容如下:
#!/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
將這個檔案儲存在你的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 //注意這個eth0,這是你的計算機的實際網絡卡,請根據你的網路修改,也可能跟我的這個一樣。
address 192.168.1.242 //根據你的需要設定從這裡到下面的引數,這個網路跟你的實現網路在一個子網內,不然無法橋接
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
此時,重新啟動計算機即可。
你可能注意到, 這個檔案裡可能有關於eth0的配置,請刪除它即可,也就是說,不能對eth0進行任何配置,這個介面在重新啟動後,應該是沒有配置IP的,否則不能工作。
重新啟動完成後,請比照一下你的介面配置是否跟我的一樣:
#ifconfig
br0 Link encap:乙太網 硬體地址 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 躍點數:1
接收資料包:48324758 錯誤:0 丟棄:0 過載:0 幀數:0
傳送資料包:25261650 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 傳送佇列長度:0 
接收位元組:63199826111 (63.1 GB) 傳送位元組:5380518900 (5.3 GB)
eth0 Link encap:乙太網 硬體地址 00:21:5e:4e:33:e2 
inet6 地址: fe80::221:5eff:fe4e:33e2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 躍點數:1
接收資料包:48903854 錯誤:0 丟棄:0 過載:0 幀數:0
傳送資料包:28125512 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 傳送佇列長度:1000 
接收位元組:64152739997 (64.1 GB) 傳送位元組:6185466883 (6.1 GB)
中斷:16 
請注意,只有br0有地址,而eth0是沒有地址的,再比照一下你的路由表:
#route
核心 IP 路由表
目標 閘道器 子網掩碼 標誌 躍點 引用 使用 介面
localnet * 255.255.255.0 U 0 0 0 br0
default bogon 0.0.0.0 UG 100 0 0 br0
請注意,如果你的路由表與我的不一樣,例如出現四行,即又加上了
localnet * ................... eth0
default bogon ..................eth0
那麼,你八成是不能成功橋接的,出現這樣的問題應該是由於你的ETH0網路被配置了IP,處理的辦法就是想辦法去掉eth0的IP,可以使用這個方法:
#ifconfig eth0 0.0.0.0
比較一下,你的橋接網路介面:
#brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00215e4e33e2 no eth0
tap0
tap1
tap2
應該有這行存在(了可能還會出現其它的行,例如pan0),後面的tapX是不同的虛擬機器的介面,這裡可以看出,我橋接了三個虛擬介面到一個直接的介面。
如果你的IP地址配置與路由表跟我的一樣,那麼,應該是可以橋接成功的。
接下來就是啟動你的虛擬機器,啟動前需要建立虛擬機器的磁碟(即下面的u_ubuntu.img,可以參照網上的方法,這裡就不重複了),啟動虛擬機器的方法:
#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 
當然,有很的引數可用,我就不介紹了(其實我也不是很懂,嘿嘿),關鍵的問題就是macaddr和script兩項,如果你有多個虛擬機器,那麼一樣要配置不同的macaddr,script一定要指向你剛才儲存的那個檔案,可以使用絕對路徑指明。
啟動後,你應該可以正常安裝作業系統了,安裝完成後,如果虛擬機器作業系統網路配置成DHCP,那麼應該可以獲取一個192.168.1.0網路內的地址,如果你不能獲取地址,那麼說明配置不成功。
在虛擬機器工作的情況下,在宿主計算機上執行ifconfig,應該可以看到一個自動增加的介面tapX(其中X從0開始)。
小結一下:
1)eth0(宿主計算機連線到網路的真實網路介面)不能有IP地址!
2)路由表一定要正確,可以去找一找關於路由方面的介紹,瞭解一下這個路由資訊的意思

=============================================================================================

近幾天在搞kvm。kvm真的是很不錯,執行作業系統速度非常快,至少比我以前用的vbox要快。但是 kvm的網路配置讓我頭疼了一陣,上網找了很多資料,無奈那些資料要不省略了一些內容(都把我當高手看了),要不就是寫了一堆東西,不說原理,看了半天都搞不懂為什麼要那麼做,反正都不適合我這種“從0開始”的人。故今天花了幾個小時做實驗,終於弄出了一個解決方法,現在從頭到尾講出來跟大家分享一下。
對於那些跟我一樣想要找到一個只要照著它的提示打命令就多半能成功的方法的人,此帖應該有用。高手請無視此帖~
首先說一下實現原理。我是想先在host上造一塊假網絡卡,然後guest的系統跟這假網絡卡連線構成一個區域網。guest想連外網的話,就把host當路由器。至於域名伺服器,在guest系統裡直接指定。
本人實驗的host是ubuntu 8.04 server,guest是freebsd 7.0 release。(都是64位)
接下來我會假設你已經裝了kvm,而且能用它啟動虛擬機器。
(以下一到四參照了vbox的網路設定,都在host下操作)
一,首先把必要的工具裝了:

程式碼:
sudo apt-get install uml-utilities



二,再造假網絡卡tap0(名字隨便取)並作一些基本配置

程式碼:
sudo tunctl -t tap0 -u xxx


此處xxx換成你自己的使用者名稱

程式碼:
sudo chmod 0666 /dev/net/tun


這樣大家都有權力去讀寫那個假網絡卡。即使在上面那行程式碼中你指定了自己的使用者名稱,你還是沒有辦法讀寫tap0(很奇怪),所以這條命令是有用的。


三,配置網絡卡的網路引數。

程式碼:
sudo ifconfig tap0 192.168.0.10 netmask 255.255.255.0 up



隨便設,但是你要確保你待會設定的guest的網絡卡ip跟tap0的屬於同一個網段。

四,接下來是系統的配置(連外網所必須)

程式碼:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward


這樣開啟了linux的ip轉發功能,host可以當路由器用了。如果你想讓guest連上外網的話這條一定要。

程式碼:
sudo iptables -t nat -A POSTROUTING -j MASQUERADE


這條命令也是連外網所必須的。

五,啟動kvm虛擬機器

程式碼:
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是跟網路相關的,上面的命令的其他部分自己跟據實際情況修改。ifname=你造的假網絡卡的名字,我的是tap0。

六,guest系統的配置。(接下來的事請我不詳細講了,在guest下操作,根據不同的guest系統自己找資料,不要鄙視我~~~)

guest啟動後應該會認出一張網絡卡,realtek的。我的freebsd認出來是re0。把那網絡卡的ip設定成192.168.0.x,(這個ip跟host下tap0的ip不能相同!但要確保它們同在一個子網。我的是192.168.0.11),並把netmask設成 255.255.255.0。到現在,guest和host應該是同在一個子網了。你可以試一下在guest裡ping 192.168.0.10,在host裡ping 192.168.0.11,如無意外,應該能ping通。到現在已實現host guest之間的互訪。

七,讓guest連上外網。(前提是host已經連上外網)

只需要把guest的預設閘道器設定成192.168.0.10(你的假網絡卡的ip)就可以了,非常的簡單。
域名伺服器手動設定,不會很麻煩。

至此kvm網路設定的問題解決了,freebsd線上裝東西中~

希望此帖能對大家有點幫助。

==========================================================================================

研究了很久的KVM,感覺是我用過的最快的虛擬機器。對比常用的虛擬機器,Vmware的功能全面,設定簡單,但其速度不是很好;VirtualBox的效率雖然比Vmware高一些,但是存在不少缺點,感覺在執行時比較搶CPU,現在virtualbox已經支援smp,和虛擬化技術,但整體效率還是沒有KVM高(但是圖形效率作的不錯);KVM(Kernel-based Virtual Machine),基於核心的虛擬機器,是我用過的最快的虛擬機器,需要CPU支援虛擬化技術,並且在BIOS裡開啟虛擬化選項,效率可達到物理機的80%以上,對SMP的支援很好。所以現在強烈吐血賣命推薦KVM。(注:在原文最下面添加了版虛擬化驅動(virtio)的使用方式)
(使用磁碟方式以更新,請大家注意!!!)
沒有廢話,以下是在UBUNTU 10.04.1 64BIT下的方法
獲得KVM:
KVM的網站: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

來解決依賴關係。
三步曲:

程式碼: cd qemu-kvm-0.13.0
/configure --prefix=/usr/local/kvm
make
sudo make install


安裝好以後載入KVM模組

程式碼: sudo modprobe kvm
sudo modprobe kvm-intel  //如果你的是INTEL處理器就用這個
sudo modprobe kvm-amd  //如果你的是AMD處理器就用這個


這樣就裝好了。

下面介紹配置KVM橋接網路的方法: \\特別注意,大部分不能橋接無線網絡卡。。。只能橋接PCI網絡卡。。。。
安裝橋接工具:

程式碼: sudo apt-get install bridge-utils


安裝建立TAP介面的工具:

程式碼: sudo apt-get install uml-utilities


編輯網路介面配置檔案(

程式碼: sudo vi /etc/network/interfaces

),根據你的情況加入以下內容:

程式碼: 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       \\當然這裡也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1



啟用tap0和br0: //有些時候會不奏效,但重啟後就行了

程式碼: sudo /sbin/ifup tap0
sudo /sbin/ifup br0


好了以後ifconfig看一下,多了一個tap0和br0, br0上的IP地址就是你本機的IP地址。

KVM的使用方法:
KVM的使用方法具體可以參考 

程式碼: /usr/local/kvm/bin/qemu-system-x86_64 --help


下面具體舉幾個例子:
建立虛擬磁碟(用qemu-img命令):

程式碼: mkdir kvm
cd kvm
/usr/local/kvm/bin/qemu-img create -f qcow2 winxp.img 10G


建立虛擬機器:

程式碼: 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



這裡對各個引數說明一下:

程式碼: -m 512


分配512MB的記憶體給GUEST OS

程式碼: -drive file=/home/lm/kvm/winxp.img,cache=writeback


使用虛擬磁碟的檔案和路徑,並啟用writeback快取。

程式碼: -localtime


使用本地時間(一定要加這個引數,不然虛擬機器時間會有問題)

程式碼: -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tapo,script=no


使用網路,並連線到一個存在的網路裝置tap0,注意mac地址一定要自己編一個,特別是如果你虛擬了多個系統並且要同時執行的話,不然就MAC衝突了,在

程式碼: -boot d


從光碟啟動 (從硬碟啟動則為 -boot c )

程式碼: -cdrom /home/lm/iso/winxp.iso


使用的光碟映象,如果要使用物理光碟機的話就是 -cdrom /dev/cdrom

程式碼: -smp 2 


smp處理器個數為2個,如果你是4核處理器,後面的數字就為4(如果不開啟此選項,則只能以單核模式執行)

開始啟動裝系統了吧?是不是非常的快?如果你機器可以的話大概在15分鐘左右就把XP裝好了。
啟動裝好的虛擬機器(很簡單,上面的命令改兩個引數就行):

程式碼: 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



然後在客戶端裡設定好IP地址就可以使用了,但是KVM的顯示卡能力不行,可以通過rdesktop遠端連線解決

程式碼: rdesktop 192.168.1.4:3389 -u administrator -p ****** -g 1280x750 -D -r sound:local    \\解析度可以自行設定,是不是比VirtualBox的無縫連線模式要爽??




補充:
如果同時執行多個GUEST OS ,則網路設定要改一下,在/etc/network/interfaces 里加幾個tap介面就行了,每個GUEST OS單獨使用一個TAP,比如說現在要同時執行3個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       \\當然這裡也可以使用DHCP分配
bridge_ports eth0 tap0 tap1 tap2
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1


啟動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也要改噢。。

要注意,系統重啟後要重新載入kvm核心模組:

程式碼: sudo modprobe kvm
sudo modprobe kvm-amd   //如果使用AMD處理器
sudo modprobe kvm-intel   //如果是用INTEL處理器


當然,你也可以修改系統相關設定在啟動時自動載入該模組。
同理,可以用此方法安裝LINUX。裝完了可以對比一下,是不是比VB和VM要爽得多呢?

其他比如像USB連線問題可以參考論壇裡的帖子

我已經在我的系統裡同時運行了4個CentOS 4.8 1個winxp sp3 1個win2003 sp2 5個FreeBSD 8.0
速度太快了,難以置信。
系統配置為:Athlon X2 5000+ 8G RAM 跑的Ubuntu 10.04.1 64bit

其實KVM的安裝和使用都很方便簡單的,大家要理解KVM各個引數的含義。最關鍵的就是KVM的網路橋接的設定,在這裡大家要多看軟體自身的文件,會有很大的幫助。
以上是KVM的最基礎的實現方法,望大家多看文件,以便掌握更多更靈活的功能。

BTW:
[b]現在已經找到了原來磁碟效能糟糕的原因,按照以往的方法是用 -hda disk.img 的方法來使用虛擬磁碟,現在版本更新以後時候 -drive file=/home/lm/kvm/winxp.img,cache=writeback 來使用虛擬磁碟,請廣大使用KVM的使用者注意這裡的變化。

注:Ubuntu 10.04 LTS 下的安裝源裡的KVM的方法(qemu-kvm 0.12.3):
直接

程式碼: sudo apt-get install qemu-kvm


網路配置如上,是一樣的。

大家注意一個問題,如果你虛擬的是WIN2003,那麼切勿在-net引數中使用model=e1000,否則HOST和GUEST之間不能PING通

新增:半虛擬化驅動使用方式如下
WIN系統需要下載的驅動程式:
http://www.linux-kvm.com
在左手邊有一個Windows Guest Drivers,下載cdrom image和floppy image
使用版虛擬化驅動(virtio)可以得到更好的磁碟效能和網路效能,使用版虛擬化驅動的時候,KVM的啟動引數如下(安裝WIN時):

程式碼: 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


說明一下新的引數:

程式碼: 在file=/home/lm/kvm/winxp.img,if=virtio,boot=on,cache=writeback中


添加了if=virtio,通過virio來使用磁碟

程式碼: 在 -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01中


添加了model=virtio,通過virtio來使用網路

程式碼: -fda=/disk/virtio-win-1.1.11-0.vfd


驅動程式的軟盤映象,-fda為新增一個軟盤驅動器

在安裝WINDOWS的時候需要注意:在虛擬機器啟動從光碟引導啟動WINDOWS安裝的時候(最開始的時候)會提示你,按F6選擇第三方驅動程式,按F6以後過幾秒鐘,它會出現選擇第三方驅動的畫面,按下S,會讓你選擇你要載入的第三方驅動。(網路太慢,圖傳不上來,大家可參考:http://www.linux-kvm.org/page/WindowsGuestDrivers/viostor/installation)
在WINDOWS安裝完成以後,還要安裝virtio網路驅動程式,修改KVM啟動引數:

程式碼: 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


啟動虛擬機器,啟動好WIN系統以後,在WIN中安裝網絡卡驅動程式(在裝置管理器中安裝),驅動程式就在虛擬機器的光碟機中。有時在安裝過程中會出現問題,那麼去掉cache=writeback重新安裝試試。
現在主流的LINUX系統的核心都集成了virtio驅動,所以在使用半虛擬化驅動安裝LINUX的時候可以直接安裝,無需載入virtio驅動來安裝。

注:
如果你使用的是raw檔案系統或LVM分割槽,則應該將cache=writeback改為cache=none
建議大家使用LVM分割槽方式,這樣虛擬機器的磁碟效能可以接近物理機的磁碟效能。關於LVM的建立大家可以去查詢相關文章,在這裡給大家一個KVM使用LVM分割槽的示例:

程式碼: 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