天天看點

KVM 使用virtio驅動Windows server 虛拟機

KVM安裝Windows預設使用的是qemu虛拟化IDE硬碟模式,在這種情況下,IO性能比較低,如果使用virtio的方式可以提高虛拟機IO性能。而virtio所驅動的網卡,也将原來的百兆擴充到千兆。這裡就簡單介紹下如何使用virtio驅動安裝window server 2008. 其它windows版本操作相同,隻需選擇對應的驅動即可。

使用virtio安裝window虛拟機

KVM安裝Windows需要使用virtio的驅動:

https://fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download 

安裝虛拟機步驟:

1、安裝virtio驅動:

wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo      
yum install virtio-win -y      

2、檢視virtio-win提供的驅動:

rpm -ql virtio-win | grep iso
/usr/share/virtio-win/virtio-win-0.1.126.iso
/usr/share/virtio-win/virtio-win.iso      

3、安裝windows:

建立一個虛拟機磁盤:

qemu-img  create -f qcow2 win-2c8g150g.img 150G      

使用virtio驅動安裝虛拟機:

virt-install -n win-2c8g150g --vcpus=2 --ram=8192 --os-type=windows --os-variant=win2k8 \
-c /vm/iso/cn_windows_server_2008_r2_sp1_x64.iso \
--disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy \
--disk path=/vm/win-2c8g150g.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 \
--noautoconsole      

提示: 這裡是使用的是軟碟方式加載,如果鏡像和驅動都使用cdrom的方式加載,在有些情況系統會找不到啟動鏡像,導緻無法啟動. 加載的驅動有x86和amd64兩種類型,64位系統選擇amd64. 32為系統選擇x86.

4、 安裝過程中,在選擇磁盤界面會找不到磁盤,選擇“加載驅動”,“浏覽”,找到“軟碟驅動器”,點開後選擇 “server 2008”确定,驅動加載完成後,磁盤就出現了,繼續安裝即可。

5、安裝完成後,在裝置管理器中可以看到使用的是virtio:

KVM 使用virtio驅動Windows server 虛拟機

在已安裝的kvm虛拟機上添加virtio驅動

如果以傳統的IDE硬碟模式安裝可以使用如下指令:

virt-install  --virt-type kvm --name win-2c8g100g  --ram 8192  \
-vcpus=2 -s 100 -c /vm/iso/cn_windows_server_2008_r2_sp1_x64.iso \
--os-type=windows -f /vm/win-2c8g100g.img --graphics vnc,listen=0.0.0.0 --noautoconsole      

安裝之後要使用virtio驅動,可以選擇加載virtio驅動的iso檔案到虛拟機光驅:

virsh  attach-disk  win-2c8g100g /usr/share/virtio-win/virtio-win.iso  hdb  --type cdrom      

或者使用如下指令:

virsh change-media win-2c8g100g hdb /usr/share/virtio-win/virtio-win.iso      

參考連結:https://superuser.com/questions/239870/change-cd-rom-via-virsh 

修改虛拟機的xml檔案,使其能發現virtio類型的裝置,否則驅動無法安裝:

增加一塊virtio驅動的硬碟:

qemu-img  create -f qcow2 test.img 1G      

修改虛拟機的xml檔案,在原有的"disk type"區域增加一個test磁盤的配置:   

 <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vm/test.img'/>
      <target dev='vdb' bus='virtio'/>
    </disk>      

修改網卡類型為 virtio, 在 interface type 區域,修改model type='virtio' :

 <interface type='bridge'>
      <mac address='52:54:00:39:f9:60'/>
      <source bridge='br0'/>
      <model type='virtio'/>      

提示:如果不是使用vnc遠端連接配接,需要新增一個網卡配置,在沒有安裝驅動前,使用上面的配置,虛拟機是斷網狀态。

修改完成之後,重新開機虛拟機:

virsh shutdown win-2c8g100g
virsh start win-2c8g100g      

進入虛拟機,成功添加iso驅動程式後,進入虛拟機的裝置管理器界面,在“系統裝置”裡面對相應的驅動進行更新:

更新驅動需要找到挂載的CD中 virtio-win.iso中的對應檔案。驅動鏡像中分别有四種驅動,他們對應關系為:

  • Balloon

    , the balloon driver, affects the PCI standard RAM Controller in the System devicesgroup.
  • vioserial

    , the serial driver, affects the PCI Simple Communication Controller in the System devices group.
  • NetKVM

    , the network driver, affects the Network adapters group. This driver is only available if a virtio NIC is configured. Configurable parameters for this driver are documented in Appendix A, NetKVM Driver Parameters.
  • viostor

    , the block driver, affects the Disk drives group. This driver is only available if a virtio disk is configured.

參考連結:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/form-Virtualization_Host_Configuration_and_Guest_Installation_Guide-Para_virtualized_drivers-Mounting_the_p_w_picpath_with_virt_manager.html 

如果找不到英文說明中對應的裝置,使用如下方式:

對未知裝置添加virtio驅動即可,如圖:

KVM 使用virtio驅動Windows server 虛拟機

安裝驅動之後:

KVM 使用virtio驅動Windows server 虛拟機

對應的磁盤驅動成功安裝:

KVM 使用virtio驅動Windows server 虛拟機

此時virtio驅動添加完成,修改虛拟機的xml檔案,删除test.img的虛拟磁盤配置,修改啟動磁盤驅動類型:

    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vm/win-2c8g100g.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>      

重新開機虛拟機即可。

https://access.redhat.com/solutions/17463 

繼續閱讀