win2003负载均衡设置方法(比较详细)

  在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。

  那么,有没有一个办法或者技术来解决此类问题呢?使用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,规划网络负载平衡群集完整的计算机名称为cbf001.com。你需要在 heinfo.edu.cn域中注册此主机名称并将地址设置为202.206.197.195。

如果你没有DNS,可以在需要访问网络负载平衡的客户机(包括网络负载平衡主机)上编辑%systemroot%system32driversetc目录下的hosts文件,添加一条信息 “202.206.197.195 cluster.heinfo.edu.cn”,即可解决DNS域名解析的问题。

  当正式应用时,客户机只需要使用cbf001.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名称”后面输入cluster.heinfo.edu.cn(也可以是其他的名称,但输入的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目录,新建一个文本文件,输入以下内容:

  This win2003-1

  然后将它保存为default.htm文件。这个网页在IE中将显示如下内容:

  This w2003-1

  在第二台计算机的inetpubwwwroot目录,新建一个文本文件,并输入下面的内容:

  This win2003-2

  这个网页在IE浏览器中将显示“This w2003-2”,随后将这个文件以default.htm名称保存。

  然后,在其他计算机上的IE浏览器中键入http//cbf001.com,将会显示为“This win2003-1”或 “This win2003-2”,根据网络的负载,网络负载平衡会自动转发到第一台计算机或第二台计算机。

  为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。

  当然,我们只是测试的时候,为了验证网络负载平衡的效果,两个网站的内容不一致,而在正式应用的时候,网络负载平衡群集的每个节点计算机的内容将是一致的,这样,不管使用那一个节点响应,都保证访问的内容是一致的。

(0)

相关推荐

  • win2003负载均衡设置方法(比较详细)

    在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题. 那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法). 一.网络负载平衡的优点 1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务.网络负载平衡技术保证即使是在负载

  • Apache负载均衡设置方法 mod_proxy使用介绍

    一般来说,负载均衡就是将客户端的请求分流给后端的各个真实服务器,达到负载均衡的目的.还有一种方式是用两台服务器,一台作为主服务器(Master),另一台作为热备份(Hot Standby),请求全部分给主服务器,在主服务器当机时,立即切换到备份服务器,以提高系统的整体可 第一次看到这个标题时我也很惊讶,Apache居然还能做负载均衡?真是太强大了.经过一番调查后发现的确可以,而且功能一点都不差.这都归功于 mod_proxy 这个模块.不愧是强大的Apache啊. 废话少说,下面就来解释一下负载

  • 11个Python3字典内置方法大全与示例汇总

    概述 在绝大部分的开发语言中与实际开发过程中,Dictionary扮演着举足轻重的角色.从我们的数据模型到服务器返回的参数到数据库的应用等等,Dictionary的身影无处不在. 在Python中,Dictionary是一种可变的容器类型.所谓容器类型,就是我们放置数据的地方.不同于List的有序.操作时对数据类型统一性的要求较严格,Dictionary是一种可变的.不限存储对象.无序的数据模型. 字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存

  • Python序列对象与String类型内置方法详解

    本文实例讲述了Python序列对象与String类型内置方法.分享给大家供大家参考,具体如下: 前言 在Python数据结构篇中介绍了Python的序列类型数据结构,这次继续深入的学习序列和String类型对象的内建方法. 软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.3 IPython 4.0.0 序列类型 序列类型,即由整数进行索引的对象的有序集合.其中又可以分为下面两类: 可变序列:列表,支持元素的插入.删除.替换 不可变序列:元组.字符串 序列的操作方法

  • Python List列表对象内置方法实例详解

    本文实例讲述了Python List列表对象内置方法.分享给大家供大家参考,具体如下: 前言 在上一篇中介绍了Python的序列和String类型的内置方法,本篇继续学习作为序列类型成员之一的List类型的内置方法. 软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.3 IPython 4.0.0 列表List 列表是一种容器,存放内存对象的引用.即是任意内存对象的有序集合,不同的类型对象可以存放在同一个列表中.通过索引来访问其中的元素.可以任意的嵌套.伸长.异构.

  • Python3常用内置方法代码实例

    这篇文章主要介绍了Python3常用内置方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 max()/min() 传入一个参数 (可迭代对象), 返回这个可迭代对象中最大的元素 可以设置default关键字参数, 当这个可迭代对象为空时, 返回default的值 传入多个参数, 返回这些参数中最大的参数 多个参数必须是同类型的 两种方法都可以设置key关键字参数(传入函数) """ max(iterable, *[

  • Python基本数据类型及内置方法

    目录 一 引子 二 数字类型int与float 2.1 定义 2.2 类型转换 2.3 使用 三 字符串 3.1 定义 3.2 类型转换 3.3 使用 3.3.1 优先掌握的操作 3.3.2 需要掌握的操作 3.3.3 了解操作 四 列表 4.1 定义 4.2 类型转换 4.3 使用 4.3.1 优先掌握的操作 4.3.2 了解操作 五 元组 5.1 作用 5.2 定义方式 5.3 类型转换 5.4 使用 六 字典 6.1 定义方式 6.2 类型转换 6.3 使用 6.3.1 优先掌握的操作 6

  • Python 内置logging 使用详细介绍

    目录 logging 的主要作用 logging 日志等级 logging 的基础函数 logging 的四大组件(类) logging 的配置 logging 和 print 的区别 主要参考资料 logging 的主要作用 提供日志记录的接口和众多处理模块,供用户存储各种格式的日志,帮助调试程序或者记录程序运行过程中的输出信息. logging 日志等级 logging 日志等级分为五个等级,优先级从高到低依次是 : **CRITICAL; ** 程序严重错误 **ERROR; **程序错误

  • JavaScript 内置对象 BigInt详细解析

    目录 前言 比较 创建 方法 asIntN() asUintN() toLocaleString() toString() valueOf() 前言 说起JavaScript中的内置对象,其实又很多,今天我们介绍的是BigInt,在开发过程中,其实很少使用这个对象,所以你也不知道这个对象.它提供了一种方法来表示大于 2^53 - 1 的整数.这原本是 Javascript 中可以用 Number表示的最大数字.BigInt可以表示任意大的整数. 比较 它在某些方面类似于 Number,但也有不同

  • Python中class内置方法__init__与__new__作用与区别解析

    目录 背景 __init__方法作用 __new__方法作用 __init__ && __new__联系 使用__new__的场景 定义.继承immutable class 使用metaclass 参考文献 背景 最近尝试了解Django中ORM实现的原理,发现其用到了metaclass(元类)这一技术,进一步又涉及到Python class中有两个特殊内置方法__init__与__new__,决定先尝试探究一番两者的具体作用与区别.PS: 本文中涉及的类均为Python3中默认的新式类,

随机推荐