如何使用 Hyper-V 管理員或 PowerShell 刪除快照
快照(在 Hyper-V 中稱為檢查點)在您需要保留虛擬機器最後一次正常運作的狀態,以便部署新軟體或安裝更新時,非常實用。然而,刪除快照時必須謹慎,否則可能會導致重要資料遺失。
在這篇文章中,我們將說明 Hyper-V 檢查點的運作機制。 我們將說明何時應使用這些檢查點,並展示如何透過 Hyper-V 管理員介面以及使用 PowerShell 來刪除快照。
Hyper-V 檢查點機制
在我們詳細探討如何 Hyper-V 檢查點 在開始之前,讓我先釐清"快照"和"檢查點"這兩個術語可能造成的混淆。
快照和檢查點代表了同一項特點,即在特定時間點儲存虛擬機(VM)的狀態。若虛擬機日後發生問題,可回滾至該狀態。在 Windows Server 2012 R2 之前的版本中,微軟將儲存虛擬機狀態的特點稱為"快照"。 在後續發布中,Microsoft 改用"檢查點"一詞。此外,"快照"則是 VMware 環境中使用的術語。在本篇文章中,我們將這兩個術語交替使用,因為所探討的機制與程序同時適用於快照和檢查點。那麼,檢查點/快照究竟是如何運作的呢?
Hyper-V 檢查點的儲存方式
Hyper-V 虛擬機器資料以 .vhdx 檔案. 建立檢查點時,.vhdx 檔案會變成唯讀檔案。對虛擬機器所做的新的變更會儲存於差異虛擬硬碟中。此差異虛擬硬碟會以 .avhdx 檔案的形式,儲存於與 .vhdx 檔案相同的資料夾中。
您可以建立一連串的檢查點。每個檢查點代表虛擬機器在特定時間點的狀態。 每個檢查點皆由一個 .avhdx 檔案代表。
此機制 Hyper-V 檢查點 在儲存空間利用率方面相當高效。然而,虛擬磁碟的讀取操作效能卻大幅降低。原因在於,讀取檔案時必須檢查整個檢查點鏈(.avhdx 檔案),直到抵達虛擬機器的 .vhdx 檔案為止。
在下方的螢幕截圖中,您可以看到在為虛擬機器建立兩個 Hyper-V 檢查點後,出現了一個父 .vhdx 虛擬磁碟和兩個 .avhdx 磁碟。
根據此機制,刪除 .avhdx 檔案並不會刪除檢查點。相反地,此類刪除操作會中斷鏈結,進而導致資料遺失。
若要在不遺失資料的情況下刪除檢查點,應將 .avhdx 檔案與鏈結中另一個(父級)的 .avhdx 檔案(或 .vhdx 檔案)進行合併。 若此檢查點是虛擬機器的唯一檢查點,則 .avhdx 檔案將與 .vhdx 檔案合併,且 .vhdx 檔案將恢復可寫入狀態。
在下一節中,我們將展示如何透過 Hyper-V 管理員介面刪除快照(檢查點)而不造成資料遺失。
使用 Hyper-V 管理員介面刪除快照
Hyper-V Manager 是一款用於管理 Hyper-V 主機和虛擬機的免費圖形化介面工具。它可用於配置虛擬機、分配記憶體、建立快照或刪除快照。
若要刪除快照 Hyper-V 快照 (檢查點) 來自 Hyper-V 管理員 介面:
- 請從左側窗格中選取主機。
- 從
Virtual Machines面板。 - 在要從中刪除的檢查點上按右鍵
Checkpoints窗格。選取Delete Checkpoint…
在下方的螢幕截圖中,您可以看到在刪除第二個 Hyper-V 檢查點後,主 .vhdx 虛擬磁碟與 .avhdx 快照檔案的狀態。
使用 PowerShell 刪除快照
若要在 Hyper-V 虛擬機器上執行批次操作, Windows PowerShell 比 Hyper-V 管理員的圖形化介面更有效率,因為您可以透過指令一次刪除多個快照。此外,某些操作(例如刪除在圖形化介面中沒有刪除選項的檢查點)只能透過 PowerShell 來完成。
無法從 Hyper-V 管理員中刪除的檢查點稱為"殘留檢查點"。當虛擬機器備份工作失敗時,便會產生殘留檢查點。
當虛擬機器備份工作開始使用備份解決方案時,虛擬機器會被置於唯讀模式。 虛擬機器使用者提交的新資料會儲存至一種稱為"還原檢查點"的特殊檢查點中。當備份工作成功完成時,還原檢查點的 .avhdx 檔案會與虛擬機器的 .vhdx 檔案合併,且該檢查點會自動刪除。然而,若備份工作失敗,還原檢查點便不會自動刪除,而會作為殘留檢查點保留下來。
To delete a checkpoint by using PowerShell:
- 打開窗戶 PowerShell 以 ISE 身分擔任管理員。
- 使用以下指令取得檢查點的精確名稱
Get-VMSnapshot. 出現提示時,請輸入 VMName。 - 執行以下指令:
Get-VM -Name| Get-VMSnapShot -Name | Remove-VMSnapshot
- 請使用以下指令確認檢查點已成功刪除:
Get-VMSnapshot
結語
建立檢查點是為了進行測試及建立驗收環境的一項良好做法。然而,不建議在生產環境中保留檢查點。檢查點會對 Hyper-V 的讀取操作效能造成負面影響。
直接從磁碟刪除檢查點檔案將導致資料遺失。 應透過 Hyper-V 管理員刪除檢查點。若 Hyper-V 管理員圖形介面中未提供刪除選項,亦可使用 PowerShell 進行刪除。
採用備份與複製解決方案對於保護您的資料和應用程式至關重要。





