循环复用DNS实现多服务器负载均衡

上一篇 / 下一篇  2008-09-28 05:33:28

1 概述IXPUB技术博客e1N4Fw@&d

  企业知名度增加,网站访问量逐渐上升,是每一个网管所盼望的。但同时应用服务器的数据流量和访问量将成倍增加,服务器将不堪重负。IXPUB技术博客j2Eg;AD5J;Bn

4p7aBT_"cw0  这时,可采用两种方式解决此问题,一是进行硬件升级,购买配置更高、性能更好的服务器,这种方法的优点是简单易行,缺点是投资大, 会造成现有资源的浪费,且下一次业务量的提升还会面临同样问题。另一种方法是采用集群技术,利用两台以上的服务器进行协同工作,在集群系统中运行的服务器并不一定是高档产品(可以是企业现有的服务器),但服务器的集群却可以提供相当高性能的不停机服务;另外,随着业务量的增大,可随时增加集群系统中运行的服务器数量。集群技术的优点是高可靠性和强大灵活的系统扩充能力。

k'P/X:~9z@)C!^*C9\0IXPUB技术博客0h?Y-lz2s

  两台以上的服务器进行协同工作必然涉及到负载均衡问题,目前常用的负载均衡技术主要有:NAT负载均衡、反向代理负载均衡及DNS负载。IXPUB技术博客HX`PD9N#X

IXPUB技术博客o8dc5h*{)l|*}

  NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上[1]。反向代理负载均衡使用代理服务器将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的[2]。DNS负载均衡在DNS中为多个地址配置同一个名字,从而使得不同的客户访问不同的服务器来实现负载均衡。本文将详细介绍DNS负载均衡原理和技术实现。IXPUB技术博客6yfx'E&k ZB,U.i

)]s KN X+k6s0  2 DNS负载均衡原理IXPUB技术博客 i `b7p4e([k

]3\9FR*l3O+L,m [0  DNS负载均衡是通过循环复用实现的,如果发现主机名的多个地址资源记录,则可用它循环使用包含在查询应答中的主机资源记录。在默认情况下,DNS 服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射的主机名应答中返回的。该功能提供了一种非常简便的方法,用于对客户机使用 Web 服务器和其他频繁查询的多宿主计算机的负载平衡。

9j7e-o#D7popB0IXPUB技术博客4kcyT+d+G#G

  要使循环复用正常工作,必须首先在该区域中注册所查询名称的多个主机资源纪录,并启用DNS服务器循环复用。如果DNS服务器禁止循环复用,那么这些查询的响应顺序以应答列表中资源记录在区域中存储时的静态排序为基础。IXPUB技术博客Z,~J _H&l)v

IXPUB技术博客w"?.RM/C,}J

  3 四台服务器的负载均衡实例

}.YeV;M#\0IXPUB技术博客&N!rUy_,pg

  可提供的服务:Web、Ftp系统实现的目的:做一个较完善的负载均衡系统,以共享和高效地利用资源设备状况:五台服务器,其中四台服务器组成集群系统,IP地址分别为172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4;IXPUB技术博客?Apx _i#B

0zSl B-[_0  一台服务器作为控制管理服务器,提供DNS服务,设企业域名为www.example.com.cn。IXPUB技术博客n}L9A9tDz^)T#z8U

IXPUB技术博客B1YAUN5Oq2Y

  服务器配置:集群系统服务器安装Windows 2000 sever ,须安装Internet信息服务组件;

{2U\%f0G"q%Wb0

fFUY5R%\w8O0  DNS服务器安装Windows 2000 sever ,须安装DNS组件。

b[Ac)R$p0

i+{U+n/t-R`:i$N0  ⑴ 分别设置各台服务器IP地址、子网掩码、网关及DNS服务器地址,调通网络。

:Ntn7T[3F0IXPUB技术博客+|[8{J`!]S.p|

  ⑵ 设置DNS服务器IXPUB技术博客TN%H9]@

#N&L+Lo Lh y i3L0  ①在DNS中创建正向搜索的标准主要区域,实现域名IXPUB技术博客"E(x1dAvw

IXPUB技术博客 I)W_Q,r4Ov

  DNS服务器上单击开始/程序/管理工具/DNS,打开DNS控制台。

K6l:JOBY F0

3h3G6ELwo Qh tE0  在控制台树中,右键单击 “正向搜索区域”,单击新建区域/新建区域向导/下一步,选择区域类型为“标准主要区域”。如果不是在活动目录的域控制器上创建DNS区域,则区域类型中的“与活动目录集成的区域”选项按钮不可用;单击“下一步”。IXPUB技术博客(t%F*W1|j&T

IXPUB技术博客"e l&q_R0u

  输入要创建的区域名称example.com.cn,选择创建新的区域文件,文件名为example.com.cn.dns,单击下一步/完成,区域example.com.cn出现在控制台树中的“正向搜索区域”下。IXPUB技术博客 fv1Z:y_

IXPUB技术博客TzhG}+g8g:i-W

  ②在区域example.com.cn中注册查询名称www. example.com.cn的多个主机资源记录。IXPUB技术博客6p.L&P,_m.s9Q yr

IXPUB技术博客j!tO`(L6[

  在DNS控制台树中右键单击区域example.com.cn,单击新建主机,弹出“新建主机”窗口。在“名称”栏输入主机名www,在“IP地址”栏输入对应的IP地址172.28.20.1,单击“添加主机”、“确定”按钮;重复此过程,主机名仍为www, IP地址依次为172.28.20.2、172.28.20.3、172.28.20.4。单击“完成”。

wkx8y%} q!M9tv0IXPUB技术博客!ecE4w{"k?~

  四条名为www的主机记录出现在正向搜索区域“example.com.cn”中,指针依次为172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4

T M-D9L0M_0IXPUB技术博客I8_W*X;f/K Q't

  ③启用多宿主名称的循环复用IXPUB技术博客*@KmS)kf

(TniA Z9z5` f.C0  单击开始/程序/管理工具/DNS/DNS服务器名/属性/高级,在“服务器选项”中,选择“启用循环”复选框,然后单击“确定”。IXPUB技术博客3m}N!`'n%|-`

9XkG/Hu$`*e#vtF3G$h0  至此,正向搜索型查询用于IP 地址分别为172.20.20.1、172.28.20.2、172.28.20.3和172.28.20.4的多宿主主机 (www. example.com.cn)配置完成,具体如图1所示。IXPUB技术博客lj5s:V2oq%dNJt

IXPUB技术博客'{};g2^ Qu'\ oN\

DNS服务器配置图IXPUB技术博客 }vU(\1pO-RJWoj`

IXPUB技术博客@)]J&A]u [#X

  当客户请求访问www.example.com.cn时,DNS服务器将循环调度IP地址的次序,将按172.28.20.1、172.28.20.2、172.28.20.3和172.28.20.4的顺序应答第一个客户的要求,下一个客户对同样信息的请求将用旋转后的172.28.20.2、172.28.20.3、172.28.20.4和172.20.20.1这样的顺序应答,旋转过程将持续下去,成功实现DNS负载均衡。IXPUB技术博客'W&_+h6}q#S[r

IXPUB技术博客8d8[%wO'H/fu+{(k+^

  按以上步骤设置好后,有时会有疑问,为什么ping www.example.com.cn,返回的都是同一个IP?原因很简单,这是因为只用1台电脑做

P3U]|xv3[CH0IXPUB技术博客P7zTh&ah

  测试,ping了第一次后,电脑就会做一个缓存。用多台电脑来ping,或在一台电脑上ping完每一次后,均运行ipconfig/flnshdns,就可测试

'_f'u"Y:S0IXPUB技术博客3N3P|h2P3|+X _

  出系统实现目的已达到。IXPUB技术博客4f I0xh ~3R

:g zpFb n0  4 需注意的两点问题IXPUB技术博客iv!{ N uDsG.W R

?[2mWt Wl6[0  ⑴ 本地子网优先级IXPUB技术博客%A R5d8B6um U4m'O

JingZOO0  当集群中的服务器不在同一网段时,默认情况下,当客户机查询解析映射到多个 IP 地址的主机名时,DNS 服务使用本地子网优先排序作为IXPUB技术博客M nd9Kp)S ?

#v C#\em6d:L$R0  给出同一网络上首选 IP 地址的方法。此功能要求客户应用程序尝试使用连接可用的最近(一般是最快的)IP 地址连接至主机。

G&w&Vq R0

*Aqg&i2O0  DNS 服务按以下方式使用本地子网优先级:IXPUB技术博客IL;I1SC'[4s~&p N!jon

RX6z"Q AK rQ6q xG0  ①DNS 服务确定是否需要本地子网的优先级排序查询响应。

_!rv(oq_,P,v0

^}#y J q0  如果有多个地址资源记录与要查询的主机名匹配,则 DNS 服务可按其子网位置重新对记录进行排序。如果查询的主机名只与一个 地址资源IXPUB技术博客6[Vj ]#I)jkEu

IXPUB技术博客_D-k4Q)t!c/gM"c

  记录匹配,或者客户机的 IP 网络地址与多重资源记录响应列表上的任何映射地址的 IP 网络地址匹配,则不需要进行优先排列。

,R)@!ht2Szi!l0

hIO&Wg+d4t0  ②对于匹配响应列表中的每一个资源纪录,DNS 服务决定了哪些记录(如果有)与查询客户机的子网位置匹配。

I M c0} |.pK$t o.X0IXPUB技术博客)MNL9CG9J"~)f~z

  ③DNS 服务重新对响应列表进行排序,以便将与发出请求的客户机的本地子网匹配的 主机地址资源记录排在响应列表中的第一位。IXPUB技术博客:lk5s'[Z

)I+VWWy0  ④按子网的顺序进行优先级排序后,响应列表将返回给发出请求的客户机。

\3A!j?:DB0IXPUB技术博客dz$IV}a.Y1|,d/W

  ⑵ 不足之处IXPUB技术博客.A k?z'X)Z^

IXPUB技术博客*|aD2vG(y"v&A

  虽然循环复用 DNS 是一个普遍使用的在 Web 服务器上负载平衡的解决方案,但是,该方式有它自身的缺陷。循环复用 DNS 使用 DNS

k]M X3Ikr0IXPUB技术博客lI x4T c'zxj

  将传入的 IP 请求映射到定义的一系列循环形式的服务器。一旦发生服务器故障,循环复用 DNS 继续把请求发送到这个故障服务器,一直IXPUB技术博客%_3QZ8v\:z\q8~

@a rdP'l0  到把该服务器从 DNS 中移走为止。这样许多用户必须等到 DNS 连接超时以后才能成功地访问目标网站。IXPUB技术博客2\L;ez.U:|

IXPUB技术博客9LnJ`D!M~I

  5 结束语

:V0oj;|I6Z0

{j6b`l%g`([0  集群负载均衡被认为是目前十大热门技术之一,它也是一个高端应用,Internet/Intranet中负载均衡方案应用十分广泛,许多大中型网

%k]Ft9IY2] f8A;B3E0IXPUB技术博客 Zfbe.bJ/X c$n_0j

  站都难脱离这种技术。NAT负载均衡、反向代理均衡及DNS负载均衡,将视需要而被采用。利用循环复用DNS实现负载均衡是一种经济又实用的方法,不需要添加昂贵的负载均衡设备,并且服务器可以位于互联网的任意位置,该技术当前使用在包括Yahoo在内的一些Web站点上。IXPUB技术博客]'S:Yp#`j


TAG: dns DNS 服务器 负载 复用

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-07  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 65609
  • 日志数: 1209
  • 文件数: 1
  • 建立时间: 2007-08-10
  • 更新时间: 2009-01-06

RSS订阅

Open Toolbar