Hyper-V是微软伴随Windows Server 2008最新推出的服务器虚拟化解决方案,跟微软自家的Virtual PC、 Virtual Server等产品相比,有着很显著的区别:Hyper-V在构架上绝对是一个突破性的进展。两者对比如下:



   





    就是这个一个"重量级"的角色,但在代码上绝对算得上是 "轻量级",因为代码仅有300多K,且不包含任何第三方驱动,驱动程序和全新的 IO 共享模型一起托管在父分区中。与Virtual Server要经过3层的转换相比,Hyper-V的基本架构简化了虚拟机和硬件之间的层数,这种构架使得虚拟机和硬件之间只通过很薄的一层进行连接,因而虚拟机执行效率非常高,可以更加充分的利用硬件资源,使虚拟机系统性能非常的接近真实的操作系统性能。


 


  Hyper-V采用基于VMbus的高速内存总线架构,来自虚机的硬件请求(显卡、鼠标、磁盘、网络),可以直接经过VSC,通过VMbus总线发送到根分区的VSP,VSP调用对应的设备驱动,直接访问硬件,中间不需要Hypervisor的帮助。


 


   Hyper-V系统架构


 


  Hyper-V采用微内核架构,底层的Hypervisor运行于最高特权级别下,微软称之为ring -1,虚拟机操作系统内核和驱动运行在ring 0,应用程序则运行在ring 3下,采用这种架构不需要采用复杂的BT(二进制特权指令翻译)技术,从而可以进一步提高系统的安全性。


   




它是如何工作的?


 


  为了了解Hyper-V,首先考虑一下它的三个主要组件:分别是管理程序(hypervisor)、虚拟化堆栈以及新的虚拟化I/O模型。Windows的管理程序基本上用来创建不同的分区,而代码的每一个虚拟化实例会在这些分区上运行。虚拟化堆栈以及I/O组建提供了和Windows自身的交互功能以及和被创建的不同分区的交互功能。


 


  所有的这三个组件都是顺序的工作。使用装备有Intel VT-或者AMD-V-enabled技术处理器的服务器,Hyper-V可以和管理程序交互,而管理程序是一个非常小的软件,该软件直接在处理器上。这个软件会和运行着操作系统的处理器上的线程挂钩,而该线程可以有效地管理多个虚拟机、多个虚拟操作系统,而这些都运行在单一的物理处理器上。


 


  因为这里没有第三方的软件产品或者驱动用来安装,你几乎可以得到完全的兼容性保证。伴随着有效的进程管理,你可以在你虚拟化服务的主机上“热插拔”各种资源。从处理器到内存、到网卡、再到附加的存储媒介,你可以增加这些设备到你的机器上,而不需要停掉任何的服务并且中断用户的会话。你也可以拥有64位的客户会话,该会话对于今后采用64位软件的公司是一个很大的好处。你可以虚拟化你的系统迁移、节省部署上的成本,并且当你完成迁移后,你可以评估到底需要多少台物理主机。


 


高可用性


 


  虚拟化背后的一些想法不仅仅是减少机器的副本以及节省成本,还包括可以确保可用的服务比起那些不采用虚拟化的服务器数量更多。在这种上下文环境中,Hyper-V包括了对多个客户集群的支持。


 


  除此之外,你还可以将多个运行着Hyper-V组件的物理机做成集群,因此虚拟化的实例可以从另外一台主机上恢复,当主要的主机发生实效时。最后,你能够将一个虚拟客户从一台物理主机上转移到另外一台上,而不需要关机时间、减少服务以及重新组织,而这些工作一般会极大地限制生产服务的效果。


 


  你同样还可以利用Windows Server 2008上的新的磁盘配额特色,它可以让你在多个位置拥有集群——举例来说,在美国的东西海岸、或者整个世界的不同大洲之间。你可以这样做,同时并不需要在它们之间有一个单一的共享磁盘,而这一点在使用Windows Server 2003操作系统上的集群是必须的。


 


  除此之外,你可以在Windows Server 2008的服务器核心安装上实现Hyper-V,并且利用这种部署所带来的稳定性和额外负担。当然,这也会带来高可用性对象的切实好处。


转载于:https://blog.51cto.com/mapei/130589