代码改变世界

虚拟化技术 hyper-v

2009-04-15 12:59  杜耀辉  阅读(1244)  评论(1编辑  收藏  举报
在业界,微软Microsoft是当之无愧的软件霸主,不仅仅在操作系统上占据巨大的市场份额,更在数据库、迁入式移动计算、搜索引擎等各个方面都具有很强的影响力,在各个领域都不容忽视。由于低估微软在产品创新和销售执行方面的能力,众多的企业在与微软的竞争中遭遇挫折。
  

  微软进入虚拟化领域已经很有一段时间了(微软在2003年收购了推出了Virtual PC软件的Connectix公司,并在其后推出了Virtual Server服务器虚拟化软件),在Hpyer-V推出之前,微软在虚拟化领域尤其是服务器虚拟化领域可说是略显不自信,与竞争对手VMware的频频新品相比,Virtual PC和Virtual Server的发布和宣传都十分低调,毕竟,VMware/Xen等产品凭借出色的性能已经占据了大半江山。而现在,随着Hyper-V的正式推出,企业级虚拟化领域极可能会引起一场风暴,市场格局有可能迅速改变。

  为什么微软的Hyper-V会具有这样的能力呢?

  注:什么是虚拟化?

  Hyper-V是一个Hypervisor(系统管理程序),开发代号为Viridian,它主要作用就是管理、调度虚拟机的创建和运行,并提供硬件资源的虚拟化。Hyper-V是微软伴随Windows Server 2008最新推出的服务器虚拟化解决方案,在Windows Server 2008发布的时候,集成了一个Beta版本的Hyper-V,微软承诺在180天之内会提供正式版的Hyper-V。Window Server 2008是4月份发布的,180天就是不到6个月,因此微软会在9月到10月之间发布正式版的Hyper-V,而目前已经到了RTM阶段,可以正常使用了。

  Hyper-V跟微软自家的Virtual PC、Virtual Server等产品相比,有着很显著的区别,和竞争对手VMware Server/ESX Server也有很大不同:Hyper-V在构架上绝对是一个突破性的进展!

  Hyper-V虚拟化细节架构

  微软发布的架构图资料有很多,然而主要内容都很相似,就是上图那样。

  
  Hyper-V之前、Virtual Server 2005 R2的架构

  Hyper-V的本质是一个VMM(虚拟化管理程序),和微软之前的Virtual Server系列产品,处在的层次不同,它更接近于硬件,这一点比较像VMware的ESX Server系列,实际上Hyper-V属于微软的第一个裸金属虚拟化产品(Bare-Metal Virtualization)。然而,在一些基础架构上,Hyper-V和ESX Server又有着明显的不同,所以说,Hyper-V是很特别的。

  作为一个虚拟化产品,Hyper-V具有一个很特别的要求:处理器必须支持AMD-V或者Intel VT技术,也就是说,处理器必须具备硬件辅助虚拟化技术。

  对于一个虚拟化产品来说,要求一个硬件特性是比较奇特的事情(要求支持一个指令集不算),微软之前的Virtual Server 2005R2不需要这个特性。对于VMware的产品来说,这也只是一个可选的特性,不像Hyper-V那样,是一个硬性的要求。处理器不支持VT/AMD-V,就无法运行Hyper-V。

  
  VT-x处理器辅助虚拟化技术,是Hyper-V的硬性要求

  关于VT的具体作用,可以查看x86虚拟化难题解决:Intel VT或者《从VT-x到VT-d Intel虚拟化技术发展蓝图》。VT,或者AMD-V,是一种硬件辅助虚拟化技术,用来解决Ring Privilege的问题,传统处理器下虚拟机通过使用指令转换的方法来在Ring 3执行Ring 0特权指令,严重影响性能,而VT则解决了这个问题。对VT的依赖和支持是Hyper-V架构的基础,也是Hyper-V最大的特点。

  也因为Hyper-V需要处理器支持硬件虚拟化辅助,一部分处理器无法应用Hyper-V,只有较新、非Value型的处理器才能应用。例如访问www.microsoft.com只有75%的几率碰到部署在Hyper-V上的虚拟化服务器,剩下的25%都是未Hyper-V虚拟化的服务器。要在这些服务器上应用虚拟化,用户只能选择Virtual Server 2005 R2,或者其它公司的产品。

  Microsoft Hyper-V和VMware ESX Server是比较相像的,都是Bare-Metal类型,但是它们的内核架构也有着明显的不同。微软在谈到竞争对手ESX Server时,总会提到,Hyper-V是微内核架构的,而ESX Server是单内核架构,Hyper-V要更好。

  这两者具有什么不同?到底谁更好呢?

  
   单内核(分层的内核)与微内核

  单内核和微内核实际上是操作系统内核术语,操作系统的内核——实现核心功能的那部分——可能是微内核(Micro kernel),也可能是单内核(Monolithic kernel,有时也叫宏内核Macro kernel)。按照类似封装的形式,这些术语定义如下:

   微内核(Micro kernel)――在微内核中,最常用的功能被精心挑选设计在内核模式(或者按照上一页的说法,在x86上是Ring 0模式)运行的一个或一组进程上,而其它大部分不怎么重要的核心功能都作为单独的进程在用户模式下(类似地,Ring 3模式下)运行,它们通过消息传递进行通讯(例如,Windows采用的进程间通信IPC机制,IPC就是Inter Process Communicate)。最基本的思想就是要尽量地小。通常微内核只包含了进程调度、内存管理和进程间通信这几个根本的功能。

  这种设计具有许多好处,例如增加了灵活性,易于维护,易于移植。只需要把微内核本身进行移植就能够完成将整个内核移植到新的平台上。同时微内核的模块化设计让其他核心功能模块都只依赖于微内核模块或其他模块,并不直接依赖硬件。

  同样,由于模块化的设计,不包含在微内核内的驱动程序可以动态地加载,或者卸载。同时,微内核也不依赖于固定的文件系统,用户可以随意选择对文件系统的支持。用户甚至能够在系统运行时将研发出的新系统模块或需要替换现有模块的模块直接而且迅速的加入系统。不需要的模块将不会被加载到内存中,因此微内核就能够更有效的利用内存。微内核还具有的好处是实时性、安全性比较好,并且更适合于构建分布式操作系统和面向对象操作系统。

  微内核操作系统的典型例子是,Mach(一个非原生的分布式操作系统内核,也被应用在Mac OS X上)、IBM AIX、BeOS,以及Windows NT,还有著名的Minix(一个主要用于教学的Unix系统)和Amoeba(一个原生的分

  单内核(Monolithic kernel)――单内核是个很大的进程。它的内部又能够被分为若干模块(或层次,或其他)。但是在运行的时候,它是一个单独的大二进制映象。因为是在同一个进程内,其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是微内核那样在多个进程内进行消息传递。因此在运行效率上,单内核会具有一定的好处。

  单内核操作系统的典型例子是,大部分Linux,包括BSD在内的几乎所有的Unix,MS-DOS,Windows 9x。例如Sun Solaris的内核就运行着数百个线程以实现各种功能,而编译过Linux内核的人就知道Linux内核有数十MB之大。

  单内核和微内核哪个更好显然是一个很有争议性的问题,必须说明的很有趣的一点是,这种争论经常会令人想到上一个时代CPU领域中RISC和CISC的斗争。现代的成功CPU设计中包含了任何这两种技术,就像现在Linux(单内核)和Windows NT(微内核)都是微内核和单内核的混合产物一样。历史上有过这样的争论,Linux(单内核)的作者Linus和Minix/Amoeba(均为微内核)的作者Andrew S. Tanenbaum博士对垒,最终Linus也同意微内核架构更为先进的论点。

  掉书袋就到这里,回到Hyper-V上来,通过采用微内核架构,Hyper-V在体积上很有优势,它的大小只有300k左右(似乎新版本的更加小),而VMware ESX Server的Linux核心则非常大。就VMM虚拟化管理程序来说,需要的功能不多,因此采用微内核架构是很合适的,运行效率可以很高。不过就理论上来说,合理配置的单内核其实和微内核也很相似。哪一种性能更好?这要在测试之后才能知晓了,不过在这之前,我们接下来可以先看看微内核带来的一个好处:设备驱动程序的变迁。

  无论采用什么内核,驱动程序和文件系统总是必要的,虚拟机需要使用服务器的硬件就需要驱动程序,虚拟机的文档需要保存在适当的文件系统上。在单内核的VMware ESX Server上,驱动程序包含在单内核内部,虚拟机映像文件则保存在VMFS(一种类似EXT的文件系统)上,那么微内核架构的Hyper-V呢?

  这就要谈到Hyper-V的VSP/VSC架构了,VSP是Virtual Services Provider,VSC则是Virtual Services Client,还有一个VMBus部件,将放在“宿主操作系统”的VSP和虚拟机操作系统的VSC连接起来。实际上“宿主操作系统”也是一个虚拟机——就是你最初安装的、带有Hyper-V的Windows Server 2008,微软将其称为Parent Partition操作系统,而每一个虚拟机则成为Child Partition。

  

  VSP与VPC,注意VSP并不是Virtual Storage Provider的缩写。Virtual Storage Provider属于VSP

  上图很好地解释了Hyper-V使用VSP/VSC架构解决驱动程序/文件系统的方式,通过加入VSP和VSC以及它们互相沟通的VMBus总线,Hyper-V将虚拟机的操作映射入Parent Partition的对应驱动程序/文件系统中,简化起来就如下图:

  
  Hyper-V的VSPs/VSCs、VMBus架构

  这种方式具有不少好处,例如,最明显地,Hyper-V可以兼容大量的驱动程序,而不必为虚拟机开发专用的驱动程序(ESX Server就是这样干的),只要设备能在Windows Server 2008下工作,那么Hyper-V虚拟机就能使用这些设备资源,再加上Windows驱动天生就比其他操作系统(如Linux)的驱动丰富,因此在硬件支持上Hyper-V具有着无可比拟的优势。VMware ESX Server甚至不能直接应用Linux驱动程序,需要另外进行额外的操作才能使用,因此VMware ESX Server容易受到设备方面的问题,当然用户可以使用具备VMware认证的全套硬件以避免这个问题。

  有利就有弊,VSP/VSC架构需要支持Hyper-V技术的客户端的支持,这样就大为限制了虚拟机操作系统的选择,不支持Hyper-V的客户操作系统只能使用设备模拟的方式,性能和以前的Virtual Server 2005 R2没有太大的分别,要享受到Hyper-V性能的提升,需要虚拟机使用Windows Server 2008,或者内含Xen的Linux/Unix。Hyper-V的客户机操作系统的选择确实只注明了Windows和少数几种Linux,虽然笔者猜测或多或少有着商业策略上的因素,不过从技术上来看,确实也有一些限制。

  Hyper-V设备驱动的这个优点正好就和微内核驱动程序架构的优点一样,模块化,架构灵活,不需要更改就可以提供新硬件的支持。

  顺便提一下,设备虚拟硬件辅助VTd技术在Hyper-V下的实现很轻松,只需要开发Windows Server 2008下的驱动程序。

   Hyper-V还具有一个关于性能的重要特性:多处理器虚拟机,Hyper-V支持4 CPU的Windows Server 2008虚拟机,和2 CPU的Windows Server 2003虚拟机。多处理器虚拟机并不是一个Hyper-V才具有的特性,VMware的ESX Server早已经实现4 CPU的虚拟机,并且是在各种操作系统下(WMware Workstation也能提供2 CPU的虚拟机)。

  如果服务器工作负载需要很高的性能,我们可以考虑使用多处理器的虚拟机。数据库服务器可以消耗掉大量的处理器资源,这时,多处理器虚拟机就是很必须的,就像我们做过的测试那样。当然,只有当工作负载确实需要的时候,才应该使用多处理器虚机,因为管理更多的处理器会带来一些额外的开销。就像早期Window NT具有单处理器和多处理器两种内核一样(单处理器版本去掉了一些多处理器才有的如同步之类的模块,并作了相关优化)。

  
 

  进程状态及其转换示意图,进程的就在这些状态之间“旋转”

  众所周知,为了保护共享数据,需要一些同步机制,例如锁、信号量等。通常,多处理器操作系统内核和驱动会采用自旋锁(Spin Lock,类似于互斥锁,但是保持时间更短。更详细的信息可以参考《Windows Internals》第四版,P152)的机制,在获得自旋锁之前,线程并不会阻塞,而是一直处于自旋状态,前提是自旋锁只会保持很短的时间。然而在虚拟化条件下,这个前提会被打破件,因为虚拟处理器是按照时间片进行调度的。如果在保持自旋锁的时候竞争虚拟处理器,则其他虚拟处理器就要自旋很长时间,导致CPU循环的浪费。

  在Windows Server 2008内核以及Hyper-V Hypervisor中加入了一个创新设计,尽可能防止出现自旋锁的长时间等待条件,如果确实存在长时间等待条件,也会有效地加以检测并对其进行处理。这个方法叫做自旋锁启发方法,未实现自旋锁启发方法的虚拟机作系统将停在一个紧凑循环上旋转以等待其他虚拟处理器释放自旋锁,通常这个旋转可能会阻塞其中一个硬件 CPU,从而降低了虚拟化性能。而在自旋锁启发式操作系统中,自旋锁代码会在将要发生旋转时通过Hypercall API通知Hyper-V Hypervisor管理程序,这样Hypervisoer管理程序就可以立即调度执行另一个虚拟处理器并降低不必要的CPU使用。Hyper-V还还在调度程序和内存虚拟化逻辑上进行了优化以使它们在大多数临界区中都不会被锁定,从而确保多处理器系统能够获得很好的延展性。

  在前些天的媒体测试见面会上,微软中国的工程师展示了Hyper-V虚拟机的效率,表明4 CPU的Windows Server 2008虚拟机,其延展性可以和物理4 CPU系统一较高下。当然,具体的提升仍然需要通过测试来评估。

  注:自旋锁启发方法其实不完全是Hyper-V的内容,它更多是Windows Server 2008的核心内容。Vista也实现了这个自旋锁启发方法。

  不知不觉间说了很多显得有些深涩的内容,不过Hyper-V的特点总结起来就是:VT/AMD-V实现、微内核设计、VSP/VSC虚拟设备驱动架构以及虚拟处理器自旋锁启发架构,这些特性糅合在一起就形成了独特的Hyper-V。此外,$28的价格(或者,购买Windows Server 2008:免费)也很值得一提。

  
  微软服务器虚拟化战略的里程碑:Hyper-V

  更好的性能、更广泛的兼容性、更强的安全性,以及更便宜——这就是Hyper-V,从2003年收购Connetix后就沉寂的微软并没有睡着。从最早的Terminal Services,到早期的Virtual PC、Virtual Server、SoftGrid,到今天Hyper-V的推出,这些看似不经意的动作,现在看来均是为其全面的虚拟化战略实施做铺垫。而经过这样一系列的铺垫,微软的从数据中心到桌面虚拟化、全面的端到端的虚拟化战略已经正式部署完毕,我们已经可以看到,虚拟化市场即将到来的一场暴风雨。

  Hyper-V采用基于Hyperisor的架构,并且充分利用Windows驱动模型,以便提供广泛的硬件支持。Hypervisor可以把单个服务器划分为多个CPU和内存的容器。由于采用微内核架构,Hyper-V可以提供高效的分区间通信机制,并在此基础上搭建高性能的虚拟I/O架构。根分区包含物理I/O设备,还将提供虚拟栈用来为子分区所实现的I/O服务。

  

  虚拟栈可以实现模拟I/O设备,例如IDE控制器和DEC 21140A网卡。然而模拟这种设备的代价很昂贵。发送单个I/O请求,就有可能导致虚拟栈和子分区之间的多次切换。相反,Hyper-V提供专门为虚机环境所设计的虚拟I/O设备。这些虚拟设备连接到VMBus,这是一个支持即插即用的总线,使用共享内存,以便可以有效地进行分区间通信。Windows虚机可以自动检测到VMBus上的虚拟设备,并且加载合适的驱动程序。

  

  Hyper-V中的虚拟输入/输出采用客户端/服务器架构,在根分区中包含VSP(虚拟服务提供程序),在子分区中包含VSC(虚拟服务客户端)。该架构极大地减少发送I/O请求所需的开销。如果Virtual Server用户把虚机迁移到Hyper-V中,他们将体会到高I/O的工作负载的CPU开销大大降低。

  多处理器的虚机

  在这第一篇文章里,笔者想着重指出Hyper-V的主要性能特性:多处理器的虚机。Hyper-V支持4 CPU的Windows Server 2008虚机,和2 CPU的Windows Server 2003虚机。如果服务器工作负载需要很高的性能,我们可以考虑用2 CPU或者4 CPU的Hyper-V虚机对其进行虚拟化。当然,只有当工作负载确实需要的时候,才应该使用多处理器虚机,因为拥有更多的处理器会带来一些额外的开销。

  然而,操作系统内核和驱动会采用自旋锁(Spin Lock)的机制,在获得自旋锁之前,(线程)并不会阻塞,并一直处于自旋状态,前提是自旋锁只会保持很短的时间。但是虚拟化会打破这种条件,因为虚拟处理器是按时间片进行调度的。如果在保持自旋锁的时候竞争虚拟处理器,则其他虚拟处理器就要自旋很长时间,导致CPU循环的浪费。[盆盆注:自旋锁是多处理器操作系统的一种互斥机制,有点类似于互斥锁,但是保持时间更短。更详细信息,可以参考《Windows Internals》第四版的P152]

  我们在Hypervisor和Windows Server 2008内核里加入创新设计,尽可能防止出现自旋锁的长时间等待条件,如果确实存在长时间等待条件,也会有效地加以检测并对其进行处理。我们还对Hypervisor进行设计,包括调度程序和内存虚拟化逻辑,以使它们在大多数临界区中都不会锁定,从而确保多处理器系统能够获得很好的延展性。

  所以,4 CPU的Windows Server 2008虚机,其延展性可以和物理4 CPU系统一较高下。这是一个很好的注解,来诠释Windows Server 2008虚机和Hyper-V如何一起提供性能上的改进。我们还将在后续的版本里继续提高多处理器系统和多处理器虚机的延展性。

  微软的虚拟化产品Hyper-V以前被称作Viridian和WSV,我在这里聊聊老生常谈的话题,也就是它的虚拟化架构。

  首先,我们看看虚拟基础架构。为什么从基础架构开始呢?因为虚拟基础架构可以在计算、存储器和网络硬件以及在其上运行的软件之间提供了一个抽象层,简化了 IT 计算体系结构,可以控制成本,并提高响应速度。

  Hyper-V:由于采用Hyperisor内核架构,Hyper-V可以提供高效的分区间通信机制,并在此基础上创建高性能的虚拟I/O架构,并且充分利用Windows驱动模型,以便提供广泛的硬件支持,因为Hypervisor可以把单个服务器分割为多个CPU和内存的容器。

  目前,大多数潜在的子操作系统都还没有意识到虚拟化。它们以为是直接在服务器硬件上运行,因此需要使用hypervisor提供的硬件模拟。

  既然说到了Hyper-V,那我们也不得不提到VMware。

  VMware虚拟化层:VMware的ESX Server在每台物理机上加载一个“服务控制台”,来管理和操控Hypervisor的动作,解决了传统x86硬件管理中的ring转换问题,支持所有x86兼容OS,且系统无须更改设置。虽然这种通过软件模拟硬件服务的做法具有较大的灵活性,但代价是会导致较大幅度的性能损耗。

  我们研究完基础架构,再一起来看看Hyper-V的体系结构吧:

  Hyper-V 体系结构:运行Hyper-V的服务器可以利用Windows对硬件设备的支持,是因为管理程序可将系统分成多个VM,并将Windows Server 2008的引导实例当作主分区,以使其可直接访问各种硬件设备如网络适配器等等。

  Hyper-V管理程序要求主分区执行电源管理并响应硬件即插即用事件。这种架构将业界标准服务器、与它们连接的网络和存储器聚合到统一的资源池中。

  要知道,虚拟栈可以实现模拟的I/O设备,然而模拟这些设备的代价很高,发送单个I/O请求,就有可能导致虚拟栈和子分区之间的多次切换,那么Hyper-V如何解决的呢?

  Hyper-V和多处理器虚机

  Hyper-V支持4 CPU的WinServer08虚机,和2 CPU的WinServer03虚机。只有当工作负载确实需要的时候,才应该使用多处理器虚机,因为拥有更多的处理器会带来一些额外的开销。不过不用着急,Hyper-V提供了专门为虚机环境所设计的虚拟I/O设备。这些虚拟设备连接到VMBus,使用共享内存,可以有效地进行分区间通信。

  Hyper-V中的虚拟I/O采用客户端/服务器架构,在根分区中包含VSP虚拟服务提供程序,在子分区中包含VSC虚拟服务客户端。

  Hyper-V中的I/O架构:该架构极大地减少发送I/O请求所需的开销。如果Virtual Server用户把虚机迁移到Hyper-V中, 那么一定能体会到高I/O的工作负载的CPU开销大大降低。

  既然说了那么多内部的架构,我们也看一眼Hyper-V Server 2008的安装界面吧。

  Hyper-V Server 2008安装

  在安装上方面,和VMware ESX相比,Hyper-V Server 2008操作更加傻瓜化一点,界面上也更为熟悉一些。不难发现黑色窗体既不是POWERSHELL程序,也不完全是DOS模式,更类似CMD命令的工作模式,如果把蓝色窗口当成控制面板,那黑色窗口就是Hyper-V的工作区。其实,Hyper-V自带的管理工具VMM可以在远程控制Hyper-V Server,也就是说安装好Hyper-V Server的服务器可以不再去管了。

  Hyper-V界面管理

  看起来很舒服吧,在这里我们可以对 Hyper-V进行管理,虽然看起来是全新的操作界面,但是实际操作起来还是非常顺手的。 迫不及待在 Hyper-V 上又安装了Server Core 版,性能非常好,感觉很快很舒适。
Hyper-V 的 Guest OS支持32位及64位的操作系统,并且支持Linux系统。另外,提示大家一点:Hyper-V Beta版可以安装非英文版的其他语言版本操作系统哦,不过前提是在安装 Hyper-V 系统时,请保持默认的语言和键盘区域配置。

  Hyper-V,这是windows 2008最大的亮点。当然windows 2008的其他特性,也还不错,相比之下Hyper-V最牛X。可以说是很创新,很革命。Hyper-V,微软新的hypervisor为基础的虚拟化系统,在最新的Windows Server 2008操作系统上体现出毫无疑问的杀手级功能。windows 2008虽然有很多的其他新的特性升级,但相比之下,Hyper-V才是革命性的转变。

  服务器虚拟化还远没有成为主流,但随着加入了Hyper-V的Windows Server 2008的推出,将会非常迅速改变这种状况。因为服务器虚拟化会带来有很多好处:提高服务器的利用率-相当多情况下,一台服务器的利用率在1 0%左右。通过运行几个虚拟服务器,可以将利用率提高到在60或70 %,这样可以大大减少硬件上的投资。

  降低功耗和冷却费用-电费支出,正成为一个非常重要的组成部分。通过运行更少的物理服务器,增加虚拟服务器,这样在更高的利用率下,大大节省了电费支出。

  降低硬件成本-较少的服务器意味着减少机器维护和更换。

  增加服务器更敏捷快速-增加一个虚拟服务器,在需要时可以从一个模板在短短几分钟内创建好,无论是IT技术人员或最终用户都可以自己轻松搞定。相比之下,采购,安装,提供物理服务器可能需要几天甚至几个星期才能完成。

  提高可靠性和减少停机时间-当虚拟服务器发生硬件损坏时,可以立即转移虚拟服务器到新的物理服务器上。

  hypervisors可以说是相当的庞大和复杂,它包含有微软称之为monolithic的驱动模型。相比之下,微软已经设计Hyper-V被它称为" microkernelized(微内核) " 。该hypervisor本身非常“苗条”,这将更安全,只有少量的代码运行在具有特权的hypervisor层次上,而且没有第三方代码或驱动。Windows server 2008 支持多种系统,包括:Windows server 2008和2003,Windows Vista和Linux等较新的操作系统,还支持较早的windows 9X和Solaris 、 SCO Unix等。

  Hyper-V的一些主要特点:

  Hyper-V只运行于基于x64的机器,但这个赋予它有能力处理高达1T内存。无限数量的虚拟机器可以运行(如果资源可用)限制以最高的64 GB的内存。

  对称多处理( SMP )的支持。这就是说,只要物理伺服器主机有4个内核,虚拟机器都可以使用多达4个虚拟处理器,以充分利用多线程应用的需要。网络负载平衡也获得了支持。Hyper-V的一个新的虚拟开关可以让Windows网络负载平衡将被用于平衡负载跨越虚拟机器设于单独的物理服务器。虚拟机快照使管理员能够在任意时刻捕捉虚拟机的整个状态,同时支持在需要时,迅速恢复虚拟机到该状态。

  除了能够快速迁移,虚拟机管理器可以用来管理虚拟服务器的进程。最后,该软件可用于分配新建立的虚拟机器到不同的物理主机服务器。这可以是一个硬任务,进行高效率,作为处理器和内存的要求,每一个虚拟机必须搭配一台服务器与适当的可用资源。为达到这一目的,使用的一个特点所谓智能配置,其中包括将数据从现有的Hyper-V主机及其他地方找出最适合主机作为某一特定虚拟机器。

  虽然许多大企业也开始试行与虚拟化,虚拟服务器的数量与物理服务器相对还是较少。随着加入了Hyper-V的windows server 2008的推出,这一比例在未来五年内可能会扭转。对服务器虚拟化来说加入Hyper-V被看作是具有分水岭意义的重大时刻。

  Hyper-V是微软伴随Windows Server 2008推出的重量级虚拟化工具平台,很多网友都在问,为什么安装了Windows Server 2008之后找不到这个功能?或者即时重新安装了这个组件,Hyper-V虚拟化也不能使用呢?

  其实,要完全实现正常安装并使用Hyper-V,除了需要软件条件,还需要硬件条件才行。

  安装 "Hyper-V"虚拟化的先决条件:

  Windows Server 虚拟化需要特定的CPU:

  - 基于 x64: Windows Server 虚拟化功能只在 x64 版本的 Windows Server 2008 标准版、企业版和数据中心版中提供。

  - 硬件辅助虚拟化: 需要具有虚拟化选项的特定CPU,即包含 Intel VT(Vanderpool Technology)或 AMD Virtualization (AMD-V,代号 "Pacifica")功能的CPU。

  - 硬件数据执行保护(DEP),而且被开启(如果CPU支持 Server 2008 默认开启)。

  下面提供两种快速检测方法:

  (一) 使用 EVEREST Ultimate Edition 软件(下载),可以方便的辨别你的CPU是否符合要求:

  在"主板"下的"CPUID"一项中,查看是否支持以下三种特性:

  1、 指令集:64位x86扩展

  2、 CPUID特征:对于AMD处理器:Secure Virtual Machine Extensions (Pacifica) ;对于Intel处理器:Virtual Machine Extensions (Vanderpool)

  3、 安全特征:数据执行保护(DEP) (DEP, NX, EDB)(图1)

  

  (二)在这里,给大家介绍另外一个简单便捷的小工具-securable(下载)。(图2)

  

  如果机器显示如上图,代表不支持Hyper-V,因为三个条件均不满足,呵呵(记住,只要有一项不满足就不支持!)。如果你的系统显示的与下面的图相同,那么恭喜你,可以体验Hyper-V的无穷魅力了!(三个条件均支持)(图3)

  

  当你的系统完全能够满足上述条件后,即可开始安装Hyper-V平台,简要步骤如下(本例中为英文环境,中文类同):

  1.在Windows Server 2008中 点击"Strat"然后再Administrative Tools中选择Server Manager(图4)

  

  2.在Server Manager中的Roles Summary中添加角色(Add roles)(图5)

  

  3.在Before You Begin 界面中点击下一步 Next(图6)

  

  4.选择Hyper-V 下一步(图7)

  

  5.产品介绍和注意事项 点击下一步(图8)

  

  6.在Create Virtual Network界面中检查你的virtual pc网卡连接(图9)

  

  7.确认设置 下一步(图10)

  

  8.安装完成后 重启计算机(图11)

  

  9.重启后配置完成(图12)

  

  10.在服务管理器里创建,启动,配置你的虚拟机.展开 Roles -> Hyper-V -> Microsoft Hyper-V Servers 最后点击你的computername(图13)

  

  至此,Hyper-V安装完毕。

  Hyper-V管理程序随着最近RC1版本的推出终于要与大家见面了。微软公司也正在从工程运作的主模式向cross-the-i's和dot-the-t's(对细节一丝不苟之意)的模式转变。包括庞大的可支持操作系统名单的Hyper-V主体目前已经准备就绪,微软公司的用户可以满怀自信的将他们的测试虚拟机向试运行的管理程序上迁移了。

  不过微软Hyper-V主机和虚拟机的管理解决方案也就是Microsoft System Center Virtual Machine Manager 2008还需完善,目前还处于公共测试版阶段,Microsoft System Center Virtual Machine Manager 2008(微软系统中心虚拟机管理2008,缩写为MSCVMM)受到了Hyper-V管理程序内在局限性的限制,特别是Hyper-V目前还无法实现虚拟机的实时迁移。

  全面解析

  首先来看MSCVMM的优势所在:MSCVMM采用更为先进的全新用户界面来管理微软的各种虚拟化环境,包括Hyper-V管理程序和以前的虚拟服务器产品线。MSCVMM控制台能允许用户以有效的方法过滤信息来实现对常规任务的快速访问。

  诸如控制虚拟机和管理不同工作引擎等主要功能根据所执行的工作负载被分为不同的逻辑子群。每个逻辑子群都能提供丰富的过滤选项供用户使用,比如在特殊情况下添加主机或虚拟机等。这是一个简单的装置,但当它在管理一个大型虚拟化环境时却非常与众不同。

  MSCVMM库对存储虚拟机映像也非常有帮助。这意味着微软正在从工作组虚拟机向数据中心参与者转变,MSCVMM库通过不断发展的微软虚拟机基础架构轻松实现对虚拟机的分配和跟踪。

  从MSCVMM控制台简单选择中意的虚拟机然后分配到目标主机上去。MSCVMM库服务器和代理服务器能将虚拟机映像复制到相应的物理机上并在线展示。这一特性还能与全新的快速迁移特点(以网络为通道实现快照)相结合。MSCVMM成熟的库模式使Hyper-V升级变的更加容易。

  不利之处:不幸的是易于管理只是微软追赶VMware的特性之一。公司没有解决实时迁移的问题,VMware公司的VMotion能够在无宕机情况下实现虚拟机在物理服务器之间的无缝迁移。

  微软公司也曾经设想为Hyper-V增加这项功能,但Hyper-V之前预计要在Windows Server 2008操作系统推出后半年内面世,为了让Hyper-V按照原定计划准时与公众见面,微软不得不放弃了这个想法。尽管快速迁移特性(Quick Migration)能实现在系统运行状态下虚拟机在物理主机之间的迁移,但它仍然需要虚拟机在迁移过程中脱机,也并非要求高实用性的应用环境的首选。

  另外,Hyper-V管理程序能正式支持的Linux客户机操作系统仅限于NOVELL的Suse Linux Enterprise Server 10;所有其他的Linux操作系统都只能作为二等公民对待。其他的Linux操作系统虽然可以运行,但是只有Suse操作系统获得了微软的安装支持和升级许可来提高在Hyper-V管理程序上的集成(诸如客户机和主机操作系统之间鼠标和键盘的集成)和性能扩展能力。

  与之形成鲜明对比的是,VMware公司的ESX服务器可以直接支持数十种Linux操作系统,并通过提供客户机操作系统集成组件(即VMware工具)来提升ESX平台上的系统性能和运行能力。当然,Hyper-V管理程序的目标市场是对Windows server的整合,因此大家都认为微软公司能很快解决来自VMware这个最大的竞争对手的威胁。

  微软战略

  不过微软目前的市场战略也表明微软为与VMware争夺虚拟化领地所做着种种努力。战略之一就是将产品的研发定位于大众用户群的应用需要。举例来说,尽管微软的快速迁移(Quick Migration)无法达到VMotion无缝迁移的性能水平,但对于那些对高实用性没有过高要求的普通用户群来说也是个不错的选择,因为这款产品具备了服务器整合所需的大部分功能和特性。

  将它的技术可靠性与性能良好的管理程序(Hyper-V)相结合,用户同样可以从容面对虚拟化的挑战。再加之颇有诱惑力的价格(微软公司为单机版解决方案Hyper-V的定价仅为28美元),足以让微软的此次虚拟化出击成为竞争对手不可小觑的威胁。

  微软公司的另外一项战略就是允许Hyper-V和VMware虚拟化产品都可以在MSCVMM管理环境中直接对VI3资产进行管理。通过与VirtualCenter的结合,MSCVMM管理员就可以使用本地VirtualCenter服务来管理包括VMotion在内的VMware的虚拟机。

  微软通过拥有与竞争对手技术成功结合的跟踪记录(竞争对手的技术在微软的环境下使用来实现跟踪)来达到最后取而代之的目的。微软在NOVELL NetWare和Unix上也采用的是类似的做法。显然,微软认为此次对拥有深厚技术资源的VMware公司这么做也能达到当初的效果。但有专家认为微软这次有些盲目自大了"以前这样的事情发生了,以后不会在重演"。

  专家测试

  专家在运行Windows Server 2008操作系统X64企业版(Hyper-V需要64位的运行环境)的戴尔PowerEdge 2950服务器上对Hyper-V RC1版本和MSCVMM 2008测试版进行了测试。

  激活Hyper-V只需点击Server Manager的复选框,通过虚拟网络管理选择所用的网络接口卡就能轻松完成。MSCVMM的安装则略有些麻烦,需要一个SQL Server 2005实例,.Net Framework 3.0和Active Directory(激活目录)。幸运的是,MSCMM自动提供了SQL Server 2005快速安装版的选项来解决SQL的问题。虽然.Net 3.0不是缺省激活项,但它和Windows Server 2008操作系统是捆绑的,所以.Net版本的要求对于Server 2008的安装不成问题。

  最终结论

  总之微软公司的服务器虚拟化平台正在顺利发展为数据中心虚拟化竞争中的可行性选择,对于那些在Windows Server技术上重金投资并青睐有加的用户尤其重要。虽然它不像VI3那样久经市场考验,但Hyper-V与MSCVMM的结合也是长期以来以主机为平台的虚拟化服务器基础架构的巨大突破。

  问题是VMware现在会为此坐立不安吗?我不得不说是的。从历史的角度来看没有那家公司显示出象微软那样历经数年几经尝试的耐心和勇气。Hyper-V以它目前的雏形,或许还不足以获取数据中心重量级的青睐。但对于多数用户而言,Hyper-V管理程序将是一款非常不错的产品,微软公司已经开始对VMware的市场份额造成了威胁并积极筹备新一代产品以期最终在竞争中取代VMware在虚拟化领域里的霸主地位。让我们拭目以待吧。

转载 http://www.114vps.com/9/16.htm

最佳ASP.NET开源CMS 利用ROYcms您可以很方便地创建自己的网站。ROYcms集文章、图片、分类信息、商城、广告系统、个人/企业空间、友情链接、公告、调查等10多个功能模块于一身,易用、扩展性强的开源网站管理软件,还可以和国内知名论坛及有API接口的各大系统进行完美整合,轻松实现用户在被整合的各系统里同时注册、同时登陆、同时注销、一站通行等,可以满足各类网站的应用。