Windows Server 2016网络负载平衡服务
2019-02-27
安装安装网络负载平衡(NLB)服务
W i n d o w s Server 2016中将网络负载平衡作为网络策略和访问服务中的一个组件。服务器管理->添加角色和功能->网络策略和访问服务->网络负载平衡,按要求添加必须的其他组件后,将开始安装,如图1所示。
网络负载平衡(NLB)服务安装注意事项
1.若需要使用“域”服务,在安装“网络负载平衡”管理器前,先添加“Active Directory 域服务”角色,并进行林、域相关配置。
2.若服务器需要使用IIS或者ASP.NET,那么在安装网络负载平衡前建议先添加Web服务器(IIS)服务器角色和.NET Framework 3.5功能。
图1 安装负载平衡服务
3.要建立“网络负载平衡群集”,需要先在“高级共享设置”中打开“启用网络发现”功能。
4.若 使 用VMware、Hyper-V等虚拟化工具,在网络中实现信息共享时无法查找到其他虚拟主机,可尝试检查虚拟机设置时“网络适配器”是否使用同一种“网络连接方式”,且已打开“网络共享服务”功能。
5.若使用虚拟化工具克隆主机,在群集连接主机时显示“指定主机没有可用于安装新的群集的任何接口”,这可能是在克隆主机时多台主机使用同一个MAC造成的,此时可以尝试卸载网络适配器的驱动程序,然后再进行驱动软件更新。
6.在“网络负载平衡管理器”中建立群集,群集连接主机时显示“RPC连接服务器不可用”等错误信息,可尝试检查主机有否打开“Remote Procedure Call(RPC)” 和“Remote Procedure Call(RPC)Locator”服务,并查检“Remote Procedure Call(RPC)的属性——依存关系——依赖服务”的“状态”是否已经全部设置为“已经启动”或“启动类型”设置为“自动”。
7.若在群集连接主机时显示出现错误提示“在主机‘MyPC上的NLB管理器'不能继续,因为没有安装Microsoft群集服务”。可以检查服务器上是否已经成功安装 “网络负载平衡”服务,然后打开“本地连接-属性”,选择“网络负载平衡”,查看其状态。
网络拓扑
本次实验的网络拓扑如图2所示。
192.168.1.254是 外部IP地址(用户访问的IIS服务地址),实际上访问192.168.1.254的请求会转发给后面的两台Web服务器。
图2 网络拓扑图
配置网络负载平衡(NLB)服务
分别在上面2台Web服务器上安装网络负载平衡之后,我们就可以在其中任意一台上来新建群集,然后将另外一台加入到这个群集中即可,本实验在Web-01(192.168.1.130)上来新建这个群集。在建立群集之前,我们要确保这2台Web服务器使用静态IP地址,否则无法将他们加入到群集中。
1.在Web-01(192.168.1.130)上从Windows管理工具中打开网络负载平衡管理器右击“网络负载平衡群集”,选择“新建群集”。
2.在“新 群 集:连接”窗口中将IP地址192.168.1.130添加为主机,点击下一步。
3.进入“新群集:主机参数”,直接下一步。
4.进 入“新群集:群集IP地址”,添 加 窗 口中 的“添 加”将192.168.1.254添加到窗口中然后点击下一步。
5.进入“新群集:群集参数”,选择“多播”然后点击下一步。
单播模式:所有节点服务器的MAC都会被改成集群MAC(虚拟MAC地址),发送数据的时候源MAC将变成集群MAC。缺点:交换机的MAC表无法绑定该MAC归属那个端口,所有数据包都进行广播,造流量负担;所有集群节点服务器具有相同IP地址和MAC地址,无法相互间通讯。
多播模式:不会修改节点服务器的MAC地址,各主机节点都保留原有的MAC地址,此外再外加专用于网络负载平衡通讯的集群MAC地址,使各节点之间可以通过专用IP地址进行相互通信。但并非所有的路由器或交换机都支持多播模式,使用时需要谨慎处理。
IGMP多播模式:建立在多播模式功能之上,在默认情况下每隔60秒发送一次IGMP信息。它可以确保发送给网络负载平衡群集的通讯只通过服务于群集主机的端口,而不是所有交换机端口。
6.进入“新群集:端口规则”,选中全部,再点击编辑。
7.将端口范围改成从80到 80,协议选“TCP”,相关性选“无”。
多主机:该参数指定了群集中多个主机处理与端口规则相关的网络通讯,该筛选模式提供了可缩放性能以及容错。所有数据由多台服务器处理,可以指定在主机之间均衡分布负载,或每个主机处理指定的负荷量。在多主机相似性选项中,存在三种相关性选择:
(1)“无”选项:指定来自同一客户端IP地址的多条连接可由不同的主机(无客户端的相似性)进行处理,由负载均衡器根据算法进行处理,基本上请求平均分配。第一次请求可能指向主机A,第二次请求可能指向主机B,为了实现在多台主机之间共享session,系统应该预先把session作出持久化处理。
(2)“单一”选项:指定网络负载平衡应该将来自同一客户端IP地址的多个请求导向同一台群集主机,即同一个客户端的请求归属原来处理的服务器。
(3)“网络”选项:根据IP的C类地址范围来决定分配,指定网络负载平衡将来自同一个TCP/IP的C类IP地址范围的多个请求定向到同一台群集主机,也就是同一网段的请求,会分配到某一服务器上。
单一主机:该参数指定群集中的单个主机根据指定的处理优先级来处理相关端口规则的网络通讯。该筛选模式为处理网络通讯提供了端口专用的容错性能。所有数据由一台服务器处理,根据优先级选出服务器。
禁用该端口范围:该参数指定阻止相关端口规则的所有网络通讯。在这种情况下,网络负载平衡驱动程序将筛选所有相应的网络数据包或数据报。该筛选模式可让您阻止传送到特定范围的端口的网络通讯。
8.单 击“确 定”按 钮回到主窗口,然后单击“完成”按钮,此时完成了集群的创建并且已经将Web-01(192.168.1.130)加入到集群中。
9.此时我们还需要手动将 Web-02(192.168.1.131)也加入到群集中,在群集(192.168.1.254)上右键点击“添加主机到群集”。
10.在“将主机添加到群集:连接”窗口中的主机中输入192.168.1.131然后单击“下一步”按钮即可。
在网站架构的不断演变中,负载平衡起着非常重要的作用,不仅仅为我们的网站不断提升可靠性和可扩展性,同时通过一些性能比较强大的硬件设备还能提供缓存,以及session机制。
现在用到的负载平衡是Windows Server 2016自带的一个组件,它是最简单实现负载平衡的方式,功能不是特别的完善,而且一旦网络负载平衡服务本身发生错误那么将导致所有的网站都不能访问,此时我们可以通过引入APR(Application Request Router)来解决这个问题。