请选择 进入手机版 | 继续访问电脑版
发帖
开启辅助访问
 找回密码
 立即注册
取消
搜索
热搜:
活动 交友 discuz
分享到

Windows 2008 R2 NLB网络负载均衡

#技术分享#时间:2019-02-18 阅读:418 回复:1

12

主题

18

帖子

265

积分

天高云淡

积分
265
本帖最后由 茂险王主题乐园 于 2019-2-22 10:10 编辑

一、关于NLB的官方描述,在搭建NLB群集之前,必须先对NLB的原理进行初步了解
Windows Server 2008 R2 中的网络负载平衡 (NLB) 功能可以增强 Internet 服务器应用程序 [如在 Web、FTP、防火墙、代理、虚拟专用网络 (VPN) 以及其他执行关键任务的服务器上使用的应用程序] 的可用性和可伸缩性。运行 Windows Server 2008 R2 的单个计算机提供有限的服务器可靠性和可伸缩性能。但是,通过将运行 Windows Server 2008 R2 的其中一个产品的两台或多台计算机的资源组合到单个虚拟群集中,NLB 便可以提供 Web 服务器和其他执行关键任务服务器所需的可靠性和性能。
NLB 允许使用相同的群集 IP 地址集指定群集中所有计算机的地址,并且它还为每个主机保留一组唯一专用的 IP 地址。对于负载平衡的应用程序,当主机出现故障或者脱机时,会自动在仍然运行的计算机之间重新分发负载。当计算机意外出现故障或者脱机时,将断开与出现故障或脱机的服务器之间的活动连接。但是,如果您有意关闭主机,则可以在使计算机脱机之前,使用drainstop 命令处理所有活动的连接。任何一种情况下,都可以在准备好时将脱机计算机明确地重新加入群集,并重新共享群集负载,以便使群集中的其他计算机处理更少的流量。
NLB 群集中的主机会交换检测消息以保持有关群集成员身份的数据的一致性。默认情况下,当主机在五秒之内未能发送检测消息时,该主机便出现了故障。当主机出现故障时,群集中的剩余主机将聚合在一起并执行以下操作:
  • 确定哪些主机仍然是群集中的活动成员。
  • 选择优先级最高的主机作为新的默认主机。
  • 确保所有新的客户端请求都由仍然活动的主机进行处理。
在聚合期间,仍然活动的主机会查找一致的检测信号。如果无法发送检测信号的主机开始提供一致的检测信号,则它会在聚合过程中重新加入群集。当新的主机尝试加入群集时,它会发送检测消息,该消息也会触发聚合。当所有群集主机对当前的群集成员身份达成一致之后,会向剩余主机重新分发客户端负载,并完成聚合。
通常聚合只需几秒钟,因此由群集中断的客户端服务是非常少的。在聚合期间,仍然活动的主机会继续处理客户端请求,而不会影响现有连接。如果所有主机在几个检测期间报告的群集成员身份和分发映射都一致,则聚合结束。


NLB 中有什么新增功能?对于 Windows Server 2008 R2,NLB 包括以下改进:
  • 扩展的相关性。“扩展”选项可在 NLB 群集的配置发生更改时保持客户端的相关性。通过该选项,即使在客户端与主机之间没有任何活动的现有连接的情况下,客户端仍能够保持与群集主机的相关性。
  • 用于 NLB 群集的 Windows PowerShell。Windows PowerShell 是一种新的命令行界面和脚本语言。Windows PowerShell 可加速实现系统管理任务的自动化。可以使用 Windows PowerShell 管理 NLB 群集。有关将 Windows PowerShell 用于 NLB 群集的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=140180(可能为英文网页)。
  • 支持滚动升级。NLB 支持从 Windows Server 2003 到 Windows Server 2008 R2 以及从 Windows Server 2008 到 Windows Server 2008 R2 的滚动升级。有关 NLB 的部署信息(包括有关滚动升级的信息),请参阅http://go.microsoft.com/fwlink/?LinkId=87253


NLB 包括以下功能:
可伸缩性可伸缩性是度量计算机、服务或应用程序如何更好地改进以满足持续增长的性能需求的标准。对于 NLB 群集而言,可伸缩性是指当群集的全部负载超过其能力时逐步将一个或多个系统添加到现有群集中的功能。为支持可伸缩性,NLB 可执行以下操作:
  • 平衡 NLB 群集上对各个 TCP/IP 服务的负载请求。
  • 在一个群集中最多支持 32 台计算机。
  • 平衡群集中多个主机之间的多个服务器负载请求(来自同一个客户端或来自几个客户端)。
  • 在负载增加时,支持在不关闭群集的情况下向 NLB 群集中添加主机。
  • 在负载降低时,支持从群集中删除主机。
  • 通过全部实现管道化提高性能并降低开销。管道允许向 NLB 群集发送请求,而无需等待响应上一个发送的请求。
高可用性通过最大程度地减少停机时间,高可用系统能够可靠地提供可接受级别的服务。为提供高可用性,NLB 包括一些内置功能,这些功能可自动执行以下操作:
  • 检测发生故障或脱机的群集主机并对其进行恢复。
  • 在添加或删除主机时平衡网络负载。
  • 在十秒之内恢复并重新分发负载。
可管理性NLB 提供以下可管理性功能:
  • 使用 NLB 管理器,可以从单个计算机管理和配置多个 NLB 群集和群集主机。
  • 使用端口管理规则,可以为单个 IP 端口或一组端口指定负载平衡行为。
  • 可以为每个网站定义不同的端口规则。如果您对多个应用程序或网站使用相同的一组负载平衡服务器,则端口规则基于目标虚拟 IP 地址(使用虚拟群集)。
  • 使用可选的单主机规则,可以将所有客户端请求引导至单个主机。NLB 将客户端请求路由到运行特定应用程序的特定主机。
  • 可以阻止对某些 IP 端口进行不需要的网络访问。
  • 可以在群集主机上启用 Internet 组管理协议 (IGMP) 支持,以控制交换机广播(在多播模式中操作时)。
  • 使用 shell 命令或脚本,可以从运行 Windows 的任何联网计算机上远程启动、停止和控制 NLB 操作。
  • 可以查看 Windows 事件日志以检查 NLB 事件。NLB 在事件日志中记录所有操作和群集更改。
易用性NLB 提供了许多便于使用的功能:
  • 可以将 NLB 作为标准的 Windows 网络连接驱动程序组件进行安装。
  • NLB 不需要更改任何硬件即可启用和运行。
  • 使用 NLB 管理器可以新建 NLB 群集。
  • 使用 NLB 管理器,可以从一台远程或本地计算机上配置和管理多个群集以及群集的所有主机。
  • NLB 允许客户端使用单个逻辑 Internet 名称和虚拟 IP 地址(称为群集 IP 地址,它保留每台计算机的各个名称)访问群集。NLB 允许多宿主服务器具有多个虚拟 IP 地址。备注
    如果是虚拟群集,则不需要服务器是多宿主服务器即可具有多个虚拟 IP 地址。
  • 可以将 NLB 绑定到多个网络适配器,这样您便可以在每个主机上配置多个独立的群集。支持多个网络适配器与虚拟群集不同,因为虚拟群集允许您在单个网络适配器上配置多个群集。
  • 不需要修改服务器应用程序即可在 NLB 群集中运行。
  • 如果群集主机出现故障并且后来又恢复联机,则可以将 NLB 配置为自动将该主机添加到群集。之后,添加的主机将能够开始处理来自客户端的新的服务器请求。
  • 可以在不打扰其他主机上群集操作的情况下使计算机脱机进行预防性的维护。


二、了解了NLB相关的技术知识后,下面我们就可以做测试了,先看看本次测试的拓扑结构

三、测试步骤
首先需要搭建如图的实验环境,本例在域环境下测试,出于实验的方便,我先更改了高级共享设置和防火墙设置


在NLB1和NLB2上分别安装网络负载平衡功能



两个节点均安装完成后,在NLB1上配置网络负载均衡,节点一配置完成后,再将节点二加入到节点一得NLB中


首先新建群集,将当前节点加入到NLB中,设置public网卡为群集接口

在“主机参数”,设置优先级(单一主机标识符),作用是设定NLB群集中节点进行负载的优先级

设置一个群集IP地址,如果是用IIS进行测试,则访问WEB的时候,实际访问群集IP,或在DNS中建立一个对应群集IP的网站A记录,访问群集IP对应的FQDN名。客户访问IIS的时候,不会感觉到后面负载的变化。

设置一个群集IP地址,与PUBLIC网卡出于同一个网段


设定一个群集IP对应的完整Internet名称,群集的操作模式这里保持默认
关于单播和多播的区别(下面的话引自网络)
单播:在每个群集成员上,NLB 覆盖网络适配器上制造商提供的 MAC 地址。NLB 对所有成员都使用相同的单播 MAC 地址。这种模式的优点是它可以无缝地与大多数路由器和交换机协同工作。缺点是到达群集的流量会扩散到交换机虚拟 LAN (VLAN) 上的所有端口,并且主机之间的通信不能通过 NLB 绑定到的适配器,也即实体主机间不可以互相通信。若我们在NLB创建时选择单播的模式,在“群集IP配置”中的“网络地址”是以“02 - BF”开头,后面紧跟IP地址的十六进制表示,该网络地址与实际主机的MAC地址相同,后续加入的主机也将修改为此MAC地址。

多播:保留原厂 MAC 地址不变,但是向网络适配器中增加了一个第 2 层多播 MAC 地址。所有入站流量都会到达这个多播 MAC 地址。优点是这种方法可以通过在交换机的“内容可寻址存储器”(CAM) 表中创建静态项,从而使得入站流量仅到达群集中的主机。缺点是因为 CAM 项必须静态关联一组交换机端口,如果没有这些 CAM 项,入站流量仍然会扩散到交换机 VLAN 上的所有端口。还有一个缺点就是很多路由器不会自动将单播 IP 地址(群集的虚拟 IP 地址)与多播 MAC 地址关联起来。如果进行静态配置的话,一些路由器可以存在这种关联。若我们在NLB创建时选择多播的模式,在“群集IP配置”中的“网络地址”是以“03 -BF”开头,后面紧跟IP地址的十六进制表示。在选择多播模式时,后面还有个复选项“IGMP Multicast(IGMP多播)”,若复选此项,就像多播操作模式一样,NLB 保留原厂 MAC 地址不变,但是向网络适配器中增加了一个 IGMP 多播地址。此外,NLB 主机会发出这个组的 IGMP 加入消息。如果交换机探测到这些消息,它可以使用所需的多播地址来填充自己的 CAM 表,这样入站流量就不会扩散到 VLAN 上的所有端口。这是这种群集模式的主要优点。缺点是有一些交换机不支持 IGMP 探测。除此之外,路由器仍然支持单播 IP 地址到多播 MAC 地址的转换。在IGMP多播模式下,将采用“01 – 00 - 5E”开头的MAC地址。在多播的模式下,实体主机之间可以互相通信。
        一般来说,在NLB的创建时,单网卡多播,双网卡单播。双网卡单播时,因为主机之间不能互相通信,将设置内网通讯的网卡,也就是群集设置中的心跳。在微软官方推荐在NLB设置时,首先考虑单播模式,除非单播不能满足其要求,若要解决流量扩展的方法,推荐使用VLAN。



节点一配置完成后,回到节点二上,打开节点二的群集管理器,将NLB2连接到现存的群集

输入第一个节点主机名,点击连接后,在下方的群集窗口会出现已存的群集

连接到群集后,下面将节点n3.contoso.com加入到现存的群集



添加完成后,如图所示

下面将进行NLB负载测试
首先默认访问WEB站点,地址是:http://10.1.1.100

如图网卡中会多一个群集IP地址

断掉上步骤中访问的节点的网卡连接,再次尝试访问,效果如图所示

配置网络负载均衡群集需要注意:网络负载平衡并不为经过负载的主机提供额外的安全保护,也不可以将其用于防火墙,因此,正确地保护经过负载平衡的应用程序和主机是很重要的。如果可能,在每个群集的主机上至少要使用两个网络适配器,但并非必要条件,在群集适配器上只使用TCP/IP协议,确保群集中的所有主机属于同一个子网并且客户机能够访问该子网,使用网络负载平衡管理器配置NLB群集,启用日志记录,不要启用网络负载平衡的远程控制。
NLB提供网络负载均衡服务,每个节点都监听到客户端的请求,每个节点都在本地存储一份数据,支持32个节点,可以是域环境或者工作组的环境。
回复
使用道具 举报

12

主题

18

帖子

265

积分

天高云淡

积分
265
茂险王主题乐园| 2019-2-18 18:57:18 | 显示全部楼层
在搭建过程中遇到问题可以再群里艾特我
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

    12

    主题

    18

    帖子

    265

    积分

    天高云淡

    积分
    265

发私信

TA 的相关文章

    热门活动

      【召集令】加入推荐达人计划,推荐成功至少
    客服电话
    173-6185-1240
    发布 快速回复 返回顶部 返回列表