如何让CloudStack使用KVM创建Windows实例成功识别并挂载数据盘

简介:

问题产生背景:

使用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却不能显示。

那么virtio是个什么东东呢http://www.linux-kvm.org/page/Virtio , 所谓的半虚拟化驱动,而CloudStack调用KVM接口去创建虚拟机的时候,数据磁盘类型就是使用的virtio类型的,而在KVM上Windows虚拟机并不能支持,所以导致无法成功显示出数据磁盘。

解决步骤:

220836506.png

图 通过界面添加一个新的数据盘

220839513.png

图 点击附加磁盘

220842616.png

图将磁盘挂载到windows2008上


222127981.png

先取消ISO

222131651.png

图 点击挂载ISO

220853342.png

图 选择ISO

220856233.png

图 重启实例

220900597.png

图 重启实例后打开设备管理器查看SCSI控制器

220903874.png

图 选择驱动位置

220906936.png

图 选择驱动挂载盘

220909127.png

图 安装驱动

220913956.png

图 确认驱动安装是否成功

220917915.png

图 成功显示数据盘

220920467.png

图 初始化磁盘

220923621.png

图 开始格式化

220926811.png

图 开始分区

220930261.png

图 格式化成功

220933959.png

图 大功告成


注意:

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。

170204744.png

170206171.png

170209268.jpg

170211819.png

170215493.png

170219442.png

170222523.png

170224894.png

170226791.png


也就意味着我们在通过ISO创建实例,然后通过实例制作模板的时候,就需要将ISO注册成Windows PV的操作系统,然后通过如此的ISO创建实例,再安装virtio驱动,会将磁盘跟网络的virtio驱动都安装上,然后将实例做成模板,问题就解决了。

173339844.png










本文转自 暗黑魔君 51CTO博客,原文链接:http://blog.51cto.com/clovemfong/1320587,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
489 0
|
8月前
|
TensorFlow 算法框架/工具 异构计算
Windows部署TensorFlow后识别GPU失败,原因是啥?
Windows部署TensorFlow后识别GPU失败,原因是啥?
|
3月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
61 0
|
5月前
|
安全 Windows
【Azure云服务 Cloud Service】Cloud Service的实例(VM)中的服务描述Software Protection 与 Windows Defender, 如何设置Windows Defender Antivirus服务
【Azure云服务 Cloud Service】Cloud Service的实例(VM)中的服务描述Software Protection 与 Windows Defender, 如何设置Windows Defender Antivirus服务
|
5月前
|
存储 Linux Windows
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
|
5月前
|
安全 Windows
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
|
5月前
|
Java 数据安全/隐私保护 Windows
Windows Service 服务中,不能访问挂载目录(网络映射盘)
Windows Service 服务中,不能访问挂载目录(网络映射盘)
145 0
|
6月前
|
弹性计算 缓存 网络安全
云服务器 ECS产品使用问题之远程桌面无法连接到Windows实例,该如何排查
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
8月前
|
弹性计算 编解码 监控
ECS实例问题之ECS实例无法选择Windows操作系统如何解决
ECS实例指的是在阿里云ECS服务中创建的虚拟计算环境,用户可在此环境中运行应用程序和服务;本合集将介绍ECS实例的创建、管理、监控和维护流程,及常见问题处理方法,助力用户保障实例的稳定运行。
|
8月前
|
弹性计算 Windows
Windows系统的ECS实例如何配置RAID10
Windows系统的ECS实例如何配置RAID10