1. 程式人生 > >VMware虛擬機器無法開啟時恢復最新快照中的資料的辦法

VMware虛擬機器無法開啟時恢復最新快照中的資料的辦法

  快照技術對於VMware備份任務來說是一個偉大的工具,但如果你改變了客戶作業系統,並且這一變化導致意外行為發生,那麼你需要刪除或還原快照,使虛擬機器返回到原來的狀態。如果不這樣做,可能會導致客戶作業系統不可用。如果你的手頭上沒有備份副本,你可能會失去近幾周有價值的資料。

  在此提示,我會解釋如何讓原來的客戶作業系統進行工作,以及如何通過增加VMware虛擬機器磁碟格式( VMDK )的檔案快照到一個新的虛擬磁碟,來恢復丟失的資料,並在另外一個客戶作業系統增加磁碟和作為一個額外VMDK的快照。

  快照技術如何解決客戶作業系統失敗問題

  一般而言,對快照來說最佳的做法是建立一個,測試一個補丁或安裝新軟體,然後將其刪除或還原快照。但是,這不可能總是這樣。偶爾,我忘了快照,或其他人創造出了一個,並沒有告訴我。那麼這將是一個在客戶作業系統中的重大失敗。

  現實生活中我最喜愛的例子包括Windows2003小型企業伺服器版( SBS )在重新啟動時宕機。Active Directory ( AD )資料庫崩潰了,而且沒有人知道還原模式密碼。我們可以恢復快照到我們知道AD工作正常的那一天,但在這樣做時,我們將失去幾周的Microsoft Exchange和SQL Server資料。進一步複雜化的情況是,我們沒有一個像樣的備份伺服器,作為兩個不同部分的人誤以為是另一組負責備份伺服器。

VMDK

  在這種情況下,你可能會發現自己需要的資料,但還需要恢復虛擬客戶作業系統到數星期前建立一個的還原點。但是,一個簡單的過程中使用vmkfstools從VMware ESX的服務控制檯,你可以匯入最新的資料到一個新的VMDK磁碟 ,使你能夠恢復並操縱一個快照而不丟失最新的資料。

  開始操作時,要確保客戶作業系統已經關機並登入到該服務控制檯。這有助於改變客戶作業系統和VMDK檔案的路徑。預設情況下,快照儲存在同一目錄中。你會看到delta VMDK的快照,和一個flet VMDK預先快照資料。如果你看一下在目錄中現有的檔案,你會看到每個虛擬磁碟有兩個VMDK檔案。較小的檔案是指標VMDK 。它包含與磁碟相互對應的設定。

  其中的一個設定指的是VMDK實際的資料檔案。最好不要搞亂檔案,除非你有來自VMware的支援。當你使用有快照版本的虛擬機器,所有磁碟的變化被寫給這個delta VMDK 。在下面的截圖中,ubuntu - 000001.vmdk檔案指向ubuntu - 000001 - delta.vmdk ,和ubuntu.vmdk指向ubuntu  - flat.vmdk 。當你有一個以上的快照,這些數字的檔名會以此類推遞增。為了簡潔明瞭,讓我們假設我們只有一個快照。 (如果你有幾個,你可以把它們匯入不同的檔案並在你的問題發生時跟蹤它們。)

快照

  匯入快照到一個新的VMDK

  現在,您可以將快照匯入到一個新的VMDK磁碟 。如果你有一個以上的磁碟,您必須為每個VMDK執行此步驟。命令中的語法使用的名稱是指標檔名。以下是如何將一個快照匯入磁碟的具體步驟,在操作之前,你為備份VMDK建立一個新資料夾:

#mkdir /vmfs/volumes/DS-LUN1/ubuntubackup
vmkfstools –i [source file] [destination file]

  例如:
 
#vmkfstools –i /vmfs/volumes/DS-LUN1/ubuntu/ubuntu-000001.vmdk /vmfs/volumes/DS-LUN1/ubuntubackup/ubuntubackup.vmdk

  該檔案將開始克隆。根據原來的大小和快照中總的資料量, 這可能是需要一段時間才能完成克隆,但至少在此觀察期間,你會有一個不錯的進展指標。

VMware

  現在你可以從vCenter伺服器恢復你的快照而不丟失那些變化。在vCenter客戶中,轉到客戶作業系統,右鍵單擊並選擇快照,恢復到快照,然後單擊是。

vCenter伺服器

  你可能想知道是否所有的變化正在寫入到原始的VMDK磁碟,因為你已還原了快照。不,你實際上已經刪除了在原來的快照中所有的變化,但新的變化去的另一delta檔案,我這裡的情況是000002。

vCenter

  現在你可以從vCenter中刪除快照,以便開始將變化寫到原始的磁碟,或讓發生在您的排錯過程中的變化寫入delta檔案。我更喜歡後者,因為等一切問題都解決之後,起碼你還有一個潛在的還原點。

  將VMDK作為一個額外的磁碟新增到客戶作業系統當中

  那麼,我們怎樣處理我們剛剛建立的VMDK?因為它可能無法啟動,我總是將其作為額外的磁碟新增到一個客戶VM,之後複製所需要的資料到穩定和有效的客戶系統。要做到這一點,修改你的客戶作業系統的設定並新增一塊硬碟。選擇使用現有的磁碟選項,瀏覽你剛才備份的VMDK檔案 。在我的例子中,將是ubuntubackup.vmdk 。現在在你的客戶作業系統中履行其承擔的任務,先必須找到新的硬碟驅動器。在Windows系統中的磁碟管理管理單元中,你將點選右鍵並選擇重新掃描磁碟,這個功能通常會在計算機管理MMC控制檯中發現。

作業系統

  上面這個過程讓我從前面所述的潛在的災難中脫離出來。我能儲存當前的SQL和Exchange資料,從而將作業系統恢復到能夠再次使用的狀態。有一個快照可用,然而,並不能保證資料庫的一致性。我可以很容易地恢復Exchange資料,但資料庫管理員不得不清理SQL資料庫。資料是現在的,但有更多的工作要做。一個適當的備份解決方案是首選辦法。