1、Windows Server 2008虚拟化技术概览2008-3-18 9:42:00Windows Server 2008虚拟化技术概览 WindowsServer2008的RC0发布很长时间了,早就听说这个版本将会包含一个预览版的WindowsServerVirtualization(WSv)。兄弟我呕血数升,为本本配备了4GB内存、双硬盘,就是要虚位以待,测试一下这个垂涎已久的WSv虚拟化产品。 系统需求 WSv的硬件要求比较高,主要是集中在CPU方面: 1.CPU必须支持硬件虚拟化,例如IntelVT技术或者AMDT技术。 2.CPU必须支持X64位技术。 3.CPU必须支持硬件DEP
2、技术,这是因为WSv对安全要求比较高。 其实不用担心,当前主流的CPU一般都支持以上的要求,只要支持硬件虚拟化,其他两个要求一般能够满足。当然,为了保险起见,在购置硬件设备之前,最好事先到CPU厂商的网站上确认CPU的型号满足以上的要求。 还需要注意的是,必须在系统的BIOS设置里确保开启硬件虚拟化等设置,大多数系统默认关闭CPU的硬件虚拟化支持。 注意必须下载X64位的WindowsServer2008RC0Enterprise,目前只有这个版本才带WSvPreview。 安装过程 安装WindowsServer2008RC0EnterpriseX64比较简单,和WindowsVista没什
3、么区别。首先需要把WSv虚拟化作为一个角色(Role)添加到WindowsServer2008系统中,步骤如下: 1.进入Windows安装目录,定位到wsv子目录,分别运行其下的Windows6.0-KB939853-x64.msu和Windows6.0-KB939854-x64。 2.启动ServerManager管理单元,选中左侧控制台树里的Roles,然后单击右侧详细窗格里的AddRoles命令,在打开的添加角色向导里确保选中“WindowsServerVirtualization”,如附图所示。 3.一路Next,设置一些必要的配置信息,例如配置虚拟网络等,最后系统会提示重启,如附图
4、所示。 原理简述 从表面上看,添加WSv只不过是添加了一个普通Role而已,貌似和添加DNS、DHCP、IIS等没啥区别,实际上内在的变化不小,WSv会在操作系统和硬件层之间添加一层Hypervisor层(必须对BCD数据库进行设置,确保引导时加载带Hypervisor的内核)。WSv是一种基于Hypervisor的虚拟化技术。 Hypervisor是一个很薄的软件层,位于操作系统和硬件之间。由这个Hypervisor直接接管虚机管理的工作,把系统资源划分为多个分区。其中主操作系统所在的分区叫做父分区,虚机所在的分区叫做子分区,如附图所示。可以确保虚机的性能最大化,几乎可以接近物理机器的性能,
5、远胜VirtualPC/VirtualServer/VMwareWorksation/VMwareServer等基于模拟器的虚机。 这和VMWareESXServer的原理是一样的。VMware虽然宣称其产品是直接架构在硬件基础上,但是实际上也是在硬件层面上加载一个Hypervisor层,也有类似“父分区”的概念,虽然从表面上看,VMWareESXServer不需要操作系统,但实际上是有的,是一个定制的RedHatLinux,在安装VMWareESXServer时可以看到RedHat的安装界面。 和VMWareESXServer不一样的是,WSv的Hypervisor称为微内核Hypervis
6、or,比较“瘦”,因为里面不包含底层硬件的驱动。而VMWareESXServer的Hypervisor则比较“胖”(叫做整体Hypervisor),里面包含底层硬件的驱动。 两者的区别在哪里?孰优孰劣? VMWareESXServer采用包含驱动的“胖”Hypervisor,效率可能相对稍微高一点点。 然而这种整体Hypervisor的架构是以降低平台兼容性和安全性为代价的。因为Hypervisor里的驱动不可能涵盖所有的硬件平台,也不可能放入太多驱动,这样就导致能够支持的硬件平台比较少。同时由于Hypervisor直接位于硬件层之上,里面的代码只要存在一点Bug,就可能极大地影响系统的安全性
7、。 而WSv的Hypervisor则不包含驱动,这样就能把Hypervisor层做得尽可能“薄”(TCB部分应该尽量做得小),有利于兼容性和安全性。 实战演练 和VirtualServer不一样,WSv并不是基于Web管理的,而是有一个很“漂亮”的基于MMC3.0的管理界面,如附图所示。 创建虚机的过程很简单,如果熟悉VirtualPC/VirtualServer的炒作,那么WSv虚机的创建简直是小菜一碟。相对于VirtualPC/VirtualServer,除了性能好之外,WSv虚拟化至少还具有以下的一些显著优点: 1.可以指定虚机所使用的虚拟内核,最多可以使用八个内核,如附图所示!当然物理
8、主机要具有那么多内核,而VirtualPC/Server只能使用一个内核。 2.可以创建X64位的虚机,如附图所示。在运行Exchange2007虚机时就能体现出优势来了。 3.在卷影副本(ShadowCopy)特性的帮助下,WSv可以实现任意数量的SnapShot,这可是很多用户期待已久的功能。目前的WSvPreview就可以很好地实现这个功能,而且可以进行热备,几乎不会影响虚机的性能。 4.支持内存的“写时复制”(CopyonWrite)功能,可以极大地节省内存。例如多个虚机如果采用相同的操作系统,就可以共享同一个内存页面,如果某个虚机需要修改该共享页面,可以在写入时复制该页面(所以叫做C
9、opyonWrite机制)。不过当前的WSvPreview还没有实现这个功能。 5.对于非Windows操作系统,例如Linux,提供了很好的支持。 如果Linux版本支持XEN虚拟化,则该Linux虚机可以识别WindowsHypervisor,其性能可以达到最高,例如WSv可以很好地运行SUSELinux,如附图所示。如果该虚机不能识别WindowsHypervisor,WSv照样可以支持,这时候性能就倒退到以前的基于模拟器的虚机。 6.完全支持WMI。我们可以通过WSH或者PowerShell对WSv进行全面管理。当然也可以通过友好的MMC管理单元对WSv进行管理。 7.今后WSv可以安装在ServerCore上,具有良好的安全性和性能。当前的WSvPreview版本还不支持安装在ServerCore上。 7.在SystemCenterVirtualMachineManager2007R2等产品的支持下,WSv还可以实现P2V(物理机到虚机)的迁移,可以把虚机从一台Host无缝迁移到另外一台Host上(虚机无需停机);甚至可以根据虚机CPU、内存或者网络资源的利用率设置触发事件,自动给运行关键业务的虚机热添加CPU、内存或者网络资源! 8.每个VirtualServer虚机最多支持3.6GB内存,而WSv虚机最多可支持32GB内存,这对于一些大型应用来说,是很有意义的。