基于DNS的多机均衡负载的实现( 二 )



bbs1服务器 lbserver1 192.168.1.1 编译运行lbcd
bbs2服务器 lbserver2 192.168.1.2 编译运行lbcd
dns服务器 dnsserver 10.0.0.1 配置lbnamed 在/etc/hosts配置bbs1、bbs2域名解析

这样的情况下 。。在dns服务器运行lbnamed程序 。系统就开始动作了 。。lbnamed的启动参数主要是 -l logfile和-d(debug)
./lbnamed -l lb.log -d
查看记录(类似)
cat lb.log

-=====
05/30 00:59 21442 lbnamed starting poller
05/30 00:59 21442 lbnamed load_config
loading 1452 bbs2 192.168.1.2 bbs
loading 837 bbs1 192.168.1.1 bbs
05/30 00:59 21442 lbnamed ready to answer requests
05/30 00:59 21442 lbnamed do_maint
05/30 00:59 21442 lbnamed reloading config
05/30 00:59 21442 lbnamed load_config
loading 1671 bbs2 192.168.1.2 bbs
loading 1086 bbs1 192.168.1.1 bbs


如果你没有那些记录 。看文件sweet.config.unreach这是代表poller程序无法接收到对方服务器的负荷信息 。。请检查lbcd程序是否运行 。。

如果程序运行正常 。那你的DNS服务器就正常运行了 。
如果检查程序是否正常 。。。用我们的nslookup就可以了 。。。


C:Documents and SettingsAdministrator.XINGKONG-SERVER>nslookup
Default Server: ns.guangzhou.gd.cn
Address: 202.96.128.143

> server 10.0.0.1 //直接使用dns服务器
Default Server: [10.0.0.1]
Address: 10.0.0.1

> set type=all //设置查询类型

> bbs.best.bendy.com //bbs是sweet.config设置的组名,best.bendy.com是在lbnamed.conf设置的
Server: [10.0.0.1]
Address: 10.0.0.1

bbs.best.bendy.com canonical name = bbs2.bendy.com //返回的信息 。是DNS系统分配了bbs2给你这次的查询(按二台服务器返回的负荷情况来分配的 , 并非随便分配的)
bbs2.bendy.com internet address = 192.168.1.2 //而bbs.bendy.com在该在DNS系统的A记录是192.168.1.2//最后结果bbs.best.bendy.com得到的IP地址是192.168.1.2


====
自此 。。服务器方面的配置已经完成 。
跟着是我们配置具体域名的dns解析 。。。

方法也是很简单 , 以bendy.com为例,在bendy.com的DNS管理加上以下记录
一、加上二个best.bendy.com的ns记录为ns1.bendy.com和ns2.bendy.com(也可以不止二个的.取决你有多少台服务器运行lbnamed
二、加上第一条添加的ns记录的实际指向iP , 分别指向各个运行lbnamed的服务器 , 比如ns1.bendy.com address 10.0.0.1/ns2.bendy.com address 10.0.0.2等 。
三、添加bbs1.bendy.com和bbs2.bendy.com等的实际ip地址 。。。正如刚才所说...bbs.best.bendy.com只将DNS记录转移为bbs1.bendy.com或者bbs2.bendy.com 。而lbnamed是没权对bbs1.bendy.com和bbs2.bendy.com进行解析的 。。。所以 。需要bendy.com的NAMESERER对它进行解析 。
(ps:bbs1.bendy.com的记录并不一定要求与lbnamed程序的相同 。。。)
四、最后 。。添加bbs.bendy.com cname to bbs.best.bendy.com 。。。哈哈 。。。大功告成 。。。


DNS解析完成后 , 我们就完成本次任务了 。。。。
小弟的表达能力有限 。如有什么不明白的地方 。请到http://www.discuz.net/forumdisplay.php?fid=34&page=1这里发表意见



Bendy
原创于2004.5.30
Email & msn: Bendy@etang.com
发表于Discuz Unix 茶馆http://www.discuz.net/forumdisplay.php?fid=34&page=1
转载请保留版权和说明出处

推荐阅读