使用 Windows Server 为 Hyper-V 工作负载提供经济高效的存储:规划和设计指南

 

适用对象:System Center 2012, Windows Server 2012 R2

本指南介绍了如何为托管虚拟机(作为云服务平台的一部分运行在 Windows Server 和 Hyper-V 上)的计算群集,规划和设计一个特殊的存储解决方案。 此软件定义的存储解决方案将易于管理的 Windows Server 文件服务器群集与简单磁盘捆绑 (JBOD) 存储设备和存储空间结合使用,以获取高性能和经济高效的存储,从而避免在实现云平台时需要昂贵的 SAN 设备。

有关本主题的最近更改的列表,请参阅本主题的 更改历史记录 部分。

如果你尚未阅读的话,还应阅读 通过使用 Windows Server 为 HYPER-V 工作负荷提供经济高效的存储 – 它提供了本解决方案的简介并且旨在与本主题结合使用。

我们假设你的目标是约 100 位租户(每位租户使用 8 台虚拟机)的初始部署,并且随着时间的推移,可将解决方案扩展到约 500 位租户。 有关更灵活更全面的设计指南,请参阅软件定义的存储设计注意事项指南

使用以下步骤和设计决策为 Hyper-V 工作负载规划实现基于 Windows Server 的存储。

本指南内容:

  • 步骤 1:设计文件服务器群集

  • 步骤 2:设计管理群集

  • 步骤 3:设计计算群集

  • 后续步骤

步骤 1:设计文件服务器群集

在本步骤中,你可以设计用于向本解决方案中的虚拟机提供存储的文件服务器群集。

1.1. 设计文件服务器群集硬件

下面是我们建议用于文件服务器群集的硬件组件。 请注意,我们建议从通过存储空间测试并支持该硬件作为集成解决方案的供应商那里购买所有的生产硬件。

组件

指南

存储机箱

  • 四个相同的存储机箱(四个机箱中总共有 240 个磁盘)

    使用四个存储设备时,即使整个存储设备发生故障,存储空间将仍然保持联机(假设剩余存储设备中没有太多发生故障的磁盘)。

  • SAS 连接的 60 磁盘的存储机箱

  • 每个存储机箱都必须借助两个 SAS 连接,通过主机总线适配器 (HBA) 连接到文件服务器群集的所有节点。

    这可以最大程度地提高性能,并消除单点故障。 若要支持此要求,理想情况下,每个存储机箱和服务器节点拥有的 SAP 端口数应该是节点数的两倍(机箱上有 8 个端口,每个节点上有 8 个端口)。

物理磁盘

  • 每个存储机箱中有 48 个 7200 rpm HDD(四个机箱中总共有 192 个 HDD)

    7,200 rpm HDD 可提供巨大的容量、消耗的电力更少、成本比高转速 HDD 更低,但是当达到足够数量的 SSD 时,它们仍可以在本解决方案中提供良好的性能。

    在四个 60 机架的机箱中使用 4 TB HDD 和 800 GB SSD 时,本解决方案可为每个文件服务器群集提供约 804 TB 的原始存储池容量。 在计入用于修复存储空间的复原能力、备份存储和可用空间后,将产生约 164 TiB 的空间以供计算和管理虚拟机(TiB 是使用基数为 2 的二进制表示法而不是基数为 10 的十进制表示法进行计算的千吉字节)。

  • 每个存储机箱中有 12 个 SSD(四个存储机箱中总共有 48 个 SSD)

    存储空间使用 SSD 为频繁访问的数据创建更快的存储层。 它还将 SSD 用于持续写回缓存,以减少随机写入延迟。

    有关详细信息,请参阅 Windows Server 中存储空间的新增功能

  • 所有磁盘都必须是双端口 SAS 磁盘

    这样,每个磁盘都可以通过包含在存储机箱中的 SAS 扩展器连接到故障转移群集的所有节点。

文件服务器群集

  • 一个具有四个节点的文件服务器群集

    使用四个节点,每个存储机箱均可连接到全部节点,这样即使两个节点发生故障,你仍可以保持良好的性能,从而减轻维护的紧迫性。

  • 一个文件服务器群集托管一个计算群集的存储

    如果你添加了一个计算群集,还可以再添加一个具有四个节点的文件服务器群集。 你可以为每个管理群集添加最多四个文件服务器群集和四个计算群集。 第一个文件服务器群集还将托管管理群集的存储。

    其他群集(也称为扩展单元)允许你扩大环境的规模,以支持更多的虚拟机和租户。

群集节点

  • 两个六核 CPU

    文件服务器群集不需要功能最强大的 CPU,因为大多数通信将由可直接处理网络通信的 RDMA 网卡处理。

  • 64 GB RAM

    你并不需要很多 RAM,因为文件服务器群集使用存储层,该存储层可阻止 CSV 缓存(通常是群集文件服务上 RAM 的最大使用者之一)的使用。

  • 使用基本 RAID 控制器在 RAID-1(镜像)中设置的两个 HDD

    这是每个节点安装 Windows Server 的位置。 你可以选择使用一个或两个 SSD。 SSD 的成本更高,但是消耗的电量更少,并且可提供更快的启动、设置和恢复时间以及更高的可靠性。 在 SSD 发生故障时,如果你同意在节点上重新安装 Windows Server,你可以使用 SSD 来降低成本。

群集节点 HBA

  • 两个完全相同的 4 端口 6 Gbps SAS HBA

    两个 HBA 各自连接到每个存储机箱,因此每个存储机箱中共有两个连接。 这可以最大程度地增加吞吐量并提供冗余路径,不会有内置的 RAID 功能。

群集节点网络接口卡

  • 一个具有 RDMA 支持的双端口 10 千兆以太网接口

    此卡用作文件服务器群集与计算和管理群集之间的存储网络接口,这些群集各自将它们的虚拟硬盘文件存储在文件服务器群集上。

    此卡需要 RDMA 支持来最大程度地提高性能;如果你想要在群集的机架之间使用路由器,则需要 IWARP,这与将其他计算和文件服务器群集添加到解决方案可能相关。 此卡使用 SMB 3 和 SMB 直通来提供容错能力,且每个端口连接到一个单独的子网。

    有关 RDMA 支持的已认证网络接口卡的列表,请参阅 Windows Server 目录

  • 一个不具有 RDMA 支持的双端口千兆或 10 千兆以太网接口卡

    此卡在管理群集和文件服务器群集之间进行通信,且每个端口连接到一个单独的子网。 它不需要 RDMA 支持,因为它与管理和计算群集上的 Hyper-V 虚拟交换机进行通信,而后者不能使用 RDMA 通信。

    有关已认证网络接口卡的列表,请参阅 Windows Server 目录

  • 用于远程管理的 1 千兆以太网接口

    此集成无人职守 (ILO)、底板管理控制器 (BMC) 或板载网络适配器将连接到你的管理网络。

1.2. 设计文件服务器群集软件配置

下面是我们建议用于文件服务器群集的软件组件。

技术

指南

操作系统

  • 带有服务器核心安装选项的 Windows Server 2012 R2 Standard

    使用 Windows Server 2012 R2 Standard 可节省花费在更昂贵版本上的资金,并且服务器核心安装选项可以保持较低的安全占用,进而依次限制需要在文件服务器群集上安装的软件更新数量。

故障转移群集

  • 一个横向扩展文件服务器

    该群集文件服务器使你能够持续托管可用的文件共享,这些文件共享在多个节点上同时可供访问。

MPIO

  • 在每个节点上启用多路径 I/O (MPIO)

    这会将多个路径与存储机箱中的物理磁盘合并,从而跨物理路径提供复原能力和负载平衡。

存储池

  • 每个文件服务器群集有三个群集存储池

    这有助于最大程度地减少将存储池故障转移到另一个节点所需的时间。

  • 每个工作负载池有四个存储机箱,其中每个机箱中有 5 个 SSD 和 16 个 HDD,因此你的每个主工作负载池中总共有 84 个磁盘。

    这提供了足够多的 SSD,使你能够创建相应的存储空间,同时使数据分布于所有存储机箱中,这样即便任何存储机箱发生故障,都不会导致你的租户停机(只要剩余的存储机箱中有故障的磁盘不是太多)。

  • 每个备份池有四个存储机箱,其中每个机箱中有 2 个 SSD 和 16 个 HDD,因此在本池中总共有 72 个磁盘。

    将备份池中的 SSD 指定为日志磁盘来增强虚拟磁盘(使用双重奇偶校验复原类型)的写入性能。

  • 没有热备用磁盘

    但在每个存储池中始终保留至少 21.9 TiB 的可用 HDD 空间,加上每个工作负载池中的 1.5 TiB 的可用 SSD 空间。 这使得存储空间可以在最多 1 个 SSD 和 3 个 HDD 发生故障的情况下,通过将数据复制到池中的多个磁盘自动重建存储空间;与使用热备用相比,这大大减少了从发生故障的磁盘进行恢复所需的时间。

    本解决方案使用了 4 TB HDD 和 800 GB SSD,这意味着每个工作负载池保留了 23.4 TB 的可用空间。

    有关如何我们得出这些数字的详细信息,请参阅软件定义的存储设计注意事项指南软件定义的存储设计计算器

存储空间

  • 每个工作负载存储池有八个存储空间

    这将跨群集中的每个节点分发负载(每个池中每个节点有两个存储空间)。

  • 使用三向镜像空间存储工作负载数据

    镜像空间可为托管虚拟机提供最佳性能和数据恢复能力。 三向镜像空间确保存在至少三个数据副本,以允许任何两个磁盘出现故障,而不会丢失数据。 由于性能特性,我们不建议将奇偶校验空间用于托管虚拟机。

  • 使用以下设置来构建具有存储层的三向镜像空间、默认的回写式缓存大小和存储设备感知。 我们建议对四列进行如此配置以便保持高吞吐量和低延迟的平衡。

    有关详细信息,请参阅软件定义的存储设计注意事项指南

    设置

    “值”

    ResiliencySettingName

    Mirror

    NumberOfDataCopies

    3

    NumberOfColumns

    4

    StorageTierSizes

    SSD:.54 TiB;HDD:8.79 TiB(假设为 800 GB SSD 和 4 TB HDD)

    IsEnclosureAware

    $true

  • 所有存储空间均使用固定设置

    固定设置使你能够使用存储层和故障转移群集,而在精简设置下两者均无法使用。

  • 创建一个附加的 4 GB 双向镜像空间(不带存储层)

    此存储空间可用作文件服务器群集的见证磁盘,并用于管理和计算群集的文件共享见证。 在两个节点发生故障或者节点间存在网络问题的情况下,这可以帮助文件服务器群集维护其完整性(仲裁)。

  • 对于你的备份池,请通过以下设置使用双重奇偶校验复原类型和 7 列创建 16 个虚拟磁盘。

    设置

    “值”

    ResiliencySettingName

    Parity

    NumberOfDataCopies

    3

    Size

    7.53 TiB

    NumberOfColumns

    7

    IsEnclosureAware

    $true

分区

  • 每个存储空间有一个 GPT 分区

    这可以帮助使解决方案更简单。

  • 每个分区/存储空间有一个采用 NTFS 文件系统格式的卷

    不建议将 ReFS 用于此版本的 Windows Server 中的本解决方案。

  • 启用用于存储备份的虚拟磁盘上的重复数据删除。

CSV

  • 每个卷有一个 CSV 卷(且每个存储空间有一个卷和分区)

    这允许将负载分发给文件服务器群集中的所有节点。 不要在用于维护群集仲裁的 4 GB 存储空间上创建 CSV 卷。

BitLocker 驱动器加密

  • 在广泛使用前,测试 BitLocker 驱动器加密性能

    你可以使用 BitLocker 驱动器加密来加密每个 CSV 卷上存储内的所有数据,从而改进物理安全性,但是这样做可能会显著影响解决方案的性能。

连续可用的文件共享

  • 每个 CSV 卷/卷/分区/存储空间有一个连续可用的 SMB 文件共享

    这使得管理更简单(每个基础存储空间有一个共享),并使负载可以分发给文件服务器群集中的所有节点。

  • 在广泛部署前,在文件共享上测试加密数据访问(SMB 3 加密)的性能

    你可以使用 SMB 3 加密帮助保护文件共享上的数据,以针对攻击者能够用来访问数据中心网络的物理安全漏洞进行防护,但是这样做将抵消使用 RDMA 网络适配器所带来的大多数性能优势。

更新

  • 结合使用 Windows Server Update Services 和 Virtual Machine Manager

    在 Windows Server Update Services (WSUS) 中为文件服务器节点创建三到四个计算机组,并为每个组添加一个或两个节点。 通过此设置,你可以首先更新一台服务器并监视其功能,然后一次性更新剩余的服务器,以便负载仍然在剩余的服务器之间保持平衡。

    有关详细信息,请参阅在 VMM 中管理结构更新(或在你的组织中部署 Windows Server Update Services,如果你使用的不是 Virtual Machine Manager)。

  • 将群集感知更新用于 UEFI 和固件更新

    使用群集感知更新对任何无法通过 WSUS 分发的内容进行更新。 此内容包括群集节点的 BIOS (UEFI),以及网络适配器的固件、SAS HBA、驱动器和存储机箱。

Data Protection Manager

  • 你可以使用 Data Protection Manager (DPM) 来提供文件服务器群集的崩溃一致的备份。 你还可以将 DPM 和 Hyper-V 复制用于计算群集上的虚拟机灾难恢复。

步骤 2:设计管理群集

在本步骤中,你可以设计运行文件服务器和计算群集的所有管理和基础结构服务的管理群集。

备注

本解决方案假设你想要使用 System Center 的产品套件,该产品套件可提供功能强大的工具来简化设置、管理和监视本解决方案的操作。 但是,你也可以选择通过 Windows PowerShell 和服务器管理器完成所有任务(尽管你可能会发现,由于本解决方案的规模,Windows PowerShell 更适用)。 如果你选择放弃使用 System Center,那么你可能不需要使用此处描述的如此强大的管理群集,并且你可能能够使用现有的服务器或群集。

2.1. 设计管理群集硬件

针对运行文件服务器和计算群集的所有管理和基础结构服务的群集,下面是我们建议使用的硬件组件。

组件

指南

管理群集

  • 一个具有 4 个节点的故障转移群集

    使用四个节点能够容忍管理群集中一个群集节点发生故障;使用六个节点可容忍两个节点发生故障。 使用 Virtual Machine Manager 的一个管理群集可支持最多 8,192 台虚拟机。

群集节点

  • 两个八核 CPU

    此群集上的虚拟机将执行大量的处理,并且需要比文件服务器群集更多的 CPU 功率。

  • 128 GB RAM

    与文件服务器群集相比,运行管理虚拟机需要更多的 RAM。

  • 使用基本 RAID 控制器在 RAID-1(镜像)中设置的两个 HDD

    这是每个节点安装 Windows Server 的位置。 你可以选择使用一个或两个 SSD。 SSD 的成本更高,但是消耗的电量更少,并且可提供更快的启动、设置和恢复时间以及更高的可靠性。 在 SSD 发生故障时,如果你同意在节点上重新安装 Windows Server,你可以使用 SSD 来降低成本。

网络接口卡

  • 一个具有 RDMA 支持的双端口 10 千兆以太网接口

    此卡在管理群集和文件服务器群集之间进行通信,以便访问管理虚拟机所使用的 .vhdx 文件。 此卡需要 RDMA 支持来最大程度地提高性能;如果你想要在文件服务器和管理群集的机架之间使用路由器,则需要 IWARP,这与将其他文件服务器群集添加到解决方案可能相关。 此卡使用 SMB 3 和 SMB 直通来提供容错能力,且每个端口连接到一个单独的子网。

    有关 RDMA 支持的已认证网络接口卡的列表,请参阅 Windows Server 目录

  • 一个不具有 RDMA 支持的双端口千兆或 10 千兆以太网接口卡

    此卡可处理所有群集之间的管理通信。 此卡要求支持虚拟机队列 (VMQ)、Dynamic VMQ、802.1Q VLAN 标记和 GRE 卸载 (NVGRE)。 此卡使用 NIC 组合来使其两个端口(各自连接到一个单独的子网)具有容错能力。

    此卡不能使用 RDMA,因为 RDMA 要求直接访问网卡,但是此卡需要与 Hyper-V 虚拟交换机通信(这阻碍了对网卡的直接访问)。 它使用 NIC 组合技术而不是 SMB 直通来提供容错能力,以便非 SMB 的协议可以使用冗余的网络连接。 你应该使用服务质量 (QoS) 规则对此连接上的通信设置优先级。

    有关 NVGRE 支持的已认证网络接口卡的列表,请参阅 Windows Server 目录

  • 用于远程管理的 1 千兆以太网接口

    此集成无人职守 (ILO)、底板管理控制器 (BMC) 或板载网络适配器将连接到你的管理网络。

2.2. 设计管理群集软件配置

下表简要介绍了我们建议用于管理群集的软件组件:

  • Windows Server 2012 R2 Datacenter

  • 故障转移群集

  • 群集感知更新

  • Hyper-V

下表简要介绍了你应该在管理群集上的虚拟机中运行的服务:

  • Active Directory 域服务 (AD DS)、DNS 服务器和 DHCP 服务器

  • Windows Server Update Services

  • Windows 部署服务

  • Microsoft SQL Server

  • System Center Virtual Machine Manager

  • System Center Virtual Machine Manager 库服务器

  • System Center Operations Manager

  • System Center Data Protection Manager

  • 管理控制台(带有 GUI 安装选项的 Windows Server)

  • 根据你正在使用的服务(例如,Windows Azure Pack 和 System Center Configuration Manager),需要额外的虚拟机。

备注

在所有节点上创建完全相同的虚拟交换机,以便每个虚拟机都可以故障转移到任何节点并保持与网络的连接。

步骤 3:设计计算群集

在本步骤中,你可以设计用于运行可向租户提供服务的虚拟机的计算群集。

2.1. 设计计算群集硬件

下面是我们建议用于计算群集的硬件组件。 这些群集将托管租户虚拟机。

组件

指南

Hyper-V 计算群集

  • 每个计算群集包含 32 个节点并且托管多达 2,048 台 Hyper-V 虚拟机。 当你准备好添加额外的容量时,你可以添加最多三个额外的计算群集和相关联的文件服务器群集,以便达到总共 128 个节点,用于为 512 位租户托管 8,192 台虚拟机(假设每位租户有 8 台虚拟机)。

    有关详细信息,请参阅 Windows Server 2012 和 Windows Server 2012 R2 中的 Hyper-V 扩展性

群集节点

  • 两个八核 CPU

    两个八核 CPU 对一般的混合工作负载是足够的,但是如果你打算在租户虚拟机中运行许多计算量巨大的工作负载,则请选择性能更高的 CPU。

  • 128 GB RAM

    与文件服务器群集相比,运行大量的虚拟机(当运行群集的所有节点时,可能达到每个节点 64 台虚拟机)需要更多的 RAM。 如果你想要为每台虚拟机平均提供 2 GB 以上的容量,请使用更多的 RAM。

  • 使用基本 RAID 控制器在 RAID-1(镜像)中设置的两个 HDD

    这是每个节点安装 Windows Server 的位置。 你可以选择使用一个或两个 SSD。 SSD 的成本更高,但是消耗的电量更少,并且可提供更快的启动、设置和恢复时间以及更高的可靠性。 在 SSD 发生故障时,如果你同意在节点上重新安装 Windows Server,你可以使用 SSD 来降低成本。

网络接口卡

  • 一个具有 RDMA 支持的双端口 10 千兆以太网接口

    此卡与文件服务器群集进行通信,以便访问虚拟机所使用的 .vhdx 文件。 此卡需要 RDMA 支持来最大程度地提高性能;如果你想要在文件服务器和管理群集的机架之间使用路由器,则需要 IWARP,这与将其他文件服务器群集添加到解决方案可能相关。 此卡使用 SMB 3 和 SMB 直通来提供容错能力,且每个端口连接到一个单独的子网。

    有关 RDMA 支持的已认证网络接口卡的列表,请参阅 Windows Server 目录

  • 一个不具有 RDMA 支持的双端口千兆或 10 千兆以太网接口卡

    此卡处理管理和客户端通信。 此卡要求支持虚拟机队列 (VMQ)、Dynamic VMQ、802.1Q VLAN 标记和 GRE 卸载 (NVGRE)。 此卡使用 NIC 组合来使其两个端口(各自连接到一个单独的子网)具有容错能力。

    此卡不能使用 RDMA,因为 RDMA 要求直接访问网卡,但是此卡需要与 Hyper-V 虚拟交换机通信(这阻碍了对网卡的直接访问)。 它使用 NIC 组合技术而不是 SMB 直通来提供容错能力,以便非 SMB 的协议可以使用冗余的网络连接。 你应该使用服务质量 (QoS) 规则对此连接上的通信设置优先级。

    有关 NVGRE 支持的已认证网络接口卡的列表,请参阅 Windows Server 目录

  • 用于远程管理的 1 千兆以太网接口

    此集成无人职守 (ILO)、底板管理控制器 (BMC) 或板载网络适配器将连接到你的管理网络,并使你能够使用 System Center Virtual Machine Manager 从裸机硬件中设置群集节点。 该接口必须支持智能平台管理接口 (IPMI) 或服务器硬件的系统管理体系结构 (SMASH)。

2.2. 设计计算群集软件配置

下表简要介绍了我们建议用于计算群集的软件组件:

  • Windows Server 2012 R2 Datacenter

  • 故障转移群集

  • Hyper-V

  • 数据中心桥接

  • 群集感知更新

后续步骤

完成这些规划步骤后,请参阅 实现本解决方案的高级步骤有哪些?

另请参阅

更改历史记录

日期

描述

2015 年 7 月 15 日

更新了虚拟磁盘设计指南,并添加了指向软件定义的存储设计注意事项指南的链接,该指南提供了更为详细且最新的存储设计信息。

2014 年 6 月 18 日

更新了有关应在每个池中保留多少可用空间以用于重建存储空间的指南,还更新了虚拟磁盘大小和其他相应的数字

2014 年 4 月 2 日

删除了指向 SAS 磁盘和 SAS HBA 的 Windows 目录链接,因为这些链接令人困惑

2014 年 1 月 22 日

初始发布