如何合併 Hyper-V 快照:逐步指南

有時您需要在某台客體虛擬機器(VM)上安裝作業系統更新或安全性修補程式。然而,更新過程有時可能會出錯,導致系統故障、設定資料遺失,或某些程式被移除。 Microsoft Hyper-V 提供了建立 Hyper-V 快照的功能,讓您能夠儲存虛擬機器在特定時間點的狀態,並在發生系統錯誤時將系統還原至先前狀態。

在這篇部落格文章中,我們將說明如何使用 Hyper-V 管理員 或 PowerShell 及其使用方式。然而,若要學習如何管理 Hyper-V 快照,您首先需要了解其背後的技術原理。

NAKIVO Hyper-V 備份解決方案

NAKIVO Hyper-V 備份解決方案

適用於 Hyper-V 的無代理程式、應用程式感知的備份解決方案。具備防勒索軟體防護功能、可從備份立即啟動虛擬機器,並支援其他虛擬/實體平台等更多功能。

什麼是 Hyper-V 快照?

Hyper-V 快照是虛擬機器的特定時間點副本,其中包含還原資料所需的所有資訊。透過 Hyper-V 快照,您可以將虛擬機器還原至快照擷取時所記錄的狀態。當您的電腦安裝 Hyper-V 角色並建立第一個虛擬機器時,Hyper-V 快照技術預設即為啟用狀態。 選定的虛擬機器可在任何狀態下建立 Hyper-V 快照(關閉, 跑步, 暫停,以及 已儲存) 且此操作通常只需幾秒鐘即可完成。

請注意,Hyper-V 快照目前稱為 Hyper-V 檢查點,但這兩種稱呼均屬正確。

Hyper-V 快照的類型

Microsoft Hyper-V 提供兩種快照類型:

  • Production snapshots 在客體作業系統內應用備份技術,以建立虛擬機器的資料一致性快照。為此,會使用 Windows 卷影複本服務 (VSS) 或 Linux 檔案系統凍結功能。Hyper-V 生產環境快照可用於擷取生產環境的狀態,因為它們能提升應用程式與客體作業系統的資料一致性。請注意,Hyper-V 生產環境快照不會擷取虛擬機器的記憶體狀態、CPU 活動資訊或硬體配置。

在新版作業系統(Windows Server 2016 和 Windows 10)中,生產檢查點是預設的檢查點類型。不過,您可以在 Hyper-V 管理員或 Windows PowerShell 中進行變更。

  • Standard snapshots 擷取虛擬機器在特定時間點的狀態,包括其 CPU 活動、記憶體及硬體配置。因此,標準 Hyper-V 快照可擷取應用程式的當前狀態,並將虛擬機器還原至特定時間點的狀態或條件。此類快照主要適用於開發與測試情境。 建立 Hyper-V 標準快照不能視為可靠的備份策略,因為對於不支援 VSS 的應用程式,這可能會導致某些資料不一致的問題。

Hyper-V 快照的運作原理

如您所知,Hyper-V 虛擬機器儲存於虛擬磁碟中,其檔案格式為 .vhd(x)。同時,在這些 Hyper-V 虛擬機器上建立的快照檔案採用 .avhd(x) 檔案格式,並與硬碟映像檔存放於同一資料夾中。 Hyper-V 快照基本上是差異虛擬磁碟,每個快照與其對應的父虛擬硬碟之間都存在父子關係。您為每台虛擬機器最多可建立 50 個快照。所有 Hyper-V 快照皆以階層式順序組織,從而構成一個檢查點子樹。

Checkpoint Subtree (How to Merge Hyper-V Snapshots)

然而,問題在於 .avhd(x) 檔案容易堆積如山並佔用大量磁碟空間,進而影響虛擬機器的效能。若要移除不必要的 .avhd(x) 檔案,您需要刪除 Hyper-V 快照。此選項並不表示您實際上會刪除這些快照。 實際上,您只是將 Hyper-V 快照及其所含資料合併至父磁碟或另一個虛擬磁碟中。不建議您直接從電腦中刪除 Hyper-V 快照。在合併 Hyper-V 快照後,所有 .avhd(x) 檔案都會從磁碟中刪除。透過這種方式,您便能在 Hyper-V 主機上釋放出額外的空間。

如何合併 Hyper-V 快照

在我們之前的其中一篇部落格文章中,我們曾介紹過如何 管理 Hyper-V 快照 (建立、套用、重新命名、啟用/停用等)。不過,今天的部落格文章將作為手動合併 Hyper-V 快照的指南。

若要合併 Hyper-V 快照,您需要使用 Hyper-V 管理員或 PowerShell。以下將分別說明這兩種方法。

使用 Hyper-V 管理員

在開始說明如何合併 Hyper-V 快照之前,我們應先確定要合併哪些快照。Hyper-V 快照應依照特定順序進行合併:從子快照到父快照。因此,透過建立快照的建立順序(從最新到最舊)來釐清檢查點樹的結構至關重要。

如前所述,每個快照都與其之前建立的另一個快照存在父子關係。 將所有快照結合起來,可呈現為一條鏈狀結構。例如,針對 1 個虛擬硬碟共建立了 3 個快照。虛擬機器(VM)所運行之主虛擬硬碟作為第一個檢查點的父節點,該檢查點作為第二個檢查點的父節點,而第二個檢查點則作為第三個檢查點的父節點。

欲建立檢查點結構,請執行以下步驟:

  1. 開啟 Hyper-V 管理員。
  2. 在中央窗格中,選取您要合併其快照的虛擬機器。
  3. 在右側的"動作"區段中,點擊 Inspect Disk.Inspect Disk to Merge Hyper-V Snapshots
  4. 選取 .avhd(x) 檔案,然後按一下 OK.Open a Hyper-V Snapshot to Merge Hyper-V Snapshots
  5. 接著,您應會看到虛擬硬碟屬性的概覽,其中包含其名稱、位置以及父物件的名稱。請確認所選 .avhd(x) 檔案的父物件。
  6. 請針對每個 .avhd(x) 檔案重複步驟 3 至 5,並確定其合併順序。The order of merging Hyper-V Snapshots

完成上述步驟後,即可開始合併 Hyper-V 快照。請注意,您的虛擬機器必須處於關閉狀態,以避免在合併操作過程中發生任何問題。

若要合併 Hyper-V 快照,請執行以下操作:

  1. 開啟 Hyper-V 管理員。
  2. 請選擇所需的虛擬機器。
  3. 點擊 Edit Disk. "編輯虛擬硬碟精靈"將會開啟. 點擊 Next.
  4. 點擊 Browse 以選取最新的 .avhdx 檔案。請按一下 Next.Locate virtual hard disk (How to Merge Hyper-V Snapshots)
  5. 選擇 Merge 將差異磁碟中儲存的變更合併至父磁碟或另一個磁碟。請按一下 Next.Selecting the option Merge Hyper-V Snapshots
  6. 選擇 To the parent virtual hard disk 然後點擊 Finish.Merge Hyper-V Snapshots to the Parent Disk
  7. 要完全完成 Hyper-V 快照的合併程序,請針對每個 .avhd(x) 檔案重複步驟 1 至 5,直到所有變更都已合併至原始父磁碟為止。
  8. 最後一步是重新啟動虛擬機器,以套用已實施的變更。

使用 PowerShell

在開始合併 Hyper-V 快照之前,請確認您的電腦已啟用 Merge-VHD 指令。若未啟用,螢幕上將顯示以下錯誤訊息:
The term 'Merge-VHD' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

若要解決此問題,請以系統管理員身分開啟 PowerShell,並執行以下指令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

如果一切正確,您應該會看到以下內容:

Enabling Hyper-V Management in PowerShell (How to Merge Hyper-V Snapshots)

現在,您可以執行 Merge-VHD 指令碼了。請注意,此操作將在離線狀態下進行。

若要合併 Hyper-V 快照,請執行此指令碼:

Merge-VHD Path = '' DestinationPath = ''

在此情況下,可以將多個子磁碟的資料(從最新的開始)合併到最舊的父磁碟中。螢幕上將顯示以下內容:

How to Merge Hyper-V Snapshots in PowerShell

操作完成後,請關閉客體虛擬機器並重新啟動系統。與 Hyper-V 管理員不同,後者需求您分別合併磁碟鏈的每一層,而 PowerShell 則允許您透過單一指令即可執行這項複雜的操作。

為何您應該使用 Hyper-V 快照

Hyper-V 快照可讓您在套用配置變更、安裝新軟體、執行任何作業系統更新、升級安全性修補程式等操作之前,先儲存虛擬機器的狀態。如果您即將執行可能改變虛擬基礎架構的操作,或該操作失敗的風險很高,請事先為您的虛擬機器建立 Hyper-V 快照。若發生意外狀況,您需要將系統還原至先前狀態時,這將作為一道安全網。

然而,Hyper-V 快照在開發與測試環境中使用時效果最佳。它們並非有效且可靠的備份替代方案,我們不建議在生產環境中使用。相反地,建議採用功能齊全的 Hyper-V 備份解決方案,此類方案包含多種資料保護選項,相較於傳統的基礎架構維護,能為您節省大量時間、金錢與精力。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read