在使用kvm给windows虚拟机动态挂载virtio类型的硬盘时候遇到问题,通过下面的文章知道需要安装virtio驱动,从而解决问题使挂在正常,在此处mark一下
问题产生背景:
那么virtio是个什么东东呢?http://www.linux-kvm.org/page/Virtio , 所谓的半虚拟化驱动,而CloudStack调用KVM接口去创建虚拟机的时候,数据磁盘类型就是使用的virtio类型的,而在KVM上Windows虚拟机并不能支持,所以导致无法成功显示出数据磁盘。
解决步骤:
图 通过界面添加一个新的数据盘
图 点击附加磁盘
图将磁盘挂载到windows2008上
先取消ISO
图 点击挂载ISO
图 选择ISO
图 重启实例
图 重启实例后打开设备管理器查看SCSI控制器
图 选择驱动位置
图 选择驱动挂载盘
图 安装驱动
图 确认驱动安装是否成功
图 成功显示数据盘
图 初始化磁盘
图 开始格式化
图 开始分区
图 格式化成功
图 大功告成
注意:
Windows server 2003的驱动:virtio-win-0.1-30.iso
Windows server2008 的驱动:virtio-win-0.1-65.iso
否则会造成蓝屏的!!!
=========================2013年12月15日 新问题分析============================
今 日,客户反馈说通过CloudStack + KVM 创建的Windows 实例使用起来体验没有原始的ESXI主机上面的虚拟机快,Linux虚机倒是没有什么问题,排除网络跟存储的原因,问题就在虚拟化层面了?难道KVM的问 题,倒是KVM的性能也不会有那么大的差距,找了很久,发现唯一的区别就在于Windows的第一块硬盘始终是IDE的,即使按照上文给Windows安 装了VIRTIO驱动,第一块盘都不会显示为VIRTIO。
也就意味着我们在通过ISO创建实例,然后通过实例制作模板的时候,就需要将ISO注册成Windows PV的操作系统,然后通过如此的ISO创建实例,再安装virtio驱动,会将磁盘跟网络的virtio驱动都安装上,然后将实例做成模板,问题就解决了。
原文:http://clovemfong.blog.51cto.com/3297559/1320587