网络负载均衡(Network Load Balancing)
在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。
那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法)。
一、网络负载平衡的优点
1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。
2.网络负载平衡对外只须提供一个IP地址(或域名)。
3.如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平衡服务器的数量。
4.网络负载平衡可在普通的计算机上实现。
在Windows Server 2003中,网络负载平衡的应用程序包括Internet信息服务(IIS)、ISA Server 2000防火墙与代理服务器、VPN虚拟专用网、终端服务器、Windows Media Services(Windows视频点播、视频广播)等服务。同时,网络负载平衡有助于改善你的服务器性能和可伸缩性,以满足不断增长的基于Internet客户端的需求。
网络负载平衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。
下面,我们将在两台安装Windows Server 2003的普通计算机上,介绍网络负载平衡的实现及应用。
这两台计算机中,一台计算机名称为w2003-1,IP地址为202.206.197.190,另一台名为w2003-2,IP地址为202.206.197.191。
规划网络负载平衡群集使用的IP地址为202.206.197.195,规划网络负载平衡群集完整的计算机名称为cluster.heinfo.edu.cn。你需要在heinfo.edu.cn域中注册此主机名称并将地址设置为202.206.197.195。如果你没有DNS,可以在需要访问网络负载平衡的客户机(包括网络负载平衡主机)上编辑%systemroot%system32driversetc目录下的hosts文件,添加一条信息“202.206.197.195 cluster.heinfo.edu.cn”,即可解决DNS域名解析的问题。
当正式应用时,客户机只需要使用cluster.heinfo.edu.cn或IP地址202.206.197.195来访问服务器,网络服务平衡会根据每台服务器的负载情况自动选择202.206.197.190或者202.206.197.191对外提供服务。
网络负载平衡的实现过程如下:
在实现网络负载平衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),在网络属性中,“网络负载平衡”也不能被选择,这可以从“网络连接属性”中查看。
①先进入第一台计算机,以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“新建群集”,进入“群集参数”界面(图1)。
图1
在“IP地址”后面输入规划的群集参数地址202.206.197.195,在子网掩码处使用默认值,在“完整Internet名称”后面输入cluster.heinfo.edu.cn(也可以是其他的名称,但输入的DNS名称必须与输入的IP地址相符)。
如果允许远程控制,请选中“允许远程控制”,并在“远程密码”和“确认密码”处输入可以进行远程控制的密码。
②点击“下一步”按钮,进入群集IP地址页面后再进入“端口规则”界面,点击“下一步”按钮,进入“连接”界面(图2)。
图2
③在“连接”界面的“主机”栏中输入当前计算机的名称w2003-1,然后点击“连接”按钮,将在“对配置一个新的群集可用的接口”框中显示出连接的计算机的网卡及IP地址。选择与群集IP地址同一网段的地址(用于对外提供网络应用的网卡),然后点击“下一步”按钮,进入设置“主机参数”界面,点击“完成”按钮,系统将自动开始网络负载平衡群集的配置。几分钟后,网络负载平衡群集配置完成。
④打开第二台计算机,并以管理员的身份登录进入。
注意:在网络负载平衡中的每个节点上,管理员账号的用户名和密码最好一致。
⑤然后,在第一台计算机上,用鼠标右键单击新创建的群集,从出现的菜单中选择“添加主机到群集”。将出现“连接”界面,在“主机”中输入第二台计算机的计算机名称,点击“连接”按钮,将会在“对配置群集可用的接口”下面显示出连接的计算机上的网络配置。选择202.206.197.191的网卡,进入主机参数界面,点击“完成”按钮,即可返回网络负载平衡管理器(图3)。
图3
⑥关闭网络负载平衡管理器后再进入网络负载平衡管理器。用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“连接到现存的”,将会弹出“连接”界面。
输入第一台计算机的名称,点击“连接”按钮,在“群集”下面将列出群集的IP地址,选择此IP地址,并点击“完成”按钮,连接群集即可完成。
以后,如果这两台服务器不能满足需求,可以按以上步骤添加第3台、第4台计算机到网络负载平衡中以满足要求。
三、用IIS服务验证网络负载平衡
网络负载平衡配置好后,为了实现某项具体的服务,需要在网络负载平衡的计算机上安装相应的服务。例如:为了实现IIS网站的负载平衡,需要在相应的网络负载平衡的计算机上安装IIS服务。
安装网络负载平衡的应用程序时,不需要特别的方法,只需要在配置好网络负载平衡的计算机上安装相应的服务即可。但是为了让每个用户在通过网络负载平衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载平衡的每台计算机上保持数据的一致性。举例来说:实现了两个节点的IIS的网络负载平衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
为了检验网络负载平衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用相类似。
在网络负载平衡的每一台计算机上安装IIS服务,方法如下:
在“添加/删除程序”中,点击“添加Windows组件”,进入Windows组件向导,双击“应用程序服务器”,进入“应用程序服务器”(图4)。
图4
选中ASP.NET、Internet信息服务及应用网络COM+访问后,即可开始安装IIS服务。
安装之后,进入第一台计算机的inetpubwwwroot目录,新建一个文本文件,输入以下内容:
This win2003-1
然后将它保存为default.htm文件。这个网页在IE中将显示如下内容:
This w2003-1
在第二台计算机的inetpubwwwroot目录,新建一个文本文件,并输入下面的内容:
This win2003-2
这个网页在IE浏览器中将显示“This w2003-2”,随后将这个文件以default.htm名称保存。
然后,在其他计算机上的IE浏览器中键入http//cluster.heinfo.edu.cn,将会显示为“This win2003-1”或“This win2003-2”,根据网络的负载,网络负载平衡会自动转发到第一台计算机或第二台计算机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们只是测试的时候,为了验证网络负载平衡的效果,两个网站的内容不一致,而在正式应用的时候,网络负载平衡群集的每个节点计算机的内容将是一致的,这样,不管使用那一个节点响应,都保证访问的内容是一致的。
负载均衡的状态管理
1、 使用cookie,优点:客户端存放,无需考虑负载均衡带来的影响;缺点:安全性差
2、 使用viewstatus,优点:分页面存放,无需考虑负载均衡带来的影响;缺点:分页面,无法全局继承
3、 使用session服务器,优点,简单的在webconfig中配置即可使用session;缺点:如果session挂了,所有的服务器都不能用
4、 使用黑盒子(负载均衡调度器),我在智通人才的时候IBM给的解决方案,要花钱的。
一般使用的方法就是第三种,有钱的可以考虑第四种,但第一种也可考虑,毕竟在普通环境下对cookie研究的人较少,而且可以对cookie进行加密处理,以增强安全性。
附第三种方法的配置方法:
1、在web.config里配置
<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.82:42424" cookieless="AutoDetect"
timeout="60" />
2、把保存Sessin的服务器的注册表修改一下,比如就是 192.168.1.82这台,修改如下:
修改注册表:
运行 regedit → 打开注册表 → 找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters 节点 → 将 AllowRemoteConnection的键值设置成“1”(1 为允许,0 代表禁止)→ 设置 Port (端口号)
注:AllowRemoteConnection 的键值设置成“1”后,意味着允许远程电脑的连接,也就是说只要知道你的服务端口,就可享用你的ASP.NET State Service;键值为“0”时,仅有stateConnectionString 为“tcpip=localhost: 42424”与“tcpip=127.0.0.1:42424”的情况,方可使用ASP.NET State Service
端口号,必须与stateConnectionString的端口号相同(注意端口号的键值是以十六进制储存的,可以使用十进制进行修改,42424 是默认的端口)
3、右键点击“我的电脑”→ 管理 → 服务与应用程序 → 服务 → 双击“ASP.NET State Service” → 启动(可设为“自动”)
若ASP.NET State Service已经运行,需重启ASP.NET State Service。
多服务器文件共享的管理
负载均衡中有多台web服务器,执行同样的程序,共用的文件应布置另外的一台共用file服务器上,同时web服务器要同时读取、写入file服务器上的文件。.
方案有:
1、 即启用Guest帐户并且在相应的Shared Folder上给予Guest读取和写入权限。但这样的方式安全性可想而之,任何用户都可以修改本应由程序管理的文档。
2、 使用共享存储的磁盘阵列,各大服务器厂商均有此解决方案。缺点在于价格不菲
对于第一种,可启用账户管理以保证安全性
首先文件服务器和Web服务器必须在域中。
默认情况下IIS以machine\ASPNET帐户的身份运行,我们在web.config中定义
<identity impersonate = “true” username=”Domain\UserName” password=”pword”/>
这样可以让程序以此指定的域帐户身份执行。另外可能需要给予此域帐户ASP.NET临时文件夹的写入权限。
然后在FileServer上相应的文件夹上给予这个域帐户读取和写入权限。完成。
分享到:
相关推荐
另外,微软的Network Load Balancing (NLB)服务也是一个内置的负载均衡解决方案,它可以在多台服务器间动态分配网络流量。除此之外,还有硬件负载均衡器如F5 Big-IP等,它们提供更高级的功能,如会话持久化、健康...
网络负载均衡(Network Load Balancing,NLB)是一种分布式系统架构技术,旨在优化网络资源的使用,提高服务可用性和响应速度,同时防止过载导致的服务崩溃。在网络游戏中,玩家数量庞大且分布广泛,因此需要一个...
在Windows环境下,这可能涉及使用Network Load Balancing (NLB)服务。NLB允许集群中的主机共享同一个虚拟IP地址,从而对外提供统一的服务。在第二台主机上打开NLB管理器,可以查看和管理集群状态。如果未发现现有...
负载均衡(Load Balancing)是指将网络中的工作负载分散到多个计算资源上执行的技术手段,旨在优化资源利用、最大化吞吐量、最小化响应时间,并提高系统的可靠性和可用性。负载均衡可以应用于多种场景,如服务器集群...
3. 会话层负载均衡(Layer 4 Load Balancing,L4):LVS支持四层负载均衡,主要处理TCP和UDP协议,适用于大部分网络服务。 4. 会话持久性(Session Persistence):LVS可以配置保持用户的会话,确保来自同一用户的...
综上所述,SDN技术与智慧医疗云的结合,尤其是通过DAF算法实现的动态负载均衡,为解决智慧医疗云网络的复杂性、高并发需求和数据传输效率问题提供了一种有效且灵活的解决方案。未来的研究可以进一步探讨如何优化DAF...
- **架构特点**:在Windows Server 2008环境下,NLB(Network Load Balancing)功能被集成到了操作系统中,无需额外的负载均衡硬件设备即可实现负载均衡和容错机制。 **网页内容同步** 为了保证WebFarm中的所有Web...
总的来说,Linux Network Load Balancing是一种强大的工具,它利用开源的力量提供了一个高效且可扩展的负载均衡解决方案。通过理解和掌握LNLB,系统管理员能够构建出更加健壮、高性能的网络环境,满足不断增长的业务...
Oracle 10g RAC(Real Application Clusters)是一种高可用性和可伸缩性的数据库解决方案,它允许多个实例在不同的服务器上共享同一物理数据库。负载均衡是RAC中的关键特性,确保数据库工作负载均匀分布到集群的不同...
负载均衡(Network Load Balancing,NLB)则是Windows 2003 Server内置的一项功能,主要用于Web服务器和其他网络服务。NLB通过在网络层对传入的连接请求进行分配,将负载均匀分布到集群中的各个节点,避免单点过载。...
NLB(Network Load Balancing)是负载均衡的一种实现方式,它可以将传入的请求分发到最多32台服务器,确保在网络流量高峰时仍能快速响应。NLB的一大特点是对外只需提供一个公共IP地址或域名,用户访问时并不感知到...
在IIS中,这通常通过NLB(Network Load Balancing,网络负载均衡)服务实现。 1. **安装NLB服务**:在Windows Server 2008上,NLB服务是内建的。首先,需要在所有参与群集的服务器上安装“网络负载平衡”角色服务。...
Windows Server 2003的网络负载平衡(Network Load Balancing, NLB)技术应运而生,旨在提高服务器性能、确保服务高可用性并实现灵活扩展。 NLB通过构建群集,使得一组提供相同服务的服务器同时监听并处理服务请求...
NLB(Network Load Balancing,网络负载均衡)是Windows Server操作系统中的一项重要功能,它能够将网络流量分散到多台服务器上,以提高系统的可用性和性能。通过NLB,服务器集群可以处理更多的并发连接,同时确保...
较为常见的第四层负载均衡软件包括Linux环境下的LVS(Linux Virtual Server),以及在Windows环境下使用的NLB(Network Load Balancing)。NLB是Windows Server系统中内嵌的负载均衡技术,适用于Windows平台。 3. ...