虚拟化结构设计注意事项指南
本指南适用于谁? 大中型组织内负责设计用于支持许多虚拟机的虚拟化结构的信息技术 (IT) 专业人员。在本文档的其余部分中,这些个人被称为结构管理员。管理在该结构上托管的虚拟机的人员被称为虚拟机管理员,但是他们不是本文档的目标受众。在你的组织内,你可能负有这两种角色的责任。
本指南将如何帮助你? 你可以使用本指南了解如何设计可托管组织中的许多虚拟机的虚拟化结构。在本文档中,服务器和虚拟机监控程序的集合以及用于托管组织内虚拟机的存储和网络硬件被称为虚拟化结构。下图显示了一个示例虚拟化结构。
图 1:示例虚拟化结构
注意: 本文档中的每个关系图存在于虚拟化结构设计注意事项关系图文档的单独选项卡上,可以通过单击每个表标题中的图表名称来下载关系图。
尽管所有虚拟化结构都包含用于存储和托管虚拟机的服务器,但是除了连接它们的网络外,每个组织的虚拟化结构设计将可能由于要求不同而与图 1 所示的示例不同。
本指南详细介绍一系列你可以遵循的步骤,以帮助你设计满足你组织的独特要求的虚拟化结构。通过这些步骤和任务,本指南介绍你可以使用的相关技术和功能选项以满足质量(例如可用性、可伸缩性、性能、可管理性和安全性)水平要求。
尽管本文档可帮助你设计可管理的虚拟化结构,但是它不讨论使用某个产品(例如 Microsoft System Center 2012 或 System Center 2012 R2)管理和操作虚拟化结构的设计注意事项和选项。有关详细信息,请参阅 TechNet 库中的 System Center 2012。
本指南帮助你使用 Windows Server 2012 R2 和 Windows Server 2012 以及供应商不可知的硬件设计虚拟化结构。本文档中讨论的某些功能是 Windows Server 2012 R2 独有的,并且将在整个文档中引用它们。
假设: 你有一些部署 Hyper-V、虚拟机、虚拟网络、Windows Server 文件服务和故障转移群集的经验以及一些部署物理服务器、存储和网络设备的经验。
其他资源
在设计虚拟化结构前,以下文档中的信息可能会对你有所帮助:
这两个文档提供在多个虚拟化结构设计中观察到的基础概念,并且可以用作任何虚拟化结构设计的基础。
反馈: 若要提供有关本文档的反馈,请向 virtua@microsoft.com 发送电子邮件。
设计注意事项概述
本文档的其余部分提供一组你可以遵循的步骤和任务,以设计最满足你的要求的虚拟化结构。这些步骤将按顺序呈现。但是,由于冲突,你在以后的步骤中了解的设计注意事项可能要求你更改你在之前的步骤中所做的决定。但是,在整个文档中会尽量提醒你潜在的冲突。
只有在为了将本文档中的所有注意事项纳入考虑而循环访问这些步骤足够多的次数之后,你才会达到最满足你的要求的设计。
步骤 1:确定虚拟机资源要求
步骤 2:规划虚拟机配置
步骤 3:规划服务器虚拟化主机组
步骤 4:规划服务器虚拟化主机
步骤 5:规划虚拟化结构体系结构概念
步骤 6:规划初始功能特征
步骤 1:确定虚拟机资源要求
设计虚拟化结构的第一个步骤是确定该结构将托管的虚拟机的资源要求。该结构必须包含满足这些要求所必需的物理硬件。虚拟机资源要求由在虚拟机中运行的操作系统和应用程序所决定。在本文档的其余部分中,在虚拟机中运行的操作系统和应用程序的组合被称为工作负载。本步骤中的任务帮助你定义工作负载的资源要求。
提示: 你可以决定设计一个可满足大部分常用工作负载需求的虚拟化结构,而不是评估你的现有工作负载的资源要求,然后设计一个可支持每个工作负载的虚拟化结构。然后单独处理具有独特需求的工作负载。
此类虚拟化结构的示例是由公共云提供程序(例如 Microsoft Azure (Azure))提供的示例。有关详细信息,请参阅 Azure 的虚拟机和云服务大小。
公有云提供程序通常提供一组可满足大部分工作负载需求的虚拟机配置。如果你决定采用此方法,则可以直接跳到本文档的步骤 2:规划虚拟机配置。使用此方法的其他好处是:
当你决定将你的一些本地虚拟机迁移到公有云提供程序时,如果你的本地虚拟机配置类型与你的公有云提供程序类似,则迁移虚拟机将比配置类型不同时更简单。
它可使你更轻松地预测功能要求并支持你的虚拟化结构的自助服务设置功能。这意味着,组织内的虚拟机管理员可以自动自设置新的虚拟机,而无需结构管理员的参与。
任务 1:确定工作负载资源要求
每个工作负载对以下资源有要求。你将要做的第一件事是,回答以下为你的每个工作负载列出的问题。
处理器: 需要怎样的处理器速度或体系结构(Intel 或 AMD)或者处理器数?
网络: 以千兆位每秒 (Gbps) 为单位,入站和出站流量需要多少带宽?工作负载正常运行所能承受的最大网络延迟是多少?
存储: 工作负载的应用程序和操作系统文件需要多少千兆字节 (GB) 的存储?工作负载的数据需要多少 GB 的存储?工作负载对其存储需要多少每秒输入/输出操作 (IOPS)?
内存: 以千兆字节 (GB) 为单位,工作负载需要多少内存?工作负载是否是非一致性内存访问 (NUMA) 感知的?
除了了解之前的资源要求,确定以下内容也很重要:
资源要求是最低要求还是建议要求。
每个硬件要求的每小时、每天、每周、每月或每年的最高和平均要求是多少?
工作负载和工作负载的数据可接受的每月停机时间的分钟数。在确定这一点时,请考虑以下因素:
该工作负载是在任意一个虚拟机上运行,还是在充当一个虚拟机的虚拟机集合(例如全部运行相同工作负载的网络负载平衡服务器的集合)上运行?如果你使用的是服务器的集合,所表示的停机时间应该清楚地表明它是应用于集合中的每个服务器、集合中的所有服务器还是以集合为级别。
工作和非工作时间。例如,如果没有人将在上午 9:00 和下午 6:00 之间的时间使用该工作负载,但是它必须在下午 6:00 和上午 9:00 尽量可用,且每月可接受的停机时间仅为 10 分钟,则应该指定此要求。
在发生虚拟基础结构意外故障事件时可接受的数据丢失量。这以分钟为单位表示,因为虚拟基础结构复制策略通常是基于时间的。尽管无数据丢失经常表示为一种要求,但是请考虑要达到此要求通常需要付出额外代价,并且还可能导致性能降低。
工作负载文件和/或其数据是否必须在磁盘上加密以及其数据是否必须在虚拟机和其最终用户之间加密。
你有以下可用于确定前面的资源要求的选择。
选项 |
优点 |
缺点 |
---|---|---|
手动评估和记录资源利用率 |
能够报告你选择的任何内容 |
可能需要大量手动工作 |
使用 Microsoft 评估和规划工具包自动评估和记录资源使用率 |
|
报告可能提供或可能不提供你需要的所有数据 |
注意: 如果你选择手动确定你的资源要求,则可以下载虚拟化结构设计注意事项指南工作表并在“工作负载资源要求”工作表中输入信息。本指南引用该文档中的特定工作表。
任务 2:定义工作负载特征
你可以在你的环境中定义任何数量的工作负载特征描述由于其中每一个都要求不同的虚拟化结构组件配置(将在以后的步骤中进一步讨论),因此选择以下示例。
无状态: 在初始设置它们的本地硬盘并为其分配唯一计算机名称和网络地址后,不将任何唯一信息写入这些本地硬盘。但是,它们可能将唯一信息写入单独的存储,例如数据库。无状态工作负载最适合用于在虚拟化结构上运行,因为可为虚拟机创建“主”映像。可在虚拟化结构上轻松地复制和启动此映像,以将伸缩添加到该工作负载,或快速替换在发生虚拟化主机故障时变为不可用的虚拟机。无状态工作负载的一个示例是运行前端 Web 应用程序的 Web 服务器。
有状态: 在初始设置它们的本地硬盘并为其分配唯一计算机名称和网络地址后,不将任何唯一信息写入这些本地硬盘。它们还可能将唯一信息写入单独的存储,例如数据库。有状态的工作负载通常要求比无状态工作负载更复杂的设置和伸缩策略。有状态工作负载的高可用性策略可能需要与其他虚拟机共享状态。有状态工作负载的示例是 SQL Server 数据库引擎。
共享有状态: 有状态的工作负载需要与其他虚拟机共享一些状态。这些工作负载通常使用 Windows Server 中的故障转移群集获取高可用性,这可能需要共享存储的访问权限。共享有状态工作负载的一个示例是 Microsoft System Center Virtual Machine Manager。
其他: 定义可能在虚拟化结构上完全不运行或运行不佳的工作负载。此类工作负载的属性是它们要求:
物理外围设备的访问权限。此类应用程序的示例是与物理主机中的电话网络适配器通信的电话工作负载。
比你的大部分其他工作负载更多的资源要求。一个示例是要求应用程序层之间的延迟小于一毫秒的实时应用程序。
这些应用程序可能在或可能不在你的虚拟化结构上运行,或者它们可能要求未由你的大部分其他工作负载共享的非常具体的硬件或配置。
注意: 你可以在设置工作表中定义你的工作负载特征描述,然后为工作负载资源请求工作表中的每个工作负载选择相应的特征描述。
步骤 2:规划虚拟机配置
在本步骤中,你将定义满足资源要求和你在步骤 1 中定义的工作负载的特征描述所需的虚拟机类型。
任务 1:定义计算配置
在此任务中,你将确定每个虚拟机需要的内存量和处理器数。
任务 1a:定义虚拟机代类型
Windows Server 2012 R2 引入了第 2 代虚拟机。第 2 代虚拟机支持在第 1 代虚拟机中不受支持的硬件和虚拟化功能。针对你的要求做出正确的决策是非常重要的,因为在创建虚拟机后,它的类型将无法改变。
第 2 代虚拟机提供以下新功能:
PXE 通过使用标准网络适配器启动
从 SCSI 虚拟硬盘启动
从 SCSI 虚拟 DVD 启动
安全启动(默认启用)
UEFI 固件支持
第 2 代虚拟机支持以下来宾操作系统:
Windows Server 2012 R2
Windows Server 2012
64 位版本的 Windows 8.1
64 位版本的 Windows 8
特定版本的 Linux。有关支持第 2 代虚拟机的分发和版本的列表,请参阅 Hyper-V 上的 Linux 虚拟机。
下表列出了第 1 代和第 2 代虚拟机的优点和缺点。
选项 |
优点 |
缺点 |
---|---|---|
第 1 代 |
|
无法访问新的虚拟机功能 |
第 2 代 |
|
|
重要说明: Linux 第 2 代虚拟机不支持安全启动。当你创建虚拟机并计划安装 Linux 时,你必须在虚拟机设置中关闭安全启动。
其他信息:
任务 1b:定义内存
你应该规划你的虚拟机内存的大小,就像你通常为物理计算机上的服务器应用程序所做的那样。它应该合理地处理平时和高峰时间的预期负载。不足的内存可显著提高响应时间和 CPU 或 I/O 使用率。
静态内存或动态内存
静态内存 是分配给虚拟机的内存量。它始终在启动虚拟机时分配,并且它不会在虚拟机正在运行时更改。所有内存都在启动期间分配给虚拟机,未由虚拟机使用的内存对其他虚拟机不可用。如果虚拟机启动时主机上没有足够的内存可分配到该虚拟机,则该虚拟机将不会启动。
静态内存适合占用大量内存的工作负载和具有自己的内存管理系统的工作负载(例如 SQL Server)。使用静态内存,这些类型的工作负载的性能将提高。
注意: 没有启用静态内存的设置。当未启用动态内存设置时,将启用静态内存。
动态内存使你可以平衡多个虚拟机上的总物理内存、将更多的内存分配到繁忙的虚拟机以及删除较少使用的虚拟机的内存,从而更好地使用系统上的物理内存。这可以导致更高的整合率,尤其是在动态环境中,例如在虚拟桌面基础结构 (VDI) 或 Web 服务器中。
当使用静态内存时,如果虚拟机被分配 10 GB 的内存而它只使用 3 GB,则剩余的 7 GB 内存不可供其他虚拟机使用。当虚拟机启用了动态内存时,虚拟机仅使用所需的内存量,但不会低于所配置的最小 RAM。这为其他虚拟机释放了内存。
下表列出静态内存和动态内存的优点和缺点。
选项 |
优点 |
缺点 |
---|---|---|
静态内存 |
|
|
动态内存 |
|
|
下面是内存配置设置:
启动 RAM: 指定启动虚拟机所需的内存量。该值必须足够高以允许来宾操作系统启动,但也应该尽可能地低以实现最佳的内存使用率和可能较高的整合率。
最小 RAM: 指定在虚拟机启动后应该分配给虚拟机的最小内存量。该值最低可以设置为 32 MB,最大值可以等于启动 RAM 值。此设置仅在启用动态内存时可用。
最大 RAM: 指定允许此虚拟机使用的最大内存量。该值最低可以设置为启动 RAM 的值,最高可以设置为 1 TB。但是,虚拟机最大只可以使用来宾操作系统所支持的最大内存量。例如,如果你为运行来宾操作系统的虚拟机指定 64 GB,但是该来宾操作系统最大支持 32 GB,则该虚拟机无法使用多于 32 GB 的内存。此设置仅在启用动态内存时可用。
内存权重: 如果主机中没有足够的物理内存可用于为每台虚拟机提供其所请求的内存量,Hyper-V 可提供用于确定如何在虚拟机中分发内存的方法。带有较高内存权重的虚拟机优先于带有较低内存权重的虚拟机。
注意:
动态内存和虚拟 NUMA 功能无法同时使用。有效启用了动态内存的虚拟机只有一个虚拟 NUMA 节点,并且不会向虚拟机提供任何 NUMA 拓扑,无论虚拟 NUMA 设置如何。
在安装或升级虚拟机的操作系统时,在安装和升级过程期间对虚拟机可用的内存量是指定为启动 RAM 的值。即使已为虚拟机配置了动态内存,虚拟机仍然只使用在启动 RAM 设置中配置的内存量。确保启动 RAM 值在安装或更新过程期间满足操作系统的最小内存要求。
在虚拟机中运行的来宾操作系统必须支持动态内存。
复杂的数据库应用程序(如 SQL Server 或 Exchange Server)会实现它们自己的内存管理器。请参考工作负载的文档以确定该工作负载是否与动态内存兼容。
其他信息:
任务 1c:定义处理器
必须为配置虚拟机确定以下配置设置:
确定每台虚拟机所需的处理器数。这经常与工作负载所需的处理器数相同。Hyper-V 支持每台虚拟机最多 64 个虚拟处理器。
确定每台虚拟机的资源控制。可设置限制以确保没有虚拟机能够独占虚拟化主机的处理器资源。
定义 NUMA 拓扑。对于高性能 NUMA 感知的工作负载,你可以指定最大处理器数、单个虚拟 NUMA 节点上允许的内存量以及单个处理器套接字上允许的最大节点数。有关详细信息,请阅读 Hyper-V 虚拟 NUMA 概述。
注意: 虚拟 NUMA 和动态内存无法同时使用。当你尝试确定使用动态内存还是 NUMA 时,请回答以下问题。如果对两个问题的回答都是 Yes,则启用虚拟 NUMA 而不启用动态内存。
在虚拟机中运行的工作负载是否是 NUMA 感知的?
虚拟机将消耗的资源、处理器和内存是否比单个物理 NUMA 节点上所提供的更多?
任务 1d:定义受支持的操作系统
你需要确认你的工作负载所需的操作系统支持作为来宾操作系统。请考虑下列各项:
Supported Windows Guest Operating Systems for Hyper-V in Windows Server 2012 R2 and Windows 8.1
Supported Windows Guest Operating Systems for Hyper-V in Windows Server 2012 and Windows 8
对于 Linux:有关受支持的 Linux 分发的信息,请参阅 Hyper-V 上的 Linux 虚拟机。
注意: Hyper-V 包含受支持的来宾操作系统的软件包,该操作系统可改进性能和物理计算机与虚拟机之间的集成。服务和软件驱动程序的集合称为集成服务。为了获得最佳性能,你的虚拟机应该运行最新的集成服务。
授权
你需要确保对来宾操作系统进行正确的授权。请查看供应商文档以了解运行虚拟化环境时的任何特定授权要求。
自动虚拟机激活 (AVMA) 是 Windows Server 2012 R2 中引入的功能。AVMA 将虚拟机激活绑定到经授权的虚拟化服务器,并在其启动时激活该虚拟机。这将消除输入授权信息和单独激活每台虚拟机的需要。
AVMA 要求主机正在运行 Windows Server 2012 R2 Datacenter 并且来宾虚拟机操作系统是 Windows Server 2012 R2 Datacenter、Windows Server 2012 R2 Standard 或 Windows Server 2012 R2 Essentials。
注意: 你需要在虚拟化结构中部署的每个主机上配置 AVMA。
其他信息:
任务 1e:定义虚拟机命名约定
你的现有计算机命名策略可能指示计算机和服务器实际所在的位置。虚拟机可以在主机之间、甚至在数据中心之间移动,因此现有命名策略可能不再适用。对现有命名约定进行更新以指示计算机正在作为虚拟机运行可帮助找到虚拟机正在运行的位置。
任务 2:定义网络配置
每台虚拟机将收到或发送不同类型的网络流量。每个类型的网络流量将具有不同的性能、可用性和安全要求。
第 1 代虚拟机最多可以有 12 个网络适配器 - 4 个旧版网络适配器和 8 个虚拟网络适配器。第 2 代虚拟机不支持旧版网络适配器,因此受支持的最大适配器数是 8 个。
任务 2a:确定网络流量类型
每台虚拟机将发送和接收不同类型的数据,例如:
应用程序数据
数据备份
与客户端计算机、服务器或服务的通信
群集内通信(如果工作负载是来宾虚拟机故障转移群集的一部分)
支持
存储
如果你已经有专用于不同类型的网络流量的现有网络,则可以选择将这些网络用于此任务。如果你要定义新的网络设计以支持你的虚拟化结构,则对于每台虚拟机,你可以定义它将支持哪种类型的网络流量。
任务 2b:定义网络流量性能选项
每个网络流量类型都有最大带宽和最小延迟要求。下表显示可用于满足不同的网络性能要求的策略。
策略 |
优点 |
缺点 |
---|---|---|
对不同的物理网络适配器分离流量类型 |
分离流量,以使其不被其他流量类型共享 |
|
Hyper-V 带宽管理(Hyper-V QoS) |
|
|
SR-IOV |
|
|
|
|
|
Jumbo 帧 |
|
|
任务 2c:定义网络流量可用性选项
NIC 组合(也称为负载平衡和故障转移 (LBFO))允许出于带宽聚合和流量故障转移的目的将多个网络适配器放置在一个组中。这可以在发生网络组件故障时保持连接性。NIC 通常在主机上配置,并且当你创建虚拟交换机时,它绑定到网络适配器组。
所部署的网络交换机确定 NIC 组合模式。Windows Server 2012 R2 中的默认设置应该足以满足大多数部署。
注意: SR-IOV 与 NIC 组合不兼容。有关 SR-IOV 的详细信息,请参阅任务 2b:定义网络流量性能选项。
其他信息:
任务 2d:定义网络流量安全选项。
每个网络流量类型可能有不同的安全要求,例如与隔离和加密相关的要求。下表说明可用于满足安全要求的策略。
策略 |
优点 |
缺点 |
---|---|---|
不同网络适配器上的分离 |
将流量与其他网络流量分离 |
可伸缩性差。你具有的网络越多,需要在主机上安装和管理的网络适配器就越多。 |
使用 IPsec 任务卸载的 IPsec |
|
|
VLAN 标记 |
|
|
|
|
|
|
启用时对性能影响最小 |
|
|
启用时对性能影响最小 |
设计决策 - 你可以下载 虚拟化结构设计注意事项指南工作表 并在“虚拟机配置”工作表中更改示例数据以捕获你在此步骤中为所有之前的任务所做的决策。对于后续设计决策,本文档引用本指南中的特定工作表,你可以在这些工作表中输入你的数据。
任务 2e:定义虚拟网络适配器
借助对虚拟机所需的流量类型的了解,除了流量的性能、可用性和安全策略外,你还可以确定每台虚拟机将需要多少个虚拟网络适配器。
虚拟网络适配器连接到虚拟交换机。有三种类型的虚拟交换机:
外部虚拟交换机
内部虚拟交换机
专用虚拟交换机
外部虚拟交换机通过网络适配器为虚拟机提供物理网络的访问权限,该网络适配器与其所连接到的虚拟机相关联。主机中的物理网络虚拟机只可与单个外部交换机相关联。
第 1 代虚拟机最多可以有 12 个网络适配器 - 4 个旧版网络适配器和 8 个虚拟网络适配器。第 2 代虚拟机不支持旧版网络适配器,因此受支持的最大适配器数是 8 个。虚拟机可以有一个分配给它的 VLAN ID,除非它在 Trunk 模式中配置。
如果你打算将虚拟机流量分配给不同的 VLAN,则必须在主机中安装支持 VLAN 的网络适配器并将其分配给虚拟交换机。你可以在虚拟机的属性中为虚拟机设置 VLAN ID。在交换机中设置的 VLAN ID 是将分配给虚拟适配器的 VLAN ID,该虚拟网络适配器将分配给主机操作系统。
注意: 如果你有一台虚拟机,该虚拟机需要多于可用适配器的网络的访问权限,则可以通过使用 Set-VMNetworkAdapterVlan Windows PowerShell cmdlet 来为虚拟机网络适配器启用 VLAN Trunk 模式。
任务 2f:定义 IP 寻址策略
你需要确定你将如何将 IP 地址分配给虚拟机。如果你尚未确定,则可能发生 IP 地址冲突,这可能对网络上的其他虚拟机和物理设备产生负面影响。
此外,未经授权的 DHCP 服务器可能会对你的网络基础结构造成严重破坏,并且当服务器作为虚拟机时跟踪它们尤其困难。你可以通过在虚拟机的设置中启用 DHCPGuard 来保护你的网络免受在虚拟机上运行的未经授权 DHCP 服务器的侵害。DHCPGuard 可防御将自己表现为 DHCP 服务器以进行中间人攻击的恶意虚拟机。
其他信息:
任务 3:定义存储配置
若要确定你的存储配置,你需要定义虚拟机将存储的数据类型和它们所需要的存储类型。
任务 3a:定义数据类型
下面列出了虚拟机可能需要存储的数据类型和该数据类型经常存储的位置。
数据类型 |
数据类型的存储位置 |
---|---|
操作系统文件 |
在由虚拟化主机存储的虚拟硬盘文件内。步骤 4 中进一步讨论了虚拟化主机的存储注意事项:规划下面的服务器虚拟化主机。 |
Windows 页面文件 |
经常存储在与操作系统文件相同的位置。 |
应用程序的程序文件 |
经常存储在与操作系统文件相同的位置。 |
应用程序配置数据 |
经常存储在与操作系统文件相同的位置。 |
应用程序数据 |
经常与应用程序和操作系统文件分开存储。例如,如果应用程序是数据库应用程序,则数据库文件经常存储在高可用性、高效、基于网络的网络解决方案上,该解决方案与操作系统或应用程序文件的存储位置分离。 |
群集共享卷 (CSV) 和磁盘见证(来宾虚拟机群集需要) |
经常与应用程序和操作系统文件分开存储。
|
故障转储文件 |
经常存储在与操作系统文件相同的位置。 |
任务 3b:定义存储类型
下表列出可用于上面的“步骤 2,任务 2a”中定义的数据类型的存储类型。
存储类型 |
注意事项 |
---|---|
存储 IDE 磁盘 |
第 1 代虚拟机:
第 2 代虚拟机不支持 IDE 设备。 |
虚拟 SCSI |
|
虚拟机中的 iSCSI 发起程序 |
|
虚拟光纤通道 |
|
SMB 3.0 |
从虚拟机内部访问服务器消息块 (SMB) 3.0 共享上存储的文件。 |
任务 3c:定义虚拟硬盘格式和类型
如果你使用的是虚拟硬盘存储类型,则必须先从下表中列出的选项中选择你将使用的 VHD 格式。
磁盘格式 |
优点 |
缺点 |
---|---|---|
VHD |
|
|
|
|
|
用于来宾虚拟机群集的共享存储 |
|
接下来,从下表中列出的选项中选择你将使用的磁盘类型。
磁盘类型 |
优点 |
缺点 |
---|---|---|
固定 |
|
|
动态 |
仅按需使用磁盘空间,而不是使用所设置的所有空间 |
|
差异 |
如果多个差异磁盘使用同一个父磁盘,则可以使用较少的磁盘空间 |
|
选择虚拟硬盘文件类型和格式时,请考虑以下事项:
当你使用 VHDX 格式时,可使用动态磁盘,因为它除了提供只按需求分配空间所带来的空间节省之外,还提供复原保证。
当承载卷上的存储未受到有效监视时,也可以使用固定磁盘而不考虑格式。这确保了当 VHD 文件在运行时扩展时存在足够的磁盘空间。
虚拟机的检查点(以前称为快照)可创建差异虚拟硬盘来存储对磁盘的写入。只具有少量检查点时可提升存储 I/O 的 CPU 使用率,但是它们可能不会明显地影响性能(除了在占用大量 I/O 的服务器工作负载中)。
但是,当有大型的检查点链时,可能会明显影响性能,因为从虚拟硬盘读取可能需要在许多差异磁盘中检查请求的块。保留较短的检查点对维持良好的磁盘 I/O 性能很重要。
任务 3d:定义要用于每个数据类型的存储类型
定义虚拟机将存储的数据类型和存储类型后,你可以确定你将用于每个数据类型的存储类型以及虚拟磁盘格式和类型。
任务 4:定义虚拟机可用性策略
尽管结构管理员对结构的可用性负责,但是虚拟机管理员最终对他们的虚拟机的可用性负责。因此,虚拟机管理员必须了解结构的功能以为他们的虚拟机设计相应的可用性策略。
下表分析三种可用性策略,用于运行带有上面的“步骤 1,任务 2”中所定义的特征描述的工作负载的虚拟机。通常,当为结构安排计划停机时间活动时,结构管理员会提前通知虚拟机管理员,以便虚拟机管理员进行相应的计划。三种可用性策略是:
无状态
有状态
共享有状态
无状态
选项 |
注意事项 |
---|---|
主机级的虚拟机实时迁移 |
|
负载平衡群集(通过使用 Windows 网络负载平衡) |
|
负载平衡的群集(通过使用硬件负载平衡器) |
|
有状态
选项 |
注意事项 |
---|---|
|
共享有状态
运行群集感知工作负载时,你可以通过启用虚拟机来宾群集来提供额外的可用性。来宾群集支持虚拟机内工作负载的高可用性。来宾群集提供对正在虚拟机中运行的工作负载的保护,即使虚拟机正在其中运行的主机失败。由于工作负载受故障转移群集保护,因此其他节点上的虚拟机可自动接管。
选项 |
注意事项 |
---|---|
|
其他信息:
灾难恢复
如果发生灾难,你可以多快地使所需的工作负载启动并运行,以使它们为客户端提供服务?在某些情况下,分配的时间可能只有几分钟。
若要确保在由延迟引发的数据丢失可接受的情况下复制大部分最新数据,需要将数据从主数据中心复制到灾难恢复中心。通过在虚拟机中运行工作负载,你可以将虚拟机硬盘和虚拟机配置文件从你的主站点复制到副本站点。
下表比较了灾难恢复选项。
选项 |
注意事项 |
---|---|
Hyper-V 副本 |
|
备份 |
|
注意:
若要在运行 System Center 2012 R2 Virtual Machine Manager 时集中管理并自动执行复制,你需要使用 Microsoft Azure Site Recovery。
通过使用 Microsoft Azure Site Recovery 将虚拟机复制到 Azure。将虚拟机复制到 Azure 当前处于预览模式。
其他信息:
重要说明:
使用 Hyper-V 副本容量规划器了解 Hyper-V 副本将对以下对象产生的影响:网络基础结构;主、副本和扩展副本服务器上的处理器使用率;主和副本服务器上的内存使用率;以及基于你的现有虚拟机的主、副本和扩展副本服务器上的磁盘 IOPS。
你的工作负载可能具有内置的灾难恢复解决方案,例如 SQL Server 中的“始终可用”可用性。请参考工作负载文档以确认 Hyper-V 副本是否受工作负载支持。
其他信息:
System Center Data Protection Manager
任务 5:定义虚拟机类型
若要支持你的环境中的工作负载,你可以创建带有特殊资源要求的虚拟机以满足每个工作负载的需求。此外,你可以对虚拟机托管服务(也称为基础结构即服务 (IaaS))的公共提供程序采取类似的方法。
有关由 Microsoft Azure Infrastructure Services 提供的虚拟机配置的说明,请参阅 Azure 的虚拟机和云服务大小。截至撰写本文时,该服务支持 13 个虚拟机配置,每个都带有处理器空间、内存、存储和 IOP 的不同组合。
设计决策 - 在此步骤的所有任务中所做的决策将输入“虚拟机配置”工作表。
步骤 3:规划服务器虚拟化主机组
在你定义单独的服务器主机前,你可能希望先定义主机组。主机组只是组合在一起的服务器的已命名集合,用于满足此步骤的剩余任务中所述的共同目标。
任务 1:定义物理位置
你可能会按物理位置分组和管理硬件资源,因此你将希望先定义将包含组织内的结构资源的位置。
任务 2:定义主机组类型
你可能出于任意数量的原因创建主机组,例如用于托管带有以下特定内容的工作负载:
工作负载特征描述
资源要求
服务质量要求
下图介绍了一个已在两个位置中创建了五个主机组的组织。
图 2:主机组示例
组织出于下表中所述的原因创建主机组。
主机组 |
创建它的原因 |
---|---|
无状态和有状态工作负载 |
|
会计部门有状态和无状态工作负载 |
尽管此主机组中的服务器硬件配置与他们环境中的其他无状态和有状态工作负载主机组相同,但是会计部门具有比组织中的其他部门更高的安全要求。因此,为他们创建了专用的主机组,以便以不同于结构中的其他主机组的方式保护它。 |
共享有状态工作负载 |
由此主机组托管的工作负载需要共享的存储,因为它们依靠 Windows Server 中的故障转移集群维护其可用性。这些工作负载由专用主机组托管,因为这些虚拟机的配置与组织中的其他虚拟机不同。 |
高 I/O 有状态工作负载 |
此主机组中的所有主机连接到比其他主机组中的主机更高速的网络。 |
尽管组织可能分散了其主机组的位置,但他们选择将每个主机组的所有成员保留在相同的位置以简化管理。正如你从此示例中看到的,可以出于各种原因创建主机组,并且这些原因在各个组织中各不相同。你在组织中创建的主机组类型越多,环境的管理就越复杂,这最终将增加托管虚拟机的成本。
提示: 组织内的服务器硬件越标准化,随着时间的推移伸缩和维护主机就越容易。如果你确定要标准化主机组中的硬件,则可以将标准化配置数据添加到虚拟化结构设计注意事项工作表中的“主机组”工作表。有关物理硬件的详细信息,请参阅步骤 4:规划服务器虚拟化主机。
考虑当前托管虚拟机的大部分公共云提供程序:
只托管不需要共享状态的虚拟机。
经常只有一组向所有客户提供的服务质量指标。
不要将特定硬件专用于特定客户。
建议你从包含相同硬件的三个主机组类型开始,并且只添加其他主机组类型,因为这样做的收益大于成本。
任务 3:确定是否使主机组成员组成群集
在过去,Windows Server 中的故障转移群集仅用于增加服务器可用性,但是它已发展为提供大量更多的功能。考虑下表中的信息以帮助你确定是否要将主机组成员组成群集。
选项 |
优点 |
缺点 |
---|---|---|
主机组成员是故障转移群集的一部分 |
|
|
主机组成员不是故障转移群集的一部分 |
|
在发生故障的主机上运行的虚拟机必须手动(或者可以使用某种自动化的形式)移动到仍然运行的主机并重新启动。 |
设计决策 - 在此步骤的所有任务中所做的决策将输入“设置”工作表。
步骤 4:规划服务器虚拟化主机
在此步骤中,你将定义托管虚拟机所需的主机类型,你计划在虚拟化结构上运行这些虚拟机。你将希望限制主机配置的数量(在某些情况下限制为单个配置)以减轻采购和支持成本。此外,购买错误的设备将提高部署成本。
云平台系统
Microsoft 将其运行某些最大的数据中心和云服务的经验融入到工厂集成和完全验证的融合系统。云服务平台 (CPS) 将 Microsoft 的广为赞誉的 Windows Server 2012 R2、System Center 2012 R2 和 Windows Azure Pack 的软件栈与 Dell 的云服务器、存储和网络硬件结合。作为云的可伸缩构建基块,CPS 缩短了评估时间,并支持一致的云体验。
CPS 为平台即服务、Windows 和 Linux 虚拟机提供自助服务的多租户云环境,并包含针对 Microsoft 应用程序(如 SQL Server、SharePoint 和 Exchange)而优化的部署包。工厂集成可降低风险和复杂性,同时将部署时间从几个月加快到几天。经简化的支持过程和日常基础结构任务的自动化还释放了 IT 资源,以专注于创新。
有关其他信息,请参阅云平台系统站点。
快速跟踪
你可以通过 Microsoft 私有云快速跟踪计划从各种硬件合作伙伴购买预配置的硬件配置,而不是设计你的硬件(和软件)配置。
快速跟踪计划是 Microsoft 与其硬件合作伙伴共同努力的结果,用于提供经验证的预配置解决方案,可降低实现虚拟化结构的复杂度和风险并减少用于管理它的工具。
快速跟踪计划提供解决方案的灵活性,并使客户可以在各种硬件供应商的技术中进行选择。它使用 Windows Server 操作系统、Hyper-V 技术和 Microsoft System Center 的核心功能提供所有云基础结构的构建块作为服务产品。
其他信息:
任务 1:定义计算配置
在此任务中,你将确定每个主机所需的内存量、处理器数和 Windows Server 版本。要在主机上运行的虚拟机数量将由此部分中讨论的硬件组件来决定。
注意: 若要确保你的解决方案受到完全支持,你购买的所有硬件必须带有你正在运行的 Windows Server 版本的“Certified for Windows Server”徽标。
“Certified for Windows Server”徽标表示服务器系统满足 Microsoft 对于安全性、可靠性和可管理性的最高技术标准。借助其他经认证的设备和驱动程序,它可以支持云和企业工作负载以及业务关键应用程序的角色、功能和接口。
有关“Certified for Windows Server”硬件的最新列表,请参阅 Windows Server 目录。
任务 1a:定义处理器
Hyper-V 将逻辑处理器作为一个或多个虚拟处理器提供给每台活动的虚拟机。你可以通过使用支持第二级地址转换 (SLAT) 技术(例如扩展页表 (EPT) 或嵌套页表 (NPT))的处理器来获取额外的运行时效率。Windows Server 2012 R2 中的 Hyper-V 支持最多 320 个逻辑处理器。
注意事项:
不占用大量处理器的工作负载应该配置为使用一个虚拟处理器。随着时间的推移监视主机处理器使用率以确保你分配的处理器实现了最大效率。
应该向占用大量 CPU 的云分配两个或更多虚拟处理器。你可以将最多 64 个虚拟处理器分配给一个虚拟机。由虚拟机识别的虚拟处理器数量取决于来宾操作系统。例如,Windows Server 2008 Service Pack 2 仅识别四个虚拟处理器。
其他信息:
任务 1b:定义内存
物理服务器需要足够的内存用于主机和正在运行的虚拟机。主机需要内存才能有效地代表虚拟机执行 I/O 以及虚拟机检查点等操作。Hyper-V 可确保有足够的内存对主机可用,并且允许将剩余的内存分配给虚拟机。应该根据每台虚拟机的预期负载需求来调整虚拟机的大小。
虚拟机监控程序虚拟化来宾物理内存以将虚拟机相互隔离,并为每个来宾操作系统提供连续的从零开始的内存空间,与在非虚拟化系统上一样。若要确保你获取最大性能,请使用基于 SLAT 的硬件来尽量减少内存虚拟化的性能成本。
你应该调整你的虚拟机内存的大小,就像你通常为物理计算机上的服务器应用程序所做的一样。分配给虚拟机的内存量应该使虚拟机可以在平时和高峰时间合理地处理预期的负载,因为内存不足可能会导致响应时间和 CPU 或 I/O 使用率大幅增加。
已为虚拟机分配的内存可减少对其他虚拟机可用的内存量。如果主机上没有足够的可用内存,则虚拟机将无法启动。
动态内存使你可以获得较高的整合数并改进重新启动操作的可靠性。这可以减少成本,尤其是在具有许多限制或低负载的虚拟机的环境(如共用 VDI 环境)中。动态内存运行时配置更改可以减少停机时间,并提供更高的灵活性以响应要求的更改。
有关动态内存的详细信息,请参阅任务 1b:定义内存,其中讨论如何确定用于虚拟机的内存。
其他信息:
任务 1c:定义 Windows Server 操作系统版本
Windows Server Standard 和 Windows Server Datacenter 中的功能集完全相同。Windows Server Datacenter 提供无限数量的虚拟机。在 Windows Server Standard 中,限制为两台虚拟机。
在 Windows Server 2012 R2 中,添加了自动虚拟机激活 (AVMA) 功能。AVMA 使你可以在正确激活的服务器上安装虚拟机,而无需为每台虚拟机管理产品密钥,即使在断开连接的环境中也是如此。
AVMA 要求来宾操作系统运行 Windows Server 2012 R2 Datacenter、Windows Server 2012 R2 Standard 或 Windows Server 2012 R2 Essentials。下表比较了各版本。
版本 |
优点 |
缺点 |
---|---|---|
标准 |
|
限制为两台虚拟机 |
Datacenter |
|
成本更高 |
可以在 Windows Server 的服务器核心安装选项上安装 Hyper-V。服务器核心安装减少了磁盘上所需的空间、潜在的攻击面,尤其还减少了维护要求。服务器核心安装通过使用命令行、Windows PowerShell 或通过远程管理来进行管理。
查看你正计划使用的任何软件的授权条款非常重要。
Microsoft Hyper-V Server
Microsoft Hyper-V Server 提供简单且可靠的虚拟化解决方案,以帮助组织提高其服务器利用率并降低成本。它是独立的产品,仅包含 Windows 虚拟机监控程序、Windows Server 驱动程序模型和虚拟化组件。
Hyper-V Server可以融入客户现有的 IT 环境并利用他们现有的设置、管理过程和支持工具。它支持与 Windows Server 的相应版本相同的硬件兼容性列表,并与 Microsoft System Center 和 Windows 技术(如 Windows Update、Active Directory 和故障转移群集)完全集成。
Hyper-V Server 提供免费下载,并且其安装已激活。但是,在托管的虚拟机上运行的每个操作系统都需要正确的许可证。
其他信息:
任务 2:定义网络配置
在上面的“步骤 2,任务 2”中,我们讨论了虚拟机网络的设计注意事项。现在我们将讨论该主机的网络注意事项。当你部署 Hyper-V 时,必须考虑几种类型的网络流量并针对其进行规划。你在设计你的网络配置时应该记住以下目标:
确保网络 QoS
提供网络冗余
隔离到已定义网络的流量
任务 2a:定义网络流量类型
在部署 Hyper-V 群集时,你必须针对多种类型的网络流量进行规划。下表总结了流量类型。
流量类型 |
描述 |
---|---|
管理 |
|
群集和 CSV |
|
实时迁移 |
用于虚拟机实时迁移和无共享实时迁移 |
存储 |
用于 SMB 通信或 iSCSI 通信 |
副本 |
用于通过 Hyper-V 副本功能的虚拟机复制流量 |
虚拟机(租户)流量 |
注意:请参阅步骤 2:规划虚拟机配置以获取有关虚拟机流量类型的列表。 |
备份 |
用于备份虚拟硬盘文件 |
任务 2b:定义网络流量性能选项
每个网络流量类型将具有最大和最小带宽要求以及最小延迟要求。下面是可用于满足不同的网络性能要求的策略。
基于策略的 QoS
在部署 Hyper-V 群集时,你需要最少六个流量模式或网络。每个网络都要求网络冗余。若要开始,你在主机中至少需要 12 个网络适配器。可以安装四的倍数个网络适配器,但有时主机中的插槽会不够。
网络设备变得越来越快速。不久之前,1 GB 的网络适配器已是最顶级的。现在服务器中 10 GB 的适配器变得越来越常见,并且支持 10 GB 基础结构的价格也越来越实惠。
安装两个 10 GB 的成组网络适配器可提供比两组四个 1 GB 适配器更多的带宽,但只需要较少的交换机端口,并且简化了你的缆线连接需求。随着你将更多的网络流量类型聚合到成组的 10 GB 网络适配器上,基于策略的 QoS 使你可以管理网络流量以正确地满足虚拟化基础结构的需求。
基于策略的 QoS 使你可以根据应用程序类型、用户和计算机指定网络带宽控制。QoS 策略使你可以通过测量网络带宽、检测不断变化的网络条件(如拥塞或带宽的可用性)和设置(或限制)的网络流量的优先级来满足工作负载或应用程序的服务要求。
除了强制实施最大带宽的功能,Windows Server 2012 R2 中的 QoS 策略还提供一项新的带宽管理功能:最小带宽。与最大带宽(即带宽上限)不同,最小带宽是带宽基底,它将一定量的带宽分配给给定类型的流量。你可以同时实现最小和最大带宽限制。
优点 |
缺点 |
---|---|
|
|
其他信息:
数据中心桥接
数据中心桥接 (DCB) 提供对特定类型流量的基于硬件的带宽分配,并增强了使用基于优先级的流控制的以太网传输可靠性。使用 FCoE 和 iSCSI 时建议使用 DCB。
优点 |
缺点 |
---|---|
|
|
其他信息:
SMB 直通
SMB 直通(通过远程直接内存访问的 SMB 或 RDMA)是 Windows Server 2012 R2 中的存储协议。它支持服务器和存储之间的直接内存对内存数据传输。它只要求最小的 CPU 使用率,并使用标准的支持 RDMA 的网络适配器。这对于网络请求提供了极快的响应,因此,这会使远程文件存储响应时间可以与直接连接的块存储相媲美。
优点 |
缺点 |
---|---|
|
|
接收段合并
接收段合并 (RSC) 通过将 CPU 中的任务卸载到支持 RSC 的网络适配器来降低入站网络处理的 CPU 使用率。
优点 |
缺点 |
---|---|
|
|
接收方缩放
接收方缩放 (RSS) 使网络适配器可以在多核计算机中的多个处理器内核中分发内核模式网络处理负载。此处理的分发使支持比使用单核时更高的网络流量负载成为可能。RSS 通过在许多处理器上分配网络处理负载并积极地对由传输控制协议 (TCP) 终止的流量进行负载平衡来实现这一点。
优点 |
缺点 |
---|---|
|
|
SR-IOV
Hyper-V 支持可支持 SR-IOV 的网络设备并允许将物理网络适配器的 SR-IOV 虚拟功能直接分配给虚拟机。这增加了网络吞吐量、减少了网络延迟并降低了处理网络流量所需的主机 CPU 开销。
有关 SR-IOV 的其他信息,请参阅上面的任务 2b:定义网络流量性能选项。
任务 2c:定义网络流量高可用性和带宽聚合策略
NIC 组合(也称为负载平衡和故障转移 (LBFO))允许出于带宽聚合和流量故障转移的目的将多个网络适配器放置在一个组中。这有助于在发生网络组件故障时保持连接性。
网络适配器供应商已提供此功能。Windows Server 2012 中引入的 NIC 组合作为一项功能包含在 Windows Server 操作系统中。
NIC 组合与 Windows Server 2012 R2 中的所有网络功能兼容,但是有三个例外:
SR-IOV
RDMA
802.1X 身份验证
从可伸缩性的角度,在 Windows Server 2012 R2 中,可以将最少 1 个、最多 32 个网络适配器添加到单个组。可以在单个主机上创建无限数量的组。
其他信息:
Microsoft Virtual Academy:Windows Server 2012 中的 NIC 组合
Windows PowerShell 中的 NIC 组合 (NetLBFO) Cmdlet
Windows Server 2012 R2 NIC Teaming (LBFO) 部署和管理
任务 2d:定义网络流量隔离和安全策略
每个网络流量类型可能对功能(如隔离和加密)有不同的安全要求。下表列出了可用于满足各种安全要求的策略。
策略 |
优点 |
缺点 |
---|---|---|
加密 (IPsec) |
在遍历网络时保护流量 |
|
单独的物理网络 |
网络在物理上是分离的 |
|
虚拟局域网 (VLAN) |
|
|
任务 2e:定义虚拟网络适配器
借助对虚拟化服务器主机所需的流量类型、性能、可用性和流量的安全策略的了解,你可以确定每台主机需要多少物理网络适配器以及将通过每个适配器传输的网络流量类型。
任务 2f:定义虚拟交换机
若要将虚拟机连接到网络,需要将网络适配器连接到 Hyper-V 虚拟交换机。
可在 Hyper-V 中创建三种类型的虚拟交换机:
外部虚拟交换机
当你希望向虚拟机提供对物理网络的访问权限以与位于外部的服务器和客户端进行通信时,使用外部虚拟交换机。此类型的虚拟交换机允许同一主机上的虚拟机互相进行通信。此类型网络可能还可供主机操作系统使用,具体取决于你如何配置网络。
重要说明: 物理网络适配器一次只能绑定到一个虚拟机。
内部虚拟交换机
当你希望允许在同一主机上的虚拟机之间以及虚拟机和主机操作系统之间进行通信时,使用内部虚拟交换机。此类型的虚拟机通常用于构建测试环境,在该环境中你需要从主机操作系统连接到虚拟机。内部虚拟交换机不绑定到物理网络适配器。因此,内部虚拟网络与外部网络流量隔离。
专用虚拟交换机
当你希望只允许同一主机上的虚拟机之间进行通信时,使用专用虚拟交换机。专用虚拟交换机不绑定到物理网络适配器。专用虚拟交换机与虚拟化服务器上的所有外部网络流量隔离,并且与主机操作系统和外部网络之间的网络流量隔离。当你需要创建隔离的网络环境(例如隔离的测试域)时,此类型的网络很有用。
注意: 专用和内部虚拟机不会从硬件加速功能中受益,硬件加速功能可用于连接外部虚拟交换机的虚拟机。
设计决策 - 在此步骤中所做的所有决策可输入“虚拟化主机”工作表。
提示: 连接同一网络的不同主机上的虚拟交换机应该具有相同的名称。这消除了有关虚拟机应该连接到哪个虚拟交换机的困惑,并且简化了将虚拟机从一台主机移到另一台主机的操作。如果目标主机上未找到相同的虚拟交换机名称,则 Move-VM Windows PowerShell cmdlet 将失败。
任务 3:定义存储配置
除了主机操作系统所需的存储,每台主机还需要对存储了虚拟机配置文件和虚拟硬盘的存储的访问权限。此任务将专注于虚拟机存储。
任务 3a:定义数据类型
下面是你需要为存储要求考虑的示例数据类型。
数据类型 |
数据类型的存储位置 |
---|---|
主机操作系统文件 |
通常在本地硬盘驱动器上 |
Windows 中的主机页面文件和崩溃转储 |
通常在本地硬盘驱动器上 |
故障转移群集共享状态 |
共享网络存储或群集共享卷 |
虚拟硬盘文件和虚拟机配置文件 |
通常在共享网络存储或群集共享卷上 |
此步骤的其余部分侧重于虚拟机所需的存储。
任务 3b:存储选项
存储虚拟机配置文件和虚拟硬盘有以下可用选项。
选项 1:直接连接的存储
直连存储的存储是指直接连接到服务器的计算机存储系统,而不是直接连接到网络。直接连接的存储并不仅限于内部存储。它还可以使用包含硬盘驱动器的外部磁盘附件,包括 just-a-bunch-of-disks (JBOD) 附件和通过 SAS 或另一个磁盘控制器连接的附件。
优点 |
缺点 |
---|---|
|
|
选项 2:网络连接的存储
网络连接的存储设备将存储连接到网络,在该网络中可通过文件共享访问它们。和直接连接的存储不同,它们并未直接连接到计算机。
网络连接存储设备支持以太网连接,并且它们通常允许管理员管理磁盘空间、设置磁盘配额、提供安全性和使用检查点技术。网络连接存储设备支持多个协议。其中包括网络连接文件系统、通用 Internet 文件系统 (CIFS) 和服务器消息块 (SMB)。
优点 |
缺点 |
---|---|
|
|
选项 3:存储区域网络
存储区域网络 (SAN) 是允许你共享存储的专用网络。SAN 由存储设备、互连的网络基础结构(交换机、主机总线适配器和电缆)以及连接到此网络的服务器组成。SAN 设备支持连续且快速地访问大量数据。给定部署的通信和数据传输机制通常称为存储结构。
SAN 使用单独的网络,并且它通常不可由其他设备通过局域网访问。可以使用存储管理计划规范 (SMI-S)、简单网络管理协议 (SNMP) 或专用管理协议来管理 SAN。
SAN 不提供文件抽象,仅提供块级操作。最常用的 SAN 协议的是 iSCSI、光纤通道和以太网上的光纤通道 (FCoE)。SMI-S 或专用管理协议可以提供附加功能,例如磁盘分区、磁盘映射、LUN 屏蔽和错误管理。
优点 |
缺点 |
---|---|
|
|
选项 4:服务器消息块 3.0 文件共享
Hyper-V 可以在使用服务器消息块 (SMB) 3.0 协议的文件共享中存储虚拟机文件(例如配置文件、虚拟硬盘文件和检查点)。为了提供冗余,文件共享通常会在横向扩展文件服务器上。在运行横向扩展文件服务器时,如果一个节点关闭,仍然可以从横向扩展文件服务器中的其他节点使用文件共享。
优点 |
缺点 |
---|---|
|
|
SMB 直通
SMB 直通作为 SMB 文件共享的一部分工作。SMB 直通需要支持 RDMA 的网络适配器和交换机才能提供全速的低延迟存储访问。SMB 直通使远程文件服务器类似于本地和直接连接存储。除了 SMB 的优点,SMB 直通还具有以下优点和缺点。
优点 |
缺点 |
---|---|
|
|
其他信息:
通过使用 Windows Server 为 Hyper-V 工作负载提供经济高效的存储
使用 Windows Server 2012 R2 从横向扩展文件服务器群集中的 Hyper-V 虚拟机中实现超过 1 百万的 IOPS
任务 3c:定义物理驱动器体系结构类型
你为存储选择的物理驱动器体系结构类型将影响你的存储解决方案的性能。有关磁盘类型的其他信息,请参阅基础结构即服务产品系列体系结构的 7.1 部分。
任务 3d:定义存储网络类型
你使用的存储控制器或存储网络控制器类型取决于你为每个主机组选择的存储选项。有关详细信息,请参阅任务 3b:存储选项。
任务 3e:确定要用于每种数据类型的存储类型
借助对数据类型的了解,你现在可以确定哪个存储选项、存储控制器、存储网络控制器和物理磁盘体系结构最满足你的要求。
设计决策 - 在此任务中所做的所有决策可输入“虚拟化主机”工作表。
其他信息:
Windows Server 2012 和 Windows Server 2012 R2 中 Hyper-V over SMB 的网络配置
Windows Server 2012 Hyper-V 组件体系结构海报和附带参考
任务 4:定义服务器虚拟化主机扩展单元
购买单个服务器需要对每个服务器的采购、安装和配置。扩展单元使你可以购买服务器的集合(通常包含完全相同的硬件)。它们进行了预配置,使你可以通过添加扩展单元而不是添加单个服务器来向数据中心添加容量。
下图展示了一个可从任意数量的硬件供应商购买的预配置的扩展单元。它包括一个机架、一个不间断电源 (UPS)、一对用于基架所含的服务器的冗余网络交换机以及十台服务器。
图 4:虚拟化服务器主机扩展单元的示例
扩展单元经过了预配置,并且预先连接到 UPS 和网络交换机。只需要将该单元添加到数据中心、插入到电源并连接到网络和存储。然后就可以使用了。如果未将单个组件作为扩展单元购买,则购买者需要组装和连接所有组件。
设计决策 - 如果你决定使用服务器虚拟化主机扩展单元,你可以在“主机扩展单元”工作表中为你的虚拟化主机扩展单元定义硬件。
提示: 你可以通过 Microsoft 私有云快速跟踪计划从各种 Microsoft 硬件合作伙伴购买预配置的扩展单元。
任务 5:定义服务器虚拟化主机可用性策略
虚拟化服务器主机可能会由于计划内原因(例如维护)或计划外原因而变得不可用。以下是可用于这两者的策略。
已计划
可以使用实时迁移将虚拟机从一台主机移动到另一台主机。这不需要虚拟机停机时间。
计划外
此方案取决于主机托管的工作负载特征类型。
对于共享有状态工作负载,使用虚拟机内的故障转移群集。
对于有状态工作负载,以 Hyper-V 群集上的高可用性虚拟机身份运行。
对于无状态工作负载,手动或通过某种自动化方式启动新实例。
如果你使用的是带有 Hyper-V 的 Windows Server 中的故障转移群集,请考虑是否使用下表中列出的功能。有关每个功能的其他信息,请单击超链接。
功能 |
注意事项 |
---|---|
在未由故障转移群集服务监视的网络和存储中监视虚拟机的故障。 |
|
|
|
虚拟机反相关性 |
为你不希望在 Hyper-V 群集中的相同节点上运行的虚拟机设置反相关性。这可以用于提供冗余服务或属于来宾虚拟机群集的虚拟机。 注意:反相关性设置通过使用 Windows PowerShell 进行配置。 |
|
|
|
|
设置虚拟机的优先级的另一个原因是,当高优先级的虚拟机没有启动所必需的内存和其他资源时,群集服务可以使较低优先级的虚拟机脱机。
|
注意: Hyper-V 群集最多可以有 64 个节点和 8000 台虚拟机。
步骤 5:规划虚拟化结构体系结构概念
此步骤需要定义结构体系结构将遵循的逻辑概念。
任务 1:定义维护域
维护域是一起维护的服务器的逻辑集合。服务可包括硬件或软件升级或者配置更改。维护域通常跨越每种类型或每个位置中的主机组,尽管它们并非一定要如此。目的是为了防止服务器维护意外地影响任何客户的工作负载。
注意: 这一概念适用于物理网络和存储组件。
任务 2:定义物理故障域
虚拟化服务器主机组经常由于共享的基础结构组件(例如网络交换机或不间断电源 (UPS))发生故障而一起发生故障。物理故障域有助于支持虚拟化结构中的复原。了解故障域如何影响你为结构定义的每个主机组很重要。
注意: 这一概念适用于物理网络和存储组件。
请考虑下图中的示例,该示例介绍了数据中心中的主机组集合上的维护和物理故障域。
图 5:维护和物理故障域定义的示例
在此示例中,每个服务器基架定义为单独的、带编号的物理故障域。这是因为每个机架在顶部包含一个网络交换机,在底部包含一个 UPS。机架内的所有服务器都依赖于这两个组件,并且如果任意一个失败,机架中的所有服务器都将实际上发生故障。
由于一个机架内的所有服务器也都是唯一主机组的成员,因此这种设计意味着在任何物理故障域发生故障时没有缓解措施。若要缓解此问题,你可以添加每个主机组类型的物理故障域。在较小规模的环境中,你可以在每个机架中添加冗余交换机和电源,或在多个物理故障域中为虚拟化服务器主机使用故障转移群集。
在图 5 中,每个彩色的虚线框定义一个维护域(它们标记为 MD 1 到 5)。请注意虚拟机负载平衡群集中的每台服务器如何托管在服务器虚拟化主机上,该主机包含在单独的维护域和单独的物理故障域中。
这使结构管理员可以关闭某个维护域中的所有虚拟化服务器主机,而不会显著影响将多台服务器分散在多个维护域上的应用程序。它还意味着,如果物理故障域发生故障,则在负载平衡群集上运行的应用程序并非完全不可用。
设计决策 - 为任务 1 和任务 2 所做的决策可以输入“设置”工作表。
任务 3:定义预留容量
结构中单个服务器的故障是不可避免的。结构设计需要适应单个服务器故障,就像它适应故障域和维护域中的服务器集合的故障一样。下图与图 5 相同,但它使用红色来标识三个发生故障的服务器。
图 6:发生故障的服务器
在图 6 中,服务器虚拟化主机已在以下主机组、维护域和物理故障域中发生故障。
主机组 |
物理故障域 |
维护域 |
---|---|---|
2 |
2 |
3 |
3 |
3 |
2 |
4 |
4 |
2 |
即使物理故障域 2 中的主机已发生故障,在负载平衡群集上运行的应用程序仍然可用,但是该应用程序将以少三分之一的容量运行。
如果托管物理故障域 3 中的其中一个虚拟机的服务器虚拟化主机也发生了故障,或者如果维护域 2 由于维护而关闭,请考虑会发生什么情况。在这些情况下,应用程序的容量将减少 2/3。
你可以认定这对你的虚拟化结构是不可接受的。为了缓解发生故障的服务器的影响,你可以确保你的每个物理故障域和维护域都有足够的预留容量,以便容量永远不会下降到你所定义的可接受级别之下。
有关计算预留容量的详细信息,请参阅“云服务基础参考体系结构 - 原则、概念和模式”中的预留容量。
步骤 6:规划初始功能特征
在完成本文档中的所有任务后,除了结构可以满足的初始服务质量级别外,你将还能确定在结构上托管虚拟机和存储的初始成本。但是,在你实现结构管理工具和人力资源之前(本文档的“后续步骤”部分中讨论了这些内容),你无法完成其中任何一个任务。
任务 1:定义存储和虚拟机的初始 SLA 指标
作为结构管理员,你可能将定义服务级别协议 (SLA),该协议详细描述结构将满足的服务质量指标。你的虚拟机管理员将需要知道此内容才能规划要如何使用结构。
这至少将可能包括可用性指标,但也可能包括其他指标。若要了解虚拟化结构 SLA 指标的基线,可以查看由云提供程序(如 Microsoft Azure)提供的指标。对于虚拟机托管,该 SLA 保证,当客户部署两个或更多运行相同工作负载的虚拟机实例以及在不同的故障和升级域(在本文档中称为“维护域”)中部署这些实例时,这些虚拟机中至少有一个将在 99.95% 的时间内可用。
有关 Azure SLA 的完整说明,请参阅服务级别协议。理想情况下,你的虚拟化结构将满足或超过公共云提供程序的结构。
任务 2:定义托管存储和虚拟机的初始成本
结构设计完成后,你还将可以计算:
结构的硬件、空间、电源和冷却成本
结构的托管容量
此信息与你的其他成本(例如结构管理工具和人力资源的成本)结合后,将使你可以确定托管虚拟机和存储的最终成本。
若要了解虚拟机和存储的基线成本,可以查看公有云提供程序(如 Microsoft Azure)的托管成本。有关详细信息,请参阅虚拟机定价详细信息。
尽管并非总是这种情况,但是你通常会发现你的托管成本高于公共提供程序的成本,因为你的结构比大型公共提供程序的结构小得多,后者可以在硬件、数据中心空间和电源方面获得批量折扣。
后续步骤
完成本文档中的所有任务后,你将有一个满足你的组织要求的结构设计。你还将有一个包括成本和服务级指标的初始服务特征定义。在确定将用于结构的人力资源成本以及管理工具和过程之前,你将无法确定最终的服务级指标和成本。
Microsoft System Center 2012 提供一套全面的功能,使你可以设置、监视和维护你的虚拟化结构。你可以通过阅读以下资源来了解有关如何使用 System Center 进行结构管理的详细信息: