問題産生背景:
使用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卻不能顯示。
解決步驟:
<a href="http://blog.51cto.com/attachment/201311/220836506.png" target="_blank"></a>
圖 通過界面添加一個新的資料盤
<a href="http://blog.51cto.com/attachment/201311/220839513.png" target="_blank"></a>
圖 點選附加磁盤
<a href="http://blog.51cto.com/attachment/201311/220842616.png" target="_blank"></a>
圖将磁盤挂載到windows2008上
<a href="http://blog.51cto.com/attachment/201311/222127981.png" target="_blank"></a>
先取消ISO
<a href="http://blog.51cto.com/attachment/201311/222131651.png" target="_blank"></a>
圖 點選挂載ISO
<a href="http://blog.51cto.com/attachment/201311/220853342.png" target="_blank"></a>
圖 選擇ISO
<a href="http://blog.51cto.com/attachment/201311/220856233.png" target="_blank"></a>
圖 重新開機執行個體
<a href="http://blog.51cto.com/attachment/201311/220900597.png" target="_blank"></a>
圖 重新開機執行個體後打開裝置管理器檢視SCSI控制器
<a href="http://blog.51cto.com/attachment/201311/220903874.png" target="_blank"></a>
圖 選擇驅動位置
<a href="http://blog.51cto.com/attachment/201311/220906936.png" target="_blank"></a>
圖 選擇驅動挂載盤
<a href="http://blog.51cto.com/attachment/201311/220909127.png" target="_blank"></a>
圖 安裝驅動
<a href="http://blog.51cto.com/attachment/201311/220913956.png" target="_blank"></a>
圖 确認驅動安裝是否成功
<a href="http://blog.51cto.com/attachment/201311/220917915.png" target="_blank"></a>
圖 成功顯示資料盤
<a href="http://blog.51cto.com/attachment/201311/220920467.png" target="_blank"></a>
圖 初始化磁盤
<a href="http://blog.51cto.com/attachment/201311/220923621.png" target="_blank"></a>
圖 開始格式化
<a href="http://blog.51cto.com/attachment/201311/220926811.png" target="_blank"></a>
圖 開始分區
<a href="http://blog.51cto.com/attachment/201311/220930261.png" target="_blank"></a>
圖 格式化成功
<a href="http://blog.51cto.com/attachment/201311/220933959.png" target="_blank"></a>
圖 大功告成
注意:
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。
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170204744.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170206171.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170209268.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170211819.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170215493.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170219442.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170222523.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170224894.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201312/170226791.png"></a>
也就意味着我們在通過ISO建立執行個體,然後通過執行個體制作模闆的時候,就需要将ISO注冊成Windows PV的作業系統,然後通過如此的ISO建立執行個體,再安裝virtio驅動,會将磁盤跟網絡的virtio驅動都安裝上,然後将執行個體做成模闆,問題就解決了。
<a target="_blank" href="http://blog.51cto.com/attachment/201312/173339844.png"></a>
本文轉自 暗黑魔君 51CTO部落格,原文連結:http://blog.51cto.com/clovemfong/1320587,如需轉載請自行聯系原作者