NLB 即:Network Load Balancing(网络负载平衡),本人之前进行了简单的安装测试,感觉很简单!既然之前已经把图截取了下来,想想不发布成 Blog 有些浪费,所以干脆就当作晒图吧。
NLB 的用途很广,你可以将多台应用服务器通过 NLB 的方式捆绑在一起,这样以来 NLB 可以根据实际的访问流量均分开来减少各服务器的网络占用及资源占用,所以 NLB 被广泛用于:终端服务、Web服务、FTP服务等等。
如下图所示 NLB 的原理很容易理解。假如有两台 Web 服务器,各为:Node1 和 Node2,那么他们通过 NLB 创建一个群集 IP,将两台服务器组成为一个群集,之后我们只需要访问这个群集 IP 即可随机访问这两台节点上的资源!
NLB 群集是非常智能的,当群集中一台主机在5秒内未能发送检测信息时(即心跳检测),NLB 群集将确定还有哪些主机是活动着的并丢弃之前的主机重新将剩余的活动主机聚合,然后根据之前所配置的优先等级进行访问!而当之前的故障主机恢复了正常之后,会向群集发送一个检测信号最终重新加入到群集中承担负载。
在 Windows Server 2008 中,NLB 包含了很多的改进:支持 IPv6、支持 NDIS 6.0、增强了的WMI、改进对 Denial of Service 和 Timer Starvation 的保护、支持每个节点使用多个专用 IP、支持从 Windows Server 2003 到 Windows Server 2008 的滚动升级、通过网络负载平衡管理器直接进行综合管理。
本次的测试环境是:ThinkPad X60/T7200/2G*2/120G/Vista Ultimate with SP1 64-bit ENU
虚拟机平台:Virtual Server 2005 R2 with SP1 ENU
两台虚拟机:Windows Server 2008 Enterpriser RTM ENU + CHS MUI,各分配512M内存,各配置两块网卡,计算机名分别为:NLB-Node1 和 NLB-Node2
其他说明:由于是在虚拟环境下做测试,之前将各节点配置为单网卡多播模式的 NLB,不是很稳定,而且每次打开 NLB 管理器总是提示多播的警告,故后来改为双网卡单播测试正常!
首先,我进入 NLB-Node1 打开网络负载平衡管理器,通过菜单“群集”下的“新建”来创建一个新的 NLB 群集,在“主机”框中填写当前的计算机名称“nlb-node1”并单击“连接”。连接状态显示已连接后,点击“下一步”。
在主机参数配置中,根据自行需求配置当前主机的优先级别,在“专用 IP 地址”中添加用于 NLB 群集的 IP
为此群集创建一个 IPv4 的地址
在群集参数向导中,填入“完整的 Internet 名称”- “nlb”(PS:为了便于测试我填入的是一个主机名,事先已经在各节点上修改了host文件以供能够识别),注意:由于最终的测试是双网卡单播模式,此图中的群集操作模式有偏差,以文字叙述为准!
端口规则向导默认是定义了所有的端口,实际中我们可以根据自己的应用需要来配置端口规则,如:Web 服务只添加 80 端口的规则即可!
完成配置后 NLB 群集即已经被创建,接下来我们需要将另外一个节点也添加进来。这里需要说明的是我们可以直接在 NLB-Node1 上通过网络负载平衡管理器将 NLB-Node2 添加进来,也可以在 NLB-Node2 上进行添加,为了保证测试不出意外,建议前期将两台计算机的的超级管理员账号密码配置为相同的为佳!
完成了 NLB 群集的创建并添加了第一个节点后,现在登录到 NLB-Node2 上,同样打开 NLB 管理器,在菜单“群集”下选择“连接到现存的”,以连接到现有群集中!
在连接向导中填入 NLB 群集的地址或名称,完成现有群集的连接,用于管理或添加节点!
选中 "nlb" 群集并鼠标右键单击选择“添加主机到群集”。
之后填入当前的 NLB-Node2 的主机名或 IP 并单击“连接”,当提示已经连接上后单击“下一步”。
与 NLB-Node1 的添加过程相同,这里不再复述!
最后完成 NLB-Node2 的添加。
下面这幅图为两台节点上的 NLB 状态。接下来你可以分别在节点上安装 IIS 进行测试。
呵呵