資源描述:
《linux下基于dns的多機均衡負載的實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫。
1、Linux下基于DNS的多機均衡負載的實現(xiàn) 前二天為一個客戶添加了一臺服務器。共同承擔一個論壇的運作。但是。要實現(xiàn)負載均衡。的確是件難事。 之前有試過幾個方法, 一、DNS輪值。。優(yōu)點:簡單實現(xiàn)。缺點:無法檢測各個服務器的負荷。難控制訪客的訪問地址(一般DNS服務器都有緩存,所以。效果不明顯) 二、前臺程序。。使用了一個類似ZeusLoadBalancer的服務程序。在前臺接受訪問請求。再分流到各個實際的服務器?! 〉陨隙€方法都不太適用我的情況。。 第一種。無法正確分配訪客流量。。。常發(fā)生一臺服務器的負荷很大。而另一臺就很低。。。 第二種。會占用更多的流量。資
2、源也占用較大。 最好。我還是采用了一個DNS均衡負載的方法---lbname?! ∷闹饕Ч榻B: 一、基于perl的dns服務端。應用簡單。 二、自動檢測各個服務器的負荷。然后再按結(jié)果優(yōu)先分配DNS解析?! ∪NS解析實時生效。不會被DNS服務器緩存。 四、安裝方法簡單。。?! bname網(wǎng)頁介紹 .stanford.edu/~schemers/s/lbnamed/lbnamed.html .stanford.edu/~riepel/lbnamed/ 。 ?! ∠螺d: .stanford.edu/~riepel/lbnamed/lbnamed-1
3、.2.1.tar.gz .stanford.edu/~schemers/dist/lb.tar . . 下載包說明: 內(nèi)存數(shù)個目錄 1)lbcd的源代碼。。。。lbcd是lbnamed所用到的服務器端檢測服務器負荷程序。。每個需要均衡負荷的服務器都需要安裝、運行它的。。?! 〗ㄗh下載使用最新的lbcd編譯包。.stanford.edu/~riepel/lbnamed/lbcd-3.1.0.tar.gz 之前的常有編譯錯誤的。(這個也有的。嘻。) 編譯這個包時。常會出錯的。如何成功安裝。就看你的本事了。(編輯util.c第123行。在前面加上//) 編譯lbc
4、d成功后。將它復制到/usr/sbin。那你就可以運行它了。。不用加什么參數(shù)了。(運行后要停止它就是lbcd-s) 2)lbnamed的服務器程序perl..分有二個版本。一個是perl4.另一個是perl5.我是使用perl5的。所以用它來說明?! ∵M入perl5目錄。。。。。先要配置好lbnamed和poller程序?! ≌f明一下: lbnamed程序是主程序。提供dns動態(tài)解析。嚴格來說。它已是一個dns服務器端程序了。 poller是為lbnamed提供各個均衡服務器的負荷情況。(配合我們之前安裝的lbcd程序使用) 但二個程序可能都需要更改,請看程序第一行的
5、perl程序地址。。改為你的perl地址?! ∪缓缶托枰某绦虻呐渲梦募??! ?,lbnamed.conf 要更改的地方有幾個 一、$hostmaster=schemers.leland.stanford.edu; 將schemers.leland.stanford.edu改為你服務器的域名。。比如host.abc.這個無太大關(guān)系 二、將所有stanford改為你域名的中段(比如bendy.,就改為bendy),將所有edu改為域名的后綴(比如bendy.,就改為)。。這個很重要。。我建議不要更改best。當然你也可以改 2,sed.conf有設置。我建議大家先清
6、空這文件。再重新建立新的。 這個文件的配置方法是 負荷服務器host負重 組 比如。我自己的情況。有二臺服務器。分別是bbs1.bendy.和bendy2.bendy.那我的配置文件就是 bbs11bbs bbs22bbs 配置好這個文件后。你需要一個能對bbs1這個域名進行解析的方法。就是修改/etc/hosts文件。我的情況就是 192.168.1.1 bbs1 192.168.1.2bbs2 這樣的話。poller程序就會檢測111.222.333.001、111.222.333.002的負荷情況了 至此,DNS服務器和均衡負載的服務器的程序已完成。
7、可能我的說明不太清楚?,F(xiàn)在我就一一列表說明 bbs1服務器lbserver1192.168.1.1編譯運行l(wèi)bcd bbs2服務器lbserver2192.168.1.2編譯運行l(wèi)bcd dns服務器dnsserver10.0.0.1配置lbnamed在/etc/hosts配置bbs1、bbs2域名解析 這樣的情況下。。在dns服務器運行l(wèi)bnamed程序。系統(tǒng)就開始動作了。。lbnamed的啟動參數(shù)主要是-llogfile和-d(debug) ./lbnamed-llb.log-d 查看記