Win2008 R2/2012 网络负载平衡NLB相关内容

使用网络负载均衡技术可以实现一些应用程序的可用性和可伸缩性,常用的应用程序有: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,但因为没有在交换机上注册,因此要进行广播。

如果希望彻底解决,可以将NLB群集中的所有服务器连接到一个集线器,然后再将集线器连接到交换机的一个端口。同时禁用前面的MaskSourceMAC功能,这样这个端口只会注册群集的MAC地址。这样的话,当路由器将目的地为群集MAC的数据包发到交换机后,交换机只会通过这个端口转发到集线器,不会到其他端口,HUB再发给所有服务器。

至于,采用多播后两节点之间不能通讯的问题,在Windows Server 2008 以后是可以的。但考虑性能问题或者是其他业务需要同时访问这两个节点时,还是建议另外使用一个网卡。

多播:如果使用多播模式,则所有节点在一个多播组中,它们在拥有一个共同的多播MAC地址之外每一个网卡依然会保留原来的MAC地址。因此节点成员之间通讯没有问题。但群集之外的其他客户端想同时访问两台服务器还是不可以的,只能访问其中一个如DNS解析,这是NLB的机制。

多播的缺点在于:

有的路由器不支持:路由器接收到要转发给群集IP地址的数据包时,会通过ARP寻求MAC地址,有的路由器只接受单播地址,而不接受多播MAC地址,因此会有问题。解决方法可以考虑在路由器内新建静态ARP映射表,如果不行,就只能使用单播模式。只要能解决在路由器内新建ARP静态映射,兼容性还是很好的。

。。3.  管理器使用:基本使用在此不多说,但在笔者的实际应用中发现以下问题:

在工作组环境下,使用网络负载平衡管理器查看连接状态时,一切正常,如下图所示:

但是在域环境下,也就是如果两个节点是成员服务器的话,则会发现一个节点通过管理器查看是正常的,但另一个节点查看时,会出现有的节点不可访问的现象,如下图所示:

解决方法:通过使用主机列表连接到现有网络负载平衡群集,具体如下:

步骤1: 在记事本中键入主机列表:

例如,现在节点02上无法正确显示所有主机,则我们就到节点02上创建一个文本文件host.txt,内容如下:

步骤2:通过管理器加载主机列表,如下图所示:

然后,等待几分钟之后,即可显示完整的订购信息,如下图所示:

我的理解是,省去了DNS解析的过程,因为现在NLB已经正常起作用了,DNS作为一个客户端与节点1可以正常通讯,则必须与节点2无法通讯,如下图所示:

如果 NLB 管理器日志显示 Access denied, error connecting to "host",则必须通过使用作为所有主机上管理员组成员的登录名重新连接群集。可以通过以下方法来完成该操作:通过“运行身份”使用不同登录名进行登录,或通过单击 NLB 管理器“选项”菜单中的“凭据”提供 NLB 管理器可使用的备用登录名。另外需要知道,NLB的日志就是管理器下方显示的内容,就是记录到文件中也是这些内容。

综上所述,建议NLB可以部署在工作组环境,也可以部署在域环境,但相对来说还是工作组环境要简单些,当然还要考虑到实际环境中对域及DNS的要求;如果只有一块网卡,建议使用多播;如果有两块网卡,最好是单播。以上实验如果是在Hyper-v环境下,需要启用网卡的MAC地址欺骗。不建议使用WorkStation这样的单机虚拟软件实现。

本文出自 “杜飞” 博客

(0)

相关推荐

  • Win2008 R2下配制负载均衡方法(图文简洁版)

    两台web 服务器,操作系统是Windows Server 2008 R2,申请三个IP地址及要做负载平衡的域名(www.test.cn),其中一个IP地址为虚拟IP地址,另外两个分别配置在两台服务器上,例: 虚拟IP: 11.1.6.13 两台的地址分别为11.1.6.11, 11.1.6.12两台服务须安装的内容如下: 服务器(11.1.6.11): 1. 安装负载均衡服务 2. 在此服务器上配制负载均衡操作(以下以此台服务器为例) 服务器(11.1.6.12):1. 安装负载均衡服务 负载

  • Windows Server 2008 R2 负载平衡安装配置入门篇

    一.简单介绍负载均衡 负载均衡也称负载共享,它是指负载均衡是指通过对系统负载情况进行动态调整,把负荷分摊到多个操作节点上执行,以减少系统中因各个节点负载不均衡所造成的影响,从而提高系统的工作效率. 在常用的大型服务器系统当中都存在着负载均衡组件,常用的像微软的网络负载平衡NLB.甲骨文的Oracle RAC.思科的负载均衡(SLB),Apach+Tomcat 负载均衡,它们能从硬件或软件不同方面实现系统各节点的负载平衡,有效地提高大型服务器系统的运行效率,从而提升系统的吞吐量.本篇文章以微软的网

  • Win2008 R2/2012 网络负载平衡NLB相关内容

    使用网络负载均衡技术可以实现一些应用程序的可用性和可伸缩性,常用的应用程序有:IIS.防火墙.VPN以及一些关键业务.每一个节点运行应用程序的一个副本.NLB在群集中的多个主机中分发传入的客户端请求.可以动态地添加主机,也可以将所有流量引导到指定的单个主机,这个主机就称为默认主主机.在一个群集中最多支持 32 台计算机. 当计算机意外出现故障或者脱机时,将断开与出现故障或脱机的服务器之间的活动连接.但是,如果您有意关闭主机,则可以在使计算机脱机之前,使用 drainstop 命令处理所有活动的连

  • Win2003服务器网络负载平衡的配置方法[图文]

    负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求.均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题.这种群集技术可以用最少的投资获得接近于大型主机的性能. 一.网络负载平衡的优点 1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多

  • WIN2008 R2 Active Directory 之二 部署企业中Windows Server 2008 R2额外域控制器

    题外话--谨以此文纪念"痛苦"的交规考试以98分通过.小弟准备考驾照,最近被交规,就把博文之事放下了.哈哈哈,今天刚一通过就马上来码字儿了! 通过<部署企业中第一台Windows Server 2008 R2域控制器>(http://www.jb51.net/article/38401.htm)已经完成了企业中Windows网络域森林的建立.但是,在企业中对于AD来讲,为了保证安全稳定运行,至少需要两台以上的物理域控制器. 在早期的Windows中可以部署备份域控制器(BD

  • Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁

    3389端口是指windows系统中的远程桌面端口,可以使用它本管理远程计算机,就像操作本地的电脑一样,但是也容易被一些黑客利用,所以对于这个端口我必须要修改,且必须在安装完系统后就马上修改它. 随着云主机的普及和微软的大力更新,用windows server 2008 R2作为web服务器的人越来越多,而其强大的性能和可操作性得到了好评.连卖win2008的虚拟主机商也多起来了,所以今天我来讲讲我是怎么设置Win2008服务器安全的,拙见希望能帮到大家.一起远离肉鸡吧... 千里之行始于足下,

  • Centos7.2安装Nginx实现负载平衡的方法

    下载Nginx 到官网下载源码文件,地址:http://nginx.org/en/download.html,选择最新版本.本人下载的地址为:http://nginx.org/download/nginx-1.10.2.tar.gz,可用wget命令下载,也可以在windows系统上下载好再传到linux上. 卸载httpd 如果系统默认安装了httpd服务,卸载之.不卸载也没关系,这里只是方便默认80端口的处理. yum -y remove httpd 解压 tar -xzvf nginx-x

  • Win2008 R2 mysql 5.5 zip格式mysql 安装与配置

    Win2008 R2 zip格式mysql 安装与配置 一.百度mysql5.6 ZIP 64位免安装版 下载好后 解压到D盘下 二.可以考虑修改my.ini里面的配置 character-set-server=utf8 这句是编码格式设定 port=.. 端口设定 三.设置环境变量PATH.将D:\mysql-5.6.20-winx64\bin加入path中. 四.安装MySQL服务,一定要进入D:\mysql-5.6.20-winx64\bin目录执行安装 mysqld install 五.

  • 详解Centos7.2安装Nginx实现负载平衡

    下载Nginx 到官网下载源码文件,地址:http://nginx.org/en/download.html,选择最新版本.本人下载的地址为:http://nginx.org/download/nginx-1.10.2.tar.gz,可用wget命令下载,也可以在windows系统上下载好再传到linux上. 卸载httpd 如果系统默认安装了httpd服务,卸载之.不卸载也没关系,这里只是方便默认80端口的处理. yum -y remove httpd 解压 tar -xzvf nginx-x

  • win2008 r2 下安装sql server 2005 64位教程(图解)

    安装好win2008 r2 x64系统以后,安装方法可以参考这篇文章:http://www.jb51.net/os/535658.html 进入下载的文件中,双击打开:splash.hta 文件进行安装 根据自己的系统来选择性进行安装,这里我们选择第二项:基于 x64 的操作系统(6). 然后在安装中选择"服务器组件.工具.练级丛书和示例(C)"的选项进行安装. 此处的注册信息可以忽略,非必填选项 此处我们选择安装的功能文件,也可点击"高级",进入高级设计页 点击&

随机推荐