如何为kvm里的windows虚机获取和安装virtio驱动

如何为kvm里的windows虚机获取和安装virtio驱动,第1张

问题产生背景:

使用CloudStack+ KVM组合进行资源池纳管工作,通过ISO镜像文件创建了两个模板:

RHEL6U3 64位系统以及WindowsServer2008 R2 SP1 64位系统。

然后通过模板创建实例,挂载外接存储,实例启动后,通过fdisk -l 查看RHEL系统以及通过计算机管理中的存储管理查看Windows系统发现,RHEL系统可以显示挂载的第二块硬盘(卷),但是 Windows却始终不能识别。

问题分析:

首先考虑是不是CloudStack的SSVM出现了问题,不能够执行诸如卷的挂载等操作,但是RHEL这样的Linux操作系统不管再挂几块新磁盘或者卸载之类的操作均不会有任何问题,所以判断问题不是出在CloudStack上面,而是在于操作系统。

那么会不会是KVM不能够对 Windows虚拟机进行磁盘挂载操作呢?显然不可能,在没有 CloudStack或者Openstack这样的云管理平台之前,我们就是直接使用RHEL上面的KVM去创建虚拟机,不管是virsh之类的命令也好,还是virt-manager这样的图形化控制台也好,都不存在说Windows虚拟机不能添加第二块硬盘,在 CloudStack里面对应添加除系统卷之外的第二块卷。既然从CloudStack的管理界面看不出任何问题,那么就登陆到KVM主机上面查看吧,打开 virt-manager图形化工具,点击RHEL与Windows虚拟机的Details查看硬件,发现硬盘跟网卡的硬件类型均为virtio,然后通过手动添加硬盘的方式对RHEL跟Windows进行测试,发现如果硬盘类型添加为IDE,则两个操作系统均可以显示出来,然而如果添加virtio类型的硬盘,只有RHEL可以显示,而Windows却不能显示。

虚拟机系统是Windows时:

虚拟机启动时候默认是没有virtio驱动的(默认为ide)。

默认disk的xml文件如下

<disk type='file' device='disk'>

<driver name='qemu' type='qcow2'/>

<source file='/home/remote_iso/vm3.qcow2'/>

<target dev='hda' bus='ide'/>

<address type='drive' controller='0' bus='0' target='0' unit='0'/> /*可以删掉,虚拟机启动时会根据设备类型自动添加*/

</disk>123456

正常启动虚拟机,此时虚拟机中是没有安装virtio驱动的,所以要讲virtio驱动安装起来,但是现在的磁盘是vm3.qcow2是系统正在用的,显然不能将virtio安装在这里,而且目前的vm3.qcow2驱动是ide的(由xml文件可知)。

这时候,新建一个disk设备的xml文件(disk.xml),如下

<disk type='file' device='disk'>

<driver name='qemu' type='qcow2'/>

<source file='/home/remote_iso/test.qcow2'/>

<target dev='vda' bus='virtio'/>

一般都是通过登录到vCenterServer后,创建虚拟机,然后安装OS再安装应用软件;也可以通过vsphere client直接登录到esxi服务器上,不过这样只能管理该主机上的虚拟机,其他的无法管理到。

我一般是在vCenterServer中创建虚拟机,安装OS后配置网络启用远程桌面,然后用Windows远程桌面方式去安装软件,这样比较方面快捷,用Client和VC控制台体验不是太好。希望能帮到你。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/552614.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-29
下一篇2023-06-29

发表评论

登录后才能评论

评论列表(0条)

    保存