kvm使用virtio驱动windowsserver虚拟机

author author     2022-09-14     595

关键词:

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


如果以传统的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_image_with_virt_manager.html 



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

对未知设备添加virtio驱动即可,如图:技术分享

安装驱动之后:

技术分享

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

技术分享

此时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 

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 

本文出自 “Trying” 博客,请务必保留此出处http://tryingstuff.blog.51cto.com/4603492/1954531

kvm上的linux虚拟机使用virtio磁盘

kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6 64位网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘因为centos6或以上系统已经包含了virtio驱动,所以不需要再执行下面语句加载内核模块modprobevirtiovirtio_pcivirti... 查看详情

virtio半虚拟化驱动5.1.1

半虚拟化驱动5.1.1virtio概述KVM是必须使用硬件虚拟化辅助技术(如IntelVT-x、AMD-V)的hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有IntelEPT特性支持的平台上,内存虚拟化的效率也较高。QEMU/KVM提供了全虚拟化环... 查看详情

virtio概述和基本原理

...STER  6COMMENTS5.1半虚拟化驱动5.1.1virtio概述KVM是必须使用硬件虚拟化辅助技术(如IntelVT-x、AMD-V)的hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有IntelEPT特性支持的平台上,内存虚拟化的效率也较高。QEMU... 查看详情

v2v/p2v后将ide磁盘转化为virtio的方案

...而在kvm上想要获得较高的性能或想上传至openstack环境就要使用virtio的驱动。本文分别介绍Linux和windows系列磁盘转化方法。Windows系列1.下载virtio-win的iso驱动,并挂载至kvm的虚拟机上;2.在kvm上的虚拟机上添加一块virtio驱动的磁盘;... 查看详情

kvm安装windowsxp系统

...准备:1、虚拟机磁盘镜像2、系统安装盘(或ISO镜像)3、virtio-win-0.1.96_x86.vfd软盘驱动二、windowsxp系统正式安装1、在创建虚拟机的时候软盘加载virtio驱动virt-install--name=windows-xp--ram2048--vcpus=2--diskpath=/home/KVM-template/windows-xp/windows.q 查看详情

半虚拟化驱动virtio-windows

   下载网站Downloads-KVMhttp://www.linux-kvm.org/page/Downloads          yum安装:  查看详情

windows2012re加载virtio

...kvm下的windows2012系统时,2012RE看不到硬盘,这时需要加载virtio驱动才行。研究了半天终于找到了,其实就一条命令。drvload.exed:viostor2k12r2amd64viostor.inf加载virtio驱动附:windows2012进re的 查看详情

使用 virtio 驱动程序进行无人值守安装不会激活网络驱动程序

】使用virtio驱动程序进行无人值守安装不会激活网络驱动程序【英文标题】:UnattendInstallationwithvirtiodriversdoesn\'tactivatenetworkdrivers【发布时间】:2022-01-1023:40:48【问题描述】:我尝试使用自动无人值守安装模式在Proxmox主机上安装W... 查看详情

43-kvm虚拟化-利用libvirt服务进行kvm虚拟机管理

半虚拟化驱动virtio的工作原理为了提高内存、硬盘、网络的性能,需要支持半虚拟化virtio是一种I/O半虚拟化解决方案,是一套通用I/O设备虚拟化的程序,是对半虚拟化Hypervisor中的一组通用I/O设备的抽象,提供了一套上层应用与... 查看详情

kvm.install

#!/bin/bash##TODO##windowseditionfunctionwithvideodriverNAME=win2008r2_fei_testCPU=8MEM=32000ISO="/home/kvm/iso/win2k8.iso"VIRTIO_ISO="/usr/share/virtio-win/virtio-wentao1.iso"DISK="/home/kvm/img/${NA 查看详情

探秘dpdkvirtio的不同路径

什么是Vhost/VirtioVhost/Virtio是一种半虚拟化的设备抽象接口规范,在Qemu和KVM中的得到了广泛的应用,在客户机操作系统中实现的前端驱动程序一般直接叫Virtio,在宿主机实现的后端驱动程序称为Vhost。与宿主机纯软件模拟I/O相比,... 查看详情

kvm虚拟化win10显卡直通一例

...64G,3x1.2TSASHDD,显卡RTX2080因为对系统要求必须是windows,windowsserver系统没有显卡驱动,win10又没有对应的服务器硬件驱动,尝试安装windows10,使用windowsserver2019驱动,系统安装安装完成后,驱动问题导致系统蓝屏,重启,无法正... 查看详情

virtio前端驱动详解

2016-11-08 前段时间大致整理了下virtIO后端驱动的工作模式以及原理,今天就从前端驱动的角度描述下目前Linux内核代码中的virtIO驱动是如何配合后端进行工作的。注:本节代码参考Linux内核3.11.1代码virtIO驱动从架构上来讲可以... 查看详情

virt-v2v转换vcenter上的虚拟机到kvm

一、、配置kvm服务器1、配置virtio源wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo    -O /etc/yum.repos.d/virtio-win.repo2、安装相关软件包yum install virt-v2v&n 查看详情

virtio-win驱动

Directdownloadsareavailableforthe.iso,.vfd,andqemu-gainstallers.Stablevirtio-winiso: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.isoStablevirtio-winx86flo 查看详情

virtio-win驱动

Directdownloadsareavailableforthe.iso,.vfd,andqemu-gainstallers.Stablevirtio-winiso: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.isoStablevirtio-winx86floppy: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_x86... 查看详情

vmwareworkstation虚拟机迁移到kvm之后无法启动的问题(代码片段)

...后导入KVM系统无法启动,但是可以进入恢复模式,可能是virtio的内核模块没有加载,把磁盘改为IDE模式后正常。但是IDE模式效率没有virtio高,这时可以手动加载virtio模块,方法参考腾讯云帮助文档https://cloud.tencent.com/document/product... 查看详情

一种宿主机内核bug导致kvm虚拟机丢包的监控和处理方法

...很多,这里涉及到kvm虚拟机网络实现的架构流程,kvm一般使用的是virtio是半虚拟化的解决方案,virtio分为前端和后端,vhost-net是后端,在host内核上运行,virtio-net是前端,在guest上运行。virtio架构大致如图所示,当虚拟机未发生... 查看详情