在上一篇文章中,我们介绍了DNS负载均衡与网站技术的构建(详见:http://www.zoomla.cn/help/tech/1946.shtml)。
但是DNS技术是一种轮循技术,并不能更好的利用服务器的集群,其实windows服务器本身就提供了良好的集群管理。
在现行的许多网络应用中,即使逐浪CMS支持大数据的交互,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。
那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集(简称NLB)就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法)。
一、网络负载平衡的优点
1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。
2.网络负载平衡对外只须提供一个IP地址(或域名)。
3.如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平衡服务器的数量。
4.网络负载平衡可在普通的计算机上实现。
下面,我们将在两台安装Windows Server 2003的普通计算机上,介绍网络负载平衡的实现及应用。
这两台计算机中,一台计算机名称为w2003-1,IP地址为202.206.197.190,另一台名为w2003-2,IP地址为202.206.197.191。
规划网络负载平衡群集使用的IP地址为202.206.197.195,规划网络负载平衡群集完整的计算机名称为webserver。例外你需要在域名注册商那里(如新网等)注册此主机的域名(如:aspstat.com)并将地址设置为202.206.197.195。
当正式应用时,客户机只需要使用aspstat.com或IP地址202.206.197.195来访问服务器,网络服务平衡会根据每台服务器的负载情况自动选择202.206.197.190或者202.206.197.191对外提供服务。
网络负载平衡的实现过程如下:
在实现网络负载平衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),在网络属性中,“网络负载平衡”也不能被选择,这可以从“网络连接属性”中查看。
①先进入第一台计算机,以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“新建群集”,进入“群集参数”界面(图1)。
在“IP地址”后面输入规划的群集参数地址202.206.197.195,在子网掩码处使用默认值,在“完整Internet名称”后面输aspstat.com(也可以是其他的名称,但输入的DNS名称必须与输入的IP地址相符)。
如果允许远程控制,请选中“允许远程控制”,并在“远程密码”和“确认密码”处输入可以进行远程控制的密码。
②点击“下一步”按钮,进入群集IP地址页面后再进入“端口规则”界面,点击“下一步”按钮,进入“连接”界面(图2)。
③在“连接”界面的“主机”栏中输入当前计算机的名称w2003-1,然后点击“连接”按钮,将在“对配置一个新的群集可用的接口”框中显示出连接的计算机的网卡及IP地址。选择与群集IP地址同一网段的地址(用于对外提供网络应用的网卡),然后点击“下一步”按钮,进入设置“主机参数”界面,点击 “完成”按钮,系统将自动开始网络负载平衡群集的配置。几分钟后,网络负载平衡群集配置完成。
④打开第二台计算机,并以管理员的身份登录进入。
注意:在网络负载平衡中的每个节点上,管理员账号的用户名和密码最好一致。
⑤然后,在第一台计算机上,用鼠标右键单击新创建的群集,从出现的菜单中选择“添加主机到群集”。将出现“连接”界面,在“主机”中输入第二台计算机的计算机名称,点击“连接”按钮,将会在“对配置群集可用的接口”下面显示出连接的计算机上的网络配置。选择202.206.197.191的网卡,进入主机 参数界面,点击“完成”按钮,即可返回网络负载平衡管理器(图3)。
⑥关闭网络负载平衡管理器后再进入网络负载平衡管理器。用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“连接到现存的”,将会弹出“连接”界面。
输入第一台计算机的名称,点击“连接”按钮,在“群集”下面将列出群集的IP地址,选择此IP地址,并点击“完成”按钮,连接群集即可完成。
以后,如果这两台服务器不能满足需求,可以按以上步骤添加第3台、第4台计算机到网络负载平衡中以满足要求。
三、用IIS服务验证网络负载平衡
网络负载平衡配置好后,为了实现某项具体的服务,需要在网络负载平衡的计算机上安装相应的服务。例 如:为了实现IIS网站的负载平衡,需要在相应的网络负载平衡的计算机上安装IIS服务。
安装网络负载平衡的应用程序时,不需要特别的方法,只需要在配置好网络负载平衡的计算机上安装相应的服务即可。但是为了让每个用户在通过网络负载平衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载平衡的每台计算机上保持数据的一致性。举例来说:实现了两个节点的IIS的网络负载平衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
为了检验网络负载平衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用相类似。
在网络负载平衡的每一台计算机上安装IIS服务,方法如下:
在“添加/删除程序”中,点击“添加Windows组件”,进入Windows组件向导,双击“应用程序服务器”,进入“应用程序服务器”(图4)。
选中ASP.NET、Internet信息服务及应用网络COM+访问后,即可开始安装IIS服务。
安装之后,进入第一台计算机的inetpubwwwroot目录,新建一个文本文件,输入以下内容:
<html>
This win2003-1
</html>
然后将它保存为default.htm文件。这个网页在IE中将显示如下内容:
This w2003-1
在第二台计算机的inetpubwwwroot目录,新建一个文本文件,并输入下面的内容:
<html>
This win2003-2
</html>
这个网页在IE浏览器中将显示“This w2003-2”,随后将这个文件以default.htm名称保存。
然后,在其他计算机上的IE浏览器中键入webserver,将会显示为“This win2003-1”或“This win2003-2”,根据网络的负载,网络负载平衡会自动转发到第一台计算机或第二台计算机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们只是测试的时候,为了验证网络负载平衡的效果,两个网站的内容不一致,而在正式应用 的时候,网络负载平衡群集的每个节点计算机的内容将是一致的,这样,不管使用那一个节点响应,都保证访问的内容是一致的。
提示:在win2008操作系统中,“网络负载均衡”这项功能,需要在“服务管理器”的“功能”中添加,默认并没有安装。
打开添加功能向导并安装 NLB 的步骤
-
依次单击“开始”、“管理工具”和“服务器管理器”。
-
在“服务器管理器”主窗口的“功能摘要”区域中,单击“添加功能”。
—或者—
在“初始配置任务”窗口的“自定义此服务器”区域中,单击“添加功能”。
-
在“添加功能”向导中,选中“网络负载平衡”复选框。
-
-
或者,也可以通过键入以下命令安装 NLB:
servermanagercmd.exe -install nlb
-
安装 NLB 之后,便可以通过使用网络负载平衡 (NLB) 管理器配置 NLB 群集。
若要打开 NLB 管理器,请依次单击“开始”、“管理工具”和“网络负载平衡管理器”。还可以通过在命令提示符下键入 Nlbmgr 打开网络负载平衡管理器。