針對Hyper-V伺服器虛擬化功能的推陳出新,是微軟發布Windows Server近期主要版本的重頭戲,一年前推出的Windows Server 2012 Hyper-V(Hyper-V 3.0),對虛擬化平臺規格的大幅擴充,讓原本市占遙遙領先的另一家競爭廠商VMware為之震動,一年後的現在,又即將推出Windows Server 2012 R2,在這麼短的時間內,微軟能推出的相關新功能有哪些?
首先,微軟在Windows Server 2012 R2 Hyper-V(以下簡稱為Hyper-V 3.0 R2)推出了第二代的虛擬機器(VM)規格。其次,是針對虛擬化環境下最重大的關鍵應用──VM的即時移轉,微軟也在新版Hyper-V提供兩種加速執行的方法。另一個值得關注的改進是虛擬磁碟的共用,Hyper-V現在能用這種方式,提供共享儲存,讓VM叢集環境的建立更簡易。
新功能1
提供新一代VM規格,改用純軟體式裝置,節省更多資源
Hyper-V 3.0 R2伺服器虛擬化平臺在VM的執行環境上,支援新的規格,微軟稱之為第二代VM(Generation 2 virtual machines),在這樣的環境下,搭配特定作業系統平臺的VM,將有機會去使用許多在新一代個人電腦硬體架構上才能應用的功能。
以去年推出的Windows 8和Windows Server 2012來說,這兩套作業系統都支援安全開機功能,但由於近期新購的電腦與伺服器的硬體,內建UEFI韌體介面的比例越來越高,在目前的虛擬化平臺所提供的VM當中,所配置的仍然是傳統BIOS韌體環境,所以若在VM裡面執行這兩套作業系統,由於沒有UEFI,因此無法啟動安全開機功能。而在Windows 8.1和Server 2012 R2之後,若安裝在微軟Hyper-V第二代VM環境,OS與硬體相互搭配後,就可以啟動安全開機。
此外,微軟之所以導入這樣的VM規格,可以獲得的另一個好處是提升I/O效能,以及免去已經很少用到的傳統裝置模擬,節省資源。
不論是VMware或微軟,目前VM本身提供的系統執行環境,都強調可模擬(emulated)沿用多年的x86個人電腦架構,因此模擬了BIOS韌體、Intel 440 BX晶片組,而在圖形顯示處理與網路介面的部份,Hyper-V分別模擬了S3 Trio的顯示卡和Intel/DEC 21140的網路卡。現在,微軟在新版Hyper-V平臺所支援的第二代VM環境下,已經取消這些舊型系統硬體的模擬裝置,取而代之的是合成驅動程式(synthetic drivers,需搭配Hyper-V Integration Services),以及軟體型態的裝置(software-based devices)。
合成驅動程式主要是指VM搭配的網路卡規格,微軟採用這種規格之後,在Hyper-V第二代VM環境將可支援IPv4與IPv6網路環境的遠端開機(Network Boot)。而軟體型態的裝置,是指鍵盤、滑鼠等輸入裝置,以及圖形顯示,都改用軟體裝置的形式讓VM使用,不再用模擬的方式,進一步節省資源。
此外,新一代VM環境不再支援軟碟,搭配的磁碟控制器與光碟機,也都從IDE介面換成SCSI。同理,Hyper-V的VM支援IDE儲存裝置直接開機,在新的VM環境下已經改為直接從SCSI裝置開機,完全不用IDE的介面與裝置規格,因此可支援從VHDX虛擬磁碟的直接開機
整體而言,Hyper-V支援的第二代VM環境,對於網路與磁碟存取規格的提升最為顯著,因此,建置VM內的系統時,若需透過網路開機執行作業系統的安裝,就可以利用新的網路卡與SCSI介面的磁碟裝置,來提升效率。
相較之下,目前通行的Hyper-V VM環境,雖然同樣支援從網路開機、安裝作業系統的模式,由於只能搭配模擬傳統規格的網路卡,以及IDE介面,完成建置系統的時間將多出50%。
值得注意的是,第二代VM環境支援作業系統平臺相當有限,只有64位元版本的Windows 8.0/8.1和Windows Server 2012/2012 R2,才可以完全相容。
新功能2
提供新的VM連線模式,VM系統內可存取連線端電腦本機的周邊裝置
在伺服器虛擬化環境當中,VM除了利用本身配備的處理器、記憶體、磁碟、網路卡等裝置之外,也需要存取外部周邊裝置,一般來說,不論是VMware或微軟的虛擬化平臺,VM都能夠直接存取實體主機的光碟機或磁碟上的ISO檔,以便安裝作業系統,但連接在實體主機上的其他周邊裝置,能否100%對應到VM內,各家虛擬化平臺上的支援程度,就可能有很大的差異。
在微軟先前的Hyper-V環境中,當我們從Hyper-V虛擬機器連線(Virtual Machine Connection,VM Connect)登入到VM的Console,只能將我們自己的電腦上的螢幕、鍵盤與滑鼠的輸入動作重新導引至VM內,而且這樣的重導機制,只能提供有限的複製、貼上功能;若要獲得更完整的重導效果,就必須透過遠端桌面連線(Remote Desktop Connection)連入虛擬機器,但這樣的作法要進行,使用者還必須預先知道虛擬機器所在的網路位址,才能登入。整體來說,都相當不便。
而Hyper-V 3.0 R2提供的虛擬機器連線,它所提供重導機制更完備,能讓執行連線端的電腦將本機裝置重導到VM內,因此連線至VM時,管理者操作其中的系統會有很大的便利,基本上,這項功能用起來的方式和遠端桌面連線的操作相當類似。
目前這套新的本機裝置重導,支援的類型有點超乎我們預期,總共有8種之多,包括了螢幕顯示組態、音訊、剪貼簿,以及磁碟機、USB裝置、印表機、智慧卡,並支援即插即用裝置(Plug and Play devices),其中磁碟機、USB裝置能對應到VM系統內,當然是日常操作時最迫切需要的功能,但令我們意外的是,這當中也支援了印表機和智慧卡,顯然這邊的強化也是為了提升桌面虛擬化環境下的使用體驗。
這項功能的正式名稱,微軟稱為「加強的工作階段(Enhanced Session Mode)」,目前支援該功能的作業系統只有Windows Server 2012 R2和Windows 8.1。值得注意的是,在兩個環境下的都是以Hyper-V管理員來設定,Windows Server 2012 R2預設停用該項目,而Windows 8.1預設啟用。
從Windows Server 2012 R2開始,當我們以虛擬機器連線連至VM時,不再用VM當中模擬的顯示卡、鍵盤與滑鼠,來呈現連線端與VM端之間的互動情況,而是改為透過VM作業系統中的遠端桌面服務(Remote Desktop Services,RDS)來彼此互動。
這麼做之後,可獲得的好處有很多,例如不論在連線端與VM端,你都能夠任意地複製、貼上檔案,同時也可以將VM端的音訊效果重導至連線端;對VM端而言,也可以藉此存取連接在連線端電腦的智慧卡與USB裝置。而且,就算這些VM本身沒有連接網路,我們一樣可以用這種方式,讓它們能夠存取到這些裝置,而不像過去必須要透過網路分享資料夾或裝置的方式,VM本身也要能連接區域網路,才可以存取到這些資源。
新功能3
加速VM線上即時遷移不是夢,可運用壓縮功能減少傳輸流量,或利用記憶體直接存取的網路傳輸技術
在Windows Server 2012 R2 Hyper-V中,微軟也提供方法來加速VM的線上即時遷移(Live Migration),其中一種機制稱為Compressed Live Migration,或Live Migration using compression of VM memory state,是在移轉過程中透過壓縮記憶體分頁資料的方式,減少傳輸流量,VM的線上遷移速度可增加兩倍。該功能預設是啟動的,要注意的部份是,壓縮作業執行的過程需要運算,因此VM線上遷移的速度提升幅度,也會與主機端的運算資源是否充裕有關。
Hyper-V另一項加速機制,是透過支援RDMA協定(Remote Direct Memory Access)機制的網路卡,系統將可藉此搭配SMB 3.0協定的支援(SMB Direct和SMB Multichannel),來加快VM搬移,吞吐量可高達56Gb/s,這稱為Live Migration over RDMA-enabled network adapters,裡面採用了SMB-Direct Live Migration的技術。運用支援RDMA的網路卡,在執行VM線上即時遷移時,可將電腦記憶體的資料,直接搬移到另一臺電腦的記憶體,中間不需經過電腦的作業系統存取,如此可減少處理器運算資源的耗用,透過這樣的網路傳輸方式,可達到高吞吐量與低延遲的VM轉移效果。
對於支援RDMA協定的網路介面,目前Windows Server 2012可以應用的類型,包括InfinBand、iWARP(Internet Wide Area RDMA Protocol)、RoCE(RDMA over Converged Ethernet)。
至於這項加速機制所搭配的SMB 3.0協定,裡面的SMB Direct又可稱為SMB over RDMA,顧名思義是指SMB 3.0支援RDMA網卡存取的一種功能,它可讓Hyper-V主機存取位於遠端的SMB 3.0檔案伺服器(Scale-Out File Server)時,就如同直接存取本機磁碟一樣。這項功能是在Windows Server 2012環境才開始支援的,需搭配支援SMB 3.0的用戶端與伺服器。
另一個SMB Multichannel,則是SMB 3.0協定中用來匯聚網路頻寬的功能,同時可針對SMB 3.0用戶端與伺服器,提供多路徑(multiple paths)網路環境的容錯處理功能。這項機制能充分利用網路頻寬,並且能迅速從網路故障中恢復,同時,它也能偵測RDMA網路卡是否啟動了SMB Direct,一旦確認網路介面支援RDMA功能,就會建立多個RDMA連線。這項機制和SMB Direct一樣,都是Windows Server 2012開始內建的。
若Hyper-V主機使用了RDMA網卡,並且執行VM的線上遷移,SMB 3.0的上述兩項功能可以啟動多個網路介面,讓這項搬移作業能夠運用,而因此可以獲得的效果,不光是線上遷移時間縮得更短,對執行這項作業的主機而言,它的處理器資源耗用也不會增加太多。實際上,這種作法有別於線上遷移的壓縮,壓縮是利用處理資源來降低網路頻寬的負荷,也就是將VM的記憶體壓縮後,再透過網路傳輸。
何時使用線上遷移壓縮?例如你的線上遷移的速度受到限制的主要因素是網路頻寬時,而Hyper-V主機本身的負載不繁重時,較適合進行。而使用SMB Direct和SMB Multichannel的時機,主要是Hyper-V主機如果處理器的使用率已經很高,同時你還擁有大量網路頻寬的情境。值得注意的是,兩者不能同時使用。
通常,假如VM線上遷移所用的網路是10GbE或是較慢的網路,你可能會用到壓縮的方式;不過若你的網路比10GbE快,你就可以透過支援RDMA的網路卡,以便利用SMB Direct和SMB Multichannel。
新功能4
虛擬磁碟也能做QoS:可輸入具體IOPS數值範圍,限定虛擬磁碟的服務品質
在Windows Server 2012 R2 Hyper-V的虛擬磁碟應用裡面,另一個新增的特色是儲存的服務品質管理(Storage QoS),該功能需從VHDX的層級設定啟動,作用是讓你能夠限制每個虛擬磁碟所能提供的IOPS(I/O operations per second),當虛擬磁碟的存取能力低於特定IOPS數值條件時,你也可以設定此時自動發出通知。至於在這個功能如何定義I/O量的基本單位?微軟目前在Windows Server 2012 Hyper-V中,固定將每個8K大小的資料視為1個I/O單位。
若這項特色用在IT基礎架構管理,針對不同的儲存存取作業時,IT人員可設定不同的服務等級協議(SLA),例如提供不同等級的租戶,代管業者可以用這來設定銅、銀、金等服務等級協議的儲存效能,甚至當VM無法在存取儲存系統時得到足夠的IOPS效能,可以設定觸發警報。
Storage QoS還可以用來限制所下轄的VM磁碟I/O吞吐量,能確保單一虛擬磁碟的儲存I/O吞吐量,不會衝擊到同一臺主機的其他虛擬磁碟,因此對於主機中某些I/O動作太過活躍的VM,該功能可避免整個儲存陣列的效能受到牽連。對代管業者而言,也就不必擔心出現單一租戶耗用過多儲存網路資源的狀況,而影響到付同等級租金的其他租戶。
不論VM目前是否處於啟動狀態,Storage QoS都可以設定,這給予管理者很大的彈性,他們可透過這項功能,在雲端環境中,隨時管理對於儲存裝置I/O的存取。
透過這樣的儲存服務品質管理,Hyper-V當中測量VM狀態的基礎設施也隨之更新,加入了儲存相關的參數,讓管理者能夠監控這方面的性能,同時根據這些參數來計費。
此外,若想要控制與查詢每臺VM用的虛擬硬碟IOPS數值上限,我們可以從WMI的介面,或者透過Windows PowerShell來操作。
新功能5
虛擬磁碟可設定由多臺VM共享,建立VM叢集環境將更為簡便
Windows Server 2012 R2在容錯移轉叢集(Failover Clustering)的環境中,新增了透過共享VHDX的虛擬磁碟格式檔,做到VM的叢集(guest clustering)。這項功能有助於代管服務廠商將本身的實體基礎架構(例如運算、儲存、網路),與租戶的虛擬資源之間維持彼此分離的狀態。
在先前版本的Windows Server,要做到嚴格的分離是不可能的,因為你必須將一個LUN配置給VM,因此當這些VM在執行作業系統的容錯移轉叢集功能時,能用它作為所需的共享儲存區,在Windows Server 2008 R2的環境中,VM的作業系統需執行iSCSI Initiator程式,來連接iSCSI儲存設備,然後在上面建立LUN,作為VM叢集的共享儲存。
到了Windows Server 2012,要建立這樣的VM有兩種簡易的方法,iSCSI Target軟體直接內建在容錯移轉叢集功能內,因此在VM叢集上使用共享儲存,更為簡便;另一種方法是Hyper-V內建了虛擬光纖通道卡,你可以在VM的作業系統中,直接透過光纖通道的儲存網路來連接LUN。因此在這個版本中,實作VM叢集時可用的共享儲存類型,有iSCSI的網路儲存、光纖通道網路儲存,或是Hyper-V over SMB 3.0。
但基於這種作法,VM叢集的作業系統仍需要直接連到實體基礎架構的儲存設備,例如iSCSI、光纖通道儲存網路上的LUN,這等於是讓實體基礎架構和VM叢集之間仍有縫隙可互通,彼此並非完全分離。
對代管服務者說,這會綁手綁腳,因為他們一旦變更實體的儲存架構,就會衝擊租戶的虛擬工作負載,也因此他們通常會不採用VM叢集的方式,因為這會讓他們難以將租戶的工作負載與實體架構區分開來。
而對於將工作負載遷移到雲端上的用戶,如果系統的高可用性是透過主機與VM的叢集所得到,也會難以達到上述的需求,導致用戶無法將工作負載遷移到雲端上,來簡化工作負載的維運與管理作業。所以,代管者想要同時提供主機與VM的叢集給的用戶,如果無法這麼做,也就等於失去潛在商機。
而在Windows Server 2012 R2當中,支援了在VM叢集環境下的VHDX共享功能,透過這項技術,代管者無需讓這些VM直接存取iSCSI Traget,或光纖通道儲存陣列的LUN,即可提供VM叢集環境,你將可以在代管者的雲上導入VM叢集,以便提供VM租用服務,同時也能使代管者的實體儲存架構,與租戶虛擬工作負載所耗用的儲存資源之間,彼此關係區隔開來,維持完全分離的狀態。對代管者而言,他們通常需要利用分離的網路,讓租用的VM能連上網路與使用儲存基礎架構,而且其中還包含安全與可靠度的理由。
一個VHDX檔案可分享給單臺或多臺VM,並且範圍不限單臺Hyper-V主機也可擴及多臺Hyper-V主機。
對主機而言,這些共享的虛擬磁碟,就像是連接在多個VM下,而且每臺VM在應用這些磁碟之前,基本上都擁有一個虛擬磁碟。對VM來說,這些共享的虛擬磁碟像是採用虛擬SAS介面的磁碟,可用於容錯移轉叢集環境下的共用儲存。而在VM叢集中的VM,依照不同的設定選項,可以共享一個或多個虛擬SAS磁碟。
在Windows Server 2012,容錯移轉叢集所用的共享儲存資料區,它背後的實體儲存可以用兩種方法實作出來。一是使用CSV磁碟作為區塊儲存,例如在Storage Spaces虛擬磁碟所產生的CSV磁碟上,放置共享的VHD檔;一是使用SoFS作為檔案儲存,這可以讓共享的VHDX檔能存放在SMB 3.0的共用資料夾。
這兩種方式來因應VM叢集所需的共用儲存時,等於讓用戶可利用低成本的儲存設備來取代昂貴的SAN解決方案。這些方法也讓你能夠用與單獨執行VM環境時的相同基礎架構,來提供VM叢集,換言之,你不需要專門搭配像是iSCSI、光纖通道SAN或Windows Server搭配微軟iSCSI Target軟體的儲存環境,也能實作VM叢集
在Windows Server 2012環境下,要實作VM叢集也很容易,你需要在資料區中建立一個新的VHDX檔,以便用在叢集環境需要的共用儲存區,接著開啟Hyper-V管理員的設定視窗,點選硬體類別下的SCSI控制器、選擇硬碟,然後在這個控制器下新增一個硬碟。接著瀏覽你剛剛建立的VHDX,點選這個硬碟下的進階功能選項,並勾選其中的啟用虛擬磁碟共用,最後點選套用變更的按鈕。這樣的步驟,重複在VM叢集中的每一臺VM下設定即可。
要注意的是,共用虛擬磁碟不能是作業系統主要執行檔所在的磁碟,而且檔案格式必須是VHDX,不能用先前的VHD,同時,這樣的虛擬磁碟需連接在VM的SCSI控制器,不能掛載在IDE控制器。
當你執行上述步驟時,在你選擇啟用虛擬磁碟共用前,都不要按下套用變更,否則,你必須從控制器中移除這個磁碟、重新選擇,才能再開始分享虛擬磁碟。
微軟Hyper-V與VMware vSphere的延展性規格比較
廠牌 | 規格項目 | 每臺實體主機 | 每臺虛擬機器 | 每個叢集 | |||||||
伺服器虛擬化平臺 | 邏輯處理器數量 | 記憶體最大容量 | 虛擬處理器最大數量 | 可同時執行的虛擬機器數量 | 虛擬處理器的最大數量 | 記憶體最大容量 | 虛擬網路介面數量 | 虛擬磁碟大小 | 可同時執行的主機數量 | 可同時執行的虛擬機器數量 | |
Windows Server 2008 R2 Hyper-V | 64顆 | 1TB | 512顆 | 384臺 | 4顆 | 64GB | 12個* | 2TB(VHD) | 16臺 | 1000臺 | |
Windows Server 2012 Hyper-V | 320顆 | 4TB | 2048顆 | 1024臺 | 64顆 | 1TB | 12個* | 64TB(VHDX) | 64臺 | 8000臺 | |
Windows Server 2012 R2 Hyper-V | 320顆 | 4TB | 2048顆 | 1024臺 | 64顆 | 1TB | 12個* | 64TB(VHDX) | 64臺 | 8000臺 | |
vSphere 5.0 | 160顆 | 2TB | 2048顆 | 512臺 | 32顆 | 1TB | 10個 | 2TB(VMDK) | 32臺 | 3000臺 | |
vSphere 5.1 | 160顆 | 2TB | 2048顆 | 512臺 | 64顆 | 1TB | 10個 | 2TB(VMDK) | 32臺 | 4000臺 | |
vSphere 5.5 | 320顆 | 4TB | 4096顆 | 512臺 | 64顆 | 1TB | 10個 | 62TB(VMDK) | 32臺 | 4000臺 |
註:其中4個為傳統網路卡。 資料來源: iThome整理,2013年9月
熱門新聞
2025-01-20
2025-01-20
2025-01-20
2025-01-20