微软拥有3个可以在其上建立、配置、使用虚拟机的虚拟化平台产品,分别是最新的Hyper-V、还有大家熟悉的Virtual PC和Virtual Server。从技术架构上讲,Hyper-V和后两者有着很大区别。为了解释清楚这种区别,我们先来说明两个名词:
宿主机:即物理机,在其上运行虚拟化平台和虚拟机。
虚拟机:即在虚拟化平台上建立出来的完整的虚拟的操作系统环境(OSE)。
父分区:宿主机。
子分区:虚拟机。
Hyper-V的架构如下图所示,这个全新的架构和以前的虚拟化平台架构的最大区别就在于父分区的位置。
Hyper-V系列:Hyper-V的全新架构和应用场景
对于Virtual PC和Virtual Server来说,父分区是位于子分区和宿主机之间的一层,因此当子分区中的虚拟机需要和宿主机的硬件进行通信时,必须要经过父分区的中转,也就是必须要经过宿主机的操作系统。对于最上面的虚拟机来说,根本看不到任何物理设备,所有的物理设备都是由宿主机模拟出来的。这也就是常说的全虚拟化。这样一来,必定会使得虚拟机和宿主机物理设备之间的通信、数据传输的速度大大减慢,虚拟机也就无法像真实的物理机一样高效的对外提供服务。低负载时这种情况还不明显,如果服务的负载增加,则虚拟机很难满足业务需要。
Virtual PC和Virtual Server的架构还有一个问题,就是宿主机操作系统的正常与否将直接影响到虚拟机的运行。因为所有虚拟机全部位于宿主机操作系统之上,宿主机的当机将使得虚拟机也停止工作。
而在Hyper-V的架构中,我们可以看到父分区的位置挪到了子分区的旁边,换句话说,宿主机操作系统和虚拟机操作系统是平级的,没有谁依附谁之上的关系。对比上面的内容,这样的架构的优势是显而易见的:父分区的挪走将使得虚拟机可以直接和物理设备进行通信和数据交换。现在CPU厂商– Intel和AMD– 都已经开放了相应的设备控制权,允许虚拟机直接访问CPU和内存的一部分资源。虚拟机看到的所有设备不再都是虚拟出来的,有部分的硬件资源是真实的物理设备,这就是所谓的半虚拟化概念。这样,虚拟机访问硬件设备的速度将大大提高。我们从而可以使用这样一套架构来构建虚拟机,并让虚拟机代替物理服务器提供服务,在负载增加时,只要为虚拟机分配了足够的物理资源,我们也不必担心虚拟机的性能了。
而且,这种架构也增加了整个虚拟化架构的稳定性。父分区(也就是宿主机操作系统)的问题不会对虚拟机产生直接的影响,因为它们没有上下关系,都是平级的。
由此我们看到Hyper-V全新的架构确实能够使得虚拟机的性能大增,甚至代替物理机。那么我们都可以在哪些场景下使用Hyper-V呢?一般说来,服务器整合是使用Hyper-V实现服务器虚拟化的典型应用场景。换句话说,当你希望实现服务器整合时,就可以使用Hyper-V帮助你了。
可到底为什么要服务器整合?不整合成不成?这就要从企业中的数据中心现状说起了。据多份资料统计,越来越庞大的数据中心导致过多的能源消耗,耗费企业大量的成本投入,而服务器的低利用率也使得资源浪费更加明显。据调查,企业中的绝大部分服务器的利用率仅在10%-15%,为什么会这样?答案很简单,企业中经常因为服务或者应用之间有冲突或者兼容性问题而选择让一台服务器独立运行一个服务或者应用,这样虽然可以保证系统的稳定性,但造成的系统资源浪费同样不可忽视。
基于这样的背景和需求,服务器虚拟化诞生了,借助服务器虚拟化我们可以很容易的实现服务器的整合。因为在Hyper-V这个虚拟化平台之上,每个虚拟机之间是独立运行的,互不干扰,这就解决了冲突和兼容性问题。同时,将多个物理机转换成虚拟机后,完全可以放到一台性能较好的服务器上面运行,也就是实现整合的过程,这样的结果又提高了服务器的运行效率。企业规模越大,整合服务器越多,企业节省的能源也就越多,成本投入越少。
所以说,Hyper-V全新的架构为企业中的服务器虚拟化提供了良好的平台,借助此平台,任何企业都可以实现服务器整合从而从中获益。