最近,人们似乎重新对微软的Hyper-V产生了兴趣。这种虚拟机管理程序终于开始成熟起来,它所提供的功能特性(和许可模式)让它成为一种引人入胜的选择,可以代替市面上的另外一些虚拟机管理程序。不过,一些管理员可能没有认识到这点:Hyper-V实际上有两种不同的版本。Hyper-V既可以安装到Windows Server的上面,又可以作为一种独立式虚拟机管理程序来下载和安装。那么,哪种方法更好呢?我在本文中将权衡每种部署方式的优缺点。
许可模式
企业应该要考虑的首要因素之一就是许可模式。很难对Hyper-V Server 2012 R2(微软为独立版Hyper-V所取的官方名称)的价格挑三拣四:它完全免费。你可以免费下载、安装并使用它,想用多久就可以用多久,根本没必要为这种虚拟机管理程序支付许可费。
当然了,就因为某项技术免费,并不意味着使用它就没有相关的成本。说到许可,魔鬼往往在细节中。
就Hyper-V Server 2012 R2而言,虚拟机管理程序的许可证是免费的。即便如此,你仍需要为将来在虚拟机管理程序上运行的虚拟机支付许可费。不过尽管有这个要求,在一些情况下,仍可以免费进行服务器虚拟化。比如说,假设你的物理服务器在运行完全拥有许可证的操作系统,想要对那些服务器进行虚拟化处理。你可以把那些服务器免费托管在Hyper-V Server 2012 R2上运行,因为你已经掏钱购买了操作系统许可证。只要确保许可条款方面没有什么会阻止服务器操作系统加以虚拟化处理。
那么,在Windows Server 2012 R2 Hyper-V上运行的虚拟机的许可模式又如何呢?如果你打算使用Windows Server 2012 R2作为虚拟化主机,那么我强烈建议你购买数据中心版(Datacenter Edition)。没错,数据中心版许可证的成本高于标准版许可证,但是如果你事先购买数据中心版许可证,那么从长远来看,所要支付的成本通常会比较低。
这么做的理由是,数据中心版许可证允许数量不受限制的虚拟服务器可以运行Hyper-V Server 2012 R2。换而言之,如果你打算把Windows Server 2012 R2安装到物理服务器上,然后安装Hyper-V,那么你在该主机服务器上想创建多少个虚拟机,就可以创建多少个。你没必要支付任何额外的操作系统许可费,只要虚拟机运行Windows Server 2012 R2数据中心版。当然了,你还可以随意托管运行虚拟机,只要其许可费早已支付,而不用承担任何额外的许可成本。
用户界面
阅读了上述内容后,Hyper-V Server 2012 R2对想要对现有的物理服务器进行虚拟化处理的企业来说似乎是理想的选择。毕竟,在一些情况下,这么做让你可以免费对那些服务器进行虚拟化处理。即便如此,运行Hyper-V Server 2012 R2可能也并非始终是最佳选择。原因之一就是,Hyper-V Server 2012 R2界面乏善可陈。你可以从图A中看到这个界面的样子。
图A:这是Hyper-V Server 2012 R2的界面
相比之下,不妨看看图B所示的Windows Server 2012 Hyper-V界面。
图B:Windows Server 2012含有Hyper-V管理器控制台
正如你所见,Windows Server 2012包含Hyper-V管理器(Hyper-V Manager),你可以使用这个图形化控制台来管理Hyper-V。相比之下,Hyper-V Server 2012 R2在部署的Windows Server核心系统上运行,没有图形化用户界面(GUI)。它而是有一个菜单,你可以用它来执行基本的配置任务。
如果你看一下图A所示的菜单,乍一看这个菜单似乎涵盖所有基本的方面。有配置服务器IP地址的选项,有设置服务器名称的选项,还有加入域的选项。不过,缺少了一些重要的选项。要是你仔细看一下图A,就会注意到:菜单并不含有与服务器虚拟化有关的任何选项。没有创建虚拟机的选项,没有启动或停止虚拟机的选项,甚至没有列出虚拟机的选项。实际上,要是我不告诉你该图是对Hyper-V Server 2012 R2服务器上的显示器画面所拍的图片,你根本不知道这个机器甚至在运行Hyper-V。
那么,要是你决定使用Hyper-V Server 2012 R2,该如何管理Hyper-V呢?你有三个选择。第一个选择是,使用System Center虚拟机管理器(System Center Virtual Machine Manager)。这恐怕是你的最佳选择,但它不是免费的。捎带说一下,System Center虚拟机管理器也是部署的Windows Server 2012 R2 Hyper-V系统的首选管理工具。
第二个选择就是,借助PowerShell,创建和管理虚拟机。这么做并非易事,但可以完成。
第三个选择就是使用在远程机器上运行的Hyper-V管理器。你只要使用Hyper-V管理器,就可以远程连接到Hyper-V Server。
容错性
考虑到Hyper-V Server 2012 R2是免费的,它又不随带GUI,所以人们很容易认为Hyper-V Server是一种轻量级虚拟机管理程序。从某些方面来看,这种认识是正确的。毕竟,Hyper-V Server占用的资源确实非常少。不过,Hyper-V Server的功能特性并不少,尽管它给人的感觉是这样。
信不信由你,你可以借助PowerShell,使用Hyper-V Server 2012 R2,建立故障切换集群。实际上,我最近在TechNet上看到了一篇非常棒的文章(http://blogs.technet.com/b/keithmayer/archive/2012/12/12/step-by-step-building-a-free-hyper-v-server-2012-cluster-part-1-of-2.aspx#.Up30ezAo7cs),介绍了如何使用Hyper-V Server 2012 R2,免费建立一个企业级故障切换集群。
我从哪里获得一份独立式Hyper-V?
你可以在此(http://technet.microsoft.com/en-US/evalcenter/dn205299.aspx)免费下载Hyper-V Server 2012 R2。下载版是一个64位的ISO文件;你得先向微软进行注册,之后才可以下载软件。
结束语
那么,Windows Server 2012 R2 Hyper-V或Hyper-V Server 2012 R2,到底哪个更好呢?说实话,哪个明显更胜一筹,我自己心里也没底。毕竟,核心的虚拟机管理程序都完全一样。此外,Hyper-V Server没有GUI对大多数人来说可能不是个问题,因为大多数主机服务器是远程管理的。
在我看来,最好根据你的许可要求来选择这两种产品中的某一种。如果你打算创建新的虚拟机,那么使用Windows Server 2012 R2 Hyper-V可能比较好。但要是你只想托管运行已经拥有许可证的虚拟机,那么使用Hyper-V Server就错不了。