第1章WindowsServer虚拟化教学目标:虚拟化简介WindowsServer虚拟化结构虚拟化技术对硬件的要求安装Hyper-V创建和使用虚拟机管理虚拟网络虚拟化解决方案1.1简介如今,数据中心已经成为一个复杂的生态系统。在这个系统中,各种服务器、操作系统以及应用均可与各种桌面及移动客户端进行交互。IT部门承受的压力越来越大,不仅需要管理与支持这类任务关键型技术,而且还要控制成本并保持高可靠性与安全性。采用服务器虚拟化技术——即可将不同的服务器移到集中管理环境中的虚拟机(VM)上)——逐渐成了解决上述难题的理想选择。虚拟化技术有助于显著降低IT成本、集中网络管理、增强网络安全性、改善服务器可用性,同时提高硬件利用率。Microsoft®WindowsServer®2008包括WindowsServerVirtualization(WSv),这是一项功能强大的虚拟化与网络管理技术,使企业无需购买第三方软件即可充分利用虚拟化的优势。由于VM能够提供前所未有的功能来利用可用的硬件,微软及其合作伙伴可为解决各种操作系统(如:Windows、Linux以及支持Xen的Linux)之间的互操作性问题提供一站式支持,并且IT部门可以使用灵活性的、功能强大的工具来同时管理虚拟和物理资源。本章介绍的WSv是微软桌面-数据中心虚拟化战略的重要组件。其中介绍了WSv中的新增与增强型功能如何帮助企业客户解决常见问题:服务器整合、业务连续性/灾难恢复管理、测试与开发以及动态数据中心。此外,本章还重点介绍了如何扩展这些优势来满足小型办公室与分支办公室的独特需求。虚拟化是一项已经被广泛采用的解决方案。80%的企业正在使用或评估虚拟化技术,并亲眼目睹了它在服务器整合、集中化管理及其他节约成本的应用中所表现出来的优势。由于这些优势可极大降低成本,因此企业希望将要求更为严格的工作负荷实现虚拟化。这些企业希望拥有功能更强大、更灵活的虚拟化解决方案,以更好地与其管理工具相集成。64位多处理器多内核服务器的广泛采用激发了对能更好地利用高稳健性处理能力的VM需求。为了适应这些发展,微软创建了WSv,即新一代64位虚拟化技术,以促进对物理与虚拟组件进行灵活的无缝管理。该技术通过动态与可靠的虚拟化功能提供了支持平台的灵活性。1.2WindowsServervirtualization结构基于管理程序的虚拟化WindowsServervirtualization(WSv)采用64位管理程序精心设计。该管理程序是常驻在操作系统与硬件之间很薄的软件层。该管理程序可以在不发生冲突的情况下允许多个VM访问物理存储器与CPU资源。WSv管理程序与虚拟化感知硬件(包括采用IntelVT与AMD“Pacifica”技术的处理器)相结合,能够为来宾操作系统提供高性能与近乎无限的可扩展性。硬件虚拟化由于WSv管理程序充分利用了VT与“Pacifica”技术,因此虚拟化多个操作系统的大部分工作均由系统硬件来执行,很少需要由虚拟化堆栈与管理程序来执行。依赖于硬件的软件仿真的虚拟化平台必须频繁地中断来宾操作系统,中断的方式是将硬件请求随时转换成可与虚拟化环境兼容的形式。IntelVT与AMD“Pacifica”硬件技术可以通过将虚拟化扩展集成到x86结构中,消除许多不必要的随时转换工作。这意味着针对VT与“Pacifica”而设计的虚拟化平台具有更低的开销,并且VM运行效率也更高。硬件虚拟化特性与WSv的软件虚拟化组件之间进行协作,可以创建一款高性能的虚拟化平台。64位结构WSv管理程序采用了64位设计。WSv必须运行于WindowsServer2008x64版之上,并能为VM提供近乎无限的可扩展性。与基于32位结构的虚拟化平台相比,WSv的64位结构可提供更多的存储空间,WSv主服务器可以容纳高达1TB的物理RAM。您可以为WSv托管的每个VM分配64GB的RAM。本章稍后将介绍WSv的动态硬件分配功能,该功能可以根据VM的资源需求将可变的RAM容量(多达64GB)分配给每个VM。这可以将要求更严格的工作负荷进行虚拟化,以便企业可以充分利用该功能来为多个来宾操作系统及VM提供宿主服务。借助资源分配方面的灵活性,可以将多个来宾操作系统整合到单个WSv主机上,每个操作系统在运行时几乎不会降低效率。64位来宾操作系统支持WSv中使用的64位管理程序同时支持32位与64位来宾操作系统。有些应用可能仅存在于32位版本中,也有些应用程序可能仅存在于64位版本中(例如,LOB应用可能在32位版本中,而MicrosoftExchangeServer2007仅可作为64位应用使用)。32位与64位VM均可在同一WSv服务器上相互运行。同时容纳32位与64位VM的灵活性是WSv管理程序的主要优势。64位WSv管理程序所创建的虚拟化基础可支持企业希望遵循的未来成长路线。操作系统分区WSv可以使用分区在多个VM之间分配主机系统硬件资源。分区是对包含单个操作系统的主服务器进行的逻辑分割。父分区包含虚拟化堆栈,用于管理子分区的内存与虚拟设备。子分区是指VM。在WSv中,只能有一个父分区(WindowsServer2008x64实例或WindowsServer2008x64的服务器内核安装),但可以有无数个可配置的子分区。父分区拥有连接到WSv主服务器的键盘、鼠标以及显示器。父分区还包含WindowsManagementInstrumentation(WMI)提供程序,能够简化虚拟化环境各方面的管理。此外,主机系统硬件所需的任何独立硬件厂商(IHV)驱动程序均包含在父分区中。子分区形成了操作系统、应用以及与VM相关的数据文件的逻辑容器。子分区具有对主服务器硬件有限的访问权限,并且必须通过称为VMBus的硬件共享模式来访问这一硬件,本章稍后将对此进行介绍。微内核式(Microkernelized)管理程序架构WSv管理程序采用了与微内核操作系统相同的设计原理。特别是在对操作系统驱动程序及其它易受攻击的组件的执行权限级别较低这一方面,这意味着组件故障或受到攻击时对内核的损害有限或毫无损害。WSv管理程序使用类似的设计方法来实现最小的可信计算基础(TCB),该基础没有任何自己的驱动程序(这些均包含在父分区与子分区中)。此微内核式管理程序结构可提供更稳定、更安全的基础平台来运行VM,尤其是与基于单片管理程序的虚拟化平台相比较,该管理程序将硬件驱动程序集成到了管理程序代码库中。下图显示了WSv结构。内存页面共享(MemoryPageSharing)内存页面共享是一项WSv功能,可最大限度地提高VM内存使用的效率。当两个VM在内存中存储的页面完全相同时,WSv将保留该页面的一个拷贝,并在来宾操作系统需要更改该页时使用写时才拷贝(copy-on-write)语义来简化对共享页面的更改。例如,在使用同一操作系统运行10个VM的WSv主机上,这些VM中很可能有许多共同的页面。WSv可找到这些相同的页面并在所有VM之间共享通用页面。页面共享的效率因工作负载同类或异类的程度不同而有很大差异。例如,10个运行在同一操作系统的VM的页面共享效率比10个运行在10种不同操作系统的VM更高。页面共享可用于任何来宾操作系统,并可更高效地使用主服务器内存资源。1.2.1WSv处理器支持现代的服务器硬件可提供多种处理器配置选项。服务器主板上具有多个插槽(socket),可在其中插有多核处理器。WSv处理器性能主要与可用处理器内核的数量及速度成比例。例如,插有双核处理器两个插槽可以为WSv提供4个处理内核。WSv使用的处理器插槽数量由安装的WindowsServer2008版本确定。下表提供了支持处理器的一些示例:表1:按处理器配置与操作系统版本划分的支持处理器示例处理器配置父分区操作系统效果两个插槽插有双核处理器WindowsServer2008父分区利用四个处理Standardx64器内核可为每个子分区分配多达8个逻辑处理器八个插槽插有双核处理器WindowsServer2008Standardx64父分区利用16个处理器内核可为每个子分区分配多达8个逻辑处理器两个插槽插有双核处理器WindowsServer2008Enterprisex64父分区利用8个处理器内核可为每个子分区分配多达8个逻辑处理器16个插槽插有双核处理器WindowsServer2008Enterprisex64父分区利用8个处理器内核可为每个子分区分配多达8个逻辑处理器备注:1.WindowsServer2008StandardEditionx64能够利用多达4个处理器插槽2.WindowsServer2008EnterpriseEditionx64能够利用多达8个处理器插槽3.WindowsServer2008DatacenterEditionx64能够利用多达16个处理器插槽WSv能够为VM提供作为逻辑处理器的处理器内核。四个插槽插有四核处理器的服务器包含16个处理内核。这16个处理内核可作为逻辑处理器提供给VM。每个VM均可使用多达8个逻辑处理器进行配置。每个逻辑处理器可将该逻辑处理器上VM的计算负载转换成主服务器中物理处理器上的一系列的执行操作。上面的表显示了几种可能的配置以及在每种配置中相应存在的处理器分配。子分区中安装的操作系统将决定可由该操作系统利用的逻辑处理器的数量。1.2.2全新的硬件共享结构VMBusWSv采用了一种全新的硬件共享结构,该结构基于称为VMBus的跨分区通信通道。VMBus是内存总线与分区间通信机制中的一种高速的点到点技术。主机与VM可使用VMBus这种机制来相互通信。如前所述,管理程序可以管理主机系统与VM以及主服务器的内存与处理器之间的交互。VMBus管理磁盘、网络、输入/输出以及视频硬件交互。VirtualizationServiceProviders(VSPs)VSP常驻在父分区中,并可与代表位于子分区中的VirtualizationServiceClient(VMs)主服务器硬件进行交互。VSP可充当多路复用器,允许多个子分区能够共享硬件。例如,在具有10个VM但只有一个物理网络适配器的WSv主机上,父分区中的VSP能够确保所有这些VM均可成功并安全地共享同一个NIC。WSv具有用于存储、网络、输入与视频的VSP。VirtualizationServiceClients(VSCs)VSC是来宾操作系统中的驱动程序,该操作系统可以通过在VMBus上与父分区中的VSP进行通信来间接地访问主服务器硬件。VSC可提供完全假想的虚拟设备(并非仿真设备,后面将对此进行更为详细地介绍),并通过VMBus与父分区中相应的VSP(如:存储、网络、输入或视频)进行通信。有一组VSP在父分区中运行。每个子分区均运行自己的一套VSC,VSC能够与父分区中相应的VSP进行通信。WSv包括集成组件,这些组件取代了MicrosoftVirtualServer2005中使用的VMAddition。MicrosoftVirtualServer2005中的VMAddition用于增强来宾操作系统的性能(通过使用虚拟化感知软件组件来修补来宾操作系统),并提供集成组件来支持各项功能,如从MicrosoftVirtualServer管理界面中清除来宾关断功能。硬件辅助的虚拟化可取消不必要的来宾操作系统修补工作。集成组件可在WSv中执行这些任务。假想设备(SyntheticDevices)WSv中的VMBus结构能够为来宾操作系统提供一种全新的硬件:假想设备。假想设备是映射到物理设备但并非仿真物理设备的虚拟设备。仿真的设备可以创建物理设备的真正软件代表。例如,对来宾操作系统来说,仿真的磁盘控制器与其物理副本无法分辨。这意味着来宾操作系统也同样会体会到其物理副本的限制。假想设备可通过该操作系统集成组件包中的VSC提供给所有来宾操作系统。通常,基于Windows2000Server及更高版本的来宾操作系统可以使用假想设备。下表列出了为所支持来宾的操作系统