开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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驱动:

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

2、查看virtio-win提供的驱动:

1
2
3
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:

创建一个虚拟机磁盘:

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

使用virtio驱动安装虚拟机:

1
2
3
4
5
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:

wKiom1mJM9vToPJuAAF7LT_WF-M343.jpg




在已安装的kvm虚拟机上添加virtio驱动


如果以传统的IDE硬盘模式安装可以使用如下命令:

1
2
3
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文件到虚拟机光驱:

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

或者使用如下命令:

1
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驱动的硬盘:

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

修改虚拟机的xml文件,在原有的"disk type"区域增加一个test磁盘的配置:   

1
2
3
4
5
 <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' :

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

提示:如果不是使用vnc远程连接,需要新增一个网卡配置,在没有安装驱动前,使用上面的配置,虚拟机是断网状态。

修改完成之后,重启虚拟机:

1
2
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_image_with_virt_manager.html 



如果找不到英文说明中对应的设备,使用如下方式:

对未知设备添加virtio驱动即可,如图:wKiom1mJcb7QkcQhAAGRHg_CpEE735.jpg

安装驱动之后:

wKioL1mJcg7Sjv5TAAGNZdlc8LI143.jpg

对应的磁盘驱动成功安装:

wKiom1mJcnTDxwC4AAHyf7OtQOM892.jpg

此时virtio驱动添加完成,修改虚拟机的xml文件,删除test.img的虚拟磁盘配置,修改启动磁盘驱动类型:

1
2
3
4
5
6
    <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 

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在虚拟磁盘中安装Windows Server 2016
说起来我一直没有安装过Windows服务器版的系统,所以最近想尝试一下Windows Server 2016,这个最新的Windows服务器系统。当然如果是家用的话,肯定还是安装桌面版的系统更好,服务器版的系统主要是企业使用,日常功能反而不如桌面版的丰富。
1079 0
ECS 备份数据到NAS(一):使用Windows Server Backup工具
本文介绍了在阿里云ECS上通过Windows Server Backup工具将云盘上指定文件夹或者整盘的重要数据备份到阿里云NAS的配置和步骤,通过Windows Server Backup工具可以按需手动或者配置周期性地自动将重要数据备份到NAS,并且在需要的时候方便地从备份中恢复原来的数据。
4467 0
KVM: 安装Windows virtio半虚拟化驱动
Install KVM Windows virtio para-virtualized dirver If you can’t read Chinese, there’s an English version on the Internet, click Here 本文测试环境: KVM主机: sl6(Scientific Linux 6). 虚拟机: (win2k3)Windows Server 2003. 安装半虚拟化驱动有助于提高网络和IO性能,下面我们来看看如何在sl6下为win2k3安装virtio半虚拟化驱动。
1147 0
23703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载