使用网络负载均衡技术可以实现一些应用程序的可用性和可伸缩性,常用的应用程序有:IIS、防火墙、VPN以及一些关键业务。每一个节点运行应用程序的一个副本。NLB在群集中的多个主机中分发传入的客户端请求。可以动态地添加主机,也可以将所有流量引导到指定的单个主机,这个主机就称为默认主主机。在一个群集中最多支持 32 台计算机。
当计算机意外出现故障或者脱机时,将断开与出现故障或脱机的服务器之间的活动连接。但是,如果您有意关闭主机,则可以在使计算机脱机之前,使用 drainstop 命令处理所有活动的连接。任何一种情况下,都可以在准备好时将脱机计算机明确地重新加入群集,并重新共享群集负载,以便使群集中的其他计算机处理更少的流量。
NLB 群集中的主机会交换检测消息以保持有关群集成员身份的数据的一致性。默认情况下,当主机在五秒之内未能发送检测消息时,该主机便出现了故障。当主机出现故障时,群集中的剩余主机将聚合在一起并执行以下操作:
确定哪些主机仍然是群集中的活动成员。
选择优先级最高的主机作为新的默认主机。
确保所有新的客户端请求都由仍然活动的主机进行处理。
在聚合期间,仍然活动的主机会查找一致的检测信号。如果无法发送检测信号的主机开始提供一致的检测信号,则它会在聚合过程中重新加入群集。当新的主机尝试加入群集时,它会发送检测消息,该消息也会触发聚合。当所有群集主机对当前的群集成员身份达成一致之后,会向剩余主机重新分发客户端负载,并完成聚合。
通常聚合只需几秒钟,因此由群集中断的客户端服务是非常少的。在聚合期间,仍然活动的主机会继续处理客户端请求,而不会影响现有连接。如果所有主机在几个检测期间报告的群集成员身份和分发映射都一致,则聚合结束。
就其安装和部署来说非常简单,无须多言,有几点需要注意:
1. 相关性:
无:NLB会根据源主机的IP 地址和端口将其请求指派给其中的一台服务器处理。
单一:NLB只根据源主机的IP地址将其请求指派给其中的一台服务器处理。
网络:根据源主机的网络地址,即IP地址中的最高3个字节。例如,200.201.111.0的将其请求指派给其中的一台服务器处理。
2. 操作模式:
单播:每一个节点的网卡MAC地址会被替换成一个相同的群集MAC地址。通过此MAC地址来接收外部来的连接请求。但也存在一定的问题,如下:
交换机上每一个端口注册的MAC地址必须唯一: 如果两个节点都连接到二层交换机,那么交换机在注册MAC地址的时候就会在存在问题。微软的解决方法是使用MaskSourceMAC功能来解决,它根据每一台服务器的主机ID来更改外送数据包中以太帧头部的MAC地址,将群集MAC中的第2组改为主机ID如01或者是02。此地址仅在以太帧中,通过抓包可以查看到,通过arp -a应该是看不到的,有兴趣的朋友可以测试。
启用MaskSourceMAC:将注册表中[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/WLBS/Parameters/Interface/{D46BAFF5-EF6D-47B0-8A87-0088A8C73010}]中的MaskSourceMAC设置为1,系统默认已经为1,因此不用修改。
交换机泛洪:如果路由器接收到发往群集IP地址的数据包时,它会通过ARP协议请求群集IP地址所对应的MAC地址,此地址是真正替换之前的群集MAC,但因为没有在交换机上注册,因此要进行广播。
新闻热点
疑难解答
图片精选