Window Server 2019--08 网络负载均衡与Web Farm

本章要点

1、了解网络负载均衡技术

2、掌握Web Farm核心原理

3、掌握如何使用Windows NLB搭建Web Farm环境

网络负载均衡技术将外部计算机发送的连接请求均匀的分配到服务器集群中的每台服务器上,接受到请求的服务器独立地响应客户的请求。

网络负载均衡技术还能够基于服务器的处理能力,网络带宽、用户优先级、服务器优先级 等性能指标,将外部连接请求动态分配给服务器群集中指定服务器,从而实现数据的快速获取,并且有效解决了大量并发访问服务造成的网络拥堵问题。

Web Farm是一种网络负载均衡架构,企业内部多台IIS Web服务器通过网络负载均衡器关联到一起,这样就构成了Web Farm。Web Farm中的服务器将同时为用户提供不间断的、可靠的Web服务。

Windows Server 2019系统包含网络负载均衡(Network Load Balance,NLB)功能,因此可以采用Windows NLB搭建Web Farm环境,以提高Web服务的响应速度及稳定性。

负载均衡、分布式、集群

【一分钟系列】一个广告的时间让你明白分布式 | 集群 |负载均衡_哔哩哔哩_bilibili

8.1 网络负载均衡技术的产生

Internet 的高速发展使得网络访问量和数据流量都呈现出快速增长的趋势,特别是对数据中心、大型门户网站、电商网站等的访问,在高峰时期访问流量能达到10Gbit/s的级别。另外,政府网站、银行及金融机构网站、电商网站等都需要提供24小时不间断的服务,任何服务的中断或关键数据的丢失,都会造成巨大的损失。因此,实现应用服务的高性能与高可靠性至关重要。

针对以上情况,现阶段有以下几种解决方案。

(1)对服务器进行硬件升级

虽然使用高性能服务器能够提高应用服务的性能,但是其具有以下几个缺点。

>高成本

高性能服务器价格昂贵,需要高成本投人。原有的低性能服务器被闲置,造成资源浪费。

>可扩展性差。

每一次业务量的提升,都将导致再一次硬件升级的高成本投入,现阶段性能最好的服务器也无法赶上当前业务量的爆发式增长趋势。

>存在单点故障问题。

(2)组建服务器群集,采用负载均衡技术

多台服务器通过网络组建服务器群集,利用负载均衡技术在服务器群集间进行业务均衡。该方案具有以下几点优势。

> 低成本。

最大限度地利用现有的服务器资源。

>可扩展性好。

根据业务量的变化动态增减服务器个数。

>高可靠性。

当单台服务器出现故障时,由负载均衡设备自动将服务切换到其他服务器,从而保证服务不中断,实现服务的高可靠性。

8.1.1 网络负载均衡技术概述

网络负载均衡是一种廉价并且有效的技术,可以扩展现有网络设备和服务器的带宽,增加吞吐量,增强网络数据处理能力,提高网络的灵活性和可用性。

网络负载均衡分为软件硬件两类。

软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如 LVS、Nginx、HAproxy等。软件负载均衡解决方案的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足一般的负载均衡需求;其缺点是软件运行时会占用系统的资源,功能越强大,占用的资源越多,因此当外部连接请求特别多的时候,会严重影响系统本身的性能。另外软件还会受到不同架构操作系统(如Windows、 Linux)的限制,因此其可扩展性并不是很好。

硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称为负载均衡器,它独立于操作系统运行,因此整体性能可以得到极大的提高。多样化的负载均衡策略和智能化的流量管理可满足负载均衡需求。负载均衡器有多种多样的形式,除了单独的负载均衡器外,有些负载均衡器集成在交换设备中,放置于服务器与Internet网络之间,有些则是通过两块网卡将这一功能集成到计算机中,一块网卡连接到Internet上,另一块网卡连接到后端服务器群集上。

网络负载均衡根据其应用的地理结构,可分为本地网络负载均衡(LocalNet Load Balance)和全局网络负载均衡(Global Net Load Balance )。本地网络负载均衡是指对本地的服务器群集进行负载均衡,全局网络负载均衡指分别对放置在不同的地理位置、具有不同网络结构的服务器群集进行负载均衡。

本地网络负载均衡能够在充分利用现有服务器的情况下,有效地解决数据流量过大、网络负载过重的问题。通过灵活多样的负载均衡策略,将数据流量合理地分配给服务器群集内的所有服务器,这样既可以避免服务器单点故障造成的数据流量损失,又可以为用户提供持续的网络服务。在对现有服务器进行扩充升级时,只需要将新的服务器添加到服务器群集中,而不需要改变现有网络结构以及停止现有的网络服务。

全局网络负载均衡的主要目的是在整个网络范围内将用户的请求定向到最近的节点(或者区域),即用户只使用一个IP地址或域名就能访问离自己最近的服务器,从而获得最快的访问速度。另外对于子公司相对分散、站点分布较广的大公司,可以通过Intranet(企业内部互联网)来达到资源统一、合理分配的目的。

全局网络负载均衡有以下特点。

(1)无地域限制,能够远距离为用户提供完全的透明服务。

(2)能有效避免服务器、数据中心等的单点失效故障。

(3)解决网络拥塞问题,提高服务器响应速度。

8.1.2 网络负载均衡技术应用

网络负载均衡是群集技术(Cluster)的一种应用。它将工作任务分摊到群集中的多个处理单元,从而提高并发处理能力。目前,最常见的网络负载均衡技术是Web负载均衡。根据实现的原理不同,常见的Web负载均衡技术包括DNS轮询、CDN和IP负载均衡。

**(1)DNS轮询。**它是最简单的负载均衡方式。以域名查询为访问入口,通过配置多条 DNSA记录使得请求可以分配到不同的服务器。DNS轮询方式直接将服务器的真实地址暴露给用户,不利于服务器安全。

(2**)CDN。**即内容分发网络(ContentDeliveryNetwork,CDN),通过发布机制将内容同步到大量的缓存节点,并在DNS服务器上进行扩展,从而找到离用户最近的缓存节点作为服务提供节点。通常需要使用CDN运营商提供的服务,按流量计费,价格也比较昂贵。

https://zhuanlan.zhihu.com/p/52362950

**(3)IP 负载均衡。**是基于特定的TCP/IP技术实现的负载均衡,如网络地址转换(NAT)、直接路由(DR)、IP隧道等。IP负载均衡可以使用硬件设备实现,也可以使用软件实现。

8.2 Web Farm 架构及核心原理

Web Farm 是由多台 Web服务器共同构成一个服务器群集,当Web Farm接收到来自不同用户的连接网站请求时,这些请求会被分散地送到Web Farm 中的不同Web服务器,因此可以提高网页访问效率,若Web Farm 中某个Web服务器因故障无法为用户提供服务,其他仍然正常运行的Web服务器可以继续为用户提供服务,因此Web Farm 还具备容错功能。

对于用户而言,整个Web Farm群集就是一台Web服务器,用户通过WebFarm群集 IP 地址对其进行访问。一般情况下WebFarm群集中的服务器会均衡地响应用户的连接请求,同时也可以根据服务器的优先级、处理能力、网络带宽等参数,设置不同的"权重"值以实现"按需"服务。Web Farm架构的实施能够有效地提高网络服务的效率与可靠性。

常规 Web Farm架构如图8-1所示。为了避免单点故障影响Web Farm的正常运行,网络包含多台后端数据库服务器、前端Web服务器、负载均衡器、防火墙,从而实现冗余容错、负载均衡功能。

8.3 使用 Windows NLB搭建 Web Farm 环境

**实例场景:**A公司拥有两台Web服务器,现因公司业务发展,需要为客户提供 24小时不间断的Web服务,在不改变公司现有网络架构与设备的情况下,如何快速实现该服务?

**网络拓扑:**Win2019-1和Win2019-2是两台安装了Windows Server 2019的Web 服务器,每台服务器配置两块网卡,分别连接192.168.1.0网络与192.168.2.0网络。Win2012-3是 DNS 服务器,Win2012-4是测试客户端,如图8-2所示。

**解决办法:**实现24小时不间断的网络服务,需要针对Web服务器配置Web Farm 群集。 Windows Server 2019 系统具有网络负载均衡功能,因此可以使用Windows NLB搭建 Web Farm 环境。

1、配置实验环境:

Win2019-1:

网卡一:

IPv4:192.168.1.1

DNS:192.168.1.3

网卡二:

IPv4:192.168.2.1

Web服务器1:

win2019-1.nlbtest.com

Win2019-2:

网卡一:

IPv4:192.168.1.2

DNS:192.168.1.3

网卡二:

IPv4:192.168.2.2

Web服务器1:

win2019-2.nlbtest.com

Win2019-3(DNS服务器、DNS服务器):

IPv4:192.168.1.3

Win2019-4(测试客户端):

IP:192.168.1.100

DNS:192.168.1.3

2、配置Web服务

(1)在Win2019-1上配置IIS Web服务,操作步骤参考5.2节第三步,基本配置如下图所示:

(2)在Win2019-2上配置IIS Web服务,如下图

3、 安装Windows NLB

(1)在Win2019-2服务器上,安装角色"网络负载均衡"

4、配置Windows NLB

(1)打开工具中刚安装的"网络负载平衡管理器",点击"网络负载平衡群集"右键,选择"新建群集"

(2)在"新群集:连接"对话框中,设置我们的主机名"Win2019-2",点击右边连接按钮,在"可用于配置新群集的接口"列表栏会自动列出可用于配置的接口名称和IP,这里就选择"192.168.1.2"这个IP用于配置新群集。

(3)在"新群集:主机参数"对话框中设置"优先级(单一主机标识符)",为了区分,这里以机器名的最后一个数字来设定优先级,因此将Win2019-2服务器的优先级设置为"2"

(3)在"新群集:群集IP地址"对话框中单击"添加"按钮,弹出"添加IP地址"对话框,在"添加IPv4地址"单选按钮下的文本框中输入群集IP地址(IPv4:192.168.1.5,子网掩码:255.255.255.0)

群集IP就是整个群集对外服务时的IP地址,群集中的每台服务器都有自己的IP地址,设置群集IP地址是为了让用户访问变得简单。用户只需要访问群集IP地址,连接会根据NLB策略分配到群集内的一台服务器上。

(4)单击"下一步"按钮,在"新群集:群集参数"对话框中,选择"单播"单选按钮

一般群集操作模式有3类:单播、多播、IGMP多播。

①**单播。**在单播模式下,NLB会重新为每个NLB节点中启用NLB的网络适配器(网卡)分配相同的MAC地址,即群集MAC地址。同时NLB修改所有发送的数据包中的源MAC 地址,从而使交换机不能将此群集 MAC地址绑定在某个端口上,因此所有NLB通信在交换机上通过广播进行。工作在单播模式下存在以下两个问题。

>>由于所有的NLB通信在交换机上通过广播进行,因此会对连接在同一个交换上的非 NLB节点造成额外的网络流量负担。

>>由于所有的 NLB节点具有相同的MAC地址,因此NLB节点之间不能通过自己原有的专用IP地址进行通信。

多播。在多播模式下,NLB不会修改 NLB节点中启用NLB的网络适配器(网卡)的MAC地址,而是为它再分配一个二层多播MAC 地址专用于NLB的通信,即群集MAC地址,这样NLB节点之间可以通过自己原有的专用IP地址进行通信。许多路由器或者交换机并不支持群集IP对应一个多播MAC地址进行通信的方式,因此当出现这种情况时,必须在路由器或交换机上手工添加静态映射,将群集IP地址映射到群集多播 MAC地址。

IGMP 多播。通过使用IGMP协议,交换机只将NLB通信发送到连接NLB节点的端口上,而不是所有交换机端口。但是此特性要求交换机必须支持IGMP侦听,并且要求群集工作在多播模式下。

如果NLB节点服务器只有一块网卡,建议使用多播模式;如果NLB节点拥有多块网卡,或网络设备不支持多播模式,则可采用单播模式,其中一块网卡用于启用NLB,另一块网卡用于节点间通信。在本例中,每台服务器都拥有两块网卡,因此选择单播模式

NLB群集的两种操作模式-1_51CTO博客_NLB集群

(5)单击"下一步"按钮,在"新群集:端口规则"对话框中单击"添加"按钮,弹出"添加/编辑端口规则"对话框,通过设置端口规则,可以基于访问端口控制对群集网络的访问

>>群集 IP地址。只有通过该IP地址连接NLB群集时,才会应用此规则,若勾选"全部"复选框,则所有群集IP地址均适用于此规则。

>>端口范围。端口规则所涵盖的端口范围默认是所有的端口。

>>协议。端口规则所覆盖的通信协议,默认同时包含TCP与UDP。

>>筛选模式。"多个主机"表示群集内所有服务器都会处理进入群集的网络访问。"单一主机"表示根据服务器优先级别的高低处理进入群集的网络访问。在本例中,已经为服务器设置了优先级------4(3),因此这里选择"单一主机"单选按钮。

(6)单击"确定"按钮,结束Win2012-2服务器的 NLB配置。

5、添加主机到群集。

(1)在Win2012-1服务器上安装Windows NLB。

(2)在Win2012-2服务器上打开"网络负载平衡管理器"窗口,右键单击左侧栏中群集IP 地址"(192.168.1.5)"选项,在弹出的快捷菜单中选择"添加主机到群集"命令,如图所示。

(3)添加Win2019-1服务器到群集的设置步骤参阅第4步,需要注意,将Win2019-1服务器器的优先级设置为1。

6、测试Windows NLB

(1)在Win2019-3服务器上打开"DNS服务器"窗口,新建"nbltest.com"域,在该域中添加3个主机解析记录,分别是win2019-1、win2019-2、www,如图所示:

(2)在Win2019-4上打开IE浏览器,分别输入"http://win2019-1.nlbtest.com"、"http://win2019-2.nlbtest.com"、"http://www.nlbtest.com"

因为Win2019-1服务器的优先级高于Win2019-2服务器,所以通过"www.nlbtest.com"访问群集的时候,打开的是Win2019-1服务器上的页面,将Win2019-1服务器上的网卡1禁用,模拟服务器故障,此时再次访问群集,打开的是Win2019-2上的页面

8.4 本章小结

随着网络通信技术的不断发展,网络服务访问量将急剧增加,单台服务器已经不能满足网络应用的需求,此时需要多台服务器构建集群。本章主要介绍了网络负载均衡器、网络负载均衡技术以及如何基于Windows NLB搭建Web Farm环境。

网络负载均衡器可以对群集中服务器的运行状况进行监控,及时发现运行异常的服务器,并将访问请求转移到其他可以正常工作的服务器上,从而提高服务器群集的可靠性。采用网络负载均衡器后,企业可以根据业务量的发展情况灵活增减服务器,因此在提高网络扩展能力的同时也简化了管理。

基于Windows NLB搭建的Web Farm环境将负载均衡分布到多台服务器上,从而提高基于IP的关键性服务(如Web、虚拟专用网络、流媒体、终端服务、代理等)的可伸缩性和可用性,同时可检测服务器故障并自动将访问流量重新分配给群集中的其它服务器,提供高可靠性的网络服务。

参照资料:

玩转企业集群运维管理系列(一):负载均衡基础入门-腾讯云开发者社区-腾讯云

中国工信出版集团出版的《Windows Sever 2012网络服务器配置与管理》温晓军、王小磊主编

相关推荐
贝锐1 小时前
贝锐蒲公英工业路由器R300A海外版:支持多国4G频段,全球组网
网络
Hello.Reader1 小时前
基于 HTTP 的邮件认证深入解读 ngx_mail_auth_http_module
网络·网络协议·http
weixin_541299941 小时前
Nodejs+http-server 使用 http-server 快速搭建本地图片访问服务
网络·网络协议·http
MonKingWD3 小时前
【Redis原理】四万字总结Redis网络模型的全部概念
网络·arm开发·redis
gadiaola3 小时前
【计算机网络】第2章:应用层—Web and HTTP
网络·网络协议·计算机网络·http
weniry3 小时前
TCP/IP四层模型
网络
Oliverro4 小时前
视频监控汇聚平台EasyCVR安防小知识:如何通过视频融合平台解决信息孤岛问题?
网络·人工智能·音视频
JASON丶LI4 小时前
树莓派安装openwrt搭建软路由(ImmortalWrt固件方案)
网络·智能路由器
开挖掘机上班4 小时前
常见的网络设备
网络·网关·智能路由器·路由器·交换机
付出不多5 小时前
LVS+keepalived高可用群集
网络·智能路由器·lvs