Hyper-V 匯出與匯入:是什麼、為什麼以及如何操作

虛擬化的眾多優勢之一便是可攜性,這意味著您可以輕鬆地將選定的虛擬機器 (VM) 從一個位置移至另一個位置,且不會造成停機或服務中斷。Hyper-V 環境中的可攜性是透過 Hyper-V 匯出與匯入功能性來確保的,此功能性讓您能夠輕鬆地將 Hyper-V 虛擬機器複製並移至目標位置,然後將虛擬機器還原至匯出時的狀態。

那麼,Hyper-V 匯出與匯入功能性究竟如何運作?當您匯出 Hyper-V 虛擬機器時,系統會建立虛擬機器設定檔、VHD 檔案及虛擬機器快照的副本。接著,您需指定該虛擬機器副本的位置,可置於 Hyper-V 主機內,或是將匯出的虛擬機器移至其他 Hyper-V 主機。 最後,當發生硬體故障或資料遺失時,可利用此歸檔的虛擬機器來還原虛擬機器資料。

今天的部落格文章將探討 Hyper-V 匯出與匯入功能性是否可視為有效的虛擬機器備份替代方案,以及它與全面性的資料保護解決方案相比如何。

NAKIVO Hyper-V 備份解決方案

NAKIVO Hyper-V 備份解決方案

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

什麼是 Hyper-V 匯出?

Hyper-V 匯出是指將選定的虛擬機器(VM),包括其虛擬硬碟檔案、VM 設定檔及 Hyper-V 快照,匯出至單一檔案的過程。此操作可在 VM 處於線上或離線狀態時執行。在較早的 Windows 版本(Windows Server 2012 之前)中,您只能在 Hyper-V VM 關閉時進行匯出。Hyper-V 匯出僅能按需執行。

此外,先前無法將虛擬機器直接匯出至網路共用資料夾。在較早的 Windows 版本中,必須先將虛擬機器匯出至本機儲存空間,再透過網路複製到存放歸檔檔案的目標位置。隨著 Windows Server 2012 的發布,此問題已獲得解決。

Hyper-V 匯出功能可用於歸檔不再需要的虛擬機器,或作為臨時備份,讓您能在特定時間點擷取虛擬機器資料。此外,Hyper-V 匯出功能也可用於測試目的。例如,您可以建立生產環境虛擬機器的副本,並將其匯出至非生產環境進行測試與疑難排解。

匯出 Hyper-V 虛擬機器的過程常被比喻為 建立 Hyper-V 快照 以及建立備份。匯出虛擬機器雖不如建立快照來得快速,但與 Hyper-V 快照不同的是,它能讓您建立現有虛擬機器的完整副本,並將其傳送至其他位置進行儲存。 同時,Hyper-V 匯出功能不能被視為完整的虛擬機器備份。它未採用壓縮、重複資料刪除及加密技術,而這些技術在資料保護解決方案中廣泛使用,能協助您減少儲存空間需求,並更有效地利用可用磁碟空間。

什麼是 Hyper-V 匯入?

Hyper-V 匯入功能可讓您從一組設定檔中還原先前已匯出的選定虛擬機器。Hyper-V 虛擬機器可匯入至原始的 Hyper-V 主機或新的主機。過去,執行 Hyper-V 匯入之前必須先執行 Hyper-V 匯出。然而,自 Windows Server 2012 R2 起,您現在無需事先匯出即可匯入 Hyper-V 虛擬機器。 執行 Hyper-V 匯入時,虛擬機器會註冊至 Hyper-V 主機。

Hyper-V 匯入可分為以下幾種類型:

  • Register in-place. 在此情況下,來源檔案不會以任何方式被修改或移動。此外,虛擬機器的唯一識別碼保持不變,這表示該虛擬機器已於 Hyper-V 主機上註冊。若您未先刪除具有該識別碼的來源虛擬機器,便嘗試匯入該虛擬機器,操作將會失敗。

The Same ID Error (How to Export Hyper-V VMs)

若您希望從原始位置執行虛擬機器,或虛擬機器發生故障且需要重新向 Hyper-V 主機註冊,即可使用此匯入類型。當匯入操作完成後,匯出檔案將轉為執行狀態檔案,且無法刪除。

  • 在此情況下,匯出的檔案會被複製到目標位置,且虛擬機器的唯一識別碼將維持與執行 Hyper-V 匯出時相同的狀態。因此,建議在開始匯入操作之前先刪除原始虛擬機器,以免識別碼發生衝突。否則,您將會遇到上述提到的相同錯誤。

當 Hyper-V 匯入操作完成後,匯出的檔案將保持完整,可予以移除或再次匯入。

  • 還原已歸檔的虛擬機器時,應選擇"複製"匯入類型。在此情況下,虛擬機器檔案會被複製到目標位置,並為該虛擬機器指派一個新的唯一識別碼,這表示您可以將這台已預先設定好的虛擬機器多次匯入至同一台 Hyper-V 主機。

如何匯出 Hyper-V 虛擬機器

您可以使用 Hyper-V 管理員將 Hyper-V 虛擬機器匯出,並 執行 PowerShell 指令碼. 我將詳細說明這些方法,並引導您逐步完成匯出 Hyper-V 虛擬機器的每個步驟。

使用 Hyper-V 管理員

若要匯出 Hyper-V 虛擬機器,您需要啟動"匯出虛擬機器"精靈:

1. 開啟 Hyper-V 管理員。

2. 在清單中右鍵點擊該虛擬機器。如您所見,我已選取正在運行的虛擬機器。

Selecting the VM (How to Export Hyper-V VMs)

3. 選取 Export 以開啟"匯出虛擬機器"精靈。

4. 按一下 Browse 以指定虛擬機器應匯出的位置。

Specify the New Location (How to Export Hyper-V VMs)

5. 在"狀態"欄位中監控 Hyper-V 匯出作業的進度。

Checking the Status (How to Export Hyper-V VMs)

6. 操作完成後,請開啟該資料夾以確認所有內容均已成功匯出。

Exported VM (How to Export Hyper-V VMs)

如上圖所示,所選的虛擬機器(包括其虛擬硬碟、虛擬機器設定檔及虛擬機器快照)已成功匯出至新位置。

使用 PowerShell

下一種方法是執行 PowerShell 指令,這有助於您自動化匯出 Hyper-V 虛擬機的流程。建立好可運作的 PowerShell 腳本後,您可以透過"工作排程程式"設定腳本自動執行。如此一來,您便能定期備份正在運行的虛擬機,同時避免系統停機或服務中斷。

若要使用 PowerShell 匯出 Hyper-V 虛擬機,請執行以下指令:

Export-VM -Name DemoVM -Path 'C:Virtual Hard DisksExported VMs'

請記得以系統管理員身分執行 PowerShell,才能讓 cmdlet 正常運作,符合需求。

Exporting Hyper-V VMs in PowerShell

檢查目標資料夾後,您會發現虛擬機器及相關檔案已成功匯出。

Exported DemoVM (How to Export Hyper-V VMs)

可使用以下 cmdlet 將所有可用的虛擬機器匯出至 C 槽根目錄 (C:)。

Get-VM | Export-VM -Path C:

如何匯入 Hyper-V 虛擬機器

如前所述,您甚至可以匯入先前未曾匯出的 Hyper-V 虛擬機器。為此,您亦可使用 Hyper-V 管理員或 PowerShell 指令。

使用 Hyper-V 管理員

若要匯入 Hyper-V 虛擬機器,請依照以下步驟操作:

1. 開啟 Hyper-V 管理員。

2. 在"動作"區段中,選取 Import Virtual Machine 以開啟"匯入虛擬機器"精靈。

Import Virtual Machines (How to Import Hyper-V VMs

3. 在"開始之前"區段中,閱讀此精靈的功能說明,然後按一下 Next.

Before You Begin (How to Import Hyper-V VMs)

4. 在"尋找位置"區段中,您應選取包含您要匯入之虛擬機器(VM)的資料夾。

Locate Folder (How to Import Hyper-V VMs)

5. 在"選取虛擬機器"區段中,選擇要匯入的虛擬機器。

Select Virtual Machine (How to Import Hyper-V VMs)

6. 在"選擇匯入類型"區段中,請根據您的具體需求,從以下三種匯入類型中擇一: Register the virtual machine in-place, Restore the virtual machine, 以及 Copy the virtual machine. 在此情況下,我將示範如何複製虛擬機器,並為其指派一個新的唯一識別碼。

Choose Import Type (How to Import Hyper-V VMs)

7. 在"選擇目標位置"區段中,您可以指定用於儲存虛擬機器檔案的資料夾。您有兩種選擇:將虛擬機器檔案匯入預設的 Hyper-V 資料夾,或透過手動選取資料夾,將虛擬機器儲存至其他位置。

Choose Folders for VM Files (How to Import Hyper-V VMs)

8. 在"選擇儲存資料夾"區段中,按一下 Browse 以選取將儲存此虛擬機器虛擬硬碟的資料夾。

Choose Folders for VHD Files (How to Import Hyper-V VMs)

9. 在"摘要"區段中,您可以檢視在此精靈中所做的選項。按一下 Finish 如果您想關閉精靈並匯入 Hyper-V 虛擬機器。

Completing Import Wizard (How to Import Hyper-V VMs)

10. 檔案正在複製到目標位置。

Copying VM Files (How to Import Hyper-V VMs)

操作完成後,您可以透過 Hyper-V 管理員在所選的 Hyper-V 主機上找到已匯入的虛擬機器。

New Imported VM (How to Import Hyper-V VMs)

使用 PowerShell

如您所知,Hyper-V 環境中共有三種匯入類型,您可以使用 Import-VM cmdlet 來執行各種 Hyper-V 匯入操作。

若要執行 就地登記 若要刪除所選虛擬機,您應先刪除具有相同 ID 的來源虛擬機。為此,請執行以下 cmdlet:

Get-VM DemoVM | Remove-VM

之後,您可以執行 Import-VM 指令,以確保虛擬機器能就地註冊,並沿用現有的唯一識別碼。

Import-VM –Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx'

Register In-Place Using PowerShell (How to Import Hyper-V VMs)

下一個選項是還原虛擬機器。在此情況下,系統會將匯出的檔案複製並移至新位置,並沿用原有的識別碼。此匯入類型同樣要求您在開始還原操作之前,先刪除來源虛擬機器。

Import-VM -Path 'C:Virtual Hard DisksExported VMsHyper-V Server 2012Virtual Machines6E62C696-E3A1-41C3-A975-0E1CC9E67A31.vmcx' -Copy -VhdDestinationPath 'C:Program FilesImported VMsVHD Files' -VirtualMachinePath 'C:Program FilesImported VMsVM Files'

匯入作業預計將在幾秒鐘內完成。

Restore VM Using PowerShell (How to Import Hyper-V VMs)

要讓此 cmdlet 正常運作,您必須明確指定來源 .vcmx 檔案目前儲存位置的完整路徑,以及 .vcmx 和 .vhdx 檔案應複製到的位置的完整路徑。

最後,您可以 複製虛擬機器 使用以下 PowerShell 指令。在此情況下,您無需刪除來源虛擬機器,因為系統會為匯入的虛擬機器建立一個新的唯一識別碼。透過此方法,您可以將此虛擬機器多次匯入至同一台主機。

Import-VM -Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx' -Copy -GenerateNewId

Import as a Copy (How to Import Hyper-V VMs)

結語

若要匯出或匯入 Hyper-V 虛擬機器,您可以使用 Hyper-V 管理員或執行 PowerShell 指令碼。這兩種方法各有其優點與使用情境,您應根據自身需求在兩者之間做出選擇。

Hyper-V 匯出與匯入特點可用作備份的替代方案,也就是說,您可以建立正在運行的虛擬機器的副本,並在它們損毀或發生故障時進行還原。 然而,匯出與匯入 Hyper-V 虛擬機器的過程需要您投入大量手動操作,且僅能透過 PowerShell 腳本實現自動化。因此,相較於功能完備的備份解決方案,Hyper-V 匯出與匯入功能性相當有限,不僅僅能保護小型 Hyper-V 環境,還需要您投入大量時間與精力。

若您希望讓 Hyper-V 虛擬機器的保護流程變得簡單、快速且安全,建議您考慮部署一套進階的資料保護解決方案。 NAKIVO Backup & Replication 這是一套可靠且強大的解決方案,能以極低的成本協助您保護多種環境。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

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

People also read