使用 VMware Server ESXi(免費版)
我有一個虛擬機器(win 2k3 r2 伺服器)。當我第一次配置它時,我拍攝了它的快照。我最近嘗試使用基於硬體的標準方法克隆主驅動器來擴展 Windows 磁碟。 (使用 knoppix,將驅動器克隆到新驅動器,使其可啟動,然後我打算通過 windows 內的 diskpart 擴展分區)。這個過程失敗了;我嘗試設定克隆驅動器(透過 vmware gui)來替換原始驅動器,啟動並完成。效果不太好。機器從未啟動過。我檢查了啟動順序、磁碟位置以及我通常做的所有基礎知識。
作為故障保護,我然後嘗試將所有設定更改回來,以便機器啟動到原始驅動器,並且我可以找到(正如我最終所做的那樣)一種更好的磁碟增長方式。然而,當我使用原始驅動器打開電腦時,它恢復到我創建的初始快照;從那時起它失去了所有的變化。
我查看了文件系統並找到了一些文件,我認為這裡的密鑰文件是一個名為“delta”的文件,我假設這是我想要的磁盤,但我找不到一種方法讓虛擬機實際使用它驅動器/文件。當我去添加現有驅動器時,無法添加。
我是否需要以某種方式將該增量提交到原始驅動器,然後再次從它啟動?你能為我指出正確的方向嗎?
從那以後,我發現了使用“vmkfstools”增長驅動器的正確方法,但我需要回到機器的原始狀態來嘗試這一點。任何幫助將不勝感激。
答案1
您可能不走運,但如果您沒有備份,那麼採取結構化方法可能會起作用。
在虛擬機器關閉的情況下,複製虛擬機器資料夾中的所有檔案並將它們存放在安全的地方,它們可能會損壞,但您希望擁有完整的副本,以防您想要重新開始。
從 SSH shell 或使用 SCP 實用程式(如果您使用 Windows,Veeam FastSCP 或 Tunnellier 會很方便)找到 VM 資料夾並找到所有帶有 .vmdk 副檔名的檔案。基礎磁碟應該有兩個(一個名為VMname1.vmdk 的小描述符檔案和一個名為VMname1-flat.vmdk 的包含實際磁碟資料的大得多的檔案),每個快照增量都有一對類似的檔案(名為VMname1.vmdk 的小描述子) VMname1-00001.vmdk 和一個名為VMname1-00001-delta.vmdk 的較大文件,其中包含在此快照生命週期內對基礎磁碟所做的變更) 。這些也在快照管理檔案(VMname.vmsd 檔案)中引用,該檔案包含有關 VM 上所有活動快照的所有元資料。虛擬機器本身將其所有設定儲存在 .VMX 檔案中,包括(重要的是)對其磁碟的當前活動 VMDK 位置的引用 - 這將指向最新的快照增量。
然後,VMware 使用內部 ID(稱為 CID)和描述符 VMDK 中稱為 ParentFileNameHint 的參數,以遞歸方式將每個增量連結回其父級(其本身可能是增量),直到到達基礎磁碟。 -delta 本身並不是一個完整的磁碟,它需要連結到其父磁碟的未修改副本才能運作。如果父文件已被修改,那麼您幾乎肯定不走運。
您可以手動移動增量檔案及其關聯的描述符,並修復遺失內容的情況,但這僅在未對基礎磁碟或任何中間增量進行任何變更的情況下才有效。描述符檔案都可以使用文字編輯器進行編輯。
一旦你明白了這一點,你應該閱讀SANBarrow的CID鏈條維修指南如果可以將東西縫合在一起,這將幫助您弄清楚如何將它們縫合在一起。
最後 - 永遠不要依賴快照作為備份。它們不適合該目的,並且在活動時會導致顯著的額外 IO 開銷。
答案2
通常,增量文件是在複製磁碟時建立的文件,也可能是在複製時建立的文件。增量只是一個 1 off 文件,用於儲存對實時虛擬機所做的所有更改,在複製時不會斷電。退出複製、複製等後...增量(變更)將寫回活動虛擬機器。我不認為你可以恢復到增量,因為它是 + 變化。
附註:您正在談論也使用 vmkfstools 來增長磁碟...但這不適用於非動態磁碟,不是嗎?我非常確定您的 diskpart 和/或 vmkfstools 只能與動態主資料庫一起使用。如果您可以建立新磁碟並將其新增至系統。
答案3
VMware 快照的工作原理是,從拍攝快照那一刻起,所有變更都會寫入磁碟到新檔案(增量檔案)。當您還原到快照時,系統只需刪除增量並巴姆,您就回到了快照前的點。如果刪除快照,系統會將所有變更合併到原始文件,如果您很久以前拍攝了快照,這可能需要很長時間。
您的問題並不是特別清楚您對主機上的檔案做了什麼,但由於聽起來系統已經為您恢復了快照,因此您可能不走運,因為主機不再認為虛擬機器具有快照。這是我會嘗試的:
- 實作不依賴快照的備份策略。
- 關閉虛擬機器電源。
- 將所有文件複製到安全的地方。
- 嘗試刪除快照。
- 走著瞧吧。如果步驟 3 未達到您的要求,請繼續步驟 5。
- 拍攝新快照。
- 將備份中的所有增量檔案複製到步驟 5 建立的增量檔案之上。
- 走著瞧吧。如果第 6 步沒有達到您想要的效果,請接受命運並開始嘗試恢復您失去的東西。
祝你好運,--傑德