Microsoft NLB VMware替代方案:多播和单播问题已解决
Microsoft NLB 多播模式
如 VMware 知识库中关于网络负载均衡 (NLB) 多播模式配置的文档( 所述,您需要在交换机或路由器上为连接到集群的每个端口手动配置静态 ARP 解析。在未知的网络环境中部署 NLB 多播模式Microsoft可能是一项复杂而艰巨的任务。
Microsoft NLB 单播模式
使用Microsoft NLB 单播模式时,必须配置 ESXi/ESX 主机,使其在任何虚拟机启动时都不发送 RARP 数据包。这就是为什么 Microsoft NLB 在 VMware 的单播模式下无法正常工作的原因。
替代方案为SafeKit
SafeKit 虚拟 IP 地址配置无需任何特殊网络配置,网络负载均衡可在任何环境下运行。当需要在未知的基础架构(例如未知交换机或路由器、物理服务器或虚拟服务器)中部署该解决方案时,这是一个重要的特性。
SafeKit 集群在 farm 模式下如何与 Windows 配合使用?
farm 模式集群中的虚拟 IP 地址

在上图中,Windows 应用程序在 3 台服务器上运行(3 是一个示例,也可以是 2 台或更多)。用户连接到虚拟 IP 地址。
虚拟 IP 地址在 farm 模式集群中的每台服务器上本地配置。
所有服务器都会接收到虚拟 IP 地址的输入流量,并通过每个服务器内核中的网络过滤器进行分配。
SafeKit 可检测硬件和软件故障,在发生故障时重新配置网络过滤器,并提供可配置的应用程序检查器和恢复脚本。
网络过滤器中的负载均衡
网络过滤器中的网络负载均衡算法基于客户端数据包的标识(客户端 IP 地址、客户端 TCP 端口)。根据客户端数据包输入的标识,服务器中的一个过滤器接受该数据包;其他服务器中的其他过滤器拒绝该数据包。
一旦数据包被服务器上的过滤器接受,只有该服务器的 CPU 和内存会被响应客户端请求的 Windows 程序使用。输出消息直接从应用程序服务器发送到客户端。
如果服务器发生故障,farm 心跳协议会重新配置网络负载均衡群集中的筛选器,以重新平衡剩余可用服务器上的流量。
有状态或无状态应用程序
对于有状态的 Windows 程序,存在会话亲和性。同一客户端必须连接到同一服务器上的多个 TCP 会话,才能在服务器上检索其上下文。在这种情况下,SafeKit 负载均衡规则配置在客户端 IP 地址上。因此,同一客户端始终连接到同一服务器上的多个 TCP 会话。不同的客户端分布在 farm 中的不同服务器上。
对于无状态 Windows 程序,没有会话亲和性。同一客户端可以通过多个 TCP 会话连接到服务器 farm 中的不同服务器。服务器上不会在会话之间存储本地上下文。在这种情况下,SafeKit 负载均衡规则配置在 TCP 客户端会话标识上。此配置最适合在服务器之间分配会话,但它需要一个没有会话亲和性的 TCP 服务。
如何在 farm 模式下为 Windows 配置 SafeKit 集群?

以 farm 模式运行的 SafeKit 集群旨在实现服务的高可用性和可扩展性。该配置侧重于同时在两个节点上分配传入流量:
- 负载均衡服务(宏选项卡): 定义要在所有节点上保持激活的特定应用程序服务(例如,Apache、IIS、Nginx)。
- 心跳网络: 用于检测节点是否已离开 farm,从而触发负载的即时重新分配的通信路径。
- 虚拟 IP(Farm VIP): 与 mirror 集群不同,Farm VIP 在节点之间共享,并使用内核过滤算法来分配网络流量。
- 负载均衡规则: 根据源 IP 地址或端口定义流量分配策略。
- 检查器: 监控应用程序的运行状况,并在检测到进程故障时触发自动重启。
如何监控 farm 模式下的 SafeKit Windows 集群?

在 farm 模式下监控集群可提供基础设施的 “主动-主动” 性质的可见性,其中所有节点都为应用程序的性能做出贡献(此示例中显示 2 个节点):
- UP 状态(2 个节点均为 50%): 在健康的 farm 中,两个节点都处于“ UP ”(50%)状态,这意味着它们都通过共享虚拟 IP 积极接收和处理客户端请求。
- 自动重新平衡: 如果一个节点发生故障,控制台会直观地显示剩余节点承担 100% 的流量。没有“故障转移”延迟,因为幸存的节点已经处于活动状态(除了几秒钟的检测时间)。
- 节点插入: 修复后的节点重新启动时,会从“ STOP ”状态转变为“ UP ”状态,并自动开始接收其负载部分,无需管理员干预。
- 无数据同步: 请注意,在 farm 模式集群中,没有“橙色”重新同步状态,因为节点预计是无状态的或共享后端数据库(可以在 mirror 集群中单独保护)。
除了简单的状态图标,该界面还提供一键式节点管理,允许您在计划维护期间手动停止或启动节点,同时共享的虚拟 IP 会自动重新分配流量,而不会中断用户活动。
🔍 探索 SafeKit
查找有关 SafeKit 功能、架构、视频、文档和免费试用的信息。
| 资源 | 描述 | 链接 |
|---|---|---|
| 主要功能 | 了解 SafeKit 为何是一种简单且经济高效的高可用性解决方案。 | 探索主要功能 |
| 用例 | 了解 SafeKit 如何保持关键应用程序和基础设施的可用性。 | 探索用例 |
| 部署模型 | SafeKit 无需 SAN 或共享存储即可提供高可用性。 | 探索部署模型 |
| 高可用性策略 | 比较虚拟机的可用性与应用程序的可用性。 | 比较这两种策略 |
| 技术规格 | 查看 SafeKit 集群的技术要求和限制。 | 阅读技术规格 |
| 视频 | 观看 SafeKit 配置和自动故障转移的演示。 | 观看技术视频 |
| 架构 | 了解 SafeKit mirror 集群如何实时复制文件并处理故障转移。 | 探索 Mirror 架构 |
| 架构 | 了解 SafeKit farm 集群如何平衡网络流量并处理故障转移。 | 探索 Farm 架构 |
| 产品对比 | 将 SafeKit 与传统的高可用性集群进行比较。 | 比较解决方案 |
| 技术资源 | 查找技术文档、下载 SafeKit 并访问免费试用版。 | 访问文档和免费试用版 |
| 应用模块 | 使用预配置的 SafeKit 模块为您的应用程序设置高可用性。 | 探索应用模块 |