|
发表于 2005-3-5 21:56:32
|
显示全部楼层
以下内容摘自 BIND9.3.0 软件包中的《BIND 管理员参考手册》,该文档位于包的解压缩后目录中的 bind/bind-9.3.0/doc/arm/Bv9ARM.ch03.html#AEN268中,参考原文帮助可能作用更大。随后有本人的拙译。
================================================================================
A primitive form of load balancing can be achieved in the DNS by using multiple A records for one name.
For example, if you have three WWW servers with network addresses of 10.0.0.1, 10.0.0.2 and 10.0.0.3, a set of records such as the following means that clients will connect to each machine one third of the time:
Name TTL CLASS TYPE Resource Record (RR) Data
www 600 IN A 10.0.0.1
600 IN A 10.0.0.2
600 IN A 10.0.0.3
When a resolver queries for these records, BIND will rotate them and respond to the query with the records in a different order. In the example above, clients will randomly receive records in the order 1, 2, 3; 2, 3, 1; and 3, 1, 2. Most clients will use the first record returned and discard the rest.
For more detail on ordering responses, check the rrset-order substatement in the options statement, see RRset Ordering. This substatement is not supported in BIND 9, and only the ordering scheme described above is available.
=================================================================================
以下是本人意译,不一定很准确,如有疑问直接留贴或EMAIL:[email protected]
在DNS服务器中,当一个域名具有多个A记录(域名解析为IP地址的条目),可以实现负载均衡。
例如,如果你有三个WWW服务器,它们的IP地址分别是10.0.0.1,10.0.0.2和10.0.0.3,当在你的DNS区域文件中,有如下的记录集时,这就意味者该服务器的客户端有三分之一的机会访问每个服务器。
Name TTL CLASS TYPE Resource Record (RR) Data
www 600 IN A 10.0.0.1
600 IN A 10.0.0.2
600 IN A 10.0.0.3
当客户端希望解析该域名的请求发送到BIND服务器时,BIND服务器将按照不同的顺序,循环的使用某条记录响应客户的解析请求。在上面的例子中,客户端将会随机的按照以下的顺序收到这些解析记录:1,2,3 ;2,3,1 ;3,1,2。大多数客户端会使用第一条记录,而舍弃其余的。
如果需要更为详细了解如何配置BIND中查询顺序,可以查看named.conf配置文件中配置命令options部分中的子配置命令 rrset-order 。在BIND 9中,该子配置命令并不被支持,只能够使用上例中所描述的例子进行。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
根据以上的说明,在linux的bind服务器中配置轮询时,只需要在区域数据文件中,将某个域名多建立几个A记录就可以,并不需要做特殊设置。默认情况下,BIND就支持并启用了“轮询”这个功能。
另外刚才,我也在REDHAT RHEL AS 3中,做过这个实验,添加几条记录后,采用ping命令,确实每次可以得到不同的IP地址。
希望能够对你有所帮助! |
|