虚拟化应用(三)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等虚拟化技术的细节,敬请关注、探讨。