目录
Windows Server 2012 Hyper-V:更完善的虚拟化平台
Hyper-V 支持 Offloaded Data Transfer(ODX)
© 2012微软公司,保留所有权力。本文包含有关预发布产品的信息,产品在最终正式发布前有可能继续改进。本预发布产品也有可能不会正式发布。对于本文所含信息,微软不提供任何明示或暗含的担保,本文档提供的信息仅供参考使用。
Windows Server 2012 Hyper-V:更完善的虚拟化平台
传统数据中心使用物理服务器构建而来,每台服务器运行专门的负载。数据中心内每台服务器的设计、购买、部署,以及维护都以所运行的某个负载为目标。如果负载被淘汰或升级,物理服务器就只能转为他用或淘汰。
这种做法存在几个严重的不足,主要包括:
l 服务器利用率低,导致运作成本相对较高,因为无法优化物理空间的分配与电力消耗。
l 较长的部署周期:数据中心内针对每个负载,新服务器的采购流程与手工部署操作都过于繁琐。
虚拟化技术促成了新一代数据中心。负载不再需要通过专用服务器运行,您可以在更大型,更强大的服务器上运行多个负载。这种做法解决了服务器利用率低的问题,并可减少数据中心内物理服务器的数量,以及相应的能源消耗。
通过使用 Hyper-V,组织可以使用比以往任何时候都简单的方法,通过虚拟化技术充分节约成本,并将多个服务器角色作为独立虚拟机在一台物理服务器上进行整合,优化服务器的硬件投资。您可以使用 Hyper-V 高效率地运行多种操作系统,如:Windows、Linux,以及其他系统,这些系统可以在一台物理服务器上同时运行。Windows Server 2012通过更多功能,更高扩展性,以及进一步内建的可靠性机制,对这种做法提供了强有力的补充。
在数据中心,在桌面,甚至在云端,由 Hyper-V 及其管理工具所引领的微软虚拟化平台更具吸引力,相比竞争对手的产品能够提供更出色的价值。
更安全的多租户环境
假设您需要通过共享的基础架构为多个客户提供服务,并且您的目标是让每个客户的数据相互独立,此外还要保护所有客户的信息。这意味着您必须为属于不同客户的不同负载提供全面隔离。同时这也意味着您的客户无论对隔离有着怎样的需求,都不需要设置独立的物理环境。在 Windows Server 2012之前,服务器虚拟化技术可以在虚拟机之间提供较好程度的隔离,但数据中心的网络层依然无法全面隔离。默认情况下,这个网络层需要对相同基础架构中运行的不同负载提供第二层的连接。在物理数据中心内,为了满足客户的需求进行隔离,但同时不能影响云环境的使用,这样的隔离往往非常复杂。Windows Server 2012通过下列功能可提供更安全的多租户环境:
l 多租户安全与隔离。该功能提供了足够的灵活性,可对任何节点上运行的虚拟机的客户访问进行限制,同时依然保持网络与存储通讯的隔离。
l 通过扩展 Hyper-V 可扩展交换机获得新功能。Hyper-V 可扩展交换机允许第三方开发插件扩展,为您提供更好的网络与安全功能,解决复杂度问题,并满足您对虚拟化环境的各项需求。
灵活的基础架构,随时随地满足您的需求
服务器的添加和删除变得更快更简单。类似 Hyper-V 网络虚拟化(可让您创建无法访问虚拟本地局域网(VLAN)的虚拟子网)以及改进的实时迁移功能(可让您用最小停机时间移动运行中的虚拟机)等功能为您提供了所需的灵活性,供您在需要时用简单的方法在数据中心内放置和移动服务器。Windows Server 2012通过下列全新以及改善的功能扩展了服务器基础架构的灵活性,这些功能包括:
l 通过 Hyper-V 网络虚拟化技术扩展到VLAN之外。网络虚拟化技术为您提供了足够的灵活性,供您将虚拟机放置到任何节点,而无须关心其 IP 地址,哪怕节点位于云端。
l 不停机迁移虚拟机。实时迁移的改进提供了所需灵活性,供您毫无限制同时移动多个虚拟机,甚至可以移动到群集环境之外。
l 不停机移动虚拟机存储。您可以在完全不停机的情况下移动虚拟磁盘。
l 可靠地导入虚拟机。虚拟机导入向导使您更容易,更安全地导入多个虚拟服务器。
l 合并运行中虚拟机的快照。该功能可对虚拟机的快照进行实时合并。现在您可以在影响最少用户的情况下将虚拟机返回到之前的状态或时间点。
l 使用 Hyper-V 的全新自动化支持。IT 专业人员可以轻松实现自动化的 Hyper-V 管理任务,减少企业云计算环境的管理负担。该支持为您提供了超过140个 Windows PowerShell 使用的 Hyper-V cmdlet。
扩展,性能,以及密度
为了设计能够支持大规模扩展的数据中心,在容量方面有诸多因素需要考虑:
l 虚拟机密度。
l 运行高性能服务器,充分利用硬件领域的创新。
l 尽量利用硬件加速技术。
Windows Server 2012包含的大量新功能可充分利用服务器、网络适配器,以及存储设备领域的最新硬件。这些功能都有助于提升数据中心可扩展性,同时需要数量较少的服务器就能运行更多虚拟机负载。这些功能包括:
l Hyper-V 宿主机扩展与扩展负载支持。通过这种支持,您最多可以在硬件上配置320颗逻辑处理器和 4TB 物理内存,并能在虚拟机中配置最多64颗虚拟处理器和 1TB 内存。您还可以在一个群集中最多包含64个节点与4,000个虚拟机。
l Hyper-V 对动态内存技术的改进。这些改进极大提升了虚拟机的整合率,并增强重启动等操作的可靠性,可降低成本,尤其是在某些具有较多空闲或低负载虚拟机的环境,例如 VDI中。
l Hyper-V的资源计量。资源计量功能使您能够追踪并记录每个 IP 地址或每个虚拟机所传输的数据量,帮助您实现准确的记账和收费。
l 新的虚拟磁盘格式。这种新格式叫做 VHDX,通过提升 4-KB 磁盘的存储容量、保护数据、改善质量性能,在设计上可以更好地处理当前及未来的负载,满足企业不断变化的需求,此外还可提供额外的运作改良功能。
l Hyper-V 支持Offloaded Data Transfer(ODX)。通过支持这种数据传输方式,CPU 可以更专注于处理应用程序的需求,而无需因为处理网络或存储操作面临超负荷运行的情况。
l 数据中心桥接(DCB)。通过使用先进的聚合式 10Gb 局域网(LAN),DCB 可充分利用最新创新,并可降低维持独立网络、管理,以及实时迁移与存储通讯等所产生的成本和困难。
l Hyper-V 支持虚拟光纤通道。该功能使得 Hyper-V 客户端操作系统可以通过光纤通道组建群集。
l 在 Hyper-V 虚拟磁盘中支持 4-KB 磁盘扇区。对 4,000字节(4-KB)磁盘扇区的支持使得您能够充分利用存储硬件领域的创新,获得更高容量与可靠性。
l 服务质量(QoS)。通过指定某台虚拟机或某个端口的最小带宽,QoS 使得您能够用编程的方式保障服务级别协议(SLA)。通过为虚拟机或端口分配可用的最大带宽,还能解决延迟问题。
高可用性
构建可高度扩展的数据中心还需要满足对冗余的需求。现代数据中心内,没有任何一个组件能够永远工作,但通过恰当的平台支持,数据中心在设计上可以:
l 更好的应对故障情况。
l 让迁移到虚拟化平台的客户能够更快速恢复。
为确保 Windows Server 2012能够满足并超越高可用性方面的需求,该系统提供了很多新功能,包括:
l 增量备份。该功能可对虚拟磁盘进行真正的差异磁盘备份,确保数据的备份和还原可以在必要时进行。同时该功能还可降低存储成本,因为只需要备份有改动的数据,而不需要备份整个磁盘。
l Hyper-V 副本。Windows Server 2012内建支持异步式应用程序一致性虚拟机复制。该功能可在两个位置间对 Hyper-V 虚拟机进行复制,确保业务连续性与灾难恢复。Hyper-V 副本功能可用于任何服务器供应商、网络供应商,以及存储供应商的设备。
l 网卡捆绑(NIC Teaming)。服务器通常需要完整的冗余能力。在网络层面,这意味着两个网络适配器需要捆绑在一起,充当一个适配器使用。如果一个适配器故障,另一个依然可以保障到服务器的连接。网卡捆绑除了能提供负载平衡与聚合带宽的功能,还能提供故障转移。
l Hyper-V 群集功能的改善。通过为虚拟化平台创建群集,可增强可用性,并保证在计划内或计划外停机时间里依然可以访问基于服务器的应用程序。Windows Server 2012为您的Hyper-V 群集环境提供了大量改进。
更安全的多租户环境
本节将简要介绍Windows Server 2012中可为您的虚拟化环境提供更安全多租户环境的 Hyper-V 功能。本节包含下列内容:
l 多租户安全与隔离
l 通过扩展 Hyper-V 可扩展交换机获得新功能
多租户的安全与隔离
虚拟化的数据中心的数量在日益普及,也更加实用。IT 组织与托管供应商都开始提供基础架构即服务(IaaS)产品,该产品可为客户提供更灵活的虚拟化基础架构—“按需获得服务器实例”。由于这种趋势的发展,IT组织与托管供应商必须为不同客户提供更好的安全性与隔离。
如果您为两家公司提供托管服务,就必须确保每家公司都能获得自己所需的隐私与安全。在 Windows Server 2012之前,服务器虚拟化技术可以在虚拟机间提供较好程度的隔离,但数据中心网络层依然无法全面隔离,需要对相同基础架构中运行的不同负载提供二层连接。
对托管供应商来说,虚拟化环境的隔离必须获得与物理数据中心隔离类似的效果,不仅要能满足客户预期,而且不应妨碍云技术的使用。
就算在企业环境中,隔离也一样重要。虽然所有内部部门同属于一个组织,但某些负载与环境(例如财务与人力资源系统)依然需要彼此隔离。提供私有云服务,并向 IaaS 运作模式迁移的IT 部门必须考虑此类需求,并提供一种将高度敏感的负载进行隔离的方法。
Windows Server 2012通过Hyper-V 可扩展交换机技术提供了新的安全与隔离功能。
技术描述
Hyper-V 可扩展交换机(Hyper-V Extensible Switch)是一种第二层上的虚拟网络交换机,可提供编程式的管理和扩展功能,让虚拟机通过借助策略强制实施的安全与隔离设置连接到物理网络。下图所示的是一个包含Hyper-V 可扩展交换机的网络:
一个包含 Hyper-V 可扩展交换机的网络
在 Windows Server 2012中,您可以配置 Hyper-V 服务器对任何隔离组强制实施网络隔离,而这样的隔离组通常可为特定客户或一组负载专门指定。
Windows Server 2012通过下列新功能为多租户环境提供隔离与安全:
l 通过私有虚拟 LAN(PVLAN)隔离多租户虚拟机。
l 保护防范地址解析协议(Address Resolution Protocol)/邻居发现(Neighbor Discovery,ARP/ND)仿冒。
l 保护防范动态主机配置协议(DHCP)仿冒与 DHCP防护。
l 按照虚拟端口访问控制列表(ACL)的使用进行隔离与计量。
l 将传统的VLAN转换到虚拟机的能力。
l 监控。
l Windows PowerShell/Windows 管理规范(Windows Management Instrumentation,WMI)。
通过 PVLAN 隔离虚拟机
VLAN 技术通常用于划分网络,并为共享同一物理基础架构的不同组提供隔离。Windows Server 2012开始支持PVLAN,这种技术可与 VLAN配合使用在同一 VLAN 的不同虚拟机之间,借此即可实现隔离。
如果虚拟机不需要与其他虚拟机通讯,即可使用 PVLAN 将其与数据中心内的其他虚拟机隔离。通过将每台虚拟机分配到 PVLAN,会创建一个主要 VLAN ID 以及一个或多个从属 VLAN ID,您可以将这些从属 PVLAN 设置为下列三种模式(如下表所示)之一。这些 PVLAN 模式决定了一台虚拟机可以与同 PVLAN 中的哪些其他虚拟机通讯。如果想要隔离某台虚拟机,只要将其设置为隔离模式即可。
PVLAN模式 |
描述 |
隔离(Isolated) |
被隔离的端口无法在第二层与其他端口交换数据包。 |
混合(Promiscuous) |
混合模式的端口可与具有相同主要VLAN ID 的任何其他端口交换数据包。 |
公共(Community) |
位于相同 VLAN ID 的公共端口可在第二层交换数据包。 |
下图所示的是使用这三种 PVLAN 模式对共用同一个 VLAN ID 的虚拟机进行隔离的方法。
主 VLAN ID 2的 PVLAN 示例
ARP/ND防病毒和仿冒保护
Hyper-V 可扩展交换机可防范恶意虚拟机通过 ARP 仿冒方式从其他虚拟机处盗用 IP 地址(在 IPv4 中这种做法也叫做 ARP 投毒)。通过这种类型的中间人攻击,恶意虚拟机即可发送假冒的 ARP 信息,并将自己的 MAC地址与自己不具备的 IP 地址相关联。可信虚拟机会将网络通讯发往恶意虚拟机的 MAC 地址所对应的 IP 地址,而不是最初想要联系的目标。对于 IPv6,Windows Server 2012也针对 ND 仿冒提供了相似的保护。
DHCP Guard防护
在 DHCP 环境中,伪造的 DHCP 服务器可以拦截客户端 DHCP 请求,并提供错误的地址信息。伪造的 DHCP 服务器可能会导致通讯被路由到恶意中间方,而这样的中间方可以首先嗅探所有通讯,随后才将其转发到合法目的地。为了防护这种特殊的中间人攻击,Hyper-V 管理员可以指定 DHCP 服务器所能连接到的 Hyper-V 可扩展交换机端口。来自其他 Hyper-V 可扩展交换机端口的DHCP 服务器通讯会被自动丢弃。Hyper-V 可扩展交换机已经可以保护防范伪造的 DHCP 服务器尝试提供可能导致通讯被重新路由的 IP 地址。
用于网络隔离与计量的虚拟端口ACL
端口 ACL 提供了一种针对 Hyper-V 可扩展交换机的虚拟端口进行网络隔离和网络通讯计量的方法。通过使用端口 ACL,您就可以对能够(或不能)与虚拟机通讯的 IP 地址或 MAC 地址进行通讯的 IP 地址进行计量。例如,您可以使用端口 ACL 让其只能与预定义的一系列地址或互联网通讯,对虚拟机进行强制隔离。通过使用计量功能,即可针对特定 IP 地址或 MAC 地址统计发送或接收的网络通讯量,随后就能对从互联网及存储阵列发送或接收的通讯创建报表。
对于一个虚拟端口,可以配置多个端口 ACL。每个端口 ACL 都包含来源或目标网络地址,以及禁止或允许计量操作的许可。计量功能还可提供有关通讯尝试从受限制(“拒绝”)地址的虚拟机发送或接收通讯的实例数量的信息。
将传统的VLAN转换到虚拟机的能力。
VLAN 可让一组宿主机或虚拟机忽略实际物理位置,表现为就好像位于同一个本地 LAN中。通过 Hyper-V提供的可将传统的VLAN转换到虚拟机的能力。,来自多个 VLAN 的通讯可以导向到虚拟机中的同一个网络适配器,而这样的适配器以往只能从一个 VLAN 接收通讯。因此来自不同 VLAN 的通讯会被整合,虚拟机可以监听多个 VLAN。该功能可帮助您规划网络通讯,并在数据中心强制实施多租户安全性。
监控
很多物理交换机可以监控来自特定端口的,通过连接该交换机的指定虚拟机产生的通讯。Hyper-V 可扩展交换机也提供了这样的端口监控功能。您可以指定要监控哪些虚拟端口,以及发往哪个虚拟端口的被监控通讯需要进行进一步处理。例如,安全监控用虚拟机可以在连接到交换机的其他指定虚拟机的通讯中寻找反常模式。此外,通过对绑定到特定虚拟交换机端口的通讯进行监控,您还可以诊断网络连接问题。
Windows PowerShell 与 WMI
Windows Server 2012为 Hyper-V 可扩展交换机提供的 Windows PowerShell cmdlet 可用于构建命令行工具,或开发出用于安装、配置、监控,以及错误诊断的自动化脚本。这些 cmdlet 可以以远程的方式运行。Windows PowerShell 还支持第三方构建自己的工具,并将其用于管理 Hyper-V 可扩展交换机。
前提要求
多租户安全与隔离需要使用 Windows Server 2012以及 Hyper-V 服务器角色。
总结
Windows Server 2012多租户隔离确保客户虚拟机的隔离,就算所有虚拟机位于同一台物理服务器上也可以完整隔离。通过全新的 Hyper-V 可扩展交换机,Windows Server 2012为使用共享式 IaaS 的客户提供了更好的多租户安全,Hyper-V 可扩展交换机在多租户安全性与隔离方面可提供的收益包括:
l 安全与隔离。Hyper-V 可扩展交换机通过支持 PVLAN,保护防范 ARP仿冒,保护防范 DHCP 嗅探,虚拟端口 ACL,将传统的VLAN转换到虚拟机的能力,可以为 IaaS 多租户提供更好的安全性与隔离。
l 监控。通过端口监控功能,您可以在虚拟机上运行安全与诊断应用,并将其用于监控虚拟机的网络通讯。端口监控还支持扩展配置的实时迁移。
l 可管理性。您现在可以使用对 Windows PowerShell 与 WMI 的支持构建命令行与自动化脚本,并能获得完整的事件日志功能。
Windows Server 2012中的多租户隔离打消了组织不愿意在自己的数据中心内部署 Hyper-V 的主要顾虑。这两个顾虑分别是:(1)、为确保客户虚拟基础架构之间的隔离,在以太网交换基础架构中实施 VLAN 导致额外的管理负担;(2)、多租户虚拟化环境的安全隐患。通过 Windows Server 2012中的 Hyper-V,您可以使用端口 ACL 将不同客户的网络进行隔离,同时并不需要设置并维护 VLAN。此外,您的安全需求可以通过防范 ARP 仿冒与 DHCP 嗅探得以满足。
通过扩展 Hyper-V 可扩展交换机获得新功能
很多企业需要通过自己的插件对虚拟交换机功能进行扩展,以满足对虚拟化环境的需求。当IT 专业人员安装虚拟交换机时,他们通常会尝试使用能够提供与物理交换机相同功能的技术,例如添加防火墙、入侵检测系统,以及网络通讯监控工具。然而这里的挑战之处在于,需要使用一种简单的方法给虚拟交换机添加虚拟化的设备、扩展,以及其他功能和特性。大部分虚拟交换机技术都以封闭系统为基础构建而来,因此企业开发人员与第三方供应商很难以此为基础构建解决方案,更难以在这些虚拟交换机中安装新的功能。
Hyper-V 可扩展交换机改变了这一切。通过使用 Hyper-V 可扩展交换机,IT 专业人员可以轻松添加更多功能到自己的虚拟交换机和网络中。同时,企业内部的开发人员和第三方供应商有了一个开放式平台,可创建解决方案并扩展交换机的基本功能。如果您需要负责制定贵公司的 IT 采购决策,那么必须确保自己所选的虚拟化平台不会将您锁定到少量功能、设备,或技术所组成的封闭环境中。
在 Windows Server 2012中,Hyper-V 可扩展交换机提供了全新的可扩展功能。
技术描述
Windows Server 2012中的 Hyper-V 可扩展交换机是一种第二层上的虚拟网络交换机,可提供编程式的管理和扩展功能,让虚拟机连接到物理网络。Hyper-V 可扩展交换机是一种开放式平台,可供多个供应商使用标准Windows API 框架编写并提供扩展。通过 Windows 标准框架,扩展的实用性得以提高,需要第三方编写的代码数量可以明显减少,并能获得来自 Windows 硬件质量实验室(WHQL)认证项目的支持。您可以使用Windows PowerShell、通过 WMI 用编程式方法,或使用 Hyper-V 管理器界面管理 Hyper-V 可扩展交换机及其扩展。
本节将专注于针对第三方扩展的开放式扩展能力与可管理能力。有关 Hyper-V 可扩展交换机的额外信息,请参考本白皮书“服务质量(QoS)”与“多租户安全与隔离”等章节。
扩展能力
Windows Server 2012中Hyper-V 可扩展交换机的架构是一种开放式框架,可以让第三方为虚拟交换机添加新的功能,例如监控、转发,以及过滤。扩展的实施需要使用网络设备接口规范(NDIS)过滤驱动,及Windows 过滤平台(WFP)Callout驱动。这两个用于扩展 Windows 网络功能的公开 Windows 平台用法分别如下:
l NDIS 过滤驱动主要用于在 Windows 中监控或修改网络数据包。NDIS过滤器是NDIS 6.0 规范中首次引入的。
l WFP Callout驱动则是在 Windows Vista 与 Windows Server 2008中引入的,可供独立软件供应商(ISV)创建驱动,对 TCP/IP 数据包进行过滤或修改,监控或授权连接,过滤受到 IP 安全(IPsec)技术保护的通讯,以及过滤远程过程调用(RPC)。过滤和修改 TCP/IP 数据包对 TCP/IP 数据包处理路径提供了无可比拟的访问方式。在这个路径中,您可以在执行其他处理操作前检查或修改传出和传入的数据包。通过在不同层面访问 TCP/IP 处理路径,可以更容易创建防火墙、反病毒软件、诊断软件,以及其他类型的应用程序和服务。。
扩展可以增强或替换交换机处理过程的下列环节:
l 入口过滤
l 目标查询和转发
l 出口过滤
此外,通过监控扩展您还可以在交换机的不同层面监控通讯,获取统计数据。Hyper-V 可扩展交换机可以在入口和出口部分支持多个监控与过滤扩展。每个交换机实例只能使用一个转发扩展实例,并且该实例会覆盖Hyper-V 可扩展交换机的默认交换。
下表列出了不同类型的 Hyper-V 可扩展交换机扩展。
扩展 |
用途 |
可能的范例 |
可扩展组件 |
网络数据包检测 |
检测网络数据包,但并不修改 |
sFlow 及网络监控 |
NDIS 过滤器驱动 |
网络数据包过滤 |
注入、修改,并丢弃网络数据包 |
安全 |
NDIS 过滤器驱动 |
网络转发 |
绕过默认转发的第三方转发 |
OpenFlow、虚拟以太网端口聚合器(VEPA),以及专用网络设施 |
NDIS 过滤器驱动 |
防火墙/入侵检测 |
过滤并修改 TCP/IP 数据包,监控或授权连接,过滤受到 IPsec 保护的通讯,过滤 RPC |
虚拟防火墙及连接监控 |
WFP Call Out驱动 |
Hyper-V 可扩展交换机提供了一种开放式的交换 API,可用于在 Hyper-V 中对交换机进行增强,或改善产品的管理工作。
Windows Server 2012中的 Hyper-V 可扩展交换机是一种开放式框架,可供第三方为虚拟交换机添加新功能。下图演示了 Hyper-V 可扩展交换机的架构与扩展模式。
Hyper-V 可扩展交换机的架构
Hyper-V 可扩展交换机扩展能力的其他功能包括:
l 扩展监控。通过监控扩展,您还可以在 Hyper-V 可扩展交换机的不同层面监控通讯,获取统计数据。Hyper-V 可扩展交换机可在入口和出口部分支持多个监控与过滤扩展。
l 扩展唯一性。同一台计算机上可扩展交换机每个实例的扩展状态/配置都是唯一的。
l 扩展可以获知虚拟机的生命周期。虚拟机的活动周期类似物理服务器,根据其运行负载的不同,在每个白天或夜晚的不同时段存在峰值时期。扩展可以根据虚拟机所运行负载的周期了解网络通讯的流动情况,并对虚拟网络进行优化,提供更好的性能。
l 扩展可对状态的变动进行否决。为了进一步改善性能、可管理性,以及诊断能力,Hyper-V 可扩展交换机的扩展可以实施监控,保证安全性,并提供其他功能。通过识别有害的状态变动,并制止变动的实施,扩展还可确保您系统的安全与可靠性。
l 一台交换机可以使用多个扩展。多个扩展可在同一台 Hyper-V 可扩展交换机上共存。
可管理性
通过使用 Hyper-V 可扩展交换机内建的下列管理功能,您可以对 Hyper-V 可扩展交换机网络中的故障进行排错和解决:
l Windows PowerShell 与脚本的支持。Windows Server 2012为 Hyper-V 可扩展交换机提供的 Windows PowerShell cmdlet 可用于构建命令行工具,或开发用于安装、配置、监控,以及排错的自动化脚本。Windows PowerShell 还支持第三方构建基于 Windows PowerShell 的工具,并将其用于管理 Hyper-V 可扩展交换机。
l 统一的追踪与增强的诊断。Hyper-V 可扩展交换机包含统一的追踪功能,可提供两种级别的排错。在第一级别下,Hyper-V 可扩展交换机的 Windows 事件日志(ETW)提供方可以对通过 Hyper-V 可扩展交换机以及扩展的数据包进行追踪,因此更容易找出问题所在。第二级别则可捕获数据包,对事件和通讯数据包进行更彻底的追踪。
前提要求
Hyper-V 可扩展交换机的扩展能力完全构建于 Hyper-V 服务器角色中,因此需要 Windows Server 2012。
总结
Hyper-V 可扩展交换机是一套开放式平台,因此第三方供应商可以提供插件,借此获得额外功能,例如通讯监控、防火墙过滤,以及交换转发。这些插件的管理可统一通过 Windows PowerShell cmdlet以及 WMI 脚本进行。
通过提供下列功能,Hyper-V 可扩展交换机让数据中心虚拟化的实施和管理变得更容易:
l 一套平台用于所有插件。Hyper-V 可扩展交换机是一套开放平台,可将插件植入虚拟交换机的通讯之间,包括虚拟机到虚拟机的通讯也可支持。扩展可提供通讯监控、防火墙过滤,以及交换转发等功能。为吸引生态系统成员的参与,在 Hyper-V 可扩展交换机发布时,将会有很多合作伙发布自己的扩展。Hyper-V 不再“只能使用一个交换机”。
l 核心服务都是免费的。核心服务就是所提供的扩展。例如,所有扩展默认都能支持实时迁移,服务并不需要进行特殊的针对性开发。
l Windows 的可靠性与质量。通过 Windows 平台以及 Windows 基准认证项目的支持,扩展可以获得高级别的可靠性与质量,这一切为扩展的质量树立了标杆。
l 统一式管理。通过 Windows PowerShell cmdlet 以及 WMI 脚本,扩展的管理可以完全集成到 Windows 的管理工作中。只需要一种管理。
l 更容易获得支持。统一追踪意味着遇到问题后的诊断工作可以更快更简单。减少停机时间,提升服务可用性。
l 支持实时迁移。Hyper-V 可扩展交换机提供的功能使得扩展可以参与到 Hyper-V 实时迁移活动中。
Hyper-V 可扩展交换机为第三方供应商提供了足够的自由,可以开发自定义解决方案,借此处理 Windows Server 2012虚拟网络中的网络通讯。例如,这些解决方案可以用于模拟供应商的物理交换机及其策略,或监控和分析通讯。
灵活的基础架构,随时随地满足您的需求
本节简要介绍了 Windows Server 2012中能够提供灵活的基础架构,随时随地满足您需求的 Hyper-V 新功能。本节包含下列内容:
l 通过 Hyper-V 网络虚拟化技术扩展到 VLAN 之外
l 不停机迁移虚拟机
l 不停机移动虚拟机存储
l 可靠地导入虚拟机
l 不停机合并快照
l 使用 Hyper-V 的全新自动化支持
通过 Hyper-V 网络虚拟化技术扩展到 VLAN 之外
在共享的网络上将不同部门或客户的虚拟机进行隔离,这可能会成为一个大挑战。当这些部门或客户必须将虚拟机组成的整个网络隔离时,挑战会变得更严峻。一般来说,可以使用 VLAN 隔离网络,但 VLAN 在大规模环境中的管理非常复杂。VLAN 的主要不足之处如下:
l 如果虚拟机或隔离的边界需要变化,就需要对整个生产环境的交换机进行繁琐的重新配置,而且频繁在物理网络中重新配置,添加或修改 VLAN 稍有不慎还会导致风险隐患。
l VLAN 的扩展能力有限,普通交换机无法支持超过1000个 VLAN ID(最多也只能支持4095个)。
l VLAN 无法跨越多个子网,因此也就限制了一个 VLAN 中节点的数量,并限制了根据物理位置对虚拟机进行安置的操作。
除了 VLAN 的不足之处,如果组织需要迁移到云端,虚拟机 IP 地址的分配也会成为一个大问题:
l 需要对服务负载重新编号。
l 需要将策略捆绑到 IP 地址。
l 物理位置决定了虚拟机的 IP 地址。
l 虚拟机的部署和通讯隔离需要依赖拓扑。
IP地址是最基本的地址,需要用于第三层网络通讯,因为大部分网络通讯都使用 TCP/IP。然而当 IP 地址被迁入云端就必须更改地址,以符合数据中心在物理与拓扑上的要求。IP 地址的重新编号将成为一项繁重的工作,因为所有基于 IP 地址分配的策略都必须更新。
数据中心的物理布局也影响着连接到数据中心特定机架上特定服务器或刀片中所运行的虚拟机可以使用的 IP 地址。在数据中心内供应和安置的虚拟必须符合有关 IP 地址的所有选择和限制。因此通常的结果是,数据中心管理员为虚拟机分配 IP 地址,并强制虚拟机的所有者调整全部根据原始 IP 地址分配的策略。这项工作是如此的繁重,以至于很多企业选择只将新服务部署到云端,并让老应用保持原地。
Hyper-V 网络虚拟化技术解决了这些问题。通过该功能,可以将共享基础架构中不同业务单元或客户的网络通讯隔离,而且并不需要使用 VLAN。Hyper-V 网络虚拟化还可以让您按需在虚拟基础架构中移动虚拟机,同时保留虚拟机的网络分配。最后,您甚至可以使用 Hyper-V 网络虚拟化技术将这些虚拟网络透明集成到其他站点已经存在的基础架构中。
技术描述
Hyper-V 网络虚拟化技术将服务器虚拟化的概念扩展到多个虚拟网络,并可包含重叠的 IP 地址,最终还可将其部署到同一个物理网络中。通过 Hyper-V 网络虚拟化技术,您可以通过设置策略将专用虚拟网络的通讯与物理基础架构彻底隔离。下图演示了如何使用 Hyper-V 网络虚拟化技术隔离属于两个不同客户的网络通讯。在图中,蓝色虚拟机和红色虚拟机托管在同一物理网络中,甚至可能在同一台物理服务器上。然而因为它们属于独立的蓝色和红色虚拟网络,因此这些虚拟机不能互相通讯,哪怕客户为其分配了同一个地址空间的 IP 地址也无法通讯。
服务器虚拟化 l 在一台物理服务器上运行多个虚拟机 l 每个虚拟机认为自己在专用物理服务器上运行 |
网络虚拟化 l 在一个物理网络中运行多个虚拟网络 l 每个虚拟网络认为自己在专用物理网络上运行 |
Hyper-V 网络虚拟化
为了将网络虚拟化,Hyper-V 网络虚拟化技术使用了下列元素:
l 每个虚拟机使用两个IP 地址。
l 通用路由封装(Generic Routing Encapsulation,GRE)。
l IP 地址重写。
l 策略管理服务器。
IP 地址
每个虚拟机都被分配两个IP 地址:
l 客户地址(CA)是客户根据自己内部基础架构所分配的 IP 地址。该地址使得客户能与虚拟机交换网络通讯,就好像虚拟机没有迁往公共或私有云一样。CA 对虚拟机是可见的,并可被客户访问。
l 供应商地址(PA)是托管商根据宿主机的物理网络基础架构分配的IP 地址。PA 会出现在托管该虚拟机的 Hyper-V 服务器进行数据交换所使用的数据包内。PA在物理网络上是可见的,但对虚拟机不可见。
CA 层与客户的网络拓扑保持一致,该层会被虚拟化,并从底层物理网络地址中剥离出来,这一点与 PA 层的实施情况一致。通过使用网络虚拟化技术,任何虚拟机负载都可以在任何物理子网中的任何 Windows Server 2012 Hyper-V 服务器上不经修改直接执行,如果Hyper-V 服务器存在相应的策略设置,这些设置还可以在两个地址之间进行映射。这种方法提供了大量收益,包括跨子网实时迁移,客户虚拟机运行 IPv4 但宿主机供应商运行 IPv6 数据中心,且反之亦然,此外还可在不同客户间使用重叠的 IP 地址段。但也许使用独立 CA 与 PA 所提供的最大优势是,这种方法让客户用最少量的重配置工作将虚拟机迁入云端。
通用路由封装
GRE 是一种通道协议(由 RFC 2784 与 RFC 2890定义),可将不同的网络层协议封装到虚拟点到点链路中,并通过 Internet协议网络传输。Hyper-V 网络虚拟化可使用 GRE IP 数据包将虚拟网络映射给物理网络。GRE IP数据包可包含下列信息:
l 为每台虚拟机提供一个客户地址。
l 为每台宿主机一个供应商地址,该宿主机上的所有虚拟机分享这一个地址。
l 嵌入到 GRE 头部 Key 字段的租户网络 ID。
l 完整的 MAC 头。
下图演示了 Hyper-V 网络虚拟化环境中的 GRE。
Hyper-V 网络虚拟化环境中的 GRE
IP 地址重写
Hyper-V 网络虚拟化可使用 IP 地址重写技术将 CA 映射到 PA。每个虚拟机 CA 都会映射给唯一的宿主机PA。该信息是通过传统的 TCP/IP 数据包在网络上传输的。通过 IP 地址重写技术,很少需要升级原有网络适配器、交换机,以及其他网络设备,并可以立刻分阶段部署到今天的环境中,对性能产生的影响微乎其微。下图演示了 IP 地址重写的过程。
IP 地址重写的过程
策略管理服务器
网络虚拟化功能的设置与维护需要使用策略管理服务器,该服务器可以集成到管理虚拟机的管理工具中。
网络虚拟化范例
Contoso Ltd. 是一家服务供应商,为企业提供所需云服务。Blue Corp 与 Red Corp 是两家公司,希望将自己的 Microsoft SQL Server 基础架构迁入到 Contoso 云,但希望维持原有 IP 地址设置。通过 Windows Server 2012中 Hyper-V 全新的网络虚拟化技术,Contoso 完全可以实现这一点,如下图所示。
网络虚拟化使得公司可以保留自己原有的 IP 地址—哪怕地址相互重叠。
在迁移到托管供应商的共享云服务之前:
l Blue Corp 在 IP 地址 10.1.1.1 上运行 SQL Server 实例(名为 SQL),并在 IP 地址 10.1.1.2 上运行 Web 服务器(名为 Web),使用自己的 SQL 服务器负责数据库事务。
l Red Corp运行了一个 SQL Server 实例,名称也是SQL,分配的 IP 地址也是 10.1.1.1;该公司也有一个 Web 服务器,名称是 Web,使用的 IP 地址也是 10.1.1.2,该公司也使用自己的 SQL 服务器负责数据库事务。
Blue Corp 与 Red Corp 都要将自己的 SQL 与 WEB 服务器迁移到同一个托管供应商的共享式 IaaS 服务中,并在 Hyper-V Host 1 运行 SQL 虚拟机,在 Hyper-V Host 2 运行 WEB 虚拟机。
所有虚拟机都维持自己原先使用的内部网 IP 地址(也就是CA):
l Blue Corp的虚拟机 CA:SQL 为 10.1.1.1,WEB 为10.1.1.2
l Red Corp 的虚拟机 CA:SQL 为 10.1.1.1,WEB 为 10.1.1.2
在供应虚拟机时,托管供应商为这两家公司分别指派了下列 PA:
l Blue Corp 的虚拟机 PA:SQL 为 192.168.1.10,WEB 为 192.168.1.12
l Red Corp 的虚拟机 PA:SQL 为 192.168.1.11,WEB 为 192.168.1.13
托管供应商创建策略设置,其中包含一个隔离组,将 Red Corp 的 CA 映射给 Red Corp 虚拟机所分配的 PA,并创建另一个独立的隔离组,将 Blue Corp 的 CA 映射给Blue Corp 虚拟机所分配的 PA。供应商将这样的策略设置应用给 Hyper-V Host 1 与Hyper-V Host 2。
当 Hyper-V Host 2 上 Blue Corp WEB 虚拟机向 10.1.1.1 查询自己的 SQL 服务器时,会发生下列事情:
l Hyper-V Host 2会根据其策略设置,将数据包中的地址做下列转换:
¡ 源:10.1.1.2(Blue Corp WEB的 CA)
¡ 目标:10.1.1.1(Blue Corp SQL的 CA)
转换为:
¡ 源:192.168.1.12(Blue Corp WEB的 PA)
¡ 目标:192.168.1.10(Blue Corp SQL的 PA)
l 当 Hyper-V Host 1收到数据包后,根据其策略设置,网络虚拟化技术会将数据包中的地址做下列转换:
¡ 源:192.168.1.12(Blue Corp WEB的 PA)
¡ 目标:192.168.1.10(Blue Corp SQL的 PA)
转回为:
¡ 源:10.1.1.2(Blue Corp WEB的 CA)
¡ 目标:10.1.1.1(Blue Corp SQL的 CA)
随后才将数据包发往 Blue Corp SQL 虚拟机。
当 Hyper-V Host 1 上运行的 Blue Corp SQL 虚拟机响应查询时,会发生下列事情:
l Hyper-V Host 1 会根据其策略设置,将数据包中的地址做下列转换:
¡ 源:10.1.1.1(Blue Corp SQL 的 CA)
¡ 目标:10.1.1.2(Blue Corp WEB的 CA)
转换为:
¡ 源:192.168.1.10(Blue Corp SQL 的 PA)
¡ 目标:192.168.1.12(Blue Corp WEB 的 PA)
l 当 Hyper-V Host 2 收到数据包后,根据其策略设置,网络虚拟化技术会将数据包中的地址做下列转换:
¡ 源:192.168.1.10(Blue Corp SQL 的 PA)
¡ 目标:192.168.1.12(Blue Corp WEB 的 PA)
转换为:
¡ 源:10.1.1.1(Blue Corp SQL 的 CA)
¡ 目标:10.1.1.2(Blue Corp WEB 的 CA)
随后才将数据包发往 Blue Corp WEB 虚拟机。
使用 Red Corp 隔离组设置的Red Corp WEB 与 SQL 虚拟机的通讯也使用类似的过程。通过 Hyper-V 网络虚拟化技术,Red Corp 与 Blue Corp 虚拟机用相同的方式实现交互,就好像它们依然处于原先的内部网络中,但两家公司的虚拟机绝对不会相互通讯,哪怕它们实际上使用了相同的 IP 地址。独立的地址(CA 与 PA)、Hyper-V 宿主机的策略设置,以及传入和传出虚拟机通讯的 CA 与 PA 地址转换,这些技术将这两组服务器相互隔离。
网络虚拟化功能的设置与维护需要使用策略管理服务器,该服务器可以集成到管理虚拟机的管理工具中。
为将虚拟机的 IP 地址虚拟化,共使用了两种技术。上文有关 Blue Corp 与 Red Corp 的例子演示了 IP 重写技术,该技术可以首先修改虚拟机数据包中的 CA IP 地址,随后才将其通过物理网络传输。IP 重写可提供更好的性能,因为该技术完全兼容现有的 Windows 网络卸载技术,例如 VMQ。另一个 IP 虚拟化技术是 GRE 封装(RFC 2784)。通过使用 GRE 封装,虚拟机的所有数据包会使用新的头部信息封装,随后才通过网络传输。GRE 封装可提供更好的网络扩展性,因为特定宿主机上所有虚拟机可共享同一个 PA IP 地址。减少 PA 的数量意味着网络基础架构上的负载需要了解的地址(IP 和 MAC)数量被极大降低。
前提要求
Hyper-V 网络虚拟化技术需要使用 Windows Server 2012以及 Hyper-V 服务器角色。
总结
通过 Hyper-V 网络虚拟化技术,可以将共享基础架构中的不同业务单元或客户的网络通讯隔离,而且不需要使用 VLAN。Hyper-V 网络虚拟化还可让您按需在虚拟基础架构中移动虚拟机,同时保留虚拟机的网络分配。最后,您甚至可以用 Hyper-V 网络虚拟化技术将这些虚拟网络透明集成到其他站点已经存在的基础架构中。
Hyper-V 网络虚拟化技术所能提供的收益包括:
l 租户的网络只需要很少的重新配置或隔离工作,即可迁入云端。在将负载迁入共享式 IaaS 云时,客户依然可以保留原有内部 IP 地址,因此 IP 地址、DNS 名称、安全策略,以及虚拟机配置的更改工作量可降到最低。在由软件定义的,基于策略的数据中心网络中,网络通讯的隔离不依赖 VLAN,而是可以由 Hyper-V 宿主机通过多租户隔离策略强制实施。如果拓扑以静态为主,网络管理员依然可以用 VLAN 实现物理基础架构的通讯管理。
l 租户的虚拟机可以部署到数据中心的任何位置。服务器与服务可以安置或迁移到数据中心内任何服务器上,同时保留其原有 IP 地址,不会受制于物理 IP 子网层次结构或 VLAN 配置的约束。
l 简化网络并改善服务器/网络资源的使用。VLAN 的严苛与物理网络基础架构中对虚拟机安置的依存性要求会导致过度供应和使用率低下。通过打破这种依存性,提升虚拟机负载安置的灵活度,可简化网络管理,并提高服务器和网络资源的使用率。服务器负载的安置也能得以简化,因为负载的迁移和安置与底层物理网络配置完全独立。服务器管理员可以专注于服务与服务器的管理工作,网络管理员可以专注于整体网络基础架构与通讯的管理。
l 使用新式硬件(服务器、交换机,其他设备)获得最大化性能。Hyper-V 网络虚拟化可以部署到今天的数据中心内,但依然可兼容未来数据中心的“平坦网络”技术,例如用于扩展以太网拓扑的多链接透明互联(Transparent Interconnection of Lots of Links ,TRILL,是一种 IETF 标准)架构。
l 通过 Windows PowerShell 与 WMI实现全面管理。您可以用 Windows PowerShell 轻松编写脚本,并实现自动化的管理任务。Windows Server 2012中包含的针对网络虚拟化技术的 Windows PowerShell cmdlet 可供您针对网络隔离策略的配置、监控,以及排错构建命令行工具或自动化脚本。
不停机迁移虚拟机
为了充分利用物理资源并轻松添加新虚拟机,您必须能在需要时不中断服务移动虚拟机。Windows Server 2008 R2 引入了实时迁移技术,该技术可供您将运行中的虚拟机从一台宿主计算机移动到另一台,并且不会导致停机和服务中断。然而这种做法有一个前提,虚拟机的虚拟磁盘必须始终保存在共享式存储设备,例如光纤通道或iSCSI SAN中。在 Windows Server 2012中,实时迁移不再要求群集环境,而虚拟机可以跨越群集边界迁移,也就是说可以迁移到您环境中的任何 Hyper-V 宿主机服务器上。Hyper-V 以该功能为基础构建而来,通过并发实时迁移功能对虚拟机的迁移能力提供了进一步增强—您可以同时移动多个虚拟机。另外,如果配合网络虚拟化等功能使用,虚拟机甚至可以在本地和云宿主机之间进行灵活迁移。
技术描述
Hyper-V 实时迁移功能可将运行中的虚拟机从一台物理宿主机移动到另一台,不会对虚拟机为用户提供的服务产生任何影响。Windows Server 2012中的Hyper-V 支持在群集环境之外进行更快速的并发实时迁移。
除了在大部分基本环境中提供实时迁移功能外,该功能还能促成更多场景,例如在多个相互独立的群集间执行虚拟机的实时迁移,这样即可跨越整个数据中心实现负载平衡。
更快速的并发迁移
如果在目前的群集环境中使用实时迁移,您会发现实时迁移现已能够使用更高网络带宽(最高可达 10 GB),迁移速度可以更快。您还可以并发执行多个实时迁移,更快速地在群集中移动虚拟机。
群集环境外的实时迁移
Windows Server 2012还支持在下列两个额外场景中实时迁移,并迁移到故障转移群集环境之外:如果存储统一保存在中央的服务器消息块(SMB)共享上,以及存储对每台服务器都是本地的。
在 Windows Server 2012中,您可将虚拟机的虚拟磁盘文件保存在 SMB 文件共享中。在中央 SMB 共享上配置好虚拟机存储后,就算没有配置群集,也可随时针对这些虚拟机进行实时迁移。在实时迁移过程中,虚拟机会从一台物理服务器移动到另一台,但存储依然保留在中央 SMB 共享内。
如果您为虚拟机使用本地存储,那么也可以在两台没有加入群集的 Hyper-V 宿主机上执行实时迁移(“无需共享”实时迁移)。这种情况下,虚拟机的存储会通过网络在目标服务器上建立镜像,随后虚拟机进行迁移,这个过程中依然可以保障运行,并提供网络服务。
基于SMB共享的实时迁移
本节将简要介绍如何在 Windows Server 2012中使用基于 SMB 共享的实时迁移。
设置
在实时迁移的设置阶段,源宿主机与目标宿主机建立 TCP 连接。该连接用于将虚拟机的配置数据传输到目标宿主机。在目标宿主机上将创建框架虚拟机,并为目标虚拟机分配内存,这一过程如下图所示。
实时迁移的设置
内存页面传输
在实时迁移的第二个阶段,如下图所示,分配给待迁移虚拟机的内存会通过网络复制到目标宿主机。该内存也叫做待迁移虚拟机的“工作集”。每个内存页面的大小为4 KB。
内存页面传输
举例来说,假设一台名为“Test VM”的虚拟机分配了 1,024MB 内存,该虚拟机需要迁移到其他 Hyper-V 宿主机。分配给该虚拟机的整个 1,024MB 内存都属于“Test VM”的工作集。“Test VM”工作集中的活动页面会被复制到目标 Hyper-V 宿主机。
除了将“Test VM”的工作集复制到目标宿主机,Hyper-V 还将监控源宿主机上“Test VM”的工作集页面。随着“Test VM”修改内存页面,系统将追踪并标记页面的改动情况。已修改页面的列表实际上就是在开始复制工作集后,“Test VM”更改过的所有内存页面的列表。
在迁移的这个阶段中,待迁移虚拟机依然在正常运行。Hyper-V 会反复进行内存复制操作多次,每次重复时需要复制的已修改页面的数量都更少。当工作集复制到目标宿主机后,实时迁移的下一个阶段就开始了。
内存页面复制过程
这一阶段需要进行内存的复制工作,会将待迁移虚拟机剩余的已修改内存页面复制到目标宿主机。源宿主机还会将虚拟机的 CPU 与设备状态传输到目标宿主机。
在这一阶段中,源与目标宿主机间的可用网络带宽是实时迁移速度快慢的关键。使用千兆以太网(GbE)或更高速度网络是至关重要的。源宿主机将待迁移虚拟机工作集中的已修改页面传输出去的速度越快,实时迁移工作就能越快完成。
这一阶段需要传输的内存页面数量取决于虚拟机访问和修改内存页面的操作频率。修改的页面越多,将所有页面传输到目标宿主机所需的时间就越长。
当修改后内存页面全部复制到目标宿主机,目标宿主机就有了“Test VM”的最新状态工作集。“Test VM”的工作集在目标宿主机上的状态将与“Test VM”开始进行迁移时的状态完全一致。内存页面的复制过程如下图所示:
注意:在迁移的这一阶段之前,您可以随时取消实时迁移过程。
已修改的页面的传输
将存储的处理由源移动到目标
在实时迁移的这个阶段,关联到“Test VM”的存储空间,例如虚拟磁盘文件,或通过虚拟光线通道适配器直接连接的物理存储设备的控制权也会转移到目标宿主机。(虚拟光纤通道也是 Hyper-V 的新功能。详细信息请参考“Hyper-V 中的虚拟光纤通道”一节)。
这一阶段的过程如下图所示。
存储控制权的移交
在目标服务器上让虚拟机重新上线。在实时迁移的这个阶段,目标服务器已经有了“Test VM”的最新状态工作集,并能访问“Test VM”使用的存储空间。此时,“Test VM”已经可以继续运作。
网络清理
在实时迁移的最后阶段,迁移后的虚拟机已可以在目标服务器上运行。此时会有条消息发往网络交换机,使得交换机获取迁移后虚拟机新的 MAC 地址,这样发往和发自“Test VM”的网络通讯才能使用正确的交换机端口。
动态迁移过程可以在很短时间内完成,甚至比被迁移的虚拟机所经历的 TCP 超时间隔更短。 TCP 超时间隔主要取决于网络拓扑以及其他因素。
“无需共享”的实时迁移
本节将简要介绍如何在 Windows Server 2012中使用“无需共享”的实时迁移。
如果需要在没有共享同一套基础架构的两台计算机之间执行虚拟机实时迁移,Hyper-V 首先会对虚拟机的存储执行部分迁移,这一过程如下图所示。
虚拟机存储的部分迁移
Hyper-V 会执行下列步骤:
1. 在移动操作的大部分时段内,磁盘的读写还是通过源虚拟磁盘进行的。
2. 虽然读写操作都通过源虚拟磁盘进行,但磁盘内容会通过网络复制到目标位置的新虚拟磁盘文件中。
3. 在初始磁盘复制操作完毕后,磁盘的写操作会在源和目标虚拟磁盘文件上同步进行,通过这种方式将磁盘内容的变化进行复制。
4. 当源与目标虚拟磁盘文件同步后,就会发起虚拟机的实时迁移,后续工作的进行与共享存储环境下实时迁移的过程完全相同。
5. 当实时迁移操作完成,虚拟机成功在目标服务器上运行后,源服务器上的文件会被删除。
当虚拟机的存储迁移完毕后,虚拟机会在持续运行,并提供网络服务的情况下完成迁移工作。
前提要求
所有实时迁移操作都需要具备下列条件:
l Windows Server 2012。
l 两台或更多 Hyper-V 宿主机:
¡ 服务器需要支持硬件虚拟化技术。
¡ 服务器必须使用同一制造商的处理器(例如全部使用 AMD 或全部使用 Intel 的处理器)。
l Hyper-V 宿主机必须隶属于同一个 Active Directory 域。
l 虚拟机必须配置为使用虚拟磁盘文件或虚拟光纤通道磁盘(不能使用直通磁盘)。
l 传输实时迁移网络通讯的私有网络。
在群集环境中进行的实时迁移需要具备下列条件:
l 启用并配置了Windows 故障转移群集功能。
l 群集中启用CSV 存储。
使用共享存储的实时迁移需要具备下列条件:
l 虚拟机的所有文件(例如虚拟磁盘、快照,以及配置)都需要保存到 SMB 2.2 共享中。
l SMB 共享的权限被配置为允许所有 Hyper-V 宿主机的计算机账户访问。
无需共享基础架构的实时迁移不需要满足额外的前提条件。
总结
Windows Server 2008 R2首次引入的实时迁移功能对云的管理是个价值不可估量的创新,该功能使得组织能够在不关机情况下移动虚拟机。随着组织客户数量的增长,云环境的管理变得更具挑战性,因为需要高效使用资源,管理员必须频繁在群集内部,或者群集之间移动虚拟机。
通过 Windows Server 2012 Hyper-V 对实时迁移功能的改进,组织不仅可以执行实时迁移,而且可在群集间快速移动多个虚拟机,并且可在不使用共享存储的服务器上移动,这一切都不会导致任何停机。这些改进极大地提高了虚拟机安置工作的灵活性,并可让虚拟机在整个数据中心内部获得更动态的可移动能力。这些改进还有助于提升管理效率,避免以往由于跨越群集边界进行迁移所导致的停机时间。除了更快速的迁移所节约的时间,您还可以通过并发执行多个实时迁移进一步节约时间。
不停机移动虚拟机存储
在 Windows Server 2012之前,虚拟机存储只有在关闭虚拟机之后才能移动。在很多组织中,不影响虚拟机的运作直接管理存储的灵活性已成为一个关键需求。IT 管理员需要通过这种灵活性在存储子系统上进行维护,升级存储设备的固件和软件,以及按照使用的容量进行负载平衡。Windows Server 2008 R2 可供您使用实时迁移功能移动运行中的虚拟机实例,但并不能在虚拟机运行的过程中移动虚拟机的存储。
Windows Server 2012中的 Hyper-V 提供了实时存储迁移功能,可供您移动连接到运行中虚拟机的虚拟磁盘。通过该功能,可以不停机将虚拟磁盘转移到新位置,以便对存储进行升级或迁移,或执行后端存储维护,或对存储的负载进行分散。您可以使用 Hyper-V 管理器中的新向导执行该操作,或者也可以用 Windows PowerShell 中新增的 Hyper-V cmdlet。实时存储迁移可用于基于存储区域网络(SAN)的,以及基于文件的存储。
技术描述
在移动运行中虚拟机的虚拟磁盘时,Hyper-V 会通过执行下列操作移动存储:
1. 在下列大部分操作时段内,磁盘的读写是通过源虚拟磁盘进行的。
2. 虽然读写操作都是通过源虚拟磁盘进行,但磁盘内容会通过网络复制到目标位置的新虚拟磁盘文件中。
3. 在初始磁盘复制操作完毕后,磁盘的写操作会在源和目标虚拟磁盘文件上同步进行,通过这种方式将磁盘内容的变化进行复制。
4. 当源和目标虚拟磁盘同步后,虚拟机会切换为使用目标虚拟磁盘。
5. 源虚拟磁盘会被删除。
这一系列操作如下图所示。
Hyper-V 将虚拟磁盘从一个物理位置移动到其他位置
正如虚拟机可能要在数据中心内进行动态移动,分配给运行中虚拟磁盘的存储空间有时候也需要进行移动,以便分散存储负载,分摊存储设备服务,或实现其他目的。
更新 Hyper-V 所用的物理存储可能是移动虚拟机存储最常见的一个原因。您可能还要在虚拟机运行过程中,在不同物理存储设备之间移动虚拟机的存储,以便充分利用该版本 Hyper-V 新增支持的低成本存储设备(例如基于 SMB 的存储),或解决由于存储吞吐率瓶颈导致的性能问题。Windows Server 2012提供了对共享式存储子系统以及非共享式系统移动虚拟磁盘的灵活功能,因为 Windows Server 2012 SMB2 网络共享文件夹已经可以被 Hyper-V 宿主机检测到并使用。
您可以将物理存储添加到独立系统或 Hyper-V 群集中,然后将虚拟机的虚拟磁盘文件移动到新存储位置,这一过程中虚拟机的持续运行不受影响。
存储迁移功能与实时迁移配合使用,还可让您在没有使用同一套存储设备的不同宿主机服务器间移动虚拟机。举例来说,如果两台 Hyper-V 服务器都配置为使用不同存储设备,有一台虚拟机必须在这两台服务器间进行迁移,您可以使用存储迁移功能将虚拟磁盘迁移到这两台服务器都可以访问的文件服务器上的共享文件夹内,然后在服务器间迁移虚拟机(因为这两台服务器都可以访问同一个共享)。与实时迁移类似,您可以用其他存储迁移方式将虚拟磁盘移动到分配给目标服务器的存储空间内。
前提要求
要执行存储实时迁移,您需要具备下列条件:
l Windows Server 2012。
l Hyper-V 服务器角色。
l 配置为使用虚拟磁盘作为存储的虚拟机。
总结
Windows Server 2012中的 Hyper-V 使您可以用更大灵活性与控制能力管理云环境的存储,同时可避免对用户生产力造成影响。通过Windows Server 2012Hyper-V 中提供的存储迁移功能,您将获得执行存储子系统维护工作、升级存储设备的固件和软件,以及对存储进行负载平衡的灵活能力,这一切都不需要关闭虚拟机。
可靠地导入虚拟机
将虚拟机从一个物理宿主机导入到另一个可能造成文件兼容性问题,以及其他不可预见的复杂问题。管理员通常会将虚拟机看作一种单一且独立的实体,可以将其移动以满足自己的运维需求。实际上,每个虚拟机都包含下列几个组件:
l 虚拟磁盘,以文件的方式存储在物理存储空间内。
l 虚拟机快照,作为特殊类型的虚拟磁盘文件存储在空间中。
l 每个与特定宿主机有关设备的保存的状态。
l 虚拟机的内存文件或快照。
l 虚拟机配置文件,其中保存了一个可正常运行的虚拟机所必须的组件,并按照一定的顺序排列。
每个虚拟机以及所关联的每个快照都有唯一标示符。另外虚拟机还要存储并使用一些与宿主机有关的信息,例如代表虚拟磁盘文件保存位置的路径标示符。
当 Hyper-V 启动虚拟机时,内部会执行一系列验证检查,随后才开始启动。当虚拟机被导入到其他宿主机后,可能会存在硬件差异等问题,这些问题会导致验证检查失败。而这就会导致虚拟机无法启动。
Windows Server 2012包含了一个导入向导,可帮助您快速可靠地将虚拟机从一台服务器导入另一台。
技术描述
Windows Server 2012 Hyper-V包含了一个全新的导入向导,可检测并解决超过40种不同类型的兼容性问题。您不需要担心关联给物理硬件,例如内存、虚拟交换机,以及虚拟处理器的配置问题。在将虚拟机导入新宿主机时,导入向导可协助您通过一系列步骤解决兼容性问题。
此外您也不再需要先将虚拟机导出,随后再导入。您可以直接将虚拟机以及相关文件复制到新宿主机,然后使用导入向导指定文件位置。该操作可以将虚拟机在 Hyper-V 中“注册”,并使其可供使用。如果系统驱动器故障,但存储虚拟机的数据驱动器依然可以访问,您还可以通过这种方式恢复虚拟机的运行。
除了这个全新的向导,还可以获得自动化支持。Windows PowerShell 中全新的 Hyper-V 模块包含了导入虚拟机的 cmdlet。
在导入虚拟机时,向导会执行下列工作:
1. 创建虚拟机的配置文件副本。该操作是为了预防意外发生,例如宿主机由于电力故障出现计划外重启动。
2. 验证硬件。虚拟机配置文件中包含的信息会被用于与新宿主机的硬件进行比较。
3. 编译错误列表。该表列出了需要重新配置的内容,并用于决定向导下一个页面要提供的选项。
4. 显示相关页面,一次显示一个类别的内容。向导会识别不兼容内容,并帮助您重新配置虚拟机,使其兼容新的宿主机。
5. 删除配置文件的副本。向导完成上述操作后,虚拟机就可以启动了。
下图演示了导入向导的完整操作过程。
虚拟机导入过程
前提要求
要使用导入向导,您需要满足下列条件:
l 两台安装了 Hyper-V 角色的 Windows Server 2012计算机。
l 一台处理器支持硬件虚拟化技术的计算机。
l 一个虚拟机。
l 一个隶属于本地 Hyper-V Administrators 组的用户账户。
总结
对于虚拟机的导入或复制,新增的导入向导提供了一种简单并更好用的方法。该向导会检测并修复可能的问题,例如在将虚拟机导入另一宿主机时可能存在的硬件或文件差异。作为一项额外的安全措施,向导会创建虚拟机配置文件的临时副本,这主要是为了预防宿主机上遇到计划外重启动,例如电力故障。Windows PowerShell cmdlet还可让您将虚拟机的导入工作自动化进行。
合并运行中虚拟机的快照
快照功能主要用于测试对现有虚拟机环境的改动,通过使用这种方法,在需要时即可返回到之前的状态或时间点。如果需要重新创建特定状态或某种环境,以便对问题进行排错,那么通过这种简便的方式还原虚拟机就显得很有用。在某些情况下,可能需要将快照用到生产环境。例如您可以使用快照提供一种将生产环境中可能导致隐患的操作还原的方法,例如在给虚拟机中运行的软件应用更新时。在成功测试新的改动或更新后,很多组织会将快照合并给原始状态(主要是为了减少存储空间的使用,以及提升虚拟机的磁盘性能)。然而该操作需要将运行中的虚拟机暂停,尤其是在合并过程中虚拟机将不可用。
在 Windows Server 2012中,Hyper-V 的实时合并功能可供组织将当前快照合并到原始状态,但这一过程中虚拟机依然保持运转。
技术描述
Hyper-V 虚拟机的快照功能提供了一种将虚拟机还原为之前状态的简单直观的方法。快照的数据文件(虚拟磁盘的当前末端节点会通过分叉操作成为只读的父差分磁盘)会保存为 .avhd 文件。快照被删除后,相关.avhd 磁盘在虚拟机运行的情况下无法删除。Windows Server 2012提供了在虚拟机持续运行的状态下将相关.avhd 磁盘合并到父磁盘的功能。
随着这一过程的进行,I/O 会被挂起到一个很小的范围,只有少量位于该范围中的数据才能从源读取,或写入到目标。当末端合并完成后,对已合并内容所执行的后续写入操作会被重定向到合并后的目标。在操作完成后,联机合并修复功能会修复到未链接的合并后磁盘的运行链,并关闭这些文件。
前提要求
实时合并功能要求具备 Windows Server 2012,并安装 Hyper-V 角色。
总结
虚拟机快照可捕获运行中虚拟机的状态、数据,以及硬件配置。很多组织在自己当前环境中使用快照作为更新与补丁的测试等用途。然而将快照合并到父虚拟机需要停机进行,会导致虚拟机不可用。现在通过Windows Server 2012 Hyper-V中全新的实时合并功能,您可以在服务器运行过程中将快照合并到虚拟机父磁盘,对用户造成的干扰更少。快照的实时合并提供了一种更快更简单的方法,供您让虚拟机返回到之前的状态。
使用 Hyper-V 的全新自动化支持
Windows PowerShell 是 Windows Server 2012中的自动化任务脚本解决方案。然而在老版本 Windows Server中,在使用内置的工具为 Hyper-V 编写脚本时需要掌握 WMI,该技术提供了一系列更灵活的接口,但主要针对的是开发人员。负责虚拟化工作的IT 专业人员需要一种新方法,更简单地自动实现一系列管理任务,而无需学习开发技能。
Windows Server 2012中的Windows PowerShell 为 Hyper-V 提供了超过140个 cmdlet。
技术描述
Windows PowerShell 所提供的全新 Hyper-V cmdlet 专门针对 IT 专业人员设计,可供您执行原本在 Hyper-V 管理器的图形用户界面(GUI)下提供的各种任务,甚至还有几个任务只能通过Windows PowerShell 的cmdlet实现。这种设计主要体现在下列几个方面。
面向任务的接口
Hyper-V cmdlet 在设计上非常易于让 IT 专业人员获得从考虑任务到实际执行任务的转变。下表列出了一些任务,以及相关的 cmdlet 语法。
任务 |
执行该任务的 Windows PowerShell 命令 |
创建名为“Test”的新虚拟机。 |
New-VM –Name Test |
获取所有虚拟机列表。 |
Get-VM |
在d:VHDstest.vhd新建虚拟磁盘。 |
New-VHD –Path D:VHDstest.vhd |
启动所有名称以“Web”开头的虚拟机。 |
Start-VM –Name web* |
将“Test”虚拟机上的网络适配器连接到“QA”交换机。 |
Connect-VMNetworkAdapter –VMName test –SwitchName QA |
Hyper-V 管理员通常还需要管理 Hyper-V 外的其他内容。通过使用与其他 Windows cmdlet 类似的动词,Hyper-V cmdlet 使得管理员能更容易将自己在 Windows PowerShell 中获得的知识用在其它地方。例如,熟悉使用 Windows PowerShell 管理服务的管理员就可以使用相同的动词针对虚拟机执行相关任务,具体方法如下表所示。
任务 |
针对服务执行该任务的cmdlet |
针对虚拟机执行该任务的Hyper-V cmdlet |
获取 |
Get-Service |
Get-VM |
配置 |
Set-Service |
Set-VM |
创建 |
New-Service |
New-VM |
启动 |
Start-Service |
Start-VM |
停止 |
Stop-Service |
Stop-VM |
重启动 |
Restart-Service |
Restart-VM |
挂起 |
Suspend-Service |
Suspend-VM |
恢复 |
Resume-Service |
Resume-VM |
对于其它核心的 Windows PowerShell cmdlet,也有类似的例子,如下表所示。
核心Windows PowerShell cmdlet |
Hyper-V cmdlet |
Import-Csv |
Import-VM |
Export-Csv |
Export-VM |
Enable-PSRemoting |
Enable-VMMigration |
Checkpoint-Computer |
Checkpoint-VM |
Measure-Command |
Measure-VM |
通过一致的 cmdlet 实现名词简化可发现性
可以学习的 cmdlet 有很多(超过140个)。Hyper-V cmdlet 的名词使得您在需要时能更容易发现可用的 cmdlet。Hyper-V 模块中的所有 cmdlet都使用了下列表格中列出的三个名词后缀之一。
后缀 |
用途 |
VM |
管理虚拟机的 Cmdlet |
VHD |
管理虚拟磁盘文件的 Cmdlet |
VFD |
管理虚拟软盘文件的 Cmdlet |
前提要求
要使用新增的 Hyper-V cmdlet,您需要具备下列条件:
l Windows Server 2012。
l 一台处理器支持硬件虚拟化技术的计算机。
l Hyper-V 服务器角色。
l Administrator 或 Hyper-V Administrator 用户账户。
l 另外,如果您想远程使用 Hyper-V cmdlet,则需要在运行 Windows 8的计算机上安装 Hyper-V Windows Powershell cmdlet 功能,然后以服务器上Administrator 或 Hyper-V Administrator 的身份运行这些 cmdlet。
总结
在 Windows Server 2012前,Hyper-V 管理任务的自动化需要用 WMI 编写脚本,而很多数据中心管理员并不具备这样的技能,因此使得自动化变得更加困难。现在,Windows Server 2012提供了丰富、强大、全面,并且简单易学的 Windows PowerShell cmdlet,数据中心管理员可以用更简单的方法让大部分Hyper-V 任务(例如新建虚拟机,导入和导出虚拟机,以及将虚拟网络适配器连接到虚拟机)实现自动化。您可以用这些新增的 cmdlet 将一些基本的和复杂的数据中心任务自动化处理,并能简化和减少云环境的管理工作量。
扩展,性能,以及密度
本节将简要介绍 Windows Server 2012中可为您的虚拟化环境提升扩展性、性能,以及密度的 Hyper-V 功能。本节包含下列功能:
l Hyper-V 宿主机扩展与扩展负载支持
l Hyper-V 对动态内存技术的改进
l Hyper-V 的资源计量
l 新的虚拟磁盘格式
l Hyper-V 支持 Offloaded Data Transfer(ODX)
l 数据中心桥接(DCB)
l Hyper-V 支持虚拟光纤通道
l 在 Hyper-V 虚拟磁盘中支持 4-KB 磁盘扇区
l 服务质量(QoS)
Hyper-V 宿主机扩展与扩展负载支持
Windows Server 2008 R2 中的 Hyper-V 可支持为虚拟机最多配置四颗虚拟处理器,以及最大 64GB 内存。然而在部署关键业务第一层业务应用程序时,IT 组织对虚拟化的要求更多。大规模的资源密集型负载,例如在线事务处理(OLTP)数据库以及在线事务分析(OLTA)解决方案通常需要在具有16个甚至更多处理器的系统上运行,并且需要更多内存。对于此类负载,支持更多虚拟处理器以及更大量虚拟机内存已经成为最核心的需求。
Windows Server 2012中的 Hyper-V 对宿主机处理器与内存的支持有了极大的扩展。新功能包括,Hyper-V 客户端系统最多支持64颗处理器以及 1TB 内存,最大支持 64TB 容量的全新 VHDX 虚拟磁盘格式(详情请参考“新虚拟磁盘格式”一节),此外还有对故障回弹的支持。这些功能有助于确保您的虚拟化基础架构可支持配置更大规模更高性能的虚拟机,以便支持需要更大扩展能力的负载。
技术描述
Windows Server 2012中的 Hyper-V 可在更大型的服务器系统上运行。通过下列改进与功能,该技术可支持对性能与可扩展性要求更高的负载进行虚拟化:
l 增强虚拟化宿主机对硬件的支持情况。
l 支持更大规模的虚拟机。
l 为您的云提升高可用性。
l 虚拟机可支持非一致性内存访问(NUMA)。
l 支持单根I/ O虚拟化(SR-IOV)的网络设备。
下文将简要介绍这些功能。
增强的虚拟化宿主机对硬件的支持情况
Windows Server 2012 Hyper-V 可支持在最多包含320颗逻辑处理器,以及 4TB 物理内存的宿主机系统上运行,因此就算对扩展性要求最大的服务器系统也可兼容。
支持更大规模的虚拟机
Windows Server 2012中的 Hyper-V 可供您为虚拟机配置最多64颗虚拟处理器,以及 1TB 内存。
为您的云提升高可用性
Windows Server 2012中的 Hyper-V 现已支持在包含64节点的故障转移群集中运行最多4000个虚拟机。相比老版本,这是一个重大改进,因为老版本只能支持最多16节点的群集,每个群集最多可支持1000个虚拟机。
下表对比了 Windows Server 2008 R2 以及 Windows Server 2012的可用资源:
系统 |
资源 |
最大数量 |
改善情况 |
|
Windows Server 2008 R2 |
Windows Server 2012 |
|||
宿主机 |
硬件逻辑处理器数量 |
64 |
320 |
2.5× |
物理内存 |
1 TB |
4 TB |
2× |
|
每宿主机虚拟处理器数 |
512 |
2048 |
2× |
|
虚拟机 |
每虚拟机虚拟处理器数 |
4 |
64 |
8× |
每虚拟机内存数量 |
64 GB |
1 TB |
16× |
|
活跃虚拟机数量 |
384 |
1024 |
2.7× |
|
群集 |
节点数 |
16 |
64 |
4× |
虚拟机数 |
1000 |
4000 |
4× |
虚拟机支持NUMA
Windows Server 2012 Hyper-V 可在虚拟机中支持 NUMA。NUMA 是多处理器系统中的一种计算机架构,在这种架构下,处理器访问内存所需时间取决于内存相对处理器的位置。通过支持 NUMA,相比访问远程内存(相对系统中其它处理器可称作“本地”的内存),处理器可以更快速访问本地内存(直接连接到处理器的内存)。
现代操作系统和高性能应用程序,例如 SQL Server 在开发中就进行了优化,可识别系统中的NUMA 技术,并在调度线程或分配内存时考虑 NUMA 的存在,借此可提升性能。
将虚拟 NUMA 拓扑投射到虚拟机中,在大规模虚拟机配置环境中可提供更好的性能,并使得负载的扩展能力更好。通过这样做,客户端操作系统和 SQL Server 等应用程序可以充分利用继承而来的,通过 NUMA 获得的性能优化。投射到 Hyper-V 虚拟机的默认虚拟 NUMA 拓扑已经经过优化,能够与宿主机的 NUMA 拓扑相匹配,如下图所示。
默认情况下,客户端NUMA 拓扑会与宿主机的 NUMA 拓扑相匹配
注意:如果虚拟机配置为使用动态内存,则只有一个虚拟 NUMA 节点(也就是普通的 NUMA 拓扑)会被投射到客户端系统,这将大幅削弱对虚拟 NUMA 的支持。
支持SR-IOV 网络设备
SR-IOV 标准是由 PCI-SIG提出的,这个特殊的兴趣组拥有并管理着PCI 规范,并将其发展为开放式业界标准。SR-IOV 的使用要求具备支持虚拟化技术的系统芯片,这样才能对中断和 DMA 提供重映射,并让支持SR-IOV的设备能直接被虚拟机访问。Windows Server 2012中的 Hyper-V 可支持具备 SR-IOV功能的网络设备,并让物理网络适配器的 SR-IOV 虚拟功能直接分配给虚拟机。这种做法可提升网络吞吐率,降低网络延迟,同时可降低宿主机由于处理网络通讯产生的 CPU 负担。下图演示了Hyper-V 中所支持的 SR-IOV 架构。
Hyper-V 中对SR-IOV 的支持(其中 VF 代表一个虚拟功能)
该功能可提升网络吞吐率,降低网络延迟,同时可降低宿主机由于处理网络通讯产生的 CPU 负担。
前提要求
为充分利用全新的Hyper-V 功能获得宿主机扩展性与扩展负载的支持,您需要具备:
l 一台或多台安装 Hyper-V 角色的 Windows Server 2012计算机。Hyper-V 需要服务器的处理器支持硬件虚拟化技术。
l 虚拟处理器的数量可通过虚拟机配置,这主要取决于物理计算机的处理器数量。在虚拟化宿主机上,宿主机的逻辑处理器数量需保证至少与虚拟机中所需的虚拟处理器数量一致。例如,要配置最多具备32颗虚拟处理器的虚拟机,那么运行 Windows Server 2012Hyper-V 的宿主机也要装有32颗或更多逻辑处理器。
SR-IOV 网络要求如下:
l 支持 SR-IOV 的宿主机系统(例如 Intel VT-d2),必须包含支持中断与 DMA 重映射的芯片,并且需要有恰当的固件才能启用 SR-IOV 功能,并将其应用到操作系统。
l 管理用操作系统(运行 Hyper-V 角色的系统)以及分配了虚拟功能的每个虚拟机都须具备兼容SR-IOV的网络适配器,以及相应的驱动。
总结
通过Windows Server 2012Hyper-V 的宿主机扩展与扩展负载支持,您可将 Hyper-V 宿主机扩展为硬件最多支持320颗逻辑处理器及 4TB 内存;还可将客户端虚拟机扩展为最多支持64颗虚拟处理器和 1TB 内存,此外您可以将群集扩展为最多包含64个节点,最多包含4000个虚拟机。这些新功能有助于确保虚拟化基础架构可支持配置更大规模更高性能的虚拟机,以便支持需要更大扩展能力的负载。通过对系统进行配置,即可充分利用宿主机系统的处理器和内存,更高效地运行资源要求高的负载。
Hyper-V 对动态内存技术的改进
动态内存技术首次出现在 Windows Server 2008 R2 SP1中,可帮您更有效地利用物理内存。通过动态内存技术,Hyper-V 可将内存看作可共享资源,并在运行中的虚拟机间进行自动分配。动态内存可根据内存需求的变动情况,以及您指定的值,随时调整虚拟机可用内存数。
在旧版本 Hyper-V中,动态内存包含“启动内存”功能,该功能定义了虚拟机可用内存数量的最小值。然而 Windows 在启动阶段相比稳定运行阶段往往需要更多内存。某些虚拟机会分配过剩内存,因为老版本Hyper-V 无法在启动后从这些虚拟机回收内存。
运行闲置虚拟机所需的内存也比启动虚拟机所需的内存少。通过从闲置虚拟机回收未使用的内存,即可在一台宿主机上运行更多虚拟机。为此,您可以为内存最小值指定一个比启动内存更小的数值。然而如果在Windows Server 2008 R2 SP1中这样做,如果宿主机物理内存不足,虚拟机将无法重启动。这个问题在包含大量闲置虚拟机的环境中更为严重,例如池化的 VDI 环境,以及负载程度较低的服务器整合环境(例如夜间时段)。
因为内存升级需要关闭虚拟机,因此所有管理员都面临一个共同挑战:随着虚拟机需求的增加,随时升级最大内存数。例如,请考虑运行 SQL Server,并配置 8GB 最大内存的虚拟机。随着数据库体积的增长,该虚拟机现在需要更多内存。在 Windows Server 2008 R2 SP1中,必须关闭虚拟机才能进行升级,这就需要预先计划好停机时间。这样的做法将影响业务生产力。
快速成长型组织的负载可能会快速增长,因此通常要向宿主机添加更多虚拟机。这些组织希望对一台宿主机服务器上可放置的虚拟机数量进行优化,以便减少昂贵的宿主机服务器数量。通过Windows Server 2012中Hyper-V 提供的动态内存改进功能,IT 管理员可以更高效地分配虚拟机内存资源,并极大提升虚拟机的整合率。
技术描述
在Windows Server 2012中,动态内存增加了一个可配置选项“最小内存”。最小内存使得 Hyper-V 能从虚拟机回收未使用的内存。这种做法可提高虚拟机的整合率,尤其是在 VDI 环境中。
为了给虚拟机提供更强壮的重启动机制,Windows Server 2012还提供了 Hyper-V 智能分页功能。虽然最小内存功能提升了虚拟机的整合率,但也带来另一个挑战。如果一台虚拟机的内存数比启动内存数少,并且该虚拟机需要重启动,Hyper-V 就要额外的内存才能重启动该虚拟机。由于宿主机内存压力或虚拟机状态的限制,Hyper-V 可能无法获得所需的额外内存。这可能会导致客户环境中偶尔遇到虚拟机重启动失败的问题。在Windows Server 2012中,Hyper-V 智能分页功能可用于弥补最小内存和启动内存之间的差额,让虚拟机更可靠地重启动。
在 Windows Server 2012中,Hyper-V 动态内存功能方面的改善使得您可以:
l 为虚拟机配置更低的最小内存,并获得更可靠的重启动体验。
l 针对运行中的虚拟机提升最大内存数量,并降低最小内存数量。
最小内存配置下更可靠的重启动操作
与上一版动态内存技术类似,您可以为虚拟机配置最小内存,Hyper-V 会持续为运行中的虚拟机分配这个数量的内存。为了向配置的最小内存数量小于启动内存的虚拟机提供更可靠的重启动体验,Windows Server 2012的Hyper-V 使用了 Hyper-V 智能分页功能。
Hyper-V 智能分页是一种内存管理技术,可在需要更多内存才能重启动虚拟机时使用磁盘资源作为额外的临时内存。这种方法存在优势但也有不足。该技术提供了一种可靠的方法,确保可用物理内存不足时虚拟机可以继续运行。然而可能会影响虚拟机的性能,因为磁盘的访问速度要比内存访问速度慢很多。
为了将 Hyper-V 智能分页技术对性能的影响降到最低,Hyper-V 只有在遇到下列情况时才会使用该技术:
l 虚拟机正在重启动时。
l 没有可用物理内存时。
l 无法从宿主机中运行的其他虚拟机中回收内存时。
Hyper-V 智能分页功能不会在发生下列情况时使用:
l 虚拟机正在从关闭状态启动时(而不是重启动)。
l 运行中的虚拟机可能导致内存超额提交时。
l 虚拟机正在 Hyper-V 群集中进行故障转移时。
如果宿主机的内存已经被过度提交,Hyper-V 会继续依赖客户端系统内部的分页功能,因为这要比 Hyper-V 的智能分页功能更高效。通过客户端系统内部的分页,分页操作可在虚拟机内部由 Windows 内存管理器进行。对于虚拟机中内存的使用情况,Windows 内存管理器要比 Hyper-V 宿主机了解地更详细,这就意味着在选择哪些内存需要被分页时,可以比Hyper-V 获得更多参考信息。因此相比 Hyper-V 智能分页,客户端系统内部的分页功能对系统造成的负担更小。
下图演示了正在重启动的 Hyper-V 虚拟机的内存映射情况。
智能分页。
一台正在使用 Hyper-V 智能分页功能重启动的虚拟机
为进一步降低 Hyper-V 智能分页的影响,当虚拟机完成启动过程后,Hyper-V 会将内存从虚拟机中删除,并与客户端系统内部的动态内存组件(也被叫做“Ballooning”)进行协调,这样虚拟机就可以不再使用Hyper-V 智能分页。通过这种技术,可以临时使用 Hyper-V 智能分页,并且一般使用时间不会超过10分钟。
下图演示了在完成启动过程后,Hyper-V 从虚拟机中删除内存的操作。
虚拟机重启动完毕后,删除已分页的内存
另外还要注意有关Hyper-V 智能分页功能使用方式的下列情况:
l Hyper-V 智能分页文件只有在虚拟机真正需要时才会创建。
l 额外数量的内存被删除后,Hyper-V 智能分页文件会被删除。
l 除非需要再次重启动,并且再次遇到物理内存不足的情况,否则Hyper-V 智能分页功能将不会为同一台虚拟机使用。
运行时动态内存配置变动
Windows Server 2012 Hyper-V 使您可对运行中虚拟机的动态内存做出下列配置变动:
l 提升最大内存。
l 减少最小内存。
前提要求
动态内存需要下列前提条件:
l Windows Server 2012。
l Hyper-V 服务器角色。
总结
Windows Server 2012中 Hyper-V 动态内存的改进可帮助您获得更高整合率,同时可改善 Hyper-V 操作的可靠性。您可以在不关闭虚拟机的情况下对虚拟机的内存配置做出更多变动。如果有闲置或低负载虚拟机,例如池化 VDI 环境,Hyper-V 中作为补充的动态内存技术就可供您提升整合率,并改善重启动操作的可靠性。这种做法可降低客户成本,尤其是在包含大量闲置或低负载虚拟机的环境,例如池化 VDI 环境中。通过在运行时更改动态内存的配置,有助于提升 IT 的整体生产力,同时停机时间会有显著降低,此外还可提高响应需求变更的敏捷度。通过用这些新功能响应需求的变更,您将获得更高敏捷度。
Hyper-V 的资源计量
您的计算资源总是有限的。您需要了解不同负载对这些资源的使用情况—哪怕这些负载已经被虚拟化。在 Windows Server 2012中,Hyper-V 包含了资源计量功能,这是一种帮您追踪虚拟机使用情况历史数据的技术。通过资源计量,就可以对指定服务器的资源使用情况做到心中有数。您可以用这些数据进行容量规划,监控不同业务单元或客户的消耗情况,或取得用于分摊负载运行所产生成本时必要的数据。您还可以将该功能提供的信息用于帮助构建记账解决方案,这样托管服务的客户就可以按照资源的使用情况缴费。
技术描述
本节将简要介绍资源计量功能的工作方式。
资源使用情况的指标
Windows Server 2012提供了两种方法,可供您获取有关客户对虚拟机资源使用情况的历史数据:Windows PowerShell 中的Hyper-V cmdlet,以及虚拟化 WMI 提供程序中新增的 API。
Hyper-V 会通过下表列出的指标统计资源的使用情况。
指标 |
单位 |
描述 |
平均CPU使用 |
MHz |
一个周期内虚拟机使用的CPU资源平均值 |
平均内存使用 |
MB |
一个周期内虚拟机使用的物理内存数量平均值 |
最小内存使用 |
MB |
一个周期内虚拟机分配的物理内存数量最小值 |
最大内存使用 |
MB |
一个周期内虚拟机分配的物理内存数量最大值 |
最大磁盘分配 |
MB |
一个周期内虚拟机分配的磁盘空间数量最大值 |
传入网络通讯 |
MB |
一个周期内虚拟网络适配器传入的网络通讯总量 |
传出网络通讯 |
MB |
一个周期内虚拟网络适配器传出的网络通讯总量 |
用于网络计量的端口 ACL
企业需要为传入或传出数据中心的互联网通讯付费,但不需要为数据中心内部的通讯付费。因此在记账的用途中,供应商通常会区分对待内部和互联网通讯。为了区分互联网和内部通讯,供应商可以用网络计量端口ACL 统计特定 IP 地址段的传入和传出网络通讯量。
在多租户环境中计量虚拟机的使用
Windows Server 2012中的 Hyper-V 可以让供应商构建多租户环境,在这样的环境中,虚拟机可以通过使用隔离功能、用更安全的方式为多个客户提供服务,如下图所示。因为一个客户可能有多个虚拟机,资源使用数据的汇总就成了一个充满挑战的任务。然而 Windows Server 2012通过使用 Hyper-V 提供的资源池功能简化了这一任务。资源池是一种逻辑容器,可将属于同一个客户的所有虚拟机使用的资源汇总起来,并可对该客户的资源使用总量进行单点查询。
下图演示的是在包含两位租户的环境中使用 Windows Server 2012 Hyper-V 进行资源计量的范例。
使用Windows Server 2012 Hyper-V 创建包含两个租户的环境
下图演示了资源计量的一种基本模式。
资源使用情况计量的基本模式
在该模式下,托管供应商可以执行下列操作:
1. 为客户创建虚拟机,然后为虚拟机启用资源计量功能,该操作只需要执行一次。在多租户环境中,供应商可为每个资源池启用计量。在虚拟机删除之前,Hyper-V 会追踪每个虚拟机的资源使用情况。
2. 在每个计费周期结束时,查询资源使用数据,然后使用该数据向客户收费。
3. 在每个计费周期结束时重置这些数据,这样 Hyper-V 就可以开始为新的计费周期重新记录资源使用情况。
资源计量功能可用于 Hyper-V 的所有操作。虚拟机在不同 Hyper-V 宿主机之间的移动(例如通过实时迁移、脱机,或存储迁移)并不会影响收集到的数据。
前提要求
要使用Hyper-V 资源计量功能,您需要满足下列要求:
l Windows Server 2012。
l Hyper-V 服务器角色。
请注意,资源计量功能不支持下列内容:
l 通过虚拟光纤通道适配器访问存储设备。
l 直接连接到虚拟机的物理磁盘(有时也叫做直通磁盘)。
l 配置有Offload Weight功能的网络适配器。
注意:Network Offload Weight有助于确保有限的硬件资源可动态分配给正确的虚拟机。随着虚拟机在数据中心内移动,可以用Network offload weight划分优先级,决定哪些虚拟机可以访问有限的网络硬件降低负载设备(例如 SR-IOV)。
总结
Windows Server 2012 Hyper-V 中的资源计量功能使您可以更容易追踪每位客户虚拟机使用情况的历史数据。通过该技术包含的资源池功能,Hyper-V 可以让供应商对不同客户或业务单元使用大量虚拟机的多租户环境使用数据进行汇总。通过该功能,还可以针对不同业务单元或客户进行容量规划,或监控资源的消耗情况。第三方 ISV 可以使用该功能提供的数据构建更可靠,成本更低廉,基于用量的记账解决方案。
新的虚拟磁盘格式
随着存储系统的发展,以及对虚拟化的企业负载需求的日渐增加,Windows Server 的 VHD 格式也需要产生变化。新格式更适合用于解决运行企业级负载目前和未来可能面临的各种要求,尤其是:
l VHD 的体积可以超过2040GB。
l 更可靠地保护防范断电时动态和差异磁盘可能遇到的故障。
l 防止在新的大扇区物理磁盘上遇到性能退化问题。
Windows Server 2012中的 Hyper-V 包含对 VHD 格式的改进,新格式叫做 VHDX,不仅能提供更大容量,还能提供额外适应性。VHDX 最多可支持 64TB 存储空间。另外通过记录对 VHDX 元数据结构的改动,在遇到断电等问题时还能提供额外保护,并能通过优化结构的对齐,防止大扇区物理磁盘可能遇到的性能退化问题。
技术描述
VHDX 格式的主要新特色包括:
l 虚拟磁盘的存储容量支持高达 64TB。
l 通过记录 VHDX 元数据结构的变动,断电时保护防止出错。该格式包含内部记录,可用于在将内容写入最终位置前,记录对虚拟磁盘文件元数据的变动。一旦遇到供电故障,如果对最终位置的写入出错,那么还可从日志恢复,保证虚拟磁盘文件的一致性。
l 优化虚拟磁盘格式的结构对齐方式,适合大扇区磁盘。如果对这些磁盘执行未对齐的 I/O,由于读取-修改-写入周期必须满足这些 I/O 的需求,可能会导致相关性能问题。该格式的结构已经过对齐,有助于确保不会产生未对齐的 I/O。
VHDX 格式还提供了下列功能:
l 动态和差异磁盘支持更大块,因此这些磁盘可以更好地满足负载的要求。
l 如果应用程序和负载专门针对 4-KB扇区进行过优化,4-KB 逻辑扇区的虚拟磁盘有助于提升性能。
l 能够存储有关文件的自定义元数据,例如操作系统版本和应用的补丁。
l 数据的呈现更高效(也叫做Trim),这主要体现在体积较小的文件上,可以让底层物理存储设备回收未使用的空间。(Trim需要使用直通式或 SCSI 磁盘并且硬件需要兼容Trim功能。)
下图演示了 VHDX 磁盘格式的结构。
VHDX 磁盘格式
从上图可见,结构中大部分位置都是大型分配,并且以 MB 为单位对齐。这种设计有助于缓解与虚拟磁盘有关的对齐问题。VHDX 格式的改进还包括:
l 头部区域。头部区域是文件的第一个区域,包含了其他格式的位置信息,例如日志、块分配表(BAT),以及元数据区域。头部区域包含两个头部信息,同一时间只能有一个是激活的,这主要是为了增强对错误的适应能力。
l 用途日志。用途日志是一种环状缓冲。对 VHDX 元结构的改动会首先写入该日志,随后才写入最终位置。如果在将更新写入实际位置时因为断电导致出错,在后续的打开操作中,该变动会通过日志重新提交,而VHDX 文件可返回到一致的状态。日志并不记录对载荷块的变动,因此并不能保护块中包含的数据内容。
l 数据区域。BAT 包含了指向用户数据块的项,以及 VHDX 文件中块位置的扇区位图。相比 VHD 格式,这是一个很重要的差异,因为扇区位图会按照自己的块进行汇总,而不是直接附加到每个载荷块的前端。
l 元数据区域。元数据区域包含一个指向用户定义的元数据和虚拟磁盘文件元数据的表,其中列出了块大小、物理扇区大小,以及逻辑扇区大小等信息。
Windows Server 2012中的 Hyper-V还可让 VHDX 文件在呈现其内部保存的数据时效率更高。
因为 VHDX 文件可能非常大,取决于其所支持的负载,文件消耗的存储空间可能会迅速增长。目前,当应用程序删除虚拟磁盘中保存的内容时,客户端操作系统和 Hyper-V 宿主机的 Windows 存储栈存在一定限制,会防止这些信息传输到虚拟磁盘和物理存储设备。这种做法可以让 Hyper-V 存储栈优化空间的使用情况,并防止底层存储设备回收之前被删除数据所占用的空间。
在Windows Server 2012中,Hyper-V支持撤销映射通知,可以让 VHDX 文件在呈现其内部保存的数据时效率更高。这样最终的文件体积可以更小,并使得底层物理存储设备能够回收未使用的空间。
前提要求
为了充分利用这个名为 VHDX 的新版本 VHD 格式,您需要满足下列条件:
l Windows Server 2012或 Windows 8。
l Hyper-V 服务器角色。
为了充分利用Trim功能,您需要满足下列条件:
l 基于VHDX 的虚拟磁盘,作为虚拟 SCSI 设备或直接附加物理磁盘(有时也叫做直通磁盘)的方式连接。该优化功能也适用于原生连接的基于 VHDX 的虚拟磁盘。
l 支持Trim的硬件。
总结
VHDX在设计上可满足当前和未来负载的要求,相比老版本格式可支持更大存储容量,并能解决企业发展过程中遇到的技术需求。VDHX 对性能的改善使其非常适合用于处理大型负载,在断电时更好地保护数据,并针对动态和差异磁盘进行结构对齐优化,防止新出现的大扇区物理磁盘遇到性能退化问题。
Hyper-V 支持Offloaded Data Transfer(ODX)
虚拟磁盘的关键维护任务,例如合并、移动,以及压缩,往往需要传输大量数据。SAN 供应商正在努力为大量数据提供近乎实时完成的复制操作。
这种存储设备使得磁盘上的系统下达将特定数据从一个位置移动到另一个的指令,这是一种硬件功能,也叫做复制Offload。在 Windows Server 2012中,Hyper-V 可充分利用新式 SAN 的复制Offload创新,将大量数据从一个位置复制到另一个位置。
在可能情况下,虚拟化平台的速度主要取决于物理硬件的速度。Offloaded Data Transfer(ODX)支持是Windows Server 2012 Hyper-V 存储栈中的一个功能。当配合支持Offload功能的 SAN 存储硬件使用时,ODX 可让存储设备在不需要 Hyper-V 宿主机主处理器参与的情况下执行文件复制操作,即可将内容从一个位置读取,并写入到另一个位置。
技术描述
Windows Server 2012中 Hyper-V 的存储栈支持 ODX 操作,因此这些操作可以从客户端操作系统直接传递到宿主机硬件,并让负载通过支持 ODX的存储设备直接执行,就好像在运行非虚拟化的环境一样。Hyper-V 存储栈还可在 VHD 与 VHDX 的维护工作中下达复制Offload操作,例如合并磁盘以及存储迁移,此外还可支持元操作,将大量数据从一个虚拟磁盘复制到另一个虚拟磁盘,或复制到其他位置。
ODX 使用了一套基于令牌的机制在智能存储阵列内部或之间读取和写入数据。这种情况下不需要将数据通过宿主机传递,而只需要在源和目标之间复制一个很小的令牌。该令牌实际上对应着这些数据的时间点状态。举例来说,当您在存储位置间复制文件或迁移虚拟机(无论是在存储阵列内部或之间)时,复制的只是代表虚拟机文件的令牌,因此就避免了通过服务器复制底层数据的需求。在基于令牌的复制操作中,操作执行的具体步骤如下(参见下图):
1. 用户通过 Windows 资源管理器、命令行界面,或虚拟机迁移功能发起文件复制或移动操作指令。
2. Windows Server 自动将该传输请求发往 ODX(如果存储阵列支持的话),并收到一个代表这些数据的令牌。
3. 在源和目标系统之间复制令牌。
4. 将令牌发往存储阵列。
5. 存储阵列在内部执行复制操作,并返回操作进度。
基于令牌的复制操作
在云环境中ODX 非常重要,因为您需要从虚拟机模板库供应新的虚拟机,或者触发了虚拟磁盘操作并且需要复制大量数据块,例如虚拟磁盘合并、存储迁移,以及实时迁移。随后这些复制操作会由存储设备负责处理,但设备必须支持Offload(例如支持Offload的 iSCSI、光纤通道 SAN,或基于 Windows Server 2012的文件服务器),这样 Hyper-V 宿主机的处理器就可以负责处理更多虚拟机负载。
前提要求
Hyper-V 的 ODX 支持需要满足下列条件:
l 用支持ODX的硬件保存虚拟磁盘文件,磁盘文件作为虚拟 SCSI 设备或直接连接设备(有时也叫做直通磁盘)连接到虚拟机。
l 该优化功能也适用于原生连接的基于 VHDX 的虚拟磁盘。
l 基于VHD或 VHDX的虚拟磁盘如果连接到虚拟 IDE 将无法支持这种优化,因为IDE设备无法支持 ODX。
总结
ODX 可分摊主处理器负担,使其更专注于处理虚拟机负载,并能在虚拟机读写存储设备时获得与原生环境类似的性能。
ODX 的其他功能收益包括:
l 极大减少复制大量数据所需的时间。
l 复制操作不再需要占用处理器时间。
l 虚拟化的负载运作效率更加接近非虚拟化环境。
对于需要复制大量数据的操作,可以为虚拟磁盘更快速地执行重要的维护任务(例如合并、移动,以及压缩),同时不占用处理器时间。相比支持该技术之前,在 Hyper-V 存储栈启用 ODX 支持使其可以用更短时间完成此类操作。
数据中心桥接
对于网络、实时迁移,以及管理通讯分别使用独立的隔离连接,这种做法使得网络交换机和其他网络基础架构的管理困难重重。随着数据中心的进化,IT 组织开始考虑使用网络技术领域的某些最新创新,降低成本减少管理需求。10-G 网络的引入使得您可以用一个连接承载网络、存储、实时迁移,以及管理方面的各种通讯。该功能可降低 IT 的管理需求和成本。
DCB 代表以太网 LAN 的改进,主要应用于数据中心环境。这些改进可将不同形式的网络整合为一种技术,也就是整合网络适配器(Converged Network Adapter,CNA)。在虚拟化环境中,Windows Server 2012中的Hyper-V 可以充分利用支持 DCB 的硬件将不同类型的网络通讯聚合到一个网络适配器上,每种通讯都可获得最大程度的服务级别。
技术描述
对支持 DCB的 10-G 网络适配器提供支持是Windows Server 2012中全新的 QoS 带宽管库功能之一,可以让托管供应商与企业用可预期的网络性能,借助 Hyper-V 服务器上的虚拟机提供服务。详情请参考本白皮书“服务质量”一节。
DCB 是一种硬件机制,可通过网络适配器对 DCB 的支持对网络通讯进行分类和快速处理,并能支持更少数量的通讯流。该技术可将不同类型的通讯,包括网络、存储、管理,以及实时迁移通讯聚合在一起。然而该技术还可以对并非由网络栈发起的通讯进行分类。对 iSCSI Offload提供的支持是涉及到CAN的一个典型应用场景,在这种场景下,iSCSI 通讯可以绕过网络栈,直接由CAN进行封装和传输。因为网络栈的数据包调度器无法处理此类Offloaded通讯,因此 DCB 也是唯一能够强制实现最小带宽占用的方法。
前提要求
在 Hyper-V 环境中,您需要满足下列条件才能使用 DCB:
l Windows Server 2012。
l Hyper-V 服务器角色。
l 支持 DCB的网络适配器。
总结
Hyper-V 可充分利用最新的 DCB 创新(一种先进的 10-Gb LAN 技术),让您将网络、存储、管理,以及实时迁移通讯聚合在一起,这有助于确保每位客户都能在虚拟化环境中获得所需 QoS。这种方法还使得您可在需要时更容易调整不同通讯流的分配情况,因为这种分配变为软件可控的,因此更灵活,也更易于修改。该功能有助于降低成本,同时使您能更容易在数据中心内维护相互独立的连接。
Hyper-V 支持虚拟光纤通道
您需要尽量便捷地将虚拟化的负载连接到原有存储阵列。很多企业已经投资了光纤通道 SAN,并将其部署在数据中心内以解决不断增长的存储需求。这些客户通常希望能直接在虚拟机内部使用此类存储,而不是让存储只能被 Hyper-V 宿主机访问和使用。
Hyper-V 对虚拟光纤通道的支持是 Windows Server 2012的新功能,可在客户端操作系统内提供光纤通道接口,让您直接在虚拟机内部连接光纤通道。
技术描述
虚拟光纤通道使得虚拟机能直接连接到基于光纤通道的存储设备,并在虚拟机中运行的客户端操作系统中提供虚拟光纤通道主机总线适配器(HBA)接口。虚拟光纤通道的主要功能是:
l 无需中介直接访问 SAN。
l Windows 软件虚拟磁盘栈可获得基于硬件的 I/O 路径。
l 实时迁移。
l N_Port ID 虚拟化(NPIV)。
l 单一 Hyper-V 宿主机通过多个光纤通道接口可连接到不同 SAN。
l 一个虚拟机最多可使用四个虚拟光纤通道适配器。
l 多路径 I/O(MPIO)有助于确保到存储设备连接的高可用性。
本节将简要介绍上述每个功能。
无需中介直接访问 SAN
通过使用关联给虚拟机的标准World Wide Name(WWN),Hyper-V 的虚拟光纤通道功能为客户端操作系统提供了无需中介直接访问 SAN 的能力。Hyper-V 可让您为需要直接访问 SAN 逻辑单元号(LUN)的虚拟化负载使用光纤通道 SAN。光纤通道 SAN 还使得您能支持更多新场景,例如在连接到共享式光纤通道存储设备的多个虚拟机内部运行 Windows 故障转移群集功能。
Windows 软件虚拟磁盘栈可获得基于硬件的 I/O 路径
中端以及高端存储阵列包含的高级存储功能有助于将某些管理任务的负担从宿主机分摊给 SAN。虚拟光纤通道提供了一种备选的,基于硬件的 I/O 路径,可直接访问Windows 软件虚拟磁盘栈。该路径使得您可以直接在 Hyper-V 虚拟机内部使用 SAN 所支持的高级功能。例如Hyper-V 用户通过在 Hyper-V 虚拟机中使用硬件卷影复制服务(VSS)提供程序,即可将存储功能(例如对 LUN 创建快照)的负担分摊给 SAN 硬件。
实时迁移
为了支持虚拟机跨越 Hyper-V 宿主机进行实时迁移,同时维持光纤通道连接,每个虚拟光纤通道适配器可配置两个WWN:Set A 和 Set B。在实时迁移过程中,Hyper-V 可自动在 Set A 与Set B 的WWN 地址之间切换。这有助于确保迁移之前目标宿主机的所有 LUN 都可用,并保证迁移过程不会导致停机。实时迁移过程中维持光纤通道连接的示意图如下图所示。
实时迁移过程中的备用 WWN 地址
N_Port ID 虚拟化(NPIV)
NPIV 是一种光纤通道概念,可让多个 N_Port ID 共享同一个物理 N_Port。这样多个光纤通道发起程序就可以用同一个物理接口,让 SAN 设计中的硬件要求变得更简单,尤其是在需要使用虚拟 SAN 的情况下。Hyper-V虚拟光纤通道客户端系统可使用 NPIV(T11 标准),在宿主机的物理光纤通道接口之上创建多个 NPIV 接口。每次在虚拟机内部创建虚拟 HBA 时,也会在宿主机上新建一个 NPIV 接口。当虚拟机不再在这台宿主机上运行时,NPIV 接口会被删除。
单一 Hyper-V 宿主机通过多个光纤通道接口可连接到不同 SAN
Hyper-V 可供您在宿主机上定义虚拟SAN,以满足某些场景需要将一台Hyper-V 宿主机通过多个光纤通道接口连接到不同SAN 的要求。虚拟 SAN 为连接到同一物理 SAN 的多个物理光纤通道接口定义了命名组。例如,假设一台 Hyper-V 宿主机连接到两个 SAN—一个生产用SAN 和一个测试用 SAN。该宿主机要通过两个光纤通道接口连接到每个 SAN。在这个例子中,可以配置两个虚拟 SAN—一个名为“生产用 SAN”,具有两个物理光纤通道接口,都连接到生产用 SAN;另一个叫做“测试用 SAN”,也通过两个物理光纤通道接口连接到测试用 SAN。您可以用相同技术将两个不同的路径命名为一个存储目标。
一个虚拟机最多可使用四个虚拟光纤通道适配器
一个虚拟机上最多可配置四个虚拟光纤通道适配器,每个适配器可关联给一个虚拟 SAN。每个虚拟光纤通道适配器都关联了一个 WWN 地址,或者可关联两个 WWN 地址以进行实时迁移。每个 WWN 地址可设置为自动或手工。
MPIO 功能
Windows Server 2012中的 Hyper-V 可以使用 MPIO 功能确保虚拟机内到光纤通道的存储保持持续连接。您可以按照下列方法将 MPIO 功能与光纤通道配合使用:
l 对使用 MPIO 的负载进行虚拟化。在一个虚拟机上安装多个光纤通道接口,然后使用 MPIO 为宿主机可以访问的 LUN 提供高可用性连接。
l 在一个虚拟机中配置多个虚拟光纤通道适配器,然后在该虚拟机的客户端操作系统中用一个独立的 MPIO 副本连接到该虚拟机可以访问的 LUN。该配置可与宿主机的 MPIO 设置共存。
l 为宿主机或每个虚拟机使用不同的设备特定模块(DSM)。该方法可实现对虚拟机配置的迁移,包括 DSM 的配置与宿主机之间的连接,以及与原有服务器配置和 DSM 的兼容性都可迁移。
前提要求
Hyper-V 的光纤通道功能需要满足下列要求:
l 一台或多台安装 Hyper-V 角色的 Windows Server 2012计算机。Hyper-V 要求具备一台处理器支持硬件虚拟化技术的计算机。
l 一台包含一个或多个光纤通道 HBA 的计算机,每个 HBA 驱动都要通过更新支持虚拟光纤通道。某些型号的 HBA 其自带驱动就已经是新版驱动,具体型号可参考下表。
供应商 |
型号 |
Brocade |
BR415 / BR815 |
Brocade |
BR425 / BR825 |
Brocade |
BR804 |
Brocade |
BR1860-1p / BR1860-2p |
Emulex |
LPe16000 / LPe16002 |
Emulex |
LPe12000 / LPe12002 / LPe12004 / LPe1250 |
Emulex |
LPe11000 / LPe11002 / LPe11004 / LPe1150 / LPe111 |
QLogic |
Qxx25xx Fibre Channel HBAs |
l 配置为使用虚拟光纤通道适配器的虚拟机必须运行 Windows Server 2008、Windows Server 2008 R2,或 Windows Server 2012作为客户端操作系统。
l 只能连接到数据 lLUN。通过虚拟光纤通道访问的存储所连接的 LUN 不能用作重启动介质。
总结
虚拟光纤通道可供您在虚拟机中访问并使用光纤通道 SAN 中存储的数据,而不再只能由 Hyper-V 宿主机访问并使用存储空间。Hyper-V 中客户端系统对光纤通道的支持还包含对很多相关功能的支持,例如NPIV、虚拟SAN、实时迁移,以及 MPIO。该功能可保护您在光纤通道方面的投资,让您对需要直接访问光纤通道存储的负载进行虚拟化,并让您通过光纤通道用客户端操作系统建立群集,为您虚拟化基础架构中包含的服务器提供了一种重要的存储访问新方式。
在 Hyper-V 虚拟磁盘中支持 4-KB 磁盘扇区
存储设备密度与可用性(以及其他指标)的增强使得数据存储产业将磁盘的物理格式从512字节扇区彻底转换为4096字节扇区(也叫做 4-KB 扇区)。然而大部分软件产业依然在使用长度为512字节的磁盘扇区。扇区大小的变化导致很多应用程序遇到严重的兼容性问题。为了将对生态系统的影响降到最低,硬盘供应商还引入了过渡时期的“512字节模拟驱动器”,即“512e”驱动器。这些驱动器提供了 4-KB 原生驱动器的某些优势,例如更高的格式效率,以及纠错代码(ECC)架构的改善,而且在磁盘接口方面造成的兼容性问题也要比4-KB 扇区磁盘小很多。
在 Windows Server 2012中,Hyper-V 可支持 4-KB 磁盘扇区。
技术描述
在 Windows Server 2012中,Hyper-V 的虚拟磁盘引入了对4096字节扇区(4-KB 磁盘扇区)的支持,这是一种整个业界在未来几年即将推行的标准,主要是为了满足日益增加的存储需求。Windows Server 2012中的Hyper-V还对传统标准的512字节模拟设备,即512字节模拟(512e)设备提供了更高性能。对 4-KB 磁盘扇区和 512e 磁盘提供支持有助于确保您的虚拟化基础架构能够跟上业界在存储领域的发展节奏。
在 512e 磁盘上改善虚拟磁盘的性能
512e 磁盘只能以物理扇区为基础执行写操作—也就是说,无法直接执行512字节扇区的写操作。磁盘使得这种写操作可以成功完成的内部过程需要涉及下列步骤:
1. 磁盘将 4-KB 物理扇区读入内部缓冲区,其中包含需要实际写入的512字节逻辑区段。
2. 4-KB 缓冲区中的数据被修改,以包含更新后的512字节区段内容。
3. 磁盘执行写操作,将更新后的4-KB 缓冲区内容重新写回磁盘上的物理扇区。
这个过程也叫做“读取-修改-写入”,即 RMW。这样的 RMW 过程会导致虚拟磁盘的性能下降,原因如下:
l 动态与差分虚拟磁盘无论其实际数据载荷情况如何,都使用512字节扇区位图。此外,尾部/头部/父位置都需要与512字节扇区对齐。因此以往虚拟磁盘驱动器必须通过512字节写操作更新这些结构,这将导致产生上文所介绍的 RMW 过程。
l 应用程序通常会以多个 4-KB 大小(NTFS 的默认簇大小)为单位下达读取和写入操作指令。因为512字节位图不能考虑到动态和差分虚拟磁盘的实际数据载荷块,4-KB 块将无法与物理 4-KB 边界对齐,如下图所示。
虚拟磁盘的 4-KB 块(蓝色)没有与物理 4-KB 边界对齐
当前解析点(Current Parser)—用于更新载荷数据—所下达的每个 4-KB 写操作都将导致需要对磁盘上的两个块读取两次,随后还需要更新,并重新写回这两个磁盘块。
在负载中,RMW 过程对整体性能的影响通常在30%-80%之间,而有时候可能还会更高。
Windows Server 2012中的 Hyper-V 通过将上文提到的结构与 VHD 格式的 4-KB 边界保持对齐,降低了虚拟磁盘栈中 512e 磁盘对性能的影响。这种做法还能减缓访问虚拟磁盘文件中数据,以及更新虚拟磁盘元数据结构时 RMW 对性能的影响。
在原生 4-KB 磁盘上存储虚拟磁盘
Windows Server 2012中的 Hyper-V通过在虚拟磁盘层实施软件 RMW 算法,因此可支持在 4-KB 磁盘上保存虚拟磁盘。该算法可将512字节的访问与更新请求转换为对应的 4-KB 访问与更新。
前提要求
为了充分利用Hyper-V 对 4-KB 磁盘扇区的支持,您需要满足下列条件:
l Windows Server 2012。
l 使用 512e 或原生 4-KB 格式的物理磁盘。
总结
存储业界引入 4-KB 物理格式的驱动器主要是为了提供更好的容量和可靠性。Windows Server 2012中的 Hyper-V 使您能充分利用存储硬件领域的这种创新,在 512e 磁盘上获得更好的虚拟磁盘性能,并能将虚拟磁盘保存到原生 4-KB 磁盘上。Windows Server 2012中的Hyper-V 4-KB 磁盘扇区支持降低了 512e 磁盘对虚拟磁盘栈的性能影响,让负载的运行更快速。
服务质量(QOS)
公共云托管供应商与大型企业经常要在 Hyper-V 服务器上运行多个服务器应用程序。在Hyper-V 服务器上为客户提供虚拟机的托管供应商必须根据其 SLA 提供规定的性能。需要在一台 Hyper-V 服务器上运行多个服务器应用的企业也需要确保每个应用服务器都能按照预期的方式运行。
此外,对于特定类型的负载,例如存储或实时迁移,大部分托管供应商与企业都使用专用网络适配器与专用网络,以便在 Hyper-V 服务器上对网络性能进行隔离。该方式适合 1-GbE 网络适配器,但对于正在或计划使用10-GbE 网络适配器的企业则显得不够实用。对于大部分环境,一个或多个10-GbE 网络适配器已经可以为 Hyper-V 服务器上的所有负载提供足够带宽。然而 10-GbE 网络适配器与交换机要比相对的1-GbE 设备昂贵很多。为了优化 10-GbE 硬件,Hyper-V 服务器需要新的功能来管理带宽。
Windows Server 2012通过为虚拟机或服务分配最小带宽的方式扩展了 QoS 的功能。该功能对需要按照 SLA 的约定向客户提供最小网络带宽的托管公司尤为重要。对于在共享硬件上运行虚拟化的服务器负载,并且需要可预期网络性能的企业,该功能同样重要。
技术描述
在 Windows Server 2008 R2中,QoS 支持强制实施最大带宽。这种方法通常也叫限速。请考虑一台典型的运行 Hyper-V 的服务器,有下列四种类型的网络通讯需要共享同一个 10-GbE 网络适配器:
l 虚拟机以及其他服务器上资源间的通讯。
l 传入和传出存储设备的通讯。
l 在运行 Hyper-V 的多台服务器间实时迁移虚拟机的通讯。
l 传入和传出 CSV(群集节点间交流)的通讯。
如果虚拟机的数据被限速为 3Gbps,那么所有虚拟机的数据吞吐率总量在任何时间都无法超过 3Gbps,哪怕其他类型的网络通讯根本用不了剩余的 7Gbps 带宽。然而这也意味着其他类型的通讯可能会将虚拟机数据可用的实际带宽减少到无法接受的程度,这主要取决于其他通讯的最大带宽是如何定义的。
引入最小带宽
Windows Server 2012中的 QoS 提供了一种全新的带宽管理功能:最小带宽。与最大带宽不同,最大带宽属于带宽峰值,最小带宽属于带宽谷值。该功能可为某一特定类型的通讯分配确定数量的带宽。下图演示了在不同时间段内,不同类型的网络带宽是如何应用最小带宽的:T1、T2,以及 T3。
为服务分配最小带宽
在上图中,左侧的表显示了特定类型的网络通讯流所需的最小带宽数量。例如,存储被配置为任何时间至少可使用带宽总量的 40%(对于10-GbE 网络适配器就意味着 4Gbps)。右侧表格显示了每种类型的网络通讯在T1、T2,以及T3 时段实际可用的带宽数量。在本例中,存储通讯的带宽在三个时段内分别为 5Gbps、4Gbps,以及 6Gbps。
最小带宽功能的特色可归纳如下:
l 在拥堵时,如果需要的网络带宽超出可用带宽(例如上图的 T2 时段),最小带宽功能可确保每种类型的网络通讯都能获得分配给自己的足量带宽。因此最小带宽实际上可以叫做公平共享。这个特征对于需要通过一个网络适配器传输多种类型网络通讯的环境非常重要。
l 如果没有发生拥堵—也就是说,如果有足够带宽可满足所有网络通讯的要求(例如上图的 T1 和 T3 时段)—那么每种类型的网络通讯都可以超出自己的配额消耗尽可能多的可用带宽。这一特征使得在使用可用带宽方面,最小带宽完胜最大带宽机制。
相对最小带宽
如果虚拟机中负载的重要程度有相对关系,那么还可以使用相对最小带宽功能,这时需要为每个虚拟机分配权重,让更重要的虚拟机权重更高。要确定分配给虚拟机的带宽基数多少,可以将虚拟机的权重用连接到同一个 Hyper-V 可扩展交换机的所有虚拟机权重的总和相除。下图演示了相对最小带宽的原理。
相对最小带宽
严格最小带宽
如果希望提供精确带宽,则可以使用严格最小带宽,为连接到同一 Hyper-V 可扩展交换机的每个虚拟机指派精确的带宽配额数值。
严格最小带宽
最小带宽机制
Windows Server 2012提供了两种不同机制供您强制实施最小带宽:一种是软件方式(通过 Windows 中改进过的数据包调度器),另一种是通过使用支持 DCB 的网络适配器硬件。在这两种情况下,网络通讯都必须首先进行分类。Windows 可自行对数据包进行分类,或通过指令让网络适配器对其分类。分类的结果是 Windows 中产生了一系列通讯流,某一数据包只能属于一个数据流。
例如,实时迁移连接可能会产生一个通讯流,服务器和客户端之间的文件传输会产生一个,远程桌面连接也会产生一个。根据所配置的带宽策略,无论 Windows 中的数据包调度器或网络适配器,都会用于为该通讯流所配置的最小带宽相等,或者更高的速率进行发送。
上述两种机制分别有不同的优势和劣势:
l 软件解决方案完全内建于Windows Server 2012中全新的数据包调度器,可对分类提供最具粒度的控制。但只有在各种通讯流需要强制实施最小带宽时这种方法才可用。一个典型的范例是,运行 Hyper-V 的服务器上托管了很多虚拟机,每个虚拟机都被分类为一个通讯流。
l 硬件解决方案需要使用支持 DCB 的网络适配器硬件,而可支持的通讯流数量要少很多。然而该方法可对并非来自网络栈的网络通讯进行分类。对 iSCSI Offload提供的支持是涉及到 CAN 的一个典型应用场景,在这种场景下,iSCSI 通讯可以绕过网络栈,直接由 CAN 进行封装和传输。因为网络栈的数据包调度器无法处理此类Offloaded通讯,因此 DCB 也是唯一能够强制实现最小带宽占用的方法。
您可以在同一台服务器上同时使用着两种机制。例如,一台运行 Hyper-V 的服务器有两个物理网络适配器:其中一个绑定到虚拟交换机并负责承担虚拟机的相关数据,另一个为宿主机服务器的其他通讯提供服务。您可以在 Hyper-V 中启用基于软件的最小带宽功能,确保不同虚拟机可以公平共享带宽,同时在第二个网络适配器上启用基于硬件的最小带宽,确保宿主机服务器上的其他各种类型的网络服务可以公平共享带宽。
对于某一特定网络通讯,不建议同时启用这两种机制。例如,实时迁移和存储通讯配置为使用运行 Hyper-V 的服务器上的第二个网络适配器。如果您已经配置该网络适配器使用 DCB 为实时迁移和存储通讯分配带宽,那就不该在 Windows 中再次配置数据包调度器实现相同目的,反之亦然。
配置并管理 QoS
在Windows Server 2012中,可以通过 Windows PowerShell 动态管理 QoS 策略与设置。新的 QoS cmdlet 同时支持Windows Server 2008 R2 中可用的 QoS 功能—例如最大带宽以及优先级标签—此外还可以用Windows Server 2012中的新功能,例如最小带宽。
前提要求
最小QoS 可通过下列两种方法强制制定:
l 第一种方法需要使用 Windows Server 2012内建的软件,无其他前提条件。
l 第二种方法则需要硬件的辅助,要求网络适配器支持 DCB。
对于通过硬件强制实施的最小带宽,必须使用支持 DCB 的网络适配器,而该网络适配器的迷你接口驱动程序必须支持 NDIS QoS API。网络适配器必须支持增强的传输(Enhanced Transmission Selection,ETS)与基于优先级的流控制(Priority-Based Flow Control,PFC)才能通过针对Windows Server 2012设立的 NDIS QoS 基准测试。该基准测试不要求包含Explicit Congestion Notification(ECN)功能。IEEE ETS规范包含一种名为数据库桥接交换(DCBX)的软件协议,可让网络适配器与交换机交换 DCB 配置信息。DCBX 也不是该基准测试所必须的。
如果是作为虚拟机运行,那么不建议在Windows Server 2012中启用 QoS。
通过数据包调度器强制实施的最小带宽机制最适合用于1-GbE 或 10-GbE 网络适配器。
总结
为改善虚拟化环境的性能,Windows Server 2012引入了一种全新的 QoS 带宽管理功能,可用于为虚拟机或服务分配最小带宽。托管供应商和企业借此可对 Hyper-V 服务器上运行的虚拟机数量进行优化,并确保能够获得预期的运行效果。
高可用性
本节将简要介绍 Windows Server 2012中用全新并高效的方式为您的关键业务负载提供高可用性的 Hyper-V 新功能。本节包含下列功能:
l Hyper-V 副本
l Hyper-V 群集功能的改善
l 增量备份
l 网卡捆绑
增量备份
在 Windows Server 2012之前,数据的备份需要执行完整文件备份。这意味着您必须在脱机状态下将整个虚拟机和快照作为平坦文件进行备份,或使用 Windows 服务器或第三方备份工具备份虚拟机本身,以及照常备份操作系统和其他数据。Windows Server 2012可在虚拟机运行过程中对虚拟磁盘进行增量备份。
技术描述
虚拟磁盘的增量备份使您可以更快速容易地执行备份操作,并节约网络带宽与磁盘空间。因为备份支持 VSS,因此托管供应商可对 Hyper-V 环境进行备份,更高效地备份租户的虚拟机,为客户提供额外的一层服务,而这并不要求在虚拟机中安装备份代理。
增量备份可通过备份软件单独针对每个虚拟机开启。Windows Server 2012使用“恢复快照”功能记录不同备份之间的差异。这一点类似普通虚拟机快照,不过这种快照直接由 Hyper-V 软件管理。在每次增量备份中,只有差异的内容才会被备份(下图中绿色的内容)。
对虚拟磁盘进行增量备份的范例
上图演示了对具有一个虚拟磁盘的虚拟机在三天(周日、周一,以及周二)内进行增量备份,随后(在周五)进行还原的全过程。请注意上图所示范例的下列情况:
l 要启用变动追踪,虚拟机必须配置为使用增量备份,并且在首次启用增量备份后必须进行一次完整备份(周日)。
l 在增量备份过程中,虚拟机很快会出现两个级别的新恢复快照。在备份操作结束时,之前创建的这些快照会被合并到基础虚拟磁盘中。
l 虚拟机的配置 XML 文件非常小,可以频繁备份。为了简化版面,该文件的备份并未列在上述示意图中。
前提要求
要使用虚拟磁盘的增量备份功能,您需要具备 Windows Server 2012与 Hyper-V 角色。
总结
虚拟磁盘的增量备份可节约网络带宽,降低备份大小,节约磁盘空间,并能降低每个备份的成本。该功能使您能提高备份频率,因为现在的备份速度更快文件更小,因此备份应该更频繁进行。因为备份支持 VSS,托管供应商可以对整个 Hyper-V 环境进行备份,更高效地备份租户的虚拟机,为客户提供额外的一层服务,而这并不要求在虚拟机中安装备份代理。
Hyper-V 副本
业务连续性是指在只丢失很少,或者不丢失数据的情况下从停机事件中快速恢复业务运转的能力。业务中断的原因很多,包括电力故障、IT 硬件故障、网络故障、人工错误、IT 软件故障,以及自然灾害等。取决于故障类型,客户需要通过高可用性解决方案简化还原服务的操作。然而某些故障会影响整个数据中心,例如自然灾害或严重断电事故,此时往往要通过灾难恢复解决方案在远程站点还原数据,并让服务和连接恢复正常。组织需要一种价格低廉但可靠的业务连续性解决方案,帮助他们从故障中恢复。
从 Windows Server 2008 R2开始,即可配合使用Hyper-V 与故障转移群集功能为虚拟机提供高可用性,并将中断降到最低。如果遇到故障或需要进行负载平衡,管理员可无缝迁移虚拟机到群集中其他宿主机,同时这并不影响虚拟化应用程序的运行。虽然这种方式可以保护虚拟化负载防范本地宿主机故障,或在计划内时间对群集中宿主机进行维护,但并不能保护业务防范整个数据中心的故障。虽然故障转移群集可配合基于硬件的SAN 复制跨越数据中心使用,但这种方法通常非常昂贵。通过提供价格低廉的内建灾难恢复解决方案,Hyper-V 副本功能弥补了 Windows Server Hyper-V 这方面的不足。
Windows Server 2012中引入了 Hyper-V 副本技术,这是一种内建功能,可对虚拟机进行异步复制,实现业务连续性与灾难恢复等用途。一旦主要站点遇到故障(例如断电、火灾,或自然灾害),管理员即可将生产用虚拟机用手工方式故障转移到恢复站点中 Hyper-V 服务器上运行的虚拟机内。在故障转移过程中,虚拟机会被恢复到一致的时间点状态,几分钟内即可被网络中的其他程序访问,对业务的影响可降到最低。一旦主要站点重新恢复,管理员即可用手工方式将虚拟机还原回主要站点的 Hyper-V 服务器上。
技术描述
Hyper-V 副本是 Windows Server 2012的新功能。该功能可以让您通过网络从主要站点的 Hyper-V 宿主机对 Hyper-V 虚拟机创建副本,并将其保存到复制站点中的其他 Hyper-V 宿主机上,这一过程并不需要依赖存储阵列或其他软件复制技术。下图演示了用安全的方法通过 WAN 将虚拟机从不同系统与群集复制到远程站点的过程。
通过 WAN 用更安全的方法将虚拟机从各种系统与群集复制到远程站点
Hyper-V 副本功能可追踪对主站点虚拟机的写入操作,并用高效率的方法将变动通过 WAN 复制给副本服务器。两台服务器间的网络连接使用 HTTP 或 HTTPS 协议,支持 Windows 集成式以及基于证书的身份验证。为将连接加密,您可选择基于证书的身份验证。Hyper-V 副本还可紧密集成到 Windows 故障转移群集中,并跨越主要和副本服务器在不同的迁移场景中提供更快速的复制。
为简化管理,Hyper-V 副本提供了下列工具:
l Hyper-V 管理器中的集成式 UI 以及微软管理控制台(MMC)故障转移群集管理器管理单元。
l 可扩展的 WMI 接口。
l Windows PowerShell 命令行接口脚本功能。
前提要求
要使用Hyper-V 副本,您需要两台按照下列方式配置的物理计算机:
l Windows Server 2012。
l Hyper-V 服务器角色。
l 支持 Hyper-V 角色的硬件。
l 足够保存虚拟化负载所用文件的存储空间。根据副本配置的设置,在副本服务器上有足够的额外存储空间。
l 放置主要和副本服务器的位置和站点具有足够的网络带宽。
l 允许主要和副本服务器与站点进行通讯的防火墙规则。
l 如果您想要在群集计算机上使用 Hyper-V 副本功能,则还需要故障转移群集功能。
总结
通过 Hyper-V 副本功能,您可以实施一套更廉价更高效的故障恢复解决方案,并自动跨越您的存储系统、网络,以及群集对 Hyper-V 虚拟机进行复制。
您可以用 Hyper-V 副本功能提供虚拟机级别的复制解决方案,通过网络链路将数据高效复制到远程站点,而无需依赖存储阵列或其他软件复制技术。Hyper-V 副本提供了一种与存储无关,与负载无关的解决方案,可实现更高效的定期复制,并能通过基于 IP 的网络实现异步复制,通常可复制到远程站点。该功能还可让您轻松测试副本虚拟机,测试工作对持续的复制操作只产生少量干扰。如果主站点遇到故障,可以启用副本站点的已复制虚拟机,恢复业务运作。Hyper-V 副本提供了一种虚拟机级别的,更廉价的,更可靠的,并且更可管理的复制解决方案,可集成于Windows Server 2012的 Hyper-V 管理器与故障转移群集功能中。
Hyper-V 副本是一种软件复制解决方案,可跨越域与网络工作,因此也可将业务从原有数据中心复制到远程托管供应商的数据中心内。因为 Hyper-V 副本功能是一种与应用无关的技术,并能在虚拟机的层面上工作,因此托管供应商可以轻松管理自己的虚拟机,无需知道虚拟机中所运行负载的具体细节。
网卡捆绑
特定 Hyper-V 接口或虚拟网络适配器的故障可能会导致到虚拟机连接的丢失。通过在网卡捆绑组中使用两个虚拟网络适配器,即可预防连接丢失,并且如果两个适配器都连接,还可以获得加倍的吞吐率。
为改善虚拟化环境的可靠性与性能,Windows Server 2012内建支持具备网卡捆绑技术的网络适配器硬件。虽然 Windows Server 2012中的网卡捆绑并非 Hyper-V 功能,不过对于运行关键业务的 Hyper-V 环境一样重要,因为可提升虚拟机的可靠性和性能。网卡捆绑也叫做“网络适配器捆绑技术”,或“负载平衡故障转移(LBFO)”。
技术描述
Windows Server 2012中的网卡捆绑使得虚拟机能通过虚拟网络适配器连接到多个虚拟交换机,就算一个虚拟交换机连接的网络适配器断开,依然可以维持连接。该功能配合 SR-IOV 等功能使用的效果更为重要。SR-IOV 通讯并不能穿透Hyper-V 可扩展交换机,因此无法受到该虚拟交换机所具备的网络适配器捆绑技术的保护。通过虚拟机捆绑选项,您可以设置最多两个虚拟交换机,每一个都连接到自己的支持 SR-IOV的网络适配器。网卡捆绑可用于下列任何一种方式:
l 每个虚拟机可从一个或多个 SR-IOV 网络适配器安装一个Virtual Function,如果遇到网络适配器断开的情况,即可从主要Virtual Function故障转移到备份Virtual Function。
l 每个虚拟机从一个网络适配器安装一个Virtual Function,并用一个非Virtual Function接口连接到其他交换机。如果关联给Virtual Function的网络适配器断开,通讯即可故障转移到另一个交换机,这一过程并不会断开连接。
因为虚拟机中网络适配器间的故障转移可能会导致发送通讯时使用另一个接口的 MAC 地址,因此与一个使用网卡捆绑技术的虚拟机有关的每个虚拟交换机接口都必须设置为允许 MAC 嗅探。
Windows Server 2012中实施的网卡捆绑最多可在一个组中支持32个网络适配器。如下图所示,Hyper-V 可扩展交换机可充分利用原生提供程序支持网卡捆绑,因此可跨越多个物理网络接口实现高可用性和负载平衡。
Hyper-V 可扩展交换机可充分利用网卡捆绑技术的原生提供程序
前提要求
要为虚拟机实施网卡捆绑,您需要具备:
l Windows Server 2012。
l 至少一个网络适配器,或速度相同的两个或更多网络适配器。
l 如果您希望实现带宽聚合或故障转移保护,则需要准备两个或更多网络适配器。
l 如果您希望让网络堆栈实现 VLAN 划分,则需要准备一个或更多网络适配器。
总结
Windows Server 2012中的网卡捆绑功能通过使用来自任何供应商的,至少两个支持接收端扩展(RSS)功能的网络适配器,使您可充分利用物理服务器和虚拟机的网络容错机制,而无需使用第三方捆绑解决方案。两个或更多网络适配器的配合使您能够获得双倍(或更高)吞吐率,并能在一个网络适配器故障后依然维持网络连接。
Hyper-V 群集功能的改善
群集功能可以帮助组织防范:
l 应用程序与服务故障。
l 系统与硬件故障(例如 CPU、驱动器、内存、网络适配器,以及供电)。
l 站点故障(可能是由自然灾害、断电,或断网导致的)。
群集可以让大部分负载获得高可用性解决方案,并且该功能在初始发布时就已支持 Hyper-V。通过为虚拟化环境建立群集,即可提升可用性,并在计划内或计划外停机时间依然可以访问基于服务器的应用程序。
Windows Server 2012为您的 Hyper-V 群集环境提供了大量改进。
技术描述
Windows Server 2012的群集支持 Hyper-V,此外还有一些新功能:
l 通过光纤通道支持客户端群集。Windows Server 2012可在虚拟机中提供虚拟光纤通道适配器,使您的负载能使用光纤通道设备直接访问存储区域网络。此外,虚拟光纤通道适配器使得您能够:
n 通过光纤通道为客户端操作系统创建群集,为虚拟机中的负载提供高可用性。
n 使用 Windows 多路径 I/O(MPIO)在存储路径上实现高可用性与负载平衡。
通过配合使用 MPIO 与故障转移群集作为互补技术,用户可以尽量减缓硬件层和应用程序层可能存在的系统中断风险。
l 实时迁移的改进。实时迁移通过改进已经可以使用更多可用网络带宽,可极大提升实时迁移操作的性能,并可进行毫无限制的并发迁移。实时迁移支持的并发运行数量取决于您想要在网络基础架构中投入多少。
l 批量扩展。Windows Server 2012现在可支持最多64个节点,一个群集最多可支持4000个虚拟机。
l 加密群集卷。Hyper-V、故障转移群集,以及 BitLocker 可以配合使用,为您的私有云基础架构创建出理想并且安全的平台。Windows Server 2012群集磁盘可使用 BitLocker 驱动器加密技术进行加密,对于部署在安全的数据中心范围之外的环境可以提供更好的物理安全,为您的云提供重要的保护,帮助保护防范机密数据的泄露。
l 群集共享卷 2.0(CSV)。CSV 已通过多种方式得到了极大的改进。从易用性角度来看:
n CSV 已成为故障转移群集的核心功能(不再是一个需要额外开启的独立组件)。
n 在磁盘上启用 CSV 已经简单到只需要鼠标右键单击一次。
n CSV 磁盘已被包含在故障转移群集管理器的存储视图下,方便提供更容易的管理。
为了让一个群集最多支持64个节点,CSV 的性能和可扩展性也有大量提高。通过与合作伙伴的紧密集成,CSV 非常适合配合下列存储过滤器驱动实现拆箱即用:反病毒、数据保护、备份与存储复制。
l Hyper-V 应用程序监控。在 Windows Server 2012中,Hyper-V 与故障转移群集可配合使用,为本不支持群集的负载提供更好的可用性,为此该技术会提供一个轻量级,并且简单的解决方案,监控虚拟机中运行的应用程序,并与宿主机集成在一起。通过监控虚拟机中的服务与事件日志,Hyper-V 与故障转移群集可以检测到虚拟机提供的重要服务是否处于健康状态,并能提供自动化的纠错操作,例如重启动虚拟机,或重启动虚拟机中的服务。
l 虚拟机故障转移优先级。现在可以通过配置虚拟机优先级控制特定虚拟机故障转移或启动的顺序。该功能确保了高优先级的虚拟机可以获得所需资源,而低优先级虚拟机可以获得可用资源。
l 内建实时迁移队列。管理员现在可以执行更大规模的多选操作,将多个虚拟机的实时迁移添加到队列中,简化工作提高效率。
l 虚拟机关联(Affinity)以及互斥(anti-affinity)规则。管理员现在可以配置虚拟机的关联性,这样一旦需要故障转移,相关虚拟机就可以实现并发迁移。例如,管理员可以配置 SharePoint 虚拟机与相关的 SQL Server虚拟机在故障转移的时候总是一起迁移到同一个节点。管理员还可以指定在故障转移场景中,两个虚拟机永远不出现在同一个群集。
l 文件服务器透明故障转移。通过在节点间移动文件共享,您现在可以更容易地对文件服务器群集中的节点执行软硬件维护工作(例如通过 SMB2 协议将虚拟机文件,例如配置文件、虚拟磁盘文件,以及快照文件保存到文件共享中),该过程对需要访问文件共享中存储的数据的服务器应用程序的干扰可以降到最低。此外,如果群集节点遇到软硬件故障,SMB2 透明故障转移功能可以让文件共享故障转移到其他群集节点,这一过程对需要访问文件共享中所存储数据的服务器应用程序的干扰可以降到最低。
前提要求
l 安装了 Hyper-V 角色的 Windows Server 2012计算机。
l 将节点(服务器)连接到群集的网络基础架构。在该网络基础架构中,避免出现单点故障情况。
l 将存储连接到群集中的所有节点。
l 具备存储所需的设备控制器或相应的适配器。可以使用串行 SCSI(SAS)、光纤通道,或 iSCSI。
场景
Contoso Ltd. 以前一直为虚拟机使用群集,主要是为了在计划内和计划外停机时增强可用性。现在通过使用 Windows Server 2012,Contoso 在更多群集节点中部署了更多虚拟机,这样一旦遇到停机,高优先级虚拟机会被优先触发转移,所需的资源立刻可以被使用。通过以前在光纤通道设备上的投资,Contoso 还可以通过在虚拟机客户端中直接访问的方式提升存储设备的性能,并可使用 BitLocker 保护非现场以及基于云的群集的安全性。
总结
Windows Server 2012改善了群集环境,并将功能扩展到一个全新的层面,可支持更好的存储访问机制,更快速的故障转移和节点迁移,并可为offsite群集提供更好的集成式数据安全保护。
结论
虚拟化技术可以帮客户降低成本,同时提供更敏捷,更具经济效益的扩展能力。无论作为独立产品或 Windows Server的集成式组件,Hyper-V 都是目前领先的虚拟化平台,并已经为未来向云计算的迁移做好了准备。
在数据中心,在桌面,甚至在云端,由 Hyper-V 极其管理工具所引领的微软虚拟化平台更具吸引力,相比竞争对手的产品能够提供更出色的价值。
附件
Windows Server 2012Hyper-V之前
从 Windows Server 2008开始,通过 Hyper-V 提供的服务器虚拟化技术就已成为操作系统的一个组成部分。在发布 Windows Server 2008 R2时还发布了新版 Hyper-V,该产品在发布 Service Pack 1(SP1)时再次更新。
微软 Hyper-V 技术主要有两种发布方式:
l Windows Server 2008 R2 中基于 Hypervisor的虚拟化功能,需作为 Windows Server 角色安装。
l 微软 Hyper-V Server,这是一个免费的独立产品,只包含 Windows Hypervisor、Windows Server 驱动模型,以及虚拟化组件。
Hyper-V 是一个强大的虚拟化技术,使得业务能够充分利用虚拟化的各项收益,例如降低成本,提升硬件使用率,优化业务基础架构,以及改善服务器可用新。无论数据中心或远程站点都适合进行服务器整合,这样组织即可更高效率地利用现有硬件资源。同时该技术还使得 IT 组织能增强管理工作的生产力,快速部署新服务器,满足业务不断变化的需求。Hyper-V 使用基于Hypervisor的64位技术,配合在虚拟机中运行 Windows Server 2008 R2、Windows Server 2008、Windows Server 2003、指定的 Linux版本,以及支持 Xen的 Linux 即可获得更出色的性能,并能让这些系统尽可能地利用共享环境中的 CPU 和内存资源完成工作。
自发布后,Hyper-V 就包含了大量重要改进,可用于创建动态的数据中心,这些改进包括:
l 提升移动虚拟机的可用性。任何数据中心最重要的任务之一可能就是为系统和应用提供尽可能高的可用性。虚拟化的数据中心也不例外,也需要满足对高可用性的需求。Windows Server 2008 R2 中的 Hyper-V 包含实时迁移功能,可让您在群集的服务器节点或使用共享式存储的普通服务器之间移动虚拟机,同时对服务的中断可以降到最低。
l 提升添加和删除虚拟机存储的可用性。Windows Server 2008 R2 Hyper-V 支持虚拟机存储的热添加和热删除。通过支持在虚拟机运行过程中添加于删除磁盘文件和直通磁盘,Windows Server 2008 R2 Hyper-V 使得您能够更快速的重配置虚拟机,以满足不断变化的需求。
l 改善虚拟化数据中心的管理。虽然通过虚拟化技术可以获得各项收益,但虚拟机依然需要管理。虚拟机的数量增长趋势比物理计算机更快,因为这样的计算机并不需要采购硬件。因此虚拟化数据中心的管理就比以往更重要。Windows Server 2008 R2 包含了下列改进,可帮助您管理虚拟化的数据中心:
n 通过使用 Hyper-V 管理控制台减少执行日常例行 Hyper-V 管理任务的工作量。
n 通过使用System Center Virtual Machine Manager 2008改善虚拟化数据中心内多个Hyper-V 服务器的管理工作。
l 用简单的方法部署物理与虚拟计算机。历史上,为物理和虚拟计算机部署操作系统与应用程序曾经需要使用不同的方法。对于虚拟机,.vhd 文件格式已经成为部署预配置操作系统和应用程序的既成事实标准。Windows Server 2008 R2 还支持通过保存在本地磁盘上的 .vhd 文件引导计算机的功能。这样您就可以使用预配置的.vhd 文件部署虚拟与物理计算机。这种做法有助于减少您需要管理的映像数量,并为您在生产环境部署前的部署测试工作提供了一种简单的方法。
l Hyper-V 处理器监控模式促成了实时迁移。随着今天企业中虚拟化的范围逐渐扩大,客户在跨越物理宿主机执行虚拟机迁移时经常会遇到硬件限制问题。Windows Server 2008 R2 Hyper-V 中引入了一个叫做“用于实时迁移的处理器兼容模式”的新功能,可让您跨越不同架构的 CPU 进行实时迁移。
l 改善虚拟机的网络性能。Hyper-V 充分利用了Windows Server 2008 R2 中的多种网络技术改善虚拟机的整体网络性能。这里有两个重要的例子:巨型帧的支持,以及虚拟机队列(WMQ)的支持。
对巨型帧的支持首次于 Windows Server 2008中引入,Windows Server 2008 R2 中的 Hyper-V 将该功能扩展到了虚拟机。与物理网络环境类似,巨型帧的支持位虚拟网络的性能起到了不小的改善作用。例如每个数据包可以发送最多六倍大的载荷,这样不仅可以提升吞吐率,而且可以降低传输大文件时的 CPU 占用率。
VMQ 使得宿主机的网络适配器可以将直接内存访问(DMA)数据包直接发往特定虚拟机的内存堆栈。虚拟机每个设备的缓冲区都会被分配一个 VMQ,这样可以在虚拟交换机中避免不必要的数据包复制和路由查询。基本上,VMQ 可以让宿主机的一个网络适配器相对虚拟机显示为多个网络适配器,因此每个虚拟机都可以有自己专用的网络适配器。最终宿主机的缓冲区中需要存储的数据更少,I/O 操作的整体性能更高。
改善的虚拟机内存管理。Windows Server 2008 R2 SP1 中引入了 Hyper-V 动态内存功能。通过在为每个运行中的虚拟机分配多少内存方面进行权衡,动态内存使得客户能够更好地利用 Hyper-V 宿主机的内存资源。根据虚拟机所运行负载需求的变动,内存可以在不同虚拟机之间进行动态重新分配。因此动态内存技术可以更充分地利用内存,同时维持一致的负载性能与可扩展能力。实施动态内存意味着可以获得更高级别的服务器整合率,同时对性能的影响可以降到最低。