Hyper-V 第 1 代與第 2 代的差異
Hyper-V 虛擬機器分為兩代:第 1 代和第 2 代。在建立虛擬機器時,選擇虛擬機器的世代至關重要;此選擇亦取決於客體作業系統、主機作業系統、開機方式及其他因素。 雖然第 2 代虛擬機器比第 1 代更新,但有時仍可能需要使用第 1 代虛擬機器。
這篇部落格文章將說明 Hyper-V 第 1 代與第 2 代虛擬機器的差異,以協助您做出符合需求的正確選擇。
Hyper-V 第 1 代與第 2 代:第 1 代虛擬機的特性
BIOS
BIOS 是一種基本輸入/輸出系統軟體,預先燒錄於主機板上的晶片中。BIOS 負責處理系統的啟動及硬體配置。第一代虛擬機器支援基於傳統 BIOS 的架構,並可從 MBR(主開機記錄)虛擬硬碟載入。Hyper-V 會模擬具備虛擬硬體的數位 BIOS。
IDE 虛擬磁碟
第 1 代虛擬機器 (VM) 配備虛擬 IDE 控制器,可用於從 IDE 虛擬磁碟啟動虛擬機器。虛擬 SCSI 控制器必須在虛擬機器的客體作業系統上安裝 Hyper-V 整合服務後,才會被識別。客體作業系統無法從 SCSI 磁碟啟動。
模擬硬體
實體電腦需要一套硬體元件才能運作。為了讓虛擬機器正常運作,必須模擬所有必要的硬體元件。Hyper-V 內建了能夠模擬真實硬體行為的特殊軟體;因此,虛擬機器可以透過虛擬裝置進行運作。這些模擬硬體(與真實硬體完全相同)包含適用於大多數作業系統的驅動程式,以確保高度的相容性。在 Gen 1 虛擬機器的虛擬裝置中,您可以找到:
- 舊式網路介面卡
- 一個虛擬軟碟機
- 虛擬 COM 埠
第一代虛擬機的硬體限制
第一代虛擬機的硬體限制如下:
- 2 個 IDE 控制器,每個控制器最多可連接 2 個 IDE 硬碟
- 最多可支援 4 個 SCSI 控制器,並可連接多達 64 個 SCSI 硬碟
- 一個採用 MBR 格式、容量為 2TB 且包含 4 個分割區的硬碟
- 可將實體 DVD 光碟機連接至虛擬機器
- 支援 x86 和 x64 客體作業系統
Hyper-V 第 1 代與第 2 代:第 2 代虛擬機的改進之處
支援 UEFI BIOS。支援 GPT。安全開機
UEFI(統一可擴充韌體介面)是一種低階軟體,與 BIOS 類似,會在電腦開機後、載入作業系統(OS)之前啟動。為便於理解,"UEFI BIOS"一詞亦常被使用。UEFI 並非僅是 BIOS 的替代品,它擴展了對裝置與特點的支援,其中包括 GPT(GUID 分割表)支援與安全開機(Secure Boot)。 GPT 分區方案能突破 2 TB 硬碟的限制,而 MBR 分區方案在此容量下最多僅能建立 4 個分區。安全開機(Secure Boot)是一項防止篡改開機載入程式及主要系統檔案的特點;其運作原理是比對數位簽章,這些簽章必須獲得原始設備製造商(OEM)的信任。由於 Hyper-V Gen 2 虛擬機器支援 UEFI,因此這些特點得以實現。
從 SCSI 虛擬磁碟開機。原生 VMBUS 支援
第二代虛擬機器(Gen 2 VMs)可從 SCSI 虛擬磁碟載入,因為 UEFI 支援與 SCSI 控制器進行此類通訊,而 BIOS 則不支援。 在虛擬機器啟動期間,對合成硬體的合成 VMBUS 驅動程式支援,使得啟動時能夠使用 SCSI 驅動程式。例如,在檔案系統初始化之前,第一代虛擬機器僅能使用傳統 IDE 驅動程式來驅動模擬裝置。必須安裝 Hyper-V 整合服務,才能為第一代虛擬機器啟用 SCSI 控制器。
PXE 開機選項
第一代和第二代虛擬機器均支援 PXE(預開機執行環境),這是一種網路開機方式。然而,若要為第一代虛擬機器啟用 PXE 開機,需執行一些手動操作。系統預設會為第一代虛擬機器新增一個效能較高的合成網路介面卡,但此類網路介面卡並不支援第一代虛擬機器的網路開機。 首先關閉虛擬機器,然後新增一個模擬的傳統網路介面卡。完成此步驟後,即可對 Gen 1 虛擬機器使用 PXE 啟動。
Gen 2 虛擬機器支援透過合成網路介面卡進行網路啟動,因為它們採用 UEFI,而 UEFI 能夠與此類網路介面卡進行通訊。因此,您無需任何額外操作即可對 Gen 2 Hyper-V 虛擬機器使用 PXE 啟動。
VHDX 虛擬磁碟
第 2 代虛擬機器僅支援 VHDX 格式的虛擬磁碟檔案,而第 1 代虛擬機器則同時支援 VHD 和 VHDX 兩種格式。VHDX 格式具有以下優勢:
- 支援 4KB 區塊並改善對齊方式
- 提高最大磁碟大小限制
- 在追蹤元資料時,能更好地抵禦電源中斷的影響
- VHDX 虛擬磁碟的整體效能更佳
在虛擬機器未連線的情況下,將檔案從 Hyper-V 主機複製到虛擬機器
第二代虛擬機器 (VM) 提供"增強型工作階段模式",該模式採用遠端桌面協定。此特點可讓 Hyper-V 主機與虛擬機器共享本地資源,或在 Hyper-V 主機與客體虛擬機器之間無需網路連線即可執行複製/貼上操作。檔案交換可透過圖形使用者介面 (VM Connect) 或 PowerShell 進行(Copy-VMFile cmdlet)。
必須滿足以下需求:
- 必須在虛擬機器上安裝 Hyper-V 整合服務
- 虛擬機器上必須啟用遠端桌面服務
- 來賓作業系統必須為 Windows Server 2012 R2 或更新版本/Windows 8 或更新版本
如您所見,對於第 2 代虛擬機器而言,複製檔案變得更加方便。至於第 1 代虛擬機器,從主機作業系統複製檔案至客體作業系統的唯一方法,就是透過網路進行複製。
虛擬機器開機更快
由於 UEFI 的啟動速度更快,第二代虛擬機器的開機時間約快了 20%。客體作業系統的安裝時間也最多可縮短 50%。雖然在日常使用中可能難以察覺這項優勢,但當您需要安裝和設定大量新虛擬機器,或使用虛擬桌面基礎架構 (VDI) 時,這將有助於節省時間。
更少的裝置,合成硬體
過去,作業系統在發布時並未意識到會運行於虛擬機器上。因此,會採用硬體模擬的方式。第一代虛擬機器(Gen 1 VMs)採用硬體模擬的方法,以確保最大程度的相容性。最新的作業系統則能識別自身正在虛擬機器上運行,並使用 VMBus,而非搜尋傳統的控制器或晶片組。 在 Gen 2 虛擬機器中,多數傳統模擬裝置已被移除,取而代之的是採用更快速的新型合成硬體。隨著虛擬管理程式整合度更高,且虛擬裝置數量減少,虛擬機器的效能可能會有所提升。
提高 CPU 和 RAM 限制
虛擬機器可分配的虛擬記憶體最大容量與虛擬 CPU 最大數量已提高:
第 1 代虛擬機器的記憶體上限為 1 TB,而第 2 代虛擬機器的記憶體上限則為 12 TB;
第 1 代虛擬機器的虛擬 CPU 上限為 64 個,而第 2 代虛擬機器的虛擬 CPU 上限則為 240 個。
因此,您可以將第 2 代虛擬機器用於資源消耗較大的任務。 在建立虛擬機器之前,請確認主機作業系統的版本是否支援所需的最大記憶體容量及最大虛擬處理器數量。Windows Server 2016 的限制值高於 Windows Server 2012 R2。
Hyper-V 第 1 代與第 2 代:第 2 代虛擬機的需求
微軟已透過 Hyper-V 為 Windows Server 2012 R2 和 Windows 8.1 發布第二代虛擬機器;因此,Hyper-V 主機必須安裝這些版本的 64 位元 Windows(或更新版本,包括獨立版的 Hyper-V Server 2012 R2),才能執行第二代虛擬機器。 由於支援具備"安全啟動"選項的 UEFI 2.3.1,第二代虛擬機的客體作業系統可選用 Windows Server 2012 或更新版本的 Windows Server,以及 Windows 8 x64 或更高版本。
Hyper-V 第 1 代與第 2 代:使用 Gen2 虛擬機的優勢
讓我們來總結一下使用 Gen 2 虛擬機的主要優勢。Gen 2 虛擬機提供:
- 更高的效能(包括更高的 CPU 和記憶體限制)
- 透過安全開機 (Secure Boot) 與可信平台模組 (TPM) 提升安全性
- 更多開機選項,例如透過模擬網路介面卡進行 PXE 開機,以及從 SCSI 磁碟開機
- 更可靠的 VHDX 虛擬硬碟,且最大磁碟容量更高
- 由於支援 UEFI 與 GPT,已取消 2 TB 硬碟容量限制
在大多數使用情境下,建議使用第二代虛擬機器,特別是對於現代的 64 位元作業系統而言。
例外情況
不過也有例外情況,在某些情況下,Gen1 虛擬機器比 Gen2 虛擬機器更為合適:
- 僅第一代虛擬機器支援執行 32 位元作業系統
- 若使用不支援 UEFI 或缺乏模擬硬體驅動程式的舊版作業系統(例如 Windows XP、Windows 7、Windows Server 2008 以及某些舊版 Linux 發行版),應在 Gen 1 虛擬機器上執行
- 若您需要在虛擬機器中使用 COM 埠和虛擬軟碟機,請使用 Gen 1 虛擬機器(Gen 2 虛擬機器不支援 COM 埠和軟碟機)
- 將虛擬機器遷移至基於 Windows Server 2012、Windows Server 2008 或 Azure 雲端環境的 Hyper-V 主機(這些環境不支援第 2 代虛擬機器)
如何建立 Gen1 虛擬機器和 Gen2 虛擬機器?
要在圖形使用者介面中建立虛擬機器:
- 首先開啟 Hyper-V 管理員
- 點擊
Action > New > Virtual Machine New Virtual Machine Wizard應開啟- 請指定
Name以及Location針對已建立的虛擬機器,在點擊之前“Next” - 現在您可以看到
“Specify Generation”此畫面中,您可以選擇虛擬機器的世代(請參閱下方的螢幕截圖)。
選取世代後,請按 “Next” 並在精靈中設定其他選項以完成設定 建立虛擬機器.
如何將 Gen2 虛擬機器轉換為 Gen1 虛擬機器,反之亦然?
微軟並未提供任何將虛擬機器從一代轉換為另一代的工具。如上圖所示的警告訊息即為明證: “Once a virtual machine has been created, you cannot change the generation”. 請在建立虛擬機器之前,盡量預先評估所有可能的使用情境,因為系統不支援事後變更虛擬機器的世代。不過,有一款名為 Convert-VMGeneration 的非官方工具,可用於將 Gen 1 虛擬機器轉換為 Gen 2 虛擬機器。此工具不會修改原始的 Gen 1 虛擬機器,而是在轉換過程中建立一個配備新開機磁碟的 Gen 2 虛擬機器。您可自行承擔風險使用此工具,且該工具不提供任何保證。
Hyper-V 虛擬機器的備份
儘管已建立虛擬機器,仍應進行備份,以防資料遺失。 NAKIVO Backup & Replication 可備份兩代 Hyper-V 虛擬機器,並提供以下特點:
- 主機層級的映像備份。 虛擬機器是在超管理程式層級進行備份,包含所有虛擬磁碟和設定檔。無需在客體虛擬機器上安裝備份代理程式,也無需在還原時建立空的虛擬機器。相較於客體層級的備份,主機層級的備份所消耗的運算資源較少。
- Hyper-V 螢幕截圖驗證 此特點可讓您確認虛擬機器已成功備份,且在虛擬機器還原後能夠載入客體作業系統。使用此特點可避免出現"雖然已建立備份,但在還原後卻無法執行虛擬機器"的情況。
- 粒度還原 讓您無需還原整個虛擬機器,即可還原檔案、目錄、MS SQL 物件、MS Exchange 物件及 Active Directory 物件,從而節省時間。無論是基於 Windows 還是基於 Linux 的虛擬機器,皆可直接從備份中還原檔案。
- 虛擬機器自動故障移轉 若您已建立虛擬機器複本,此功能可協助您在最短時間內還原工作負載 NAKIVO Backup & Replication. 若來源虛擬機器在發生潛在災難後離線,您可以將其切換至一個虛擬機器複本,該複本是來源虛擬機器在特定時間點的完全副本。在遷移至網路配置與來源站點不同的災難還原站點時,無需手動編輯每台虛擬機器的網路設定。網路對應與 IP 重新配置功能會在建立複製或故障移轉工作時自動執行此流程。
結論
第二代虛擬機器(Gen 2 VMs)更具前瞻性,因為它們採用合成虛擬裝置、UEFI BIOS、GPT 分區方案、安全開機(Secure Boot)、無需特殊技巧的 PXE 開機、更可靠的 VHDX 虛擬磁碟,且具備更高的硬體限制。雖然建議優先使用第二代虛擬機器,但僅能於其上執行 64 位元作業系統。
若需執行舊版作業系統或 32 位元作業系統,請使用第一代虛擬機器(Gen 1 VMs)。此類虛擬機器具備傳統模擬虛擬裝置、BIOS、COM 埠支援、虛擬軟碟機、虛擬 IDE 控制器,以及可連接實體 DVD 光碟機。建立虛擬機器前務必預先評估所有可能的使用情境,因為系統不支援在建立後變更虛擬機器的世代。
