作者:李泳泉 / 臺灣大學計算機及資訊網路中心作業管理組幹事
臺大計資中心(以下簡稱本中心)即將在今年九月推出臺大雲端服務(NTU Cloud),在服務建置過程中虛擬化技術扮演重要角色。NTU Cloud目前主要以Hyper-V作為虛擬化平臺。
前言
雲端服務的提供,不論是提供平臺(Platform)、軟體(Software)、設備(Infrastructure)或是網路(Network)的服務都需要大量的主機作為後盾。以主機管理的角度來說,若全部以實體主機提供服務,則硬體設施的費用將讓人望之卻步,再加上主機空間、電力使用及管理人力上的成本,更是一筆龐大的支出。因此,我們需要採用虛擬化技術來因應。過去虛擬化技術總讓人有效能不彰的印象,近年來在各家軟硬體廠商的努力,包含虛擬化平臺架構的改良及硬體支援的大力加持下,已有不少廠商在營運環境中使用虛擬化技術的成功案例,例如微軟的MSDN網站以及Amazon的EC2等等。
Hyper-V是微軟所推出虛擬化技術,內建於Windows Server 2008平台的角色中,因此若要使用Hyper-V只需在Windows Server 2008中啟用Hyper-V角色即可,不需再另外安裝。需注意的是要啟用Hyper-V的主機要採用64位元的作業系統,以及支援硬體虛擬化的CPU(現在是Intel VT及AMD-V處理器)。
相較於微軟過去的虛擬化技術-Virtual Server/PC(Type 2,多了一層作業系統,相容性好,速度較慢),Hyper-V採用Type 1架構,讓虛擬機器可以較直接的使用實體主機的硬體資源,以提高虛擬系統之效能;並可在主機上支援多達 16 顆CPU,每台虛擬主機亦可支援至4顆CPU。記憶體部份,Hyper-V可在實體主機上支援多達 1TB 的記憶體,其中每台虛擬機器亦可多達 64 GB 的記憶體,即使是虛擬機器也可具備強大的資料處理能力。
Hyper-V的架構
大致來說,虛擬化技術都會具備四個主要的元件-實體主機的硬體資源(硬體層)、安裝在實體主機上的作業系統(Host OS)、虛擬機器(Guest)、以及負責虛擬主機運作的虛擬機器監視器(VMM,在本文中,Hyper-V即是扮演VMM角色)。以VMM與硬體層之關係來說,可將VMM分為Type 1和Type 2兩種類型。Type 1的VMM採用祼機架構(Bare-Metal Architecture),直接執行於硬體平臺上,虛擬機器則執行於VMM上。Type 2的VMM則採用主機型架構(Host-based Architecture),執行於Host OS環境中,虛擬機器則執行於VMM上。
Type 1 的VMM優點是可以直接執行於電腦硬體上,而不是在實體主機的作業系統中,提供最佳效能及可用性。而Type 2的VMM執行於實體主機的作業系統上,提供較佳的相容性,但虛擬機器的執行效能比Type 1差上許多。稍早在本文中提到Hyper-V採用Type 1的架構,因此可提供虛擬機器較佳的執行效能。但相對的,Hyper-V目前可支援的作業系統便少得多。Hyper-V目前可支援的虛擬機器的作業系統列表可參考下列網址:http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx
Hyper-V的效能
以架構而言,Hyper-V採用的架構能提供虛擬機器較佳的效能,但虛擬機器及硬體中間仍有一層VMM區隔,因此VMM的執行所耗用的資源將大大影響虛擬機器的執行效能。參考微軟官方的測試結果(System Resource Costs of Hyper-V及Microsoft.com Operations Virtualizes MSDN and TechNet on Hyper-V),使用Hyper-V執行的虛擬機器,IO存取效能可達使用相同規格實體機器的92% - 93%、CPU的使用則較實體機器多出9% - 12%,VMM本身則會佔用約300MB的實體記憶體;整體而言虛擬化後的效能表現是可以讓人接受的。
結語
透過虛擬化的技術讓我們得以在提供雲端服務,但又不必採購大量的實體主機,達成了提供服務的目的,但又不需應付主機空間、冷氣、電力的龐大需求,同時也因應校園綠色節能的政策方針。但在建置的過程中我們發現Hyper-V仍有不足之處,包括Hyper-V支援的虛擬機器作業系統較少、以及Hyper-V與各大網路(如Citrix)及儲存設備(如IBM)廠商的產品整合仍少等;相較於VMWare及Xen而言,Hyper-V這個虛擬市場的後起之秀仍有許多可努力的地方。
參考文獻
-
Hyper-V官方網站http://www.microsoft.com/hyper-v-server/en/us/default.aspx
-
Hyper-V支援的虛擬機器的作業系統列表http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx
-
System Resource Costs of Hyper-V
http://msdn.microsoft.com/en-us/library/cc768536(BTS.10).aspx
-
Microsoft.com Operations Virtualizes MSDN and TechNet on Hyper-V
http://download.microsoft.com/download/6/C/5/6C559B56-8556-4097-8C81-2D4E762CD48E/MSCOM_Virtualizes_MSDN_TechNet_on_Hyper-V.docx