當前位置:編程學習大全網 - 編程語言 - Hyper-V VS VirtualBox,Windows基礎虛擬化架構大比拼

Hyper-V VS VirtualBox,Windows基礎虛擬化架構大比拼

隨著雲和容器技術的流行,不可否認現在的基礎架構正在趨向虛擬化。基於不同平臺市面上有很多的虛擬化架構:Xen,Vmware,KVM,VirtualBox各領風騷,各具特色,本文蟲蟲來講講Windows系統下常用的兩種虛擬化解決方案VirtualBox和Hyper-V,註意本文不討論Vmware,如果妳是Vmware的擁躉請不要介意。

Hypervisor虛擬機監視器用來管理虛機機和虛擬化基礎設備的特殊軟件,通過Hypervisor可以在宿主機上虛擬化出虛擬機和基礎架構設備出來。Hypervisor分為兩種類型:

Hyper-V屬於Type 1虛擬機管理程序,也稱為裸機型虛擬機管理程序,可直接在計算機硬件上運行。當宿主機啟動時,Hyper-V管理程序將從BIOS或UEFI獲取控制權,啟動Hyper-V管理操作系統包括Hyper-V Server,Windows或Windows Server。根據不同需求和設置,虛擬機VMs支持手動或者自動啟動。VMware vSphere、思傑 XenServer也屬於該類。

VirtualBox屬於Type 2的虛擬機管理程序,也叫托管型虛擬機管理程序。Type 2管理程序是在宿主機操作系統上運行,為安裝在宿主機上的應用程序。當物理計算機啟動時,宿主機操作系統加載獲得控制權。由用戶啟動虛擬機管理程序應用程序(比如VirtualBox),再啟動虛擬機VMs,創建VMs托管進程。KVM和Vmware WorkStaion也屬於該類。

宿主機啟動後,Hyper-V作為服務會壹直保持運行,VirtualBox可由用戶按需啟動和關閉。

Hyper-V支持硬件虛擬化。硬件虛擬化是壹種使用虛擬機管理程序在軟件和物理硬件之間創建抽象層以計算機虛擬技術。使用特殊軟件模擬計算機正常功能所需的所有設備。

VirtualBox支持硬件和軟件虛擬化。軟件虛擬化只支持x86體系結構的32位客戶機操作系統。64位客戶系統,僅在硬件虛擬化中使用。軟件虛擬化支持,可以極大的擴展VirtualBox可以不支持硬件虛擬化的老計算機上。

Hyper-V虛擬機的虛擬磁盤格式為VHD或VHDX文件。VHD是Hyper-V舊的虛擬磁盤格式。從Windows Server 2012開始,Hyper-V,虛擬磁盤格式更新為VHDX格式了。

VirtualBox支持更多格式的虛擬磁盤包括VDI,VMDK,VHD和DD:

VDI是VirtualBox自用格式

MDK是VMware虛擬磁盤格式

VHD是Hyper-V格式(VirtualBox暫不支持VHDX)

HDD是Parallels Desktop格式

Hyper-V和VirtualBox中都支持固定大小的磁盤和動態分配的磁盤形式。固定虛擬磁盤創建更耗時,占用的實體機磁盤空間更多,但是其性能更好。動態虛擬磁盤支持即時創建,磁盤空間按照實際使用增長,但其性能不如固定虛擬磁盤。

微軟自家的軟件Hyper-V和大多數微軟應用壹樣,只支持Windows系列操作系統上運行。 Hyper-V開始在Windows 8中內置,支持Windows,Windows Server 2008到以及更新版本的服務器平臺。

Virtual Box是壹個跨平臺軟件,可以支持市面所有主流的操作系統包括Windows,Linux,Mac OS和Solaris等。

如果主要在Windows上跑虛擬架構,則可以優先使用Hyper-V。包括windows for Docker現在也是默認使用Hyper-V的。如果妳是多平臺環境,比如用Mac book,也用windows,那麽使用跨平臺的VirtualBox具有得天獨厚的優勢。

客戶機OS是在虛擬機上VMs運行的操作系統。關於虛擬機上兩者都支持多平臺的客戶虛機機OS。 Hyper-V支持Windows,Linux和FreeBSD操作系統。

VirtualBox支持的OS類型則更多: Windows,Linux,FreeBSD,Solaris,Mac OS等。

Hyper-V Integration Services由基本驅動程序和實用工具組成,可以用來提高整體性能及主和客機操作OS間的交互。Integration Services安裝客戶機OS上。在Windows系統上,可以通過將虛擬光盤映像(ISO文件)附加到VM(包括安裝程序)或通過Windows Update來安裝。對Linux系統,主流的發行版內核都已內置對Integration Services支持。

類似的VirtualBox Guest Additions也包含驅動程序基本和系統應用工具,用來可優化來客戶機OS,提高其性能和可用性。安裝Guest Additions後,可以支持拖放,剪貼板***享,屏幕自動調整大小以及無縫模式。安裝過程和Hyper-V Integration Services類似,將ISO光盤映像與安裝程序附加到VM,然後在GUI或命令行安裝Guest Additions。

Port Mirroring是Hyper-V的網絡流量分析工具。此功能可以讓我們將所有接收和發送的數據包的副本從壹個端口發送到另壹個端口,然後再進壹步分析,相當於壹個旁路網絡包分析工具。我們可以創建壹個虛擬機,其虛擬網絡適配器連接到相應的虛擬交換機端口,在該虛擬機上安裝數據包分析軟件,通過他對整個集群多臺虛擬機的網絡數據包進行分析。

VirtualBox則自帶網絡跟蹤功能,可以使用該功能啟用網絡數據包日誌記錄,然後通過日誌分析網絡行為。因此,VirtualBox利用內置功能將所有捕獲的虛擬機網絡接口流量寫到PCAP文件中。之後就可以利用包分析工具(比如Wireshark)進行分析中。可以在需要時候使用命令行界面啟動網絡跟蹤記錄日誌。

***享文件夾對於不同機器之間的文件交換很有用。可以使用該方法實現宿主機和虛擬機之間的文件***享。

Hyper-V本身不支持文件夾***享,可以通過Windows GUI或PowerShell在宿主機***享文件夾,並為虛擬機用戶指或賦予訪問權限訪問。還可以使用Copy-VMFile PowerShell工具在宿主機和虛擬機之間進行文件復制。

VirtualBox內置文件夾***享功能,可以在VirtualBox用戶界面輕松啟用。使用***享文件夾在VirtualBox主機和客戶機之間傳輸文件非常方便。可以通過打開"VM Setting",然後選擇"Shared Folders。添加***享標簽頁:設置文件夾路徑,輸入將在客戶機中要顯示文件夾的名稱。

註意,必須在客戶機操作系統上安裝VirtualBox Guest Additions才可以使用該功能。

文件拖放是,可以實現將文件或文件夾等對象從屏幕的壹個部分移動到另壹個部分。在虛擬化環境的中,通過拖放可以將文件或文件夾在宿主機和客戶機之間拖動傳輸。 Hyper-V和VirtualBox產品都支持拖放功能,但是都需要在客戶機上安裝對應的Hyper-V Integration服務和VirtualBox Guest Additions。登錄Hyper-V VM時使用增強會話模式。

Hyper-V Checkpoints可以支持對虛擬機當前運行狀態的保存,然後停掉虛擬機,並在後面需要時候恢復到該運行狀態。新版本的Hyper-V中有兩種類型的Checkpoints:標準Checkpoints和生產Checkpoints。與標準Checkpoints不同,生產Checkpoints支持對Windows的虛擬機使用VSS卷影復制服務,支持對Linux的虛擬機使用文件系統凍結來凍結虛擬機以防止對虛擬磁盤執行寫入操作。使用凍結可以避免由於標準Checkpoints保存時候導致的數據丟失問題造成數據不壹致。創建Checkpoints時,會為虛擬機的每個VHD(或VHDX)虛擬磁盤創建差異虛擬磁盤(AVHD或AVHDX)。創建Checkpoints後,所有更改都會寫入差異磁盤。差異虛擬磁盤與父虛擬磁盤壹起存儲在同壹目錄中。

VirtualBox Snapshots相當於Hyper-V Checkpoints。可以使用Snapshots保存當前虛擬機運行狀態,並在需要時還原。 VDI是VirtualBox中使用的虛擬磁盤文件格式。創建快照時,會將新的差異虛擬磁盤創建為新的VDI文件。

Hyper-V Live Migration可以實現將運行中的VM從壹臺Hyper-V宿主機無縫遷移到另壹臺宿主機,遷移過程不會導致長時間服務中斷。該功能可以用於故障轉移群集的轉移和業務切換,從而提供虛擬架構的高可用性。建議為Hyper-V故障轉移群集使用專用遷移網絡,VM文件(如虛擬磁盤)必須位於***享存儲上。

VirtualBox Teleporting也是壹種虛擬機遷移功能和解決方案。通過Teleporting從網絡中將虛擬機從壹臺VirtualBox宿主機移動到另壹臺VirtualBox宿主機,而不會影響虛機的運行,遷移要求兩臺宿主機使用同樣的***享存儲,宿主機可以是不同的操作系統。比如,可以將運行在Linux宿主機上的Windows虛擬機遷移到Solaris宿主機上。

Hyper-V VMConnect是用來遠程訪問虛擬機的GUI或控制臺界面的工具。可以使用VMConnect來管理虛機,通過VMConnect的WMI(Windows Management Instrumentation)服務。可以實現鍵盤和鼠標與虛擬機OS的交互,支持鏈接本地虛擬機也可以連接遠程的虛擬機。安裝Hyper-V角色時,默認情況已經啟用了VMConnect。如果未安裝,可以通過"添加功能向導"中添加"Hyper-V工具"功能。 VMConnect 使用Microsoft遠程桌面協議(RDP)進行連接和通訊。

VMConnect增強會話模式還允許將本地設備和資源重定向給虛擬機。支持對剪貼板,磁盤驅動器,USB閃存驅動器,音頻,打印機和顯示器進行重定向。

VirtualBox包含管理虛擬機的工具Remote Display,可以使用本地計算機上的VirtualBox GUI管理在本地計算機上運行的虛擬機。 VirtualBox Remote Desktop Extension(VRDE)是壹般性的擴展接口,可為第三方開發的擴展包提供最大的靈活性。 VRDE可兼容Microsoft RDP。 VirtualBox Remote Display Protoco(VRDP)在VRDE擴展包提供,它向後兼容RDP,可以使用它,通過標準RDP客戶端來遠程控制虛擬機。

Hyper-V Manager是 Hyper-V提供的 GUI虛擬機管理工具,可幫助我們管理Hyper-V 虛擬機機集群。使用它執行虛擬機的創建,導入,配置,啟動,停止和刪除等操作。可以只用於管理虛擬機基礎設備,比如虛擬交換機,虛擬硬盤,創建Checkpoints,使用VMConnect連接到客戶操作系統界面等。也可以通過遠程管理Hyper-V集群。

phpVirtualBox是壹個開源工具的VirtualBox Web管理工具,該工具用PHP編寫,通過他可以管理遠程VirtualBox實例。phpVirtualBox提供了壹個與VirtualBox GUI界面相同的界面,可以在瀏覽器中遠程管理VirtualBox集群,如果不需要對客戶機界面操作,則完全可以用他實現VirtualBox的管理。

Hyper-V可以通過PowerShell來管理,使用PowerShell可以編程自定義Hyper-V及其主機配置和管,對大型Hyper-V集群來說,這尤為方便。

VBoxManage是VirtualBox的命令行界面(CLI),通過VBoxManage可以實現VirtualBox GUI中的所有可用的功能以及更多非GUI的功能,支持多平臺、自編程,自動化批量執行能的功能。

Hyper-V和VirtualBox非常好的虛擬化的解決方案,孰好孰壞,根據環境和需求可能不定論。Hyper-V是 type 1虛擬機管理程序,而VirtualBox 是type2型虛擬機管理程序。 Hyper-V只支持於Windows系統上,而VirtualBox支持跨平臺。Hyper-V支持群集功能,例如故障轉移群集和負載平衡。對於已經使用Windows基礎環境,Hyper-V虛擬化解決方案是個不錯的選擇。Oracle VirtualBox開源免費的,具有最大宿主機和客戶機OS支持的虛擬化架構,更適合於多平臺環境。Hyper-V可以作為windows系統服務運行,開機就可以自動啟動虛擬機,而VirtualBox要做到同樣功能則比較費勁。

  • 上一篇:暖通空調精品課程
  • 下一篇:如何在短時間內學會plc?聽聽過來人怎麽說!
  • copyright 2024編程學習大全網