在我们学习负载均衡知识的时候,首先接触的就是DNS负载均衡相关的内容,那么作为基础内容,我
们就来深入学习一下广域多台服务器的负载均衡配置,DNS负载均衡原理和设置实操讲解(一)
。首先我们来对基础内容进行一下回顾,之后会对相关的配置问题进行举例讲解。两台以上的服务器进行协同工作必然涉及到负载均衡问题,目前常用的负载均衡技术主要有:NAT负载均衡?反向代理负载均衡及DNS负载?
NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上?反向代理负载均衡使用代理服务器将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的?DNS负载均衡在DNS中为多个地址配置同一个名字,从而使得不同的客户访问不同的服务器来实现负载均衡?
DNS负载均衡原理
DNS负载均衡是通过循环复用实现的,如果发现主机名的多个地址资源记录,则可用它循环使用包含在查询应答中的主机资源记录?在默认情况下,DNS服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射的主机名应答中返回的?该功能提供了一种非常简便的方法,用于对客户机使用Web服务器和其他频繁查询的多宿主计算机的负载平衡?
要使循环复用正常工作,必须首先在该区域中注册所查询名称的多个主机资源纪录,并启用DNS服务器循环复用?如果DNS服务器禁止循环复用,那么这些查询的响应顺序以应答列表中资源记录在区域中存储时的静态排序为基础?
四台服务器的负载均衡实例
可提供的服务:Web?Ftp系统实现的目的:做一个较完善的负载均衡系统,以共享和高效地利用资源设备状况:五台服务器,其中四台服务器组成集群系统,IP地址分别为172.28.20.1?172.28.20.2?172.28.20.3?172.28.20.4;一台服务器作为控制管理服务器,提供DNS服务,设企业域名为www.example.com.cn?服务器配置:集群系统服务器安装Windows2000sever,须安装Internet信息服务组件;DNS服务器安装Windows2000sever,须安装DNS组件?
⑴分别设置各台服务器IP地址?子网掩码?网关及DNS服务器地址,调通网络?
⑵设置DNS服务器
①在DNS中创建正向搜索的标准主要区域,实现域名
DNS服务器上单击开始/程序/管理工具/DNS,打开DNS控制台?在控制台树中,右键单击“正向搜索区域",单击新建区域/新建区域向导/下一步,选择区域类型为“标准主要区域"?如果不是在活动目录的域控制器上创建DNS区域,则区域类型中的“与活动目录集成的区域"选项按钮不可用;单击“下一步"?输入要创建的区域名称example.com.cn,选择创建新的区域文件,文件名为example.com.cn.dns,单击下一步/完成,区域example.com.cn出现在控制台树中的“正向搜索区域"下?
②在区域example.com.cn中注册查询名称www.example.com.cn的多个主机资源记录?
在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?单击“完成"?四条名为www的主机记录出现在正向搜索区域“example.com.cn"中,指针依次为172.28.20.1?172.28.20.2?172.28.20.3?172.28.20.4
③启用多宿主名称的循环复用编辑推荐负载均衡技术基础专题
单击开始/程序/管理工具/DNS/DNS服务器名/属性/高级,在“服务器选项"中,选择“启用循环"复选框,然后单击“确定"?至此,正向搜索型查询用于IP地址分别为172.20.20.1?172.28.20.2?172.28.20.3和172.28.20.4的多宿主主机(www.example.com.cn)配置完成,
电脑资料
《DNS负载均衡原理和设置实操讲解(一)》()。当客户请求访问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负载均衡?按以上步骤设置好后,有时会有疑问,为什么pingwww.example.com.cn,返回的都是同一个IP?原因很简单,这是因为只用1台电脑做测试,ping了第一次后,电脑就会做一个缓存?用多台电脑来ping,或在一台电脑上ping完每一次后,均运行ipconfig/flnshdns,就可测试出系统实现目的已达到?需注意的两点问题
⑴本地子网优先级
当集群中的服务器不在同一网段时,默认情况下,当客户机查询解析映射到多个IP地址的主机名时,DNS服务使用本地子网优先排序作为给出同一网络上首选IP地址的方法?此功能要求客户应用程序尝试使用连接可用的最近(一般是最快的)IP地址连接至主机?DNS服务按以下方式使用本地子网优先级:
①DNS服务确定是否需要本地子网的优先级排序查询响应?
如果有多个地址资源记录与要查询的主机名匹配,则DNS服务可按其子网位置重新对记录进行排序?如果查询的主机名只与一个地址资源记录匹配,或者客户机的IP网络地址与多重资源记录响应列表上的任何映射地址的IP网络地址匹配,则不需要进行优先排列?
②对于匹配响应列表中的每一个资源纪录,DNS服务决定了哪些记录(如果有)与查询客户机的子网位置匹配?
③DNS服务重新对响应列表进行排序,以便将与发出请求的客户机的本地子网匹配的主机地址资源记录排在响应列表中的第一位?
④按子网的顺序进行优先级排序后,响应列表将返回给发出请求的客户机?
⑵不足之处
虽然循环复用DNS是一个普遍使用的在Web服务器上负载平衡的解决方案,但是,该方式有它自身的缺陷?循环复用DNS使用DNS将传入的IP请求映射到定义的一系列循环形式的服务器?一旦发生服务器故障,循环复用DNS继续把请求发送到这个故障服务器,一直到把该服务器从DNS中移走为止?这样许多用户必须等到DNS连接超时以后才能成功地访问目标网站.