如何讓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,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云計算openstack介紹

轉載于:https://www.cnblogs.com/WIU1905/p/11107593.html

C語言Node lt T gt,c語言論壇填空;#includelt;stdio.hgt;# 愛問知識人

填空;#include #include #define N 6typedef struct node {int data;struct node *next;填空;#include #include #define N 6typedef struct node {int data;struct node *next;} NODE;void fun(NODE *h){ NODE *p, *q; int t;/**********found*********…

gitlab設置郵件服務器_如何設置您自己的一次性電子郵件服務器

gitlab設置郵件服務器by Oren Geva由Oren Geva 如何設置您自己的一次性電子郵件服務器 (How To Setup Your Own Disposable Email Server) Disposable email services are online services that provide temporary email addresses for registering or signing up on websites…

leetcode442. 數組中重復的數據

給定一個整數數組 a,其中1 ≤ a[i] ≤ n (n為數組長度), 其中有些元素出現兩次而其他元素出現一次。 找到所有出現兩次的元素。 你可以不用到任何額外空間并在O(n)時間復雜度內解決這個問題嗎? 示例: 輸入: [4,3,2…

C語言基礎注意點

一、基礎知識篇 (一)關鍵字 1,存儲類型 A、auto 聲明自動變量,一般不使用 B、static 聲明靜態變量 C、extern 聲明變量是在其他文件正聲明(可看做引用變量) D、register 聲明積有器變量 2、常用…

**加密解密基礎、PKI及SSL、創建私有CA**

進程間通信 socket通信 客戶端-->請求--> 路由轉發 --> 服務端,取出資源 --> 封裝為可響應給客戶端的請求報文從接收請求端口發出 SSL/TLS協議的實現 OpenSSL OpenSSL程序組件 1234[rootlocalhost CA]# rpm -ql openssl /usr/lib/libcrypto.so.10 //加…

json 文件打讀取

1。獲取文件路徑 /** BookController.class.getClassLoader().getResource("static/json/book_nav.json").getPath() 獲取當期運行時的項目json文件路徑*/JSONObject json JsonResourceUtils.getJsonObjFromResource(BookController.class.getClassLoader().getReso…

16F877A和24C02通信匯編語言,pic單片機IIC通信讀24C02程序例 16F877A 主頻4M

#define _iic_h_//pic單片機IIC通信初始化函數聲明void iiccsh(void);//pic單片機IIC通信讀外圍設備函數聲明//功能:傳送一個8位地址,返回一個8位數據unsigned char iicread(unsigned char data);//pic單片機IIC通信給外圍器件發送函數聲明//功能&#x…

如何從XMLHttpRequest創建自定義獲取API

What is your worst nightmare?你最可怕的噩夢是什么? That sounded dark, but it’s not a rhetorical question. I really want to know because I am about to tell you mine. Along the way, we will learn some things like how the fetch API works and als…

leetcode637. 二叉樹的層平均值

給定一個非空二叉樹, 返回一個由每層節點平均值組成的數組。示例 1:輸入:3/ \9 20/ \15 7 輸出:[3, 14.5, 11] 解釋: 第 0 層的平均值是 3 , 第1層是 14.5 , 第2層是 11 。因此返回 [3, 14.5, 11] 。/*** Definition for a b…

5.3 上午

觀看英語課程——《戀練有詞》 學習Linux 轉載于:https://www.cnblogs.com/bgd140206110/p/6801164.html

AD庫轉換為KiCAD庫的方法

AD庫轉換為KiCAD庫的方法 參照博主另外一篇文檔: AD轉換為KiCAD的方法,點擊此處轉載于:https://www.cnblogs.com/zhiqiang_zhang/p/11109560.html

遺傳算法求解裝箱問題c語言,求解裝箱問題的遺傳算法-南昌航空大學期刊網.pdf...

求解裝箱問題的遺傳算法-南昌航空大學期刊網1998 2 Journal of Nanchang Institute of Aeronautical Technology 21998方 平    李 娟( 南昌航空工業學院)  ( 西北工業大學): ( Bin Packing) ,, , D( irst it De-creasing) ,: ; ; ;: TP301. 6( )( Bin Packing) , :1 2 …

mysql索引隨記

為什么80%的碼農都做不了架構師?>>> 先了解下Btree:https://my.oschina.net/u/3646190/blog/1593094 為什么每個數據項,即索引字段要盡量的小,比如int占4字節,要比bigint8字節少一半? 通過上面…

leetcode79. 單詞搜索(回溯算法)

給定一個二維網格和一個單詞,找出該單詞是否存在于網格中。 單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中“相鄰”單元格是那些水平相鄰或垂直相鄰的單元格。同一個單元格內的字母不允許被重復使用。 示例: board [ [‘A’,‘…

react鉤子_迷上了鉤子:如何使用React的useReducer()

react鉤子So the React Conference just happened and as always something new happened. Hooks happened! The React team talked about suspense, lazy loading, concurrent rendering, and hooks :D.因此,React會議剛剛發生,并且一如既往地發生了一些…

開發注意事項

明確需求 - 溝通 - 定好上下游接口 次序亂不得轉載于:https://www.cnblogs.com/zslzz/p/6802437.html

c語言寫桌面程序unity,Unity和iOS原生界面交互示例

注意上面的Main方法中出現的UnityAppController,該類就是作為控制類來實現Unity在iOS上顯示的功能,在Main方法中就是將該控制器作為參數傳遞,即Main方法之后就會進入該類執行。所以這是我們進入到UnityAppController.mm,來查看該類…

oracle審計實施

1、語句審計 Audit session; Audit session By ; 與instance連接的每個會話生成一條審計記錄。審計記錄將在連接時期插入并且在斷開連接時期進行更新。 保留有關會話的信息比如連接時期斷開連接時期處理的邏輯和物理I/O,以及更多信息將存儲在單獨一條審計 記錄中…

JPDA 架構研究5 - Agent利用環境指針訪問VM (內存管理篇)

引入: 我們在前面說到JVMTI的客戶端Agent,又提到Agent通過環境指針來訪問VM。這里就來看看環境指針到底有多大的訪問VM的能力。 分類1:內存管理 a.Allocate. 分配內存 jvmtiError Allocate(jvmtiEnv* env,jlong size,unsigned char** mem_ptr) size:分配…