<em id="kkln5"><ruby id="kkln5"><u id="kkln5"></u></ruby></em>
<rp id="kkln5"></rp>

    <s id="kkln5"><object id="kkln5"></object></s>
  1. <dd id="kkln5"><pre id="kkln5"></pre></dd>
  2. 首頁 > 專題 > 云計算 > 正文

    Linux系統云計算的KVM/QEMU橋接網絡設置及kvm資料

    2020-05-27 13:31:50
    字體:
    來源:轉載
    供稿:網友

       KVM/QEMU橋接網絡設置

      配置kvm的網絡有2種方法。其一,默認方式為用戶模式網絡(Usermode Networking),數據包由NAT方式通過主機的接口進行傳送。其二,使用橋接方式(Bridged Networking),外部的機器可以直接聯通到虛擬機,就像聯通到你的主機一樣。

      第一,用戶模式

      虛擬機可以使用網絡服務,但局域網中其他機器包括宿主機無法連接它。比如,它可以瀏覽網頁,但外部機器不能訪問架設在它里面的web服務器。

      默認的,虛擬機得到的ip空間為10.0.2.0/24,主機ip為10.0.2.2供虛擬機訪問??梢詓sh到主機(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 $@

      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

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    <em id="kkln5"><ruby id="kkln5"><u id="kkln5"></u></ruby></em>
    <rp id="kkln5"></rp>

      <s id="kkln5"><object id="kkln5"></object></s>
    1. <dd id="kkln5"><pre id="kkln5"></pre></dd>