#头条创作挑战赛#
本文承载《VMware vSAN 延伸群集(双活)指南01-基础知识介绍》这篇文章,属于本部分内容的第二部分,主要是介绍延伸群集部署设计的注意事项。
设计注意事项
见证主机必须能够运行与 vSAN 数据节点相同版本的 ESXi。
见证主机大小调整
vSAN 见证主机可以是传统的物理 ESXi 主机,也可以是提供和打包的 vSAN 见证设备 (OVA)。见证主机的用途是存储虚拟机对象的见证组件。
vSAN 见证设备(虚拟机)
部署 VMware 提供的 vSAN 见证设备是 vSAN 见证主机的推荐部署选择。选择此部署选项时,需要考虑一些要求。
vSAN 见证设备版本
每个版本的 vSAN 都会提供一个 vSAN 见证设备。底层 vSphere 版本与运行 vSAN 的版本相同。初始部署 vSAN 见证设备时,它必须与 vSAN 的版本相同。
示例:新的 vSAN 8.0 部署需要 vSAN 见证设备的 8.0 版本。
升级 vSAN 群集时,请采用与升级 vSphere 相同的方式升级 vSAN 见证设备。
vSAN 见证设备大小
使用 vSAN 见证设备时,大小取决于配置,这是在部署过程中决定的。vSAN 见证设备部署选项在部署时采用硬编码,通常无需修改这些选项。
计算要求
无论配置如何,vSAN 见证设备都至少使用两个 vCPU。
内存要求
内存要求取决于组件的数量。
存储要求
缓存设备大小:每个 vSAN 见证设备部署选项的缓存设备大小为 10GB。这对于每个组件来说最多足够 64,000 个组件。在典型的 vSAN 部署中,缓存设备必须是闪存/SSD 设备。由于 vSAN 见证设备具有虚拟磁盘,因此 10GB 缓存设备将被视为虚拟SSD。此设备不需要驻留在物理 fl灰/SSD 设备上。传统的纺纱驱动器是很古老的。
容量设备大小:首先,考虑容量设备最多可以支持 21,000 个组件。此外,vSAN 延伸集群最多可支持 64,000 个组件。每个见证组件为 16MB。因此,可用于存储见证组件的最大容量设备接近 350GB。
vSAN 见证设备部署大小和要求摘要
- 微型 - 支持多达 10 个虚拟机/750 个见证组件计算 - 2 个 vCPU内存 - 8GB vRAMESXi 启动磁盘 - 12GB 虚拟硬盘缓存设备 - 10GB 虚拟固态硬盘容量设备 - 15GB 虚拟硬盘
- 正常 - 最多支持 500 个虚拟机/21,000 个见证组件 计算 - 2 个 vCPU内存 - 16GB vRAMESXi 启动磁盘 - 12GB 虚拟硬盘缓存设备 - 10GB 虚拟固态硬盘容量设备 - 350GB 虚拟硬盘
- 大型 - 支持 500 多个虚拟机/45,000 个见证组件 计算:2 个 vCPU内存 - 32 GB vRAMESXi 启动磁盘 - 12GB 虚拟硬盘缓存设备 - 10GB 虚拟固态硬盘容量设备 - 3x350GB 虚拟硬盘8GB ESXi 启动磁盘*、一个 10GB 固态硬盘、三个 350GB 硬盘 每个群集最多支持 64,000 个组件
vSAN 见证设备可以在何处运行?
它可以在以下任何基础结构配置中运行,前提是适当的网络到位:
- 在具有任何受支持存储(vmfs 数据存储、NFS 数据存储、vSAN 群集)的 vSphere 环境中
- 任何 vCloud Air Network 合作伙伴托管的解决方案
- 在 vSphere 虚拟机管理程序(免费)安装上
支持声明中具体说明在 vSAN 群集上放置 vSAN 见证设备:
- 支持在非延伸 vSAN 群集上运行 vSAN 见证设备。
- 仅当四个独立站点托管两个不同的延伸集群(延伸集群“A”和延伸集群“B”)时,另一个 vSAN 延伸集群的延伸集群 vSAN 见证设备才受支持。我们可以将延伸集群“A”的见证部署在延伸集群“B”上,反之亦然。您可以在下面找到更多示例,说明不支持哪些配置以及支持什么。
- 托管两个延伸群集实现的两个站点不支持跨站点见证支持。
不支持仅在两个站点上为两个延伸群集设置交叉见证。我们不支持此配置的原因是,每个延伸集群都依赖于一个站点,并可能导致级联故障。让我们检查以下配置:两个站点和两个延伸群集。
在此方案中,我们有两个站点。以及跨站点 1 和站点 2 的两个延伸集群 A 和 B。延伸集群 A (SCA) 托管见证服务器 B (WB),延伸集群 B (SCB) 托管见证服务器 A (WA)。在这种情况下,当其中一个站点发生故障时,这可能会导致两个延伸群集拓扑的级联故障。驻留在 SCA 上的虚拟机将因丢失一个站点和见证站点而变得不可用。而渣打银行将失去一个站点。如果备用站点失败,这种交叉见证支持配置将导致相同的结果。
两个见证服务器都可以在一个站点上运行,并且只会丢失不托管任何见证服务器的网站。在这种情况下,每个延伸群集都会出现故障,但不会影响 VM 的运行状态。
在同一情况下,丢失站点1 将影响虚拟机的 SCA 和 SCB 运行状态,因为它们都将出现多个站点故障。
- 托管两个延伸群集实现的四个站点支持跨站点见证支持。
让我们看一下如果我们有四个唯一的数据站点,有什么改进。SCA 跨两个站点实施,延伸集群 B 跨其他两个站点实施。除了见证设备托管在其他延伸群集上(SCB 上的 WA 和 SCA 上的 WB)之外,任何站点之间都没有依赖关系。一个站点故障不会影响对象的仲裁,并且 VM 将启动并运行。
作为 vSAN 见证主机的物理主机
如果使用物理主机作为 vSAN 见证主机,则需要考虑一些要求。
许可
将物理主机用作 vSAN 见证主机时,必须使用有效的 vSphere 许可证为其授予许可。这不需要与其支持的 vSAN 群集相同的许可版本。
vSphere Build
如果使用物理主机作为 vSAN 见证主机,则该主机必须运行与其参与的延伸群集相同的 vSphere 内部版本。
计算和内存要求
ESXi 所需的最低规格满足用作 vSAN 见证主机的最低要求。vSphere 的最低要求取决于 vSphere 的内部版本,可在 VMware 文档:https://www.vmware.com/support/pubs/ 中每个版本的文档部分找到。
存储要求
与 vSAN 见证设备相比,用作 vSAN 见证主机的物理主机的存储要求不会更改。仍需要 ESXi 引导设备、缓存设备以及一个或多个容量设备。
必填
- 第一个设备 - vSphere 引导设备 - 正常 vSphere 要求
- 第二个设备 - vSAN 缓存设备 - 不需要闪存/固态硬盘,但必须在 ESXi 中将其标记为闪存/固态硬盘,才能像使用闪存/固态硬盘设备一样使用。大小必须至少为 2GB
- 第 3 台设备 - 最大可达 350GB,支持 vSAN 群集上最多 21,000 个组件的元数据
自选
- 第 4 台设备 - 最大为 350GB,支持 vSAN 群集上最多 21,000 个组件的元数据 第 5 台设备 - 最大为 350GB,支持 vSAN 群集上最多 21,000 个组件的元数据
其他工作负载
如果使用物理主机作为 vSAN 见证主机,则可能会运行其他工作负载。因为物理 vSAN 见证主机位于它参与的 vSAN 群集的外部;这些工作负载将不是 vSAN 群集的一部分。vSAN 磁盘组及其包含的磁盘不能用于这些工作负载。
*重要注意事项:多个 vSAN 见证设备可以在单个物理主机上运行。使用 vSAN 见证设备通常比专用物理主机更节省成本,以满足 vSAN 见证主机的需求。
群集计算资源利用率
VMware 建议客户在 vSAN 延伸群集中以 50% 的资源消耗量运行,以实现完全可用性。如果发生整个站点故障,所有虚拟机都可以在幸存的站点上运行。
VMware 了解,某些客户希望运行高于 50% 的资源利用率级别。虽然可以在每个站点中以更高的利用率运行,但必须了解,如果发生故障,并非所有虚拟机都将在幸存的站点上重新启动。
随着每站点策略的引入,容量要求取决于所使用的策略。
Protection | FTT/PFTT | FTM | SFTT | Capacity Required in Preferred Site | Capacity Required in Secondary Site | Capacity Requirement |
仅限跨站点 | 1 | 镜像 | 100% | 100% | 200% | |
跨具有本地镜像的站点(RAID1 单故障) | 1 | 镜像 | 1 | 200% | 200% | 400% |
跨具有本地镜像的站点(RAID1 双重故障) | 1 | 镜像 | 2 | 300% | 300% | 600% |
跨具有本地镜像的站点 (RAID1 三次故障) | 1 | 镜像 | 3 | 400% | 400% | 800% |
跨具有本地纠删码的站点( RAID5/单次故障) | 1 | 纠删码 | 1 | 133% | 133% | 266% |
跨具有本地纠删码的站点(RAID6/双重故障) | 1 | 纠删码 | 2 | 150% | 150% | 300% |
具有镜像功能的单个站点 (RAID1 单次故障) | 镜像 | 1 | 200% | 200% | ||
具有镜像功能的单个站点 (RAID1 双重故障) | 镜像 | 2 | 300% | 300% | ||
具有镜像功能的单个站点 (RAID1 三次故障) | 镜像 | 3 | 400% | 400% | ||
具有纠删码的单个站点(RAID5/单个故障) | 纠删码 | 1 | 133% | 133% | ||
具有纠删码的单个站点(RAID6/单个故障) | 纠删码 | 2 | 150% | 150% |
网络设计注意事项
延伸群集网络设计注意事项
网站
vSAN 延伸群集需要三个故障域。两个容错域在 vSphere Client 中被指定为首选和非首选,vSAN 见证主机驻留在第三个(隐含的)故障域中。
计算故障域 - 包含 vSAN 数据节点。
- 首选容错域 - 指定为 vSAN 对象的主要所有者。这是一个至关重要的名称,特别是在连接中断的情况下。
- 非首选容错域 - 备用容错域
- 这些容错域通常位于地理位置上分离的位置。
见证站点 - 包含 vSAN 见证主机。
- 维护首选/非首选容错域中的见证组件数据(如果适用)
- *使用“站点 Affinity”时,见证组件将不驻留在见证站点中
- 在单个数据中心中使用 vSAN 延伸群集时,可以将不同的房间或不同的机架视为单独的站点。
连接和网络类型
首选网站 | 辅助站点 | 目击现场 | |
管理网络 | 第 2 层或第 3 层到 vCenter/vSAN 主机 | 第 2 层或第 3 层到 vCenter/vSAN 主机 | 第 2 层或第 3 层到虚拟中心 |
虚拟机网络 | 推荐第 2 层 | 推荐第 2 层 | 如果使用 vSAN 见证设备,则不需要虚拟机网络。不支持在 vSAN 见证设备上运行虚拟机。 支持在物理见证主机上运行 VM。 |
虚拟运动网络 | 如果需要在数据站点之间执行 vMotion,则支持第 2 层或第 3 层 此数据站点和见证站点之间不需要 vMotion | 如果需要在数据站点之间执行 vMotion,则支持第 2 层或第 3 层 此数据站点和见证站点之间不需要 vMotion | 不需要与见证站点建立 vMotion 网络连接。 |
vSAN 网络 | 到辅助站点:第 2 层或第 3 层 | 到首选站点:第 2 层或第 3 层 | 到首选站点:第 3 层 到辅助站点:第 3 层 |
端口要求
VMware vSAN 要求打开以下端口(入站和出站):
港口 | 协议 | 与/从 | |
vSAN 群集服务 | 12345, 23451 | UDP | vSAN 主机 |
vSAN 传输 | 2233 | 技术合作计划(TCP | vSAN 主机 |
vSAN VASA 供应商提供商 | 8080 | 技术合作计划(TCP | vSAN 主机和虚拟中心 |
vSAN 单播客户端(到见证主机) | 12321 | UDP | vSAN 主机和 vSAN 见证设备 |
TCPIP 堆栈、网关和路由 TCPIP 堆栈
目前,vSAN 流量没有专用的 TCPIP 堆栈。自定义 TCPIP 堆栈也不适用于 vSAN traffic。
ESXi 主机上的默认网关
ESXi 主机附带默认 TCPIP 堆栈。因此,主机只有一个默认网关。此默认网关与管理 VMkernel 接口(通常为 vmk0)相关联。最佳做法是在具有备用寻址的备用 VMkernel 接口上实施存储网络连接(在本例中为 vSAN 网络连接)。
vSAN 网络连接使用与管理 VMkernel 接口相同的 TCPIP 堆栈,traffic 默认使用与管理 VMkernel 接口相同的默认网关。将 vSAN 网络与管理 VMkernel 接口隔离后,无法使用默认网关。因此,默认情况下,vSAN 数据节点无法与见证主机通信。
此问题的一个解决方案是使用静态路由。这允许管理员确定一个新的路由条目,指示在 vSAN 延伸群集上的 vSAN 网络的情况下,应遵循哪个路径才能到达特定网络。
可以按如下方式添加静态路由:
- 首选站点上的主机添加了静态路由,以便从 vSAN VMkernel 接口路由到见证站点上的见证网络的请求。
- 辅助站点上的主机添加了静态路由,以便从 vSAN VMkernel 接口路由到见证站点上的见证网络的请求。
- 见证站点上的见证主机添加了静态路由,以便从 WitnessPg VMkernel 接口路由到首选站点和辅助站点的请求。
- 在首选站点和辅助站点之间使用第 3 层可能需要静态路由才能在站点间链路上正确通信。
*请注意,这可能会导致 vSAN 网络具有匹配的子网的警报(如果连接经过验证,则可能会忽略该警报。
静态路由是通过 esxcli 网络 IP 路由或 esxcfg 路由命令添加的。有关详细信息,请参阅相应的《vSphere 命令行指南》。
实施静态路由时的注意事项:使用静态路由需要管理员干预。添加到站点 1 或站点 2 上的群集的任何新 ESXi 主机都需要手动添加静态路由,然后才能成功与见证服务器和其他数据站点通信。任何见证主机的替换也需要更新静态路由,以便于与数据站点的通信。
拓扑 - L2 设计与 L3 设计
考虑这样一种设计:vSAN 延伸群集在一个大型 L2 设计中配置,其中首选站点(站点 1)和辅助站点(站点 2)是部署虚拟机的位置。见证站点包含见证主机:
如果交换机 1 和交换机 2 之间的链接断开(站点 1 和站点 2 之间的链接)。网络tra ffic 现在将通过站点 1 从站点 2 路由到站点 3。考虑到连接到见证主机的带宽要求要低得多,如果网络tra ffic 通过较低规格的站点 3 路由,客户将看到性能下降。
如果存在通过见证站点在数据站点之间路由 traffic 不会影响应用程序的延迟且带宽可接受的情况,则支持站点之间的延伸 L2 配置。但是,在大多数情况下,VMware 认为这样的设想对大多数客户来说是不可行的。
为避免上述情况并确保数据传输不会通过见证站点路由,VMware 建议使用以下网络拓扑:
- 在站点 1 和站点 2 之间,实现延伸的 L2(同一子网)或 L3(路由)配置。
- 在数据站点和见证站点之间实现 L3(路由)配置。确保站点 1 和 2 只能直接连接到站点 3,而不能通过备用站点连接。需要从数据主机(站点 1 和站点 2)到站点 3 中的见证服务器的静态路由。站点 1 中的主机不应遍历站点间链接以访问站点 3。站点 2 中的主机不应遍历站点间链接以访问站点 3。需要从见证主机(站点 3)到数据主机(站点 1 和站点 2)进行静态路由见证服务器不应通过站点 1 路由,然后通过站点间链接到达站点 2。见证服务器不应通过站点 2 路由,然后通过站点间链接到达站点 1。
- 如果任一数据站点网络发生故障,此配置还将防止站点 1 的任何 tra ffic 通过见证站点 2 路由到站点 3,从而避免任何性能下降。
*如果 vSAN 网络之间的连接被配置为使用L3:
- 站点 1 中的每个主机都需要一个静态路由,以便 vSAN VMkernel 接口通过站点间链路路由到站点 2 中主机的每个 vSAN VMkernel 接口。
- 站点 2 中的每个主机都需要一个静态路由,以便 vSAN VMkernel 接口通过站点间链路路由到站点 1 中主机的每个 vSAN VMkernel 接口。
从数据站点到见证服务器的网络配置
下一个问题是如何实现这样的配置,特别是如果见证主机位于公共云上?数据站点中主机上的接口(通过 vSAN 网络相互通信)如何与见证主机通信?
选项 1:通过 L3 和静态路由连接的物理 vSAN 见证主机
在第一个配置中,数据站点通过延伸的L2网络连接。数据站点的管理网络、vSAN 网络、vMotion 网络和虚拟机网络也是如此。此网络基础结构中的物理网络路由器不会自动将 traffic 从数据站点(站点 1 和站点 2)中的主机路由到站点 3 中的主机。要成功配置 vSAN 延伸集群,集群中的所有主机都必须进行通信。如何在此环境中部署延伸群集?
解决方案是使用 ESXi 主机上的静态路由,以便站点 1 和站点 2 中的 vSAN traffic 可以访问站点 3 中的见证主机,反之亦然。虽然这不是首选配置选项,但此设置对于概念验证设计非常有用,因为在客户站点实施所需的网络更改可能存在问题。
对于数据站点上的 ESXi 主机,必须将静态路由添加到 vSAN VMkernel 接口,该路由将通过该网络的默认网关重定向见证站点上见证主机的 traffic。对于见证主机,vSAN 接口必须添加静态路由,重定向发往数据站点主机的 vSAN traffic。添加静态路由是使用 esxcfg-route 实现的,这是 ESXi 主机上的一个命令。必须在延伸群集中的所有 ESXi 主机上重复此操作。
为此,必须在 vSAN 网络 VLAN(在本例中为 VLAN 11 和 21)之间启用网络交换机 IP 路由。一旦远程主机(见证 -> 数据或数据 ->见证)的请求到达,交换机将相应地路由数据包。此通信对于 vSAN 延伸群集正常工作至关重要。
请注意,我们在此处未提及 ESXi 管理网络。仍需要 vCenter 服务器来管理数据站点上的 ESXi 主机和 ESXi 见证服务器。在许多情况下,这对客户来说不是问题。但是,对于延伸群集,如果不可路由,则可能需要从 vCenter 服务器添加静态路由才能到达见证 ESXi 主机的管理网络,同样,可能需要将静态路由添加到 ESXi 见证管理网络才能到达 vCenter 服务器。这是因为 vCenter 服务器将通过默认网关路由所有 traffic。
只要存在从见证主机到 vCenter 的直接连接(不使用 NAT),就不应该有关于管理网络的其他问题。
另请注意,无需在 vSAN 延伸群集的上下文中配置 vMotion 网络或虚拟机网络,也无需为这些网络添加任何静态路由。这是因为虚拟机永远不会迁移或部署到 vSAN 见证主机。它的目的是仅维护见证对象,并且不需要这些网络中的任何一个来完成此任务。
选项 2:通过 L3 和静态路由连接的虚拟 vSAN 见证主机
要求:由于虚拟 ESXi 见证是在本地部署时将部署在物理 ESXi 主机上的虚拟机,因此底层物理 ESXi 主机至少需要一个虚拟机网络预配置。此虚拟机网络需要同时访问数据站点上的 ESXi 主机共享的管理网络和 vSAN 网络。实施起来可能更简单的替代选项是在底层物理 ESXi 主机上设置两个预先配置的虚拟机网络,一个用于管理网络,一个用于 vSAN 网络。在此物理 ESXi 主机上部署虚拟 ESXi 见证服务器时,需要相应地连接/配置网络。
成功部署 vSAN 见证设备后,必须确定静态路由配置。
和以前一样,数据站点通过延伸的 L2 网络连接。数据站点的管理网络、vSAN 网络、vMotion 网络和虚拟机网络也是如此。同样,此环境中的物理网络路由器不会自动将 traffic 从首选和辅助数据站点中的主机路由到见证站点中的主机。为了成功配置 vSAN 延伸群集,群集中的所有主机都需要添加静态路由,以便首选站点和辅助站点中的 vSAN traffic 能够到达见证站点中的见证主机,反之亦然。如前所述,这不是首选的配置选项,但此设置对于概念验证设计非常有用,因为在客户站点实施所需的网络更改可能存在一些问题。
同样,静态路由是使用 ESXi 主机上的 esxcfg-route 命令添加的。必须在群集中的所有 ESXi 主机上(数据站点和见证主机上)重复此操作。
交换机应配置为在数据站点上的 vSAN 网络 VLAN 和见证站点(在本例中为 VLAN 11 和 21)之间启用 IP 路由。一旦远程主机(见证 -> 数据或数据 ->见证)的请求到达,交换机将相应地路由数据包。通过此设置,将形成 vSAN 延伸集群。
请注意,我们在这里再次提及管理网络。如前所述,vCenter 必须管理远程 ESXi 见证和数据站点上的主机。如有必要,应将静态路由添加到 vCenter 服务器,以访问见证 ESXi 主机的管理网络。同样,应将静态路由添加到 ESXi 见证服务器以访问 vCenter 服务器。
另请注意,与以前一样,无需在 vSAN 延伸群集的上下文中连接 vMotion 网络或虚拟机网络,也无需为这些网络添加任何静态路由。这是因为虚拟机永远不会迁移或部署到 vSAN 见证服务器。其目的是仅维护见证对象,并且不需要这些网络中的任何一个来完成此任务。
带宽计算
如要求部分所述,两个主站点之间的带宽要求取决于工作负载,尤其是每个 ESXi 主机的写入操作数。可能还需要考虑其他因素,例如读取位置未运行(虚拟机驻留在一个站点上,但从另一个站点读取数据)和重建流量。
数据站点之间的要求
读取不包括在计算中,因为我们假设读取位置,这意味着不应该有站点间读取 traffic。两个数据站点之间所需的带宽 (B) 等于写入带宽 (Wb) * 数据乘数 (md) * 重新同步乘数 (mr):
B = Wb *md * mr
数据乘数包括 vSAN 元数据 traffic 和其他相关操作的开销。VMware 建议使用数据乘数 1.4。包含重新同步乘数是为了考虑重新同步事件。建议在重新同步事件所需的带宽容量之上分配带宽容量。
为重新同步 traffic 腾出空间,建议额外增加 25%。
- 数据站点到数据站点示例 1
假设 6 节点 vSAN 延伸集群 (3+3+1) 具有以下功能:
工作负载为 35,000 IOPS,其中 10,000 个正在写入 IOPS
“典型”的 4KB 大小写入(这需要 40MB/s 或 320Mbps 带宽)。包括 vSAN 网络要求在内,所需的带宽为 560Mbps。 B = 320 Mbps * 1.4 * 1.25 = 560 Mbps。
数据站点到数据站点示例 2
使用具有 VDI(虚拟桌面基础架构)的 20 节点 vSAN 延伸群集 (10+10+1),具有以下特性: 100,000 IOPS 的工作负载
通常,写入到读取的分布分别为 70%/30%,其中 70,000 次是写入。“典型”4KB大小的写入(这将需要280 MBps或2.24Gbps带宽)
包括 vSAN 网络要求在内,所需的带宽约为 4Gbps。
B = 280 MBps * 1.4 * 1.25 = 490 MBps 或 3.92Gbps
使用上述公式,具有专用 10Gbps 站点间链路的 vSAN 延伸集群可以容纳大约 170,000 个 4KB 写入 IOPS。客户需要评估他们的I/O要求,但VMware认为10Gbps将满足大多数设计要求。
在此配置之上,客户需要考虑多个 10Gb NIC 组合或 40Gb 网络。
VMware 建议站点之间至少提供 10Gbps 的网络连接,以获得最佳性能并可能在未来进行群集扩展。有关 vSAN8 OSA 和 ESA 的更多具体要求,请参见《vSAN 网络连接设计指南》。
读取位置不可用时的要求
前面的计算仅适用于具有读取局部性的常规延伸集群 traffic。如果设备发生故障,读取操作还必须遍历站点间网络。这是因为当使用 NumberOfFailurestoTotoTotorate=1 时,数据的镜像副本位于备用站点上。
对于处于降级状态的对象的每 4K 读取 IO,相同的公式将被添加到上述计算中。预期的读取 IO 将用于计算额外的带宽要求。
在单个故障磁盘的示例中,来自 5 个 VM 的对象驻留在故障磁盘上,读取 IOPS 为 10,000 (4KB),除了上述延伸群集要求外,还需要额外的 40 Mbps,以便在峰值写入 IO 和重新同步操作期间提供 suffient读取 IO 带宽。
数据网站和见证网站之间的要求
见证带宽的计算方式与数据站点之间的带宽不同,因为指定为见证的主机不维护任何 VM 数据,而只维护组件元数据,因此要求要小得多。
vSAN 上的虚拟机由多个对象组成,这些对象可以根据策略和大小等因素拆分为多个组件。vSAN 上的组件数量直接影响数据站点与见证服务器之间的带宽要求。
见证服务器和每个站点之间的所需带宽等于 ~1138 B x 组件数 /5s
1138 B x 数字 / 5 秒
1138 B 值来自首选站点正常运行时的操作,辅助站点获得所有组件的所有权。
当主站点出现故障时,辅助站点将成为主站点。见证服务器将更新发送到新的主数据库,然后在所有权更新时向见证服务器发送新的主数据库回复。
每个组件的 1138 B 要求来自从见证到备份代理的有效负载的组合,后跟指示首选站点出现故障的元数据。
如果首选站点发生故障,链接必须足够大,以允许群集所有权在 5 秒内更改和所有组件的所有权。
见证到现场示例
工作负载 1
VM 由以下部分组成:
- 三个对象 {虚拟机命名空间、vmdk(低于 255GB)和 vmSwap) 容许 1 的故障 (FTT=1)
- 条带宽度为 1
- 大约 166 个具有上述配置的虚拟机需要见证服务器包含 996 个组件。
要成功满足 vSAN 上总共 1,000 个组件的见证带宽要求,可以使用以下计算:
Converting Bytes (B) to Bits (b), multiply by 8
B = 1138 B * 8 * 1,000 / 5s = 1,820,800 Bits per second = 1.82 Mbps
VMware 建议增加 10% 的安全裕度并四舍五入。
B + 10% = 1.82 Mbps + 182 Kbps = 2.00 Mbps
在包括 10% 的 buffer 的情况下,可以说每 1,000 个组件,2 Mbps 是合适的。
工作负载 2
虚拟机由
- 三个对象 {VM 命名空间、vmdk(低于 255GB)和 vmSwap)
- 不允许 1 (FTT=1)
- 条带宽度为 2
大约 1,500 个具有上述配置的虚拟机需要在见证服务器上存储 18,000 个组件。要成功满足 vSAN 上 18,000 个组件的见证带宽要求,计算结果为:
B = 1138 B * 8 * 18,000 / 5s = 32,774,400 Bits per second = 32.78 Mbps
B + 10% = 32.78 Mbps + 3.28 Mbps = 36.05 Mbps
使用每 2,1 个组件 000Mbps 的一般公式 (NumComp/1000) X 2Mbps,可以看出 18,000 个组件实际上需要 36 Mbps。
vSAN 检测信号的作用
如前所述,在延伸群集配置中部署 vSAN 时,vSAN 主节点将放置在首选站点上,vSAN 备份节点将放置在非首选站点上。只要首选站点中存在可用的节点(ESXi 主机),则始终会从此站点上的某个节点中选择主节点。同样,对于非首选站点,只要非首选站点上有可用的节点。
vSAN 主节点和 vSAN 备份节点每秒发送检测信号。如果由于备份节点出现问题,主节点与备份节点之间连续 5 次检测信号(5 秒)丢失通信,则主节点会选择不同的 ESXi主机作为远程站点上的备份。重复此操作,直到检查远程站点上的所有主机。如果整个站点发生故障,主节点将从首选站点中选择备份节点。
当主节点发生故障时,会出现类似的情况。
当节点在完全站点故障后重新加入空站点时,主节点(如果节点加入首选站点)或备份节点(节点加入非首选站点)将迁移到该站点。
如果主节点与 vSAN 见证主机之间连续五次检测信号(5 秒)丢失通信,则认为 vSAN 见证主机出现故障。如果 vSAN 见证主机永久出现故障,则可以配置新的 vSAN 见证主机并将其添加到群集中。
主机号计算
应用于延伸群集的存储策略将确定每个站点所需的最小主机数。例如,将站点容灾设置为“双站点镜像(延伸群集)”,将“容错数”设置为“1 个故障 – RAID - 5(纠删码)”,将导致 3 个数据块和一个奇偶校验组件。因此,每个站点至少需要四个主机。最终配置将是4+4+ 1,每个站点 4 个主机和一个见证主机。
从容量的角度来看,如果您有一个 100 GB 的虚拟机,并将站点容灾设置为“双站点镜像(延伸群集)”,并将容许故障数等于 1 个故障 – RAID - 1(镜像),则意味着在每个站点中都设置了 RAID 1。在这种情况下,100 GB 的 VM 需要每个位置 200 GB。因此,200% 需要本地容量,400% 需要整个集群。使用下表,您可以轻松查看开销。请注意,RAID-5 和 RAID-6 仅在使用全 fl灰烬时可用。
描述 | 站点容灾 | 不能容忍的 | 袭击 | 每个站点的主机数 | 延伸配置 | 单站点容量 | 集群总容量 |
标准 跨位置延伸,具有本地保护 | 1 | 1 | 突袭-1 | 3 | 3+3+1 | 虚拟机的 200% | 虚拟机的 400% |
标准 使用本地 RAID-5 跨位置延伸 | 1 | 1 | 突袭-5 | 4 | 4+4+1 | 虚拟机的 133% | 虚拟机的 266% |
标准 使用本地 RAID-6 跨位置延伸 | 1 | 2 | 突袭-6 | 6 | 6+6+1 | 虚拟机的 150% | 虚拟机的 300% |
标准 跨位置延伸 无本地保护 | 1 | 突袭-1 | 1 | 1+1+1 | 虚拟机的 100% | 虚拟机的 200% | |
不拉伸,只有本地 RAID-1 | 1 | 突袭-1 | 3 | 不适用 | 虚拟机的 200% | 不适用 | |
不拉伸,只有本地 RAID-5 | 1 | 突袭-5 | 4 | 不适用 | 虚拟机的 133% | 不适用 | |
不拉伸,只有本地 RAID-6 | 2 | 突袭-6 | 6 | 不适用 | 虚拟机的 150% | 不适用。 |
群集设置 – vSphere HA
某些 vSphere HA 行为已修改,尤其是对于 vSAN 的行为。它基于每个虚拟机检查虚拟机的状态。vSphere HA 可以根据可从特定分区访问的属于虚拟机的组件数量来决定是否应进行虚拟机故障切换。
在 vSAN 延伸群集上配置 vSphere HA 时,VMware 建议执行以下操作:
vSphere HA | 开 |
主机监控 | 启用 |
主机硬件监控 – 虚拟机组件保护:“防止存储连接丢失” | 已禁用(默认) |
虚拟机监控 | 客户首选项 – 默认禁用 |
准入控制 | 设置为 50% |
主机隔离响应 | 关闭并重新启动虚拟机电源 |
数据存储检测信号 | “仅使用指定列表中的数据存储”,但不要从列表中选择任何数据存储。这将禁用数据存储检测信号 |
高级设置: | |
das.usedefaultisolationaddress | 假 |
das.isolationaddress0 | 站点 1 上 vSAN 网络上的 IP 地址 |
das.isolationaddress1 | 站点 2 上 vSAN 网络上的 IP 地址 |
das.ignoreInenoughHbDatastore | 真 |
始终使用与 vSAN 位于同一网络中的隔离地址。这可确保使用 vSAN VMkernel 界面验证隔离。在不可路由的 vSAN 网络中,可以在每个站点的物理交换机上创建交换机虚拟接口。这将在 vSAN 分段上提供一个可用于 das.isolationaddress 条目的隔离地址 IP。
打开 vSphere HA
要打开 vSphere HA,请在 vCenter 清单中选择群集对象,依次选择管理,然后选择 vSphere HA。在这里,可以通过复选框打开和关闭 vSphere HA。
主机监控
应在 vSAN 延伸群集配置上启用主机监控。此功能使用网络检测信号来确定参与群集的主机的状态,以及是否需要采取纠正措施,例如重新启动群集中其他节点上的虚拟机。
主机隔离的虚拟机响应
此设置确定隔离主机上的虚拟机会发生什么情况,即无法再与群集中的其他节点通信或到达隔离响应 IP 地址的主机。VMware 建议主机隔离响应为打开ff 电源并重新启动虚拟机。这是因为无法完全关闭,因为在隔离主机上,对 vSAN 数据存储的访问权限和写入磁盘的功能将丢失。
准入控制
准入控制可确保 HA 拥有足够的资源在发生故障后重新启动虚拟机。由于整个站点故障是弹性体系结构中需要考虑的一种情况,因此 VMware 建议启用 vSphere HA 准入控制。工作负载的可用性是大多数延伸群集环境的主要驱动因素。因此,必须有足够的容量可用于整个站点故障。由于 ESXi 主机将在 vSAN 延伸群集中的两个站点之间平均分配,并且为了确保 vSphere HA 可以重新启动所有工作负载,因此 VMware 建议将内存和 CPU 的准入控制策略调整为 50%。
VMware 建议使用基于百分比的策略,因为它具有最大的灵活性并减少运营开销。有关接入控制策略和相关算法的更多详细信息,建议参阅《vSphere 可用性指南》。
以下屏幕截图显示了使用设置为 50% 的基于百分比的准入控制策略启用准入控制的 vSphere HA 群集。
vSAN 无法识别准入控制。无法通知 vSAN 留出额外的存储资源来容纳在单个站点上运行的完全合规的虚拟机。这是管理员在发生故障时实现此类配置的附加操作步骤。
主机硬件监控 – 虚拟机组件保护
vSphere 6.0 为 vSphere HA 引入了一项称为虚拟机组件保护 (VMCP) 的新增强功能,允许对驻留在具有“所有路径关闭”(APD) 或“永久设备丢失”(PDL) 条件的数据存储上的虚拟机进行自动故障切换。
永久设备丢失情况 (PDL) 是存储控制器通过 SCSI 感知代码与 ESXi 主机通信的情况。这种情况表示磁盘设备已变得不可用,并且可能永久不可用。当存储控制器无法将状态传达给 ESXi 主机时,该条件将被视为“所有路径关闭”(APD) 条件。
在传统数据存储中,数据存储上的 APD/PDL会影响使用该数据存储的所有虚拟机。但是,对于 vSAN,情况可能并非如此。APD/PDL 只能包含一个或多个虚拟机,但不能包含 vSAN 数据存储上的所有虚拟机。此外,如果 APD/PDL 发生在一部分主机上,则无法保证其余主机将有权访问所有虚拟机对象并能够重新启动虚拟机。因此,分区可能会导致虚拟机无法在任何分区上访问。
虚拟机组件保护 (VMCP) 处理故障转移的方法是终止正在运行的虚拟机,然后在群集中的其他位置重新启动它。VMCP/HA 无法确定 vSAN 上虚拟机的群集范围可访问性,因此无法保证虚拟机在终止后可以在其他位置重新启动。例如,资源可能可用于重新启动虚拟机,但 HA 不知道群集中其余主机对虚拟机的可访问性。这对于传统数据存储来说不是问题,因为我们知道整个集群的主机-数据存储可访问性,并且通过使用它,我们可以确定是否可以在主机上重新启动虚拟机。
目前,vSphere HA 无法理解 vSAN 上每个虚拟机的完全不可访问与部分不可访问;因此,HA 缺乏对 vSAN 的 VMCP 支持。
VMware 建议禁用虚拟机组件保护 (VMCP)。
检测信号数据存储
vSphere HA 提供了一种额外的检测信号机制,用于确定群集中主机的状态。这是对网络检测信号的补充,称为“数据存储检测信号”。在许多 vSAN 环境中,vSAN 之外没有其他数据存储可用。因此,VMware 建议禁用检测信号数据存储,因为 vSAN 数据存储不能用于检测信号。但是,如果有其他数据存储可用,则完全支持使用检测信号数据存储。
检测信号数据存储有什么作用,何时发挥作用?隔离主机使用检测信号数据存储通知集群的其余部分其和虚拟机的状态。当主机处于隔离状态,并且隔离响应配置为“电源 off”或“关闭”时,当虚拟机因隔离而通电(或关闭)时,检测信号数据存储将用于通知集群的其余部分。这允许 vSphere HA 主节点立即重新启动受影响的虚拟机。
要禁用数据存储检测信号,请在 vSphere HA 设置下,打开检测信号数据存储部分。选择“仅使用指定列表中的数据存储”,并确保未选择任何数据存储(如果存在)。数据存储检测信号现已在集群上禁用。请注意,这可能会在主机的摘要选项卡中产生通知,指出此主机的 vSphere HA 检测信号数据存储数为 0,小于所需数量:2。可以通过以下知识库文章 2004739 删除此消息,该文章详细介绍了如何添加高级设置 das.ignoreInsufficientHbDatastore = true。
高级选项
在 vSAN 群集上启用 vSphere HA 后,将使用检测信号机制来验证 ESXi 主机的状态。网络检测信号是 HA 验证主机可用性的主要机制。
假设主机未收到任何检测信号。在这种情况下,它使用故障安全机制来检测它是与其 HA 主节点隔离还是与网络完全隔离。它通过 ping 默认网关来实现此目的。
在 vSAN 环境中,vSphere HA 使用 vSAN traffic 网络进行通信。这与使用管理网络进行 vSphere HA 通信的传统 vSphere 环境不同。但是,即使在 vSAN 环境中,vSphere HA 也会继续使用管理网络的默认网关进行隔离检测响应。应更改此设置,以便隔离响应 IP 地址位于 vSAN 网络上,因为这允许 HA 对 vSAN 网络故障做出反应。
除了在 vSAN 网络上选择隔离响应地址外,还可以手动指定其他隔离地址,以增强隔离验证的可靠性。
网络隔离响应和多个隔离响应地址
在 vSAN 延伸群集中,其中一个隔离地址应位于站点 1 数据中心中,另一个隔离地址应位于站点 2 数据中心中。这将使 vSphere HA 即使在分区方案(站点之间的网络故障)的情况下也能验证主机隔离。
VMware 建议启用主机隔离响应,并指定位于 vSAN 网络而不是管理网络上的隔离响应地址。
vSphere HA 高级设置 das.usedefaultisolationaddress 应设置为 false。
VMware 建议指定另外两个隔离响应地址,每个地址都应指定站点。换句话说,从首选站点选择一个隔离响应 IP 地址,从非首选站点选择另一个隔离响应 IP 地址。
用于设置第一个隔离响应 IP 地址的 vSphere HA 高级设置为 das.isolationaddress0,并且应将其设置为驻留在一个站点上的 vSAN 网络上的 IP 地址。
用于添加第二个隔离响应 IP 地址的 vSphere HA 高级设置为 das.isolationaddress1,这应该是驻留在备用站点上的 vSAN 网络上的 IP 地址。
群集设置 - DRS
vSphere DRS 在许多环境中用于在群集内分配负载。vSphere DRS提供了许多其他功能,这些功能在 vSAN 延伸群集环境中非常有用。
如果管理员希望在 vSAN 延伸群集上启用 DRS,则需要具有 vSphere Enterprise Plus 许可证版本或更高版本。vSphere Enterprise for ROBO 许可证在将主机置于或退出维护模式时提供 DRS 功能。
VM/主机组和规则以及 vSphere DRS
建议创建将 VM 映射到主机组的 VM 到主机关联性规则。这些指定哪些虚拟机和主机驻留在首选站点中,哪些虚拟机和主机驻留在非首选站点中。使用主机/虚拟机组和规则,管理员可以轻松管理哪些虚拟机应在哪个站点上运行,并在站点之间平衡工作负载。在下一节中,将讨论主机/虚拟机组和规则。
与虚拟机一起使用以托管 Affi组/规则时,vSphere DRS 地址: 管理员可以轻松地在站点之间平衡工作负载。
打开虚拟机电源后,只会在符合虚拟机/主机组和规则设置的主机上打开虚拟机电源。
VM/主机组将在下一节中更详细地讨论。
完整的站点故障/恢复和 vSphere DRS
发生整个站点故障时,vSphere HA 将重新启动其余站点上的所有虚拟机。
虚拟机/主机规则:对于发生故障时可在备用站点上运行的工作负载,应设置为“应在组中的主机上运行”。对于只应在单个站点上运行的工作负载,例如在非对称延伸群集的情况下或使用站点 Affi存储策略时,应使用“必须在组中的主机上运行”规则。有关详细信息,请参阅每个站点的策略注意事项部分。
部分自动或全自动 DRS
客户可以决定是将 DRS 置于部分自动模式还是全自动模式。在部分自动化模式下,DRS 将处理虚拟机的初始放置。但是,任何进一步的迁移建议都将向管理员显示,以决定是否移动虚拟机。管理员可以检查建议,并可能决定不迁移虚拟机。建议应针对同一站点上的主机。
DRS 将在全自动模式下处理虚拟机的初始放置和持续的负载平衡。DRS 应遵守主机/虚拟机组和规则,并且切勿在不同站点之间平衡虚拟机。这一点很重要,因为 vSAN 延伸群集上的虚拟机将使用读取局部性,这意味着它们将在本地缓存。如果 DRS 将虚拟机迁移到其他站点,则必须在远程站点上预热缓存,然后才能达到其以前的性能级别。
全自动模式的一个重要考虑因素是站点故障。考虑这样一种情况:站点出现故障,并且所有虚拟机现在都在单个站点上运行。正在运行的站点上的所有虚拟机都具有正在运行的站点的读取位置,并在正在运行的站点上缓存其数据。也许停电已经几个小时甚至一天了。故障站点上的问题已得到解决(例如电源、网络等)。当恢复的主机上的主机重新加入 vSAN 群集时,必须将所有组件从正在运行的站点重新同步到恢复的站点。这可能需要一些时间。但是,与此同时,DRS 会通知主机已返回到群集中。如果在全自动模式下,则会检查ffinity 规则,显然,许多规则不合规。因此,DRS 开始将虚拟机移回恢复的站点,但组件可能尚未处于活动状态(即仍在同步)。因此,虚拟机最终可能会位于恢复的站点上,但由于没有数据的本地副本,因此来自这些虚拟机的 I/O 必须遍历站点之间的链接到活动数据副本。由于延迟/性能问题,这是不可取的。因此,出于此原因,VMware 建议在发生中断时将 DRS 置于部分自动化模式。当恢复的站点上的主机联机时,将继续通知客户有关 DRS 建议的信息。不过,他们现在可以等到 vSAN 完全重新同步虚拟机组件。然后,可以将 DRS 更改回全自动模式,从而允许虚拟机迁移符合虚拟机/主机ffi规则。
vSAN 7 Update 2 中 vSAN 延伸群集的 DRS 感知
vSAN 延伸群集的 DRS 感知功能内置于 vSAN 7 Update 2 中。无需更改配置或操作流程。它适用于所有ffinity 规则。对于以前版本的 vSAN ,建议将 DRS 自动化设置为手动或部分自动化。在 vSAN 7 Update 2 中,可以将其设置为完全自动化,以便从具有 vSAN 延伸集群的 DRS 中获得最大优势。
vSphere 的 DRS 与 vSAN Update 2 紧密集成,引入了全自动读取局部性解决方案,用于从 vSAN 延伸群集上的故障中恢复。读取位置信息指示虚拟机具有完全访问权限的主机,DRS 在将虚拟机放置在 vSAN 延伸群集上的主机上时会使用此信息。vSAN 重新同步完成且虚拟机的数据组件实现完全读取局部后,DRS 会将虚拟机迁移回主站点。此 DRS 将在站点发生故障时置于全自动模式。
如果发生部分站点故障,如果虚拟机由于丢失的数据组件等于或大于其允许的故障数而丢失读取局部性,vSphere DRS 将识别消耗非常高读取带宽的虚拟机,并尝试将其重新平衡到辅助站点。这样,我们可确保在部分站点故障期间,具有读取密集型工作负载的 VM 不会受到影响。主站点重新联机并且数据组件重新同步后,VM 将移回其所属站点。
VM/主机组和规则
VMware 建议启用 vSphere DRS,以允许创建 Host-VMffi规则。
VMware还建议创建虚拟机/主机组和规则,并使用vSphere DRS执行虚拟机的初始放置,并避免站点之间不必要的虚拟机vMotion。
由于 vSAN 延伸群集仍然是单个群集,因此 DRS 不知道它由不同的站点组成,因此可能会决定在它们之间移动虚拟机。使用虚拟机/主机组将允许管理员将虚拟机“固定”到站点,从而防止不必要的 vMotion/迁移。
vSAN 延伸群集使用读取位置性来确保仅在虚拟机所在的站点中进行读取。在混合 vSAN 延伸群集配置中,读取缓存仅在虚拟机所在的站点上处于暖状态。如果将 VM 迁移到备用站点,则必须预热读取案例。确保 VM 不会在站点之间自由移动将克服不必要地预热缓存的需要。
请注意,vSAN 延伸群集有自己的首选站点概念。这是在配置期间设置的,指的是在出现裂脑的情况下哪个站点接管。它与虚拟机放置无关。它用于首选站点和非首选站点之间存在分区的情况,而 vSAN 见证主机可以与这两个站点通信。本文档稍后将讨论更详细的故障方案。
主机组
使用 vSAN 延伸群集来计算DRS 时,VMware 建议创建主机 A 系列和虚拟机 A系列组。
每个站点中的主机应分组为以站点为中心的主机组。与以站点为中心的组中的主机配对时,可以轻松确定分配给虚拟机组的虚拟机,以确定允许虚拟机运行的位置。
虚拟机组
还应根据要运行 VM 的位置创建 VM 组。
VM 组应包括具有类似放置要求的 VM。
上面的示例显示了包含多个 VM 的 VM 组。VM 组的命名表明这些 VM 可能会在站点 A 上运行。
为此,必须创建虚拟机/主机规则。VM 组本身不执行除对 VM 进行分组之外的任何功能。
请记住,必须在部署后将 VM 分配给 VM 组。这可以在 vSphere Client 中完成,也可以通过 API 调用或 PowerCLI 脚本完成。
虚拟机/主机规则
在 vSAN 延伸群集上部署虚拟机时,在大多数情况下,我们希望虚拟机驻留在所选主机组中的一组主机上。但是,如果整个站点发生故障,我们希望在幸存的站点上重新启动虚拟机。
VMware 建议在虚拟机/主机规则配置部分中实施“应遵守规则”来实现此目的。在全站点中断的情况下,vSphere HA 可能会违反这些规则。如果实施了“必须规则”,vSphere HA 不会违反规则集,这可能会导致服务中断。vSphere HA 不会重新启动虚拟机,因为它们没有在其他站点中的主机上启动所需的ffi。因此,实施“应该规则”的建议将允许 vSphere HA 重新启动其他站点中的虚拟机。
vSphere HA 规则设置位于虚拟机/主机规则部分。这允许管理员决定允许哪些虚拟机(属于 VM 组)在哪些主机(属于主机组)上运行。它还允许管理员决定“虚拟机托管ffi规则”的执行程度。
如上所述,主机VM规则应设置为“应遵守”,以允许在一个站点上的主机上启动虚拟机,以防整个站点发生故障。要实现“应规则”,方法是单击虚拟机/主机规则视图底部 vSphere HA 规则设置中的编辑按钮,并将虚拟机设置为托管ffi ffinity规则,以“vSphere HA 在故障切换期间应遵守规则”。默认情况下,vSphere HA 将尽可能遵守这些规则。
vSphere DRS 将这些规则传达给 vSphere HA,这些规则存储在管理允许启动行为的“兼容性列表”中。再次请注意,如果出现整个站点故障,vSphere HA 将能够在违反规则的主机上重新启动虚拟机。在这种情况下,可用性优先。
每站点策略规则注意事项
随着每站点策略规则的引入,虚拟机/主机组规则比以往任何时候都更加重要。
米斯康形象
完全有可能让虚拟机存储策略使用A ffinity 规则将数据放置在一个站点中,而虚拟机/主机组规则将虚拟机放置在备用站点中。
以下是这种骗局的例证:
在本地网络上,这可能不是一个重大问题。在延伸集群配置中,站点分布在较大的地理距离上,这被认为是错误配置。这是因为当 VM 不在同一站点上运行时,读取和写入必须遍历站点间链接。
在存储数据的对面站点上运行的 VM 会消耗额外的不必要的带宽。此带宽应保留在同一站点内,以确保较低的带宽利用率。
当备用站点断开连接时,虚拟机将无法再访问其 vmdk,并且实际上将成为僵尸虚拟机。
正确的配置。
正确的配置包括虚拟机/主机组规则,这些规则与相应的虚拟机存储策略分配给虚拟机的关联性规则保持一致。
设置适当的虚拟机/主机组规则和虚拟机存储策略由于多种原因,规则是有益的
- 不会不必要地通过站点间链接发送带宽
- 降低站点间带宽利用率
- 在备用站点断开连接的情况下,虚拟机将继续有权访问其 vmdk。
总结
重要的是要确保制定适当的规则以保持正确使用的要求。VMware 建议使用虚拟机/主机组规则以及仅存储在两个数据站点之一上的虚拟机存储策略的ffi规则。