您好,登錄后才能下訂單哦!
虛擬機下各文件注釋:
在一次虛擬機關機后再開機報錯:
Unable to enumerate all disks 找不到磁盤
數據存儲瀏覽器中列出的磁盤文件是虛擬機的基礎磁盤文件為-flat.vmdk
重新創建vmdk描述符文件:
1.確定 flat.vmdk基礎磁盤文件的大小(字節)
2.創建與flat.vmdk相同大小的新的空虛擬磁盤。
3.重命名新創建的.vmdk磁盤的描述符文件匹配原始虛擬磁盤的名稱
4.修改重命名的描述符文件的內容以引用 flat 文件。
5.移除新創建的磁盤遺留的臨時 flat 文件。
SSH登陸ESXI進入數據存儲目錄:Cd /vmfs/volumes/5dd90fdc-2ceecbae-b595-801844eed08a/cl-win7
創建與丟失描述符文件相同大小的新虛擬磁盤:-c :指定文件大小vmkfstools -c 214748364800 -a lsilogic -d thin temp.vmdk
刪除新建的基礎磁盤,保留新的描述符文件:rm -i temp-flat.vmdk
將新的描述符文件重命名為丟失的虛擬磁盤:
編輯新的描述符文件指向基礎虛擬磁盤文件:vi cl-win7_4.vmdk
注意:如果原始 .vmdk 不是精簡磁盤,找到 ddb.thinProvisioned = "1" 行后將其移除。
檢查磁盤鏈狀態: 返回正常
vmkfstools -e cl-win7_4.vmdk
正常打開電源:
無法開機,無法恢復快照:
我這里做了兩次快照,故有兩個增量磁盤文件:
02-sesparse.vmdk基于01-sesparse.vmdk做的增量快照,01-sesparse.vmdk基于-flat.vmdk基礎磁盤做的增量,形成了一個完整的磁盤鏈
先從最近一次快照文件檢測一次磁盤鏈:(序號最大的為正在使用的快照增量磁盤文件)
vmkfstools -e cl-win7_4-000002.vmdk
可以看到檢查02.vmdk返回信息顯示02.vmdk檢查正常,01.vmdk磁盤鏈不一致
繼續檢查01.vmdk發現發現只有cl-win7_4-000001-sesparse.vmdk該增量磁盤文件,磁盤描述符文件丟失,我們為該增量磁盤重建一個磁盤描述符文件:
從基礎磁盤描述符復制一個模板:
cp cl-win7_4.vmdk cl-win7_4-000001.vmdk
修改cl-win7_4-000001.vmdk的CID ,parentCID,createType,刪除空行,增加一行父vmdk文件:
在有多級快照下可從丟失文件下層讀取CID
如我這里丟失的是1.vmdk,我從2.vmdk讀取父層CID,就是1.VMDK的CID,1.VMDK的父CID就是基礎描述符的CID
最后保存更改最后測試下磁盤鏈完整性:
vmkfstools -e cl-win7_4-000002.vmdk
測試正常,就可以正常開機了
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。