Network 版 (精华区)
发信人: Kernel (Kermit), 信区: Network
标 题: 利用DNS实现负载均衡(zz)
发信站: BBS 哈工大紫丁香站 (Mon May 31 21:15:34 2004)
//不知道类似的文章是否发表过 ? 先放在这里.
利用DNS实现负载均衡
供稿者:张小龙
现在网络的规模越来越大,网络中服务器的负载也变得越来越重。例如:在公司的网络
中安装了一台WEB服务器,用于向企业内部网中的用户提供服务,假如网络中有几千甚至上
万个用户需要同时访问这台WEB服务器,那么这台服务器的性能将变得极差。
如何来解决这个问题呢?在Windows 2000 Advanced Server中提供有Load Banlance负载均
衡服务可以解决这个问题,但该服务的设置较复杂。另外我们还可以通过DNS来实现负载均
衡的功能。
Enable round robin 启用循环
为了减轻某台服务器的负载,我们可以在网络中安装多台服务器。例如,原来网络中只有
一台X235 的WEB服务器,其主机名为www.test.com,IP地址为192.168.1.100。为了减轻这
台WEB服务器的负载,我们可以在网络中安装多台X235来提供WEB服务,并保证每台WEB服务
器的内容都是一致的。如果可以实现让客户端分别访问不同的WEB服务器,这样就达到了分
担负载的目的。那么如何让客户端分别向不同的WEB服务器访问呢?这就要用到DNS服务所
提供的round robin功能。
我们可以按如下步骤操作:
在Windows200中打开管理工具中的DNS管理器。
在DNS管理其中,用鼠标右键点击该DNS服务器图标,在弹出的菜单中选择Property属性菜
单。
在弹出的窗口中,选择Advanced选项卡。确保Enable round robin选项是处于被选中的状
态。
点击OK关闭该窗口。
当设定好Round roubin后,接下来需要在DNS的区域(Zone)中添加主机记录:
打开管理工具中的DNS管理器。
用鼠标右键点击将要创建记录的区域,在弹出的菜单中选择New host新建主机记录。然后
依照向导提示输入必要的信息。
主机名 IP地址
www 192.168.1.200
www 192.168.1.201
www 192.168.1.202
当输入完所有主机的主机名与IP的对应关系后,你将看到类似于下图的窗口。
在这里我们注意到,添加的三条主机记录是同一个主机名对应着不同的IP。这些不同的IP
即为网络中安装的多台WEB服务器的实际IP,他们对应着同一个主机名www.test.com。
这样当客户端们在浏览器的地址栏中输入:www.test.com去访问WEB服务器时,就会向DNS
服务器发出名称解析请求。当DNS服务器收到第一个客户端的请求时,会把第一个IP 192.
168.1.200响应给客户端,当第二个客户端要求解析时,服务器把第二个IP192.168.1.201
响应给客户端,以此类推。通过这样的循环分配IP地址,就可以让不同的客户器访问不同
的服务器,从而达到分担服务器的负载的功能。
Enable netmask ordering 启用子网优先
如果公司的网络是由多个子网构成的,为了使用户能够更有效地访问服务器中的资源,例
如WEB服务器上的资源,我们可以在每个子网中都安装一台WEB服务器,这些WEB服务器保存
的数据是完全一样的并且都使用同一个主机名,例如:www.test.com。那么如何让用户在
其浏览器的地址栏中输入主机名www.test.com时,访问的是本子网的WEB服务器,而不是其
他子网的web服务器呢?我们可以通过设置Enable netmask ordering 启用子网优先来实现
这一功能。
想实现Enable netmask ordering 启用子网优先,我们可以按以下步骤操作:
打开管理工具中的DNS管理器。
在DNS管理其中,用鼠标右键点击该DNS服务器图标,在弹出的菜单中选择Properties属性
菜单。
在弹出的窗口中,选择Advanced选项卡。确保Enable subnet ordering选项是处于被选中
的状态。
点击OK关闭该窗口。
当设定好subnet ordering后,接下来需要在区域中添加主机记录:
打开管理工具中的DNS管理器。
用鼠标右键单击将要创建记录的区域,在弹出的菜单中选择New host新建主机记录。然后
依照向导提示输入必要的信息。
例如:
主机名 IP地址
www 192.168.1.200
www 202.96.1.201
www 64.35.1.202
当输入完所有主机的主机名与IP的对应关系后,你将看到类似于下图的窗口。
这样我们在DNS服务器中添加了三条主机记录:同一个主机名对应着不同的IP。这些不同的
IP即为不同子网中安装的WEB服务器的实际IP地址,他们对应着同一个主机名www.test.co
m。
这样当用户在其浏览器的地址栏中输入:www.test.com去访问该WEB服务器时,该客户端就
会向DNS服务器发出名称解析请求。作为DNS服务器收到客户端的查询请求后,将比较客户
端的IP地址,与它所请求的主机名所对应的IP地址中的哪一个在同一子网中,然后将这个
IP (与客户端在同一子网中的IP地址) 响应给客户端。这样就可以实现客户端访问的总是
本子网中的服务器, 把服务器的访问负载分摊到了各个子网的服务器中,并且减少了跨子
网的网络流量。
※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 218.108.205.245]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.070毫秒