虛擬化應用(三)Hyper-V 2.0 初探
前面兩次我們主要測試了VMWare vSphere 4.1以及vCenter Server 4.1的基本操作,今天先把VMWare放一放,來關注下我們最熟悉的微軟。Hyper-V是微軟提出的服務器虛擬化解決方案,在微軟的虛擬化戰略中扮演了重要角色。微軟的虛擬化解決方案分為三大部分:服務器虛擬化、桌面虛擬化、應用程序虛擬化。本次我們簡要分析下Hyper-V,后面有時間再討論其余兩種虛擬化。
本次測試環境:
Windows Server 2008 R2 DataCenter(Hyper-V 2.0)
PowerGUI Script Editor Free Edition x64
Hyper-V是一種原生虛擬化技術,作為一種角色被安裝,其體系結構如下:
以Windows Server 2008 R2為例,安裝了Hyper-V角色后,整個操作系統就已經完全虛擬化了。Windows Server 2008 R2中的Hyper-V升級到了2.0,其新特性如下:
動態遷移 – 是VMware VMotion的部分,VMware從2003年將VMotion推向市場(微軟落后7年)
集群文件系統 -是VMware VMFS的部分,VMware從2001年推出VMFS(微軟落后9年)
32顆邏輯處理器 -VMware從2006年開始支持(微軟落后4年)
虛擬磁盤熱添加 -VMware在2006年從ESX 3上開始支持(微軟落后4年)
虛擬磁盤熱卸載 - VMware目前已經支持
SLAT (Second Level Address Translation,內存虛擬化) – VMware目前已經提供對AMD RVI和Intel EPT 的支持(微軟落后2年)
動態內存 - VMware從2001年就開始支持(微軟落后9年)
可以看出,與虛擬化領頭羊VMWare相比,微軟的虛擬化之路任重而道遠。但是我們大都習慣了看到微軟后發制人,希望有更多的重量級公司加入虛擬化戰場,相互促進。
安裝了Hyper-V角色后,在管理工具中可以找到Hyper-V Manager:
在Hyper-V Manager中可以對Hyper-V做一些配置,創建、編輯虛擬機等:
安裝了虛擬機后,可以打開一個控制臺窗口進行管理:
關于虛擬機的運行時配置有待改進,很多配置都不能在運行時修改:
Hyper-V提供了WMI的API,可以編程自動化管理:
- BIOS Classes
- Input Classes
- Integration Components Classes
- Memory Classes
- Networking Classes
- Processor Classes
- Profile Registration Classes
- Resource Management Classes
- Serial Devices Classes
- Storage Classes
- Video Classes
- Virtual System Classes
- Virtual System Management Classes
CodePlex上微軟還發布了PowerShell的擴展,可以編寫腳本來管理Hyper-V,可以在這里下載。
下載下來后,我在Windows Server 2008 R2上安裝時提示一個錯誤,需要修改下安裝的批處理腳本:
如果你也遇到錯誤,不妨試試看。
這個PowerShell擴展的文檔非常好,示例很豐富,后面我單獨來測試一下。
執行完安裝批處理后,此PowerShell擴展就已經添加進當前用戶的Profile中了,在PowerGUI Script Editor中,我們只需要簡單的導入,即可以使用了:
Clear-Host
Get-Module
Import-Module HyperV.psd1
Get-VM
#獲取指定虛擬機的快照
Get-VMSnapshot -VM "HyperV-Win2003"
這里只舉幾個簡單的例子,詳細命令清單與使用方法請參閱幫助文檔。
小結:
本次我們對Hyper-V 2.0做了一次簡單的介紹,即使Hyper-V 2.0已經做了很大的改進,但是可以看到離業界頂尖的虛擬化技術還有不小的差距。不過就像微軟即將于9月16日發布Windows Phone 7一樣,一旦微軟承認自己落后了一個時代,那還不晚。或許是虛擬化技術使用了太多操作系統底層的技術,Hyper-V僅僅提供了WMI的API,相信大都數開發人員包括我都不是很熟悉,還有PowerShell的擴展封裝了大部分底層細節,可以更快捷高效的對Hyper-V進行管理。后續篇章我們會深入的研究Hyper-V、VMWare vSphere等虛擬化技術的細節,敬請關注、探討。

浙公網安備 33010602011771號