Hyper-V 或 VirtualBox – 该选择哪个?

選擇虛擬機器時,有幾個超級監視器可供選擇,其中包括兩個最受歡迎的產品:Oracle VirtualBox 和 Microsoft Hyper-V。那麼,你如何決定選擇哪個:VirtualBox 還是 Hyper-V?這兩個解決方案都提供許多功能,讓您運行和管理虛擬機器。閱讀 VirtualBox vs Hyper-V 的比較,了解這兩個超級監視器之間的差異,並選擇更符合您需求的那一個。

注意:欲查看與其他超級監視器的比較,請閱讀我們完整的 VirtualBox vs. VMware 產品概述和 VMware vs Hyper-V 比較。

Hyper-V vs VirtualBox:比較表

讓我們先概述 Hyper-V vs VirtualBox 的不同方面,然後在下一節中更詳細地介紹每一點。

html

Hyper-V VirtualBox Hypervisor Type 1 Type 2 支援的主機作業系統 Windows Windows, Linux, macOS, Solaris 支援的客戶作業系統 Windows, Linux, FreeBSD Windows, Linux, FreeBSD, Solaris, macOS 及其他 客戶作業系統驅動程式與實用程式 Hyper-V 整合服務 VirtualBox 客戶端增強功能 虛擬磁碟檔案格式 VHD、VHDX VDI、VMDK、VHD、HDD 虛擬磁碟薄處理 是的(動態磁碟) 是的(動態分配) 虛擬機快照 是 是 虛擬機管理工具 VMConnect(基於 RDP) VirtualBox 圖形用戶界面與 VRDE 和 VRDP 實時遷移功能 Hyper-V 實時遷移 VirtualBox 傳送 實時遷移功能 較高 較低 虛擬機複製 是 否 軟體虛擬化 否 是 遠端管理 Hyper-V 管理員 phpVirtualBox 命令列介面 是,PowerShell 是,VBoxManage 網路模式 3 種模式 7 種模式 網路流量分析 端口鏡像 網路追蹤 共用資料夾 否,僅手動 是,具備採納的功能 共用剪貼簿 有限(文字) 廣泛支援(文字、檔案等) 拖放 否 是 加密 是 是 巢狀虛擬化 是 是

容錯移

虛擬化管理程序類型概觀

A hypervisor is special software that allows you to run one or multiple virtual machines with their own operating systems (that is, guest OSs) on a physical computer (that is, the host machine). There are two types of hypervisors: type 1 and type 2.

  • Hyper-V 是一種一級虛擬化管理程序,也稱為裸機虛擬化管理程序,直接運行在計算機硬體上。當物理計算機(主機)啟動時,Hyper-V 虛擬化管理程序從 BIOS 或 UEFI 接管。然後,Hyper-V 啟動管理操作系統,可以是 Hyper-V Server、Windows 或 Windows Server。虛擬機器可以由用戶手動啟動或根據其設置自動啟動。
  • VirtualBox 是一種二級虛擬化管理程序,有時被稱為託管虛擬化管理程序。二級虛擬化管理程序是一個運行在操作系統(OS)上並已安裝在主機上的應用程序。當物理計算機啟動時,安裝在主機上的操作系統加載並接管控制。用戶啟動虛擬化管理程序應用程序(在這種情況下為 VirtualBox),然後啟動所需的虛擬機器。虛擬機器主機進程被創建。

只要主機開啟,Hyper-V 就始終處於運行狀態,而 VirtualBox 可以根據需要由用戶啟動和關閉。

注意:如果您在 Windows 機器上安裝 VirtualBox,請確保停用 Hyper-V,以避免問題。

想法。 在 Hyper-V 與 VirtualBox 性能方面,一級虛擬化管理程序提供更好的性能。如果性能重要且所需的客戶操作系統受支持,請選擇 Hyper-V。另一方面,像 VirtualBox 這樣的二級虛擬化管理程序更加通用。

僅限 Windows 的 Hyper-V vs. 多平台的 VirtualBox

Hyper-V只能在Windows家族操作系统或专用Hyper-V服务器上运行。自Windows 8起,Hyper-V功能已内置,并且也作为Windows Server 2008及以后版本的服务器角色提供。

VirtualBox可以在更多的操作系统上运行,包括Linux、Windows、Solaris和Mac OS。

如果您的环境中安装了Windows,则可以选择Hyper-V。如果您有一个多平台环境,那么您可以利用VirtualBox,在具有不同操作系统的不同计算机上运行虚拟机。

支持的客户操作系统

A guest operating system is the OS that is installed to run on a VM. The guest OS and host OS can be different.

Hyper-V可以托管具有以下客户操作系统的VM:Windows、Linux和FreeBSD。

VirtualBox支持的客户操作系统比Hyper-V更多,包括Windows、Linux、FreeBSD、Solaris、Mac OS等。

您可以在厂商的官方页面上看到VirtualBox支持的操作系统版本的完整列表。下面的屏幕截图说明了在Windows 10主机上运行的VirtualBox和XubuntuLinux在VirtualBox内运行的虚拟机

注意:本文中使用的截圖是在 VirtualBox 6.0 中創建的,但功能運作方式與後續的 VirtualBox 版本(如 6.0.x、6.1 等)相同。我們在本文中使用的 Windows Server 2016 的 Hyper-V 介面與 Windows Server 2019、2022 和 Windows 10 的 Hyper-V 介面完全相同。

Hyper-V 整合服務與 VirtualBox 客戶附加組件

Hyper-V 整合服務是一組驅動程序和實用工具,可提高整體性能,並改善主機和客戶操作系統之間的交互作用。整合服務安裝在運行在 VM 上的客戶操作系統上。

  • 對於 Windows 操作系統,可以通過將虛擬光盤映像(ISO 文件)附加到 VM,其中包括安裝程序,或通過 Windows 更新來安裝 Hyper-V 整合服務
  • 至於 Linux,整合服務內置於現代 Linux 操作系統的內核中。當內核更新時,可以在 Linux 上更新整合服務。
  • 作為替代方案,您可以從 Microsoft 下載中心手動下載 Hyper-V 整合服務的完整安裝包。

VirtualBox 客戶附加組件包含系統應用程序和驅動程序,類似於 Hyper-V 整合服務,可優化客戶操作系統,提高其性能和可用性。

安裝Guest Additions後,您可以獲得以下功能,包括但不限於:拖放功能、雙向剪貼板、自動調整大小以及無縫模式。

安裝Guest Additions的過程與Integration Services類似:您將包含安裝程式的ISO光碟映像附加到VM,然後通過圖形界面或命令行安裝Guest Additions。

虛擬磁碟格式

Hyper-V虛擬機的虛擬磁碟儲存在兩種文件格式中:

請閱讀詳細的VHD與VHDX虛擬磁碟格式比較。

VirtualBox支持以下格式的虛擬磁碟:

  • VDI是VirtualBox的原生格式。
  • VMDK是VMware的虛擬磁碟格式。
  • VHD是Hyper-V格式(注意VirtualBox不支持VHDX)。
  • HDD是Parallels Desktop的格式。

虛擬磁碟預分配有兩種類型:

  • 已修正。一個已修正的虛擬磁碟會在磁碟建立後立即佔用所有預配的儲存空間。這種預配類型類似於厚預配。
  • 動態。一個動態虛擬磁碟在建立後幾乎不佔用任何儲存空間,並且隨著虛擬磁碟上寫入數據而增長。這種預配類型類似於瘦預配。

閱讀有關VMware瘦和厚預配的博客文章,了解更多關於虛擬磁碟預分配的信息。

VirtualBox和Hyper-V都支持固定大小磁碟和動態分配磁碟。您可以將固定磁碟轉換為動態磁碟,適用於Hyper-V和VirtualBox。固定虛擬磁碟需要更多的時間來建立,並在建立時消耗更多的儲存空間,但它們提供更高的性能。動態虛擬磁碟幾乎是立即建立的,允許您節省儲存空間,但它們的性能較低。

注意:在刪除存儲在動態(動態分配)虛擬磁碟上的文件後,您可能需要回收空閒空間。

Hyper-V檢查點與VirtualBox快照

Hyper-V檢查點是一個功能,允許您在特定時間點保存虛擬機的狀態。檢查點可用於將VM回滾到先前的狀態,例如,如果進行了不需要的更改。

在最新版本的Hyper-V中,有兩種類型的檢查點可供使用:

  • 標準檢查點
  • 生產檢查點

與標準檢查點不同,生產檢查點允許您在創建檢查點之前凍結VM,以防止對虛擬磁盤進行寫操作。對於基於Windows的VM,VSS(卷影複製服務)用於實現這一點,而對於基於Linux的VM,則使用文件系統凍結。這種方法允許您避免在使用標準檢查點時可能出現的問題,例如由於在創建檢查點時磁盤上的數據發生變化而導致數據不一致。當創建檢查點時數據沒有變化,那麼該檢查點是數據一致的,並且應用程序一致而不是崩潰一致.

當創建一個檢查點時,將為虛擬機的每個VHD(或VHDX)虛擬磁盤創建一個差異虛擬磁盤(AVHD或AVHDX)。所有更改都是在檢查點創建後寫入差異磁盤的。差異虛擬磁盤與父虛擬磁盤一起存儲在同一目錄中。

VirtualBox快照相當於Hyper-V檢查點。您可以使用快照保存當前虛擬機(VM)的狀態,並在需要時恢復到先前的狀態。VDI是VirtualBox中虛擬磁碟的原生文件格式。當創建快照時,會創建一個新的差異虛擬磁碟作為新的VDI文件。當您刪除表示與當前VM狀態相比較早的VM狀態的快照時,則差異虛擬磁碟將與父虛擬磁碟合併,或者多個差異虛擬磁碟將被合併。請注意,快照主要用於測試目的,而不是用於生產目的。

注意:檢查點和快照對於測試很有用,可以幫助您將VM恢復到其先前的狀態。但是,請注意,它們不足以保護數據,快照和備份之間有很多區別

Hyper-V VMConnect vs. VirtualBox遠程顯示

Hyper-V虛擬機連接(VMConnect)是一個工具,用於訪問VM的GUI或控制台界面,並用於管理VM。VMConnect使用WMI(Windows管理儀器)來實現此目的。您可以使用鍵盤和鼠標與VM的客戶操作系統進行交互,就像您與物理機器進行交互一樣。可以從安裝了Hyper-V並運行VM的本地計算機,或者通過網絡從遠程計算機建立到VM的連接。

VMConnect通常在安裝Hyper-V角色時會自動啟用。否則,您可以在新增功能精靈中添加Hyper-V工具功能。VMConnect使用Microsoft遠程桌面協議(RDP)建立連接。

增強會話模式允許您重定向本地設備和資源到虛擬機。剪貼板、磁碟驅動器、USB閃存驅動器、音訊、打印機和顯示配置都可以重定向。因此,您可以在虛擬機中使用插入到物理機USB端口的USB閃存驅動器。

VirtualBox還提供了方便管理虛擬機的工具。運行在本地機器上的虛擬機可以使用本地計算機上的用戶友好型VirtualBox GUI進行管理。

  • VirtualBox遠程桌面擴展(VRDE)是提供最大靈活性的通用擴展接口,可以由第三方開發擴展套件。VRDE與Microsoft RDP兼容。
  • VirtualBox遠程顯示協議(VRDP)隨VRDE提供。這是對RDP的向後兼容擴展,允許您使用標準RDP客戶端來控制遠程虛擬機。

要連接到遠程客戶虛擬機,您應在虛擬機顯示設置中輸入主機機器的IP地址和設置為遠程連接到虛擬機的端口。默認使用端口3389。您可以為不同的VirtualBox虛擬機設置不同的RDP端口號。

VirtualBox 擁有一個名為無縫模式的功能,允許您將 VM 客戶操作系統的視窗與主機操作系統的視窗一起顯示。Hyper-V 沒有這樣的功能。VirtualBox 還可以記錄顯示在 VM 用戶界面中的視頻。無縫模式類似於Unity模式在VMware Workstation中。

VirtualBox 在多個顯示器上輸出信息方面具有更靈活的選項。Hyper-V 使用 RDP 技術,允許您使用一個顯示器或所有顯示器進行圖形輸出。VirtualBox 允許您選擇自定義數量的顯示器進行圖形輸出。例如,您可以在 VirtualBox 中選擇 3 個顯示器中的 2 個。VirtualBox 支持多達 8 個顯示器。

想法。在這個 Hyper-V vs VirtualBox 比較的這一類別中,VirtualBox 在客戶操作系統管理的便利性方面是贏家。

Hyper-V Live Migration vs. VirtualBox Teleporting

Hyper-V Live Migration 允許您在不影響運行的 VM 的情況下,從一個 Hyper-V 主機移動到另一個主機。當您使用Hyper-V 故障轉移叢集時,此功能尤其有用,因為它幫助您為 VM 提供高可用性。建議為 Hyper-V 故障轉移叢集使用專用的遷移網路。VM 文件,如虛擬磁盤,必須位於共享存儲上。如果您需要將 VM 文件從一個存儲移動到另一個存儲,則應使用存儲遷移。

VirtualBox Teleporting是一項虛擬機遷移功能,允許您在TCP/IP網絡上從一個VirtualBox主機移動虛擬機到另一個主機,即使虛擬機正在運行。源和目標虛擬機必須使用相同的共享存儲。虛擬機可以從源主機轉移到目標主機,而主機操作系統可以獨立於此。例如,您可以將運行中的基於Windows的虛擬機從Linux主機轉移到Solaris主機,反之亦然。從VirtualBox版本3.1開始提供Teleporting功能。遷移運行中的虛擬機可以提高您的虛擬環境的靈活性。

想法。Hyper-V中的虛擬機即時遷移功能更先進且易於使用,而且Hyper-V支持故障轉移集群。

硬件虛擬化和軟件虛擬化

Hyper-V支持硬件虛擬化,這是一種使用hypervisor在軟件和物理硬件之間創建抽象層的技術,用於模擬計算機。所有計算機正常功能所需的設備都使用特殊軟件進行模擬。必須在物理機器的UEFI/BIOS中啟用硬件虛擬化。

VirtualBox 支援硬體和軟體虛擬化。軟體虛擬化僅適用於使用 x86 架構的 32 位客戶操作系統的虛擬機。對於 64 位客戶系統,只能使用硬體虛擬化。與大多數其他虛擬化產品不同,即使這些處理器不支援硬體虛擬化,軟體虛擬化也使得可以在舊處理器的計算機上運行多個客戶操作系統。

想法。在運行不同客戶操作系統方面,包括舊操作系統,VirtualBox 在軟體虛擬化的幫助下更加靈活和通用。Hyper-V 不支援軟體虛擬化,但作為一種第一類超級監視器,對支援的客戶操作系統的性能可能更好。

帶 GUI 的遠程管理

Hyper-V 管理員是一個具有 GUI 的工具,可幫助您管理 Hyper-V 虛擬機。您可以使用 Hyper-V 管理員 創建、導入、配置、啟動、停止和刪除虛擬機。您還可以執行其他操作,例如配置虛擬交換器、虛擬硬碟、創建檢查點、使用 VMConnect 連接到客戶操作系統界面等。您還可以使用它連接到遠程 Hyper-V 伺服器並管理該伺服器上的虛擬機。

phpVirtualBox 是一個開源工具,具有用 PHP 編寫的 Web 介面,可讓您使用 VM 管理遠程 VirtualBox 實例。phpVirtualBox 提供與 VirtualBox GUI 介面相同的介面。因此,您可以通過瀏覽器遠程管理您的 VirtualBox 實例,就像管理本地實例一樣。如果您在無 GUI 的伺服器上運行 VirtualBox(具有沒有 GUI 的作業系統的伺服器),此工具可以是 VirtualBox GUI 的一個不錯的替代方案。

使用控制台介面進行遠程管理

Hyper-V 伺服器可以使用 PowerShell 命令 進行管理。Powershell 是由 Microsoft 開發的 Windows 命令列介面。但 PowerShell Core 也與 Linux 和 macOS 兼容。為此,必須啟用 PowerShell Remoting。使用 PowerShell 是自動化 Hyper-V 和 VM 管理的一種方式,特別是在大型環境中。

VBoxManageVirtualBox 的命令列介面(CLI)。您可以訪問 VirtualBox GUI 中提供的所有功能。此外,您可以使用 VBoxManage 訪問 VirtualBox 虛擬化引擎提供的所有功能(不是所有功能都在 GUI 中可用)。CLI 還可用於管理沒有 GUI 的作業系統上的 VirtualBox 實例(僅具有控制台介面)。另一個優勢是可以使用腳本和自動化。VBoxManage 是一組用於管理與 VMs 兼容的 VirtualBox 命令,可與 Linux、Windows、Solaris 和 Mac OS 配合使用。

虛擬網絡

Hyper-V允許您使用虛擬開關將虛擬機器的虛擬網絡適配器連接到所需的網絡和主機機器。Hyper-V有三種虛擬網絡模式:

  • 私有
  • 內部
  • 外部(公共)

閱讀更多關於Hyper-V虛擬開關和網絡。Hyper-V支持網絡介面卡聚合,這對於集群非常有用。

VirtualBox比Hyper-V擁有更多的虛擬網絡模式,並提供廣泛的網絡選項:

  • 未連接
  • NAT
  • NAT網絡
  • 橋接適配器
  • 內部網絡
  • 僅主機適配器
  • 通用驅動程序

閱讀更多有關VirtualBox網絡設置和網絡模式。

Hyper-V的外部模式與VirtualBox的橋接適配器相同,Hyper-V的內部模式與VirtualBox的NAT網絡相同,Hyper-V的私有模式與VirtualBox的內部網絡模式相同。

想法。對於個人用戶來說,VirtualBox提供了更具吸引力的網絡模式。Hyper-V更適合於集群中的聯合聚合,以獲得更好的網絡性能和可靠性。

虛擬機網絡流量分析

端口鏡像是用於Hyper-V的網絡流量分析工具。該功能允許您將一個端口收到和發送的所有封包的副本發送到另一個端口進行進一步的封包分析。使用端口鏡像的主要目的是故障排除。您可以創建一個具有連接到適當虛擬交換機端口的虛擬網絡適配器的虛擬機器,安裝目的地虛擬機器上的封包分析軟件,並將多個虛擬機器的網絡封包發送到目的地虛擬機器進行分析。

VirtualBox提供了一個網絡跟蹤功能,您可以啟用網絡封包日誌記錄以進行進一步分析。因此,VirtualBox利用內置功能將虛擬機器網絡接口的所有捕獲流量寫入PCAP文件。稍後,您可以在諸如Wireshark之類的流量分析工具中打開這些文件。此功能可以通過命令行界面激活。在完成調查後禁用此功能,以防止用PCAP文件填滿整個磁盤。

Hyper-V和VirtualBox中的共享文件夾,拖放

共享文件夾對於不同計算機之間的文件交換非常有用,可以用於將文件從主機操作系統複製到客戶操作系統,反之亦然。Hyper-V不包括此內置功能。您可以使用Windows GUI或PowerShell手動在主機操作系統中共享文件夾,並為在客戶操作系統中使用的指定用戶或組提供對該文件夾的訪問。您還可以在Hyper-V虛擬環境中使用Copy-VMFile PowerShell cmdlet作為在物理和虛擬機器之間複製文件的替代方法。

VirtualBox 支持在用戶界面中方便地啟用內置的共用資料夾功能,以在 VirtualBox 主機機和虛擬機之間傳輸檔案:

  • 開啟 VM 設定 並選擇 共用資料夾
  • 添加共用:設定資料夾路徑(資料夾位於主機機上,例如 C:\temp)。
  • 輸入將在觀點 OS 中顯示的資料夾名稱。

如有需要,請選擇共用資料夾的以下選項:唯讀、自動安裝和永久性。請注意,必須在觀點 OS 上安裝 VirtualBox 託管增強功能

共用剪貼簿 是一個複製和貼上數據(例如從主機複製文本到觀點)的功能。Hyper-V Integration Services 或 VirtualBox 託管增強功能必須安裝在觀點 OS 上以使用此功能。Hyper-V 和 VirtualBox 產品都支持共用剪貼簿功能。VirtualBox 進一步支持通過共用剪貼簿複製和貼上檔案。

拖放 是一個 GUI 功能,可讓您將物件(例如檔案或資料夾)從屏幕的一部分拖動到另一部分。在虛擬化環境中,拖放允許您將檔案或資料夾從主機機器拖動到觀點機器和相反。然而,Hyper-V 不支持拖放。

在 VirtualBox 中,轉到 裝置 > 拖放,並選擇方向(您可以選擇 雙向)以啟用此功能。

想法。在這個 VirtualBox vs Hyper-V 比較中,VirtualBox 在主機和客戶端之間傳輸數據的類別中獲得了勝利。VirtualBox 具有豐富的功能,更方便。Hyper-V 不支持拖放文件,Hyper-V 的文件傳輸功能與遠程桌面協議相關。您可以手動配置共享文件夾,就像在 Windows 中那樣,以與 Hyper-V VM 交換文件。而在 VirtualBox 中,有一個“一鍵”功能來使用共享文件夾。

Hyper-V vs VirtualBox 安全性

Hyper-V 支持使用金鑰存儲驅動器和虛擬 TPM 來加密 VM。第 2 代 VM 支持使用 vTPM(虛擬可信平台模塊),但第 1 代 VM 不支持。在 Hyper-V 中,第 2 代 VM 支持 Windows 和 Linux 客戶端的安全啟動。第 1 代 VM 使用特殊文件 – 金鑰存儲驅動器 – 來存儲 BitLocker 秘密。該文件附加到 VM 的虛擬 IDE 控制器上,並用於存儲 BitLocker 秘密,而不是使用 vTPM。

Hyper-V 可以加密 VM 和 VM 遷移流量。為此,Hyper-V 具有一個名為 Shielded Virtual Machines 的功能。自 Windows Server 2016 起,主機護衛服務一直存在,以定義可以在數據中心運行 VM 的合法 Hyper-V 主機。

VirtualBox 可以加密存儲在 VM 虛擬磁盤上的數據。 VirtualBox 支持 256 位或 128 位數據加密密鑰(DEK)。 您應該將 DEK 存儲在安全位置的 VM 配置文件中,並確保不要丟失此文件。

在 VirtualBox 中加密的不同格式的虛擬磁盤映像不能在其他用於虛擬化的軟件中使用。 AES 算法以 XTS 模式用於 VM 數據加密。 用戶在啟動加密 VM 時必須輸入密碼。

從 VirtualBox 7.0 開始,支持 TPM 2.0 芯片的仿真和支持安全啟動。 此功能允許您在 VirtualBox 中運行最新版本的 Windows。

想法。 兩個超級託管程序中使用的加密方法足夠強大。 但是,在這個 Hyper-V vs VirtualBox 比較中,我們應該提到 Hyper-V 加密設置可以滿足大型虛擬環境的需求,更安全地在主機之間遷移 VM。

Hyper-V vs VirtualBox 授權

Hyper-V 是隨附於 Windows 客戶端和伺服器版本的,需要付費許可證才能使用。您可以閱讀有關 Windows Server 授權 選項和 虛擬機器的 Windows Server 授權 以了解更多。還有一個免費的替代方案,即名為 Hyper-V Server 的獨立解決方案。Hyper-V Server 是一個具有命令行界面的超級管理程序,功能有限,與完整功能的付費版本 Hyper-V for Windows 相比。

VirtualBox 是由 GNU 通用公共授權條款第 2 版 提供的開源解決方案。VirtualBox 擴展套件可增強 VirtualBox 的功能,對個人使用者免費,但不是開源的。VirtualBox 擴展套件是通過 VirtualBox 擴展套件個人使用和評估許可證 發布的。

VirtualBox 擴展套件可啟用功能,如 USB 2.0 和 USB 3.0 裝置通過傳、虛擬機加密、PXE 引導、VRDP、主機網絡攝像頭通過傳、PCI 通過傳、與 Oracle Cloud 整合,等等。

結論

沒有通用答案可以確定要使用 VirtualBox 還是 Hyper-V。選擇取決於您的需求和您所需的產品功能。無論您選擇什麼,請確保實施虛擬機備份策略。NAKIVO Backup & Replication 是一個全面的數據保護解決方案,適用於物理服務器和虛擬機器,包括 Microsoft Hyper-V 虛擬機器。

Source:
https://www.nakivo.com/blog/hyper-v-virtualbox-one-choose-infrastructure/