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驅動:
1
<code>wget https:</code><code>//fedorapeople</code><code>.org</code><code>/groups/virt/virtio-win/virtio-win</code><code>.repo -O </code><code>/etc/yum</code><code>.repos.d</code><code>/virtio-win</code><code>.repo</code>
<code>yum </code><code>install</code> <code>virtio-win -y</code>
2、檢視virtio-win提供的驅動:
2
3
<code>rpm -ql virtio-win | </code><code>grep</code> <code>iso</code>
<code>/usr/share/virtio-win/virtio-win-0</code><code>.1.126.iso</code>
<code>/usr/share/virtio-win/virtio-win</code><code>.iso</code>
3、安裝windows:
建立一個虛拟機磁盤:
<code>qemu-img create -f qcow2 win-2c8g150g.img 150G</code>
使用virtio驅動安裝虛拟機:
4
5
<code>virt-</code><code>install</code> <code>-n win-2c8g150g --vcpus=2 --</code><code>ram</code><code>=8192 --os-</code><code>type</code><code>=windows --os-variant=win2k8 \</code>
<code>-c </code><code>/vm/iso/cn_windows_server_2008_r2_sp1_x64</code><code>.iso \</code>
<code>--disk path=</code><code>/usr/share/virtio-win/virtio-win-0</code><code>.1.126_amd64.vfd,device=floppy \</code>
<code>--disk path=</code><code>/vm/win-2c8g150g</code><code>.img,</code><code>format</code><code>=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 \</code>
<code>--noautoconsole</code>
提示: 這裡是使用的是軟碟方式加載,如果鏡像和驅動都使用cdrom的方式加載,在有些情況系統會找不到啟動鏡像,導緻無法啟動. 加載的驅動有x86和amd64兩種類型,64位系統選擇amd64. 32為系統選擇x86.
4、 安裝過程中,在選擇磁盤界面會找不到磁盤,選擇“加載驅動”,“浏覽”,找到“軟碟驅動器”,點開後選擇 “server 2008”确定,驅動加載完成後,磁盤就出現了,繼續安裝即可。
5、安裝完成後,在裝置管理器中可以看到使用的是virtio:
在已安裝的kvm虛拟機上添加virtio驅動
如果以傳統的IDE硬碟模式安裝可以使用如下指令:
<code>virt-</code><code>install</code> <code>--virt-</code><code>type</code> <code>kvm --name win-2c8g100g --</code><code>ram</code> <code>8192 \</code>
<code>-vcpus=2 -s 100 -c </code><code>/vm/iso/cn_windows_server_2008_r2_sp1_x64</code><code>.iso \</code>
<code>--os-</code><code>type</code><code>=windows -f </code><code>/vm/win-2c8g100g</code><code>.img --graphics vnc,listen=0.0.0.0 --noautoconsole</code>
安裝之後要使用virtio驅動,可以選擇加載virtio驅動的iso檔案到虛拟機光驅:
<code>virsh attach-disk win-2c8g100g </code><code>/usr/share/virtio-win/virtio-win</code><code>.iso hdb --</code><code>type</code> <code>cdrom</code>
或者使用如下指令:
<code>virsh change-media win-2c8g100g hdb </code><code>/usr/share/virtio-win/virtio-win</code><code>.iso</code>
參考連結:https://superuser.com/questions/239870/change-cd-rom-via-virsh
修改虛拟機的xml檔案,使其能發現virtio類型的裝置,否則驅動無法安裝:
增加一塊virtio驅動的硬碟:
<code>qemu-img create -f qcow2 </code><code>test</code><code>.img 1G</code>
修改虛拟機的xml檔案,在原有的"disk type"區域增加一個test磁盤的配置:
<code> </code><code><disk </code><code>type</code><code>=</code><code>'file'</code> <code>device=</code><code>'disk'</code><code>></code>
<code> </code><code><driver name=</code><code>'qemu'</code> <code>type</code><code>=</code><code>'qcow2'</code><code>/></code>
<code> </code><code><</code><code>source</code> <code>file</code><code>=</code><code>'/vm/test.img'</code><code>/></code>
<code> </code><code><target dev=</code><code>'vdb'</code> <code>bus=</code><code>'virtio'</code><code>/></code>
<code> </code><code><</code><code>/disk</code><code>></code>
修改網卡類型為 virtio, 在 interface type 區域,修改model type='virtio' :
<code> </code><code><interface </code><code>type</code><code>=</code><code>'bridge'</code><code>></code>
<code> </code><code><mac address=</code><code>'52:54:00:39:f9:60'</code><code>/></code>
<code> </code><code><</code><code>source</code> <code>bridge=</code><code>'br0'</code><code>/></code>
<code> </code><code><model </code><code>type</code><code>=</code><code>'virtio'</code><code>/></code>
提示:如果不是使用vnc遠端連接配接,需要新增一個網卡配置,在沒有安裝驅動前,使用上面的配置,虛拟機是斷網狀态。
修改完成之後,重新開機虛拟機:
<code>virsh </code><code>shutdown</code> <code>win-2c8g100g</code>
<code>virsh start win-2c8g100g</code>
進入虛拟機,成功添加iso驅動程式後,進入虛拟機的裝置管理器界面,在“系統裝置”裡面對相應的驅動進行更新:
更新驅動需要找到挂載的CD中 virtio-win.iso中的對應檔案。驅動鏡像中分别有四種驅動,他們對應關系為:
<code>Balloon</code>, the balloon driver, affects the PCI standard RAM Controller in the System devicesgroup.
<code>vioserial</code>, the serial driver, affects the PCI Simple Communication Controller in the System devices group.
<code>NetKVM</code>, 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.
<code>viostor</code>, 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_image_with_virt_manager.html
如果找不到英文說明中對應的裝置,使用如下方式:
對未知裝置添加virtio驅動即可,如圖:
安裝驅動之後:
對應的磁盤驅動成功安裝:
此時virtio驅動添加完成,修改虛拟機的xml檔案,删除test.img的虛拟磁盤配置,修改啟動磁盤驅動類型:
6
<code> </code><code><disk </code><code>type</code><code>=</code><code>'file'</code> <code>device=</code><code>'disk'</code><code>></code>
<code> </code><code><</code><code>source</code> <code>file</code><code>=</code><code>'/vm/win-2c8g100g.img'</code><code>/></code>
<code> </code><code><target dev=</code><code>'vda'</code> <code>bus=</code><code>'virtio'</code><code>/></code>
<code> </code><code><address </code><code>type</code><code>=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x07'</code> <code>function</code><code>=</code><code>'0x0'</code><code>/></code>
重新開機虛拟機即可。
https://access.redhat.com/solutions/17463
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-Installing_with_a_virtualized_floppy_disk.html
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_image_with_virt_manager.html
http://blog.csdn.net/ks_is_fighting/article/details/38358793
本文轉自 酥心糖 51CTO部落格,原文連結:http://blog.51cto.com/tryingstuff/1954531