[root@localhost ~]#more /etc/init.d/lvsrs
#!/bin/bash
#description : Start Real Server
VIP=192.168.60.200
./etc/rc.d/init.d/functions
case "$1" in
start)
echo " Start LVS of Real Server"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Director server"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
然后,修改lvsrs有可執(zhí)行權限:
[root@localhost ~]#chomd 755 /etc/init.d/lvsrs
最后,可以通過下面命令啟動或關閉lvsrs
service lvsrs {start|stop}
由于虛擬ip,也就是上面的VIP地址,是Director Server和所有的Real server共享的,如果有ARP請求VIP地址時,Director Server與所有Real server都做應答的話,就出現(xiàn)問題了,因此,需要禁止Real server響應ARP請求。而lvsrs腳本的作用就是使Real Server不響應arp請求。
對于2.4以下低版本,在Real Server上要安裝ARP hidden內核補丁,幸運的是,在2.6內核中通過調整內核參數(shù)即可忽略ARP廣播回應。
三、在Director上配置冗余策略 Ldirectord
Ldirectord的作用是監(jiān)測Real Server,當Real Server失效時,把它從虛擬服務器列表中刪除,恢復時重新添加到列表,在前面文章介紹heartbeat時默認已經(jīng)安裝了Ldirectord,因此。這里只需進行配置即可。Ldirectord的配置文件是/etc/ha.d/ldirectord.cf。
下面是需要配置的選項,注意,“#”號后面的內容為注釋:
# Global Directives
checktimeout=20 #判定real server出錯的時間間隔。
checkinterval=10 #指定ldirectord在兩次檢查之間的間隔時間。
fallback=127.0.0.1:80 #當所有的real server節(jié)點不能工作時,web服務重定向的地址。
autoreload=yes #是否自動重載配置文件,選yes時,配置文件發(fā)生變化,自動載入配置信息。
logfile="/var/log/ldirectord.log" #設定ldirectord日志輸出文件路徑。
quiescent=no #當選擇no時,如果一個節(jié)點在checktimeout設置的時間周期內沒有響應,ldirectord將會從LVS的路由表中直接移除real server,此時,將中斷現(xiàn)有的客戶端連接,并使LVS丟掉所有的連接跟蹤記錄和持續(xù)連接模板,如果選擇為yes,當某個real server失效時,ldirectord將失效節(jié)點的權值設置為0,新的連接將不能到達,但是并不從LVS路由表中清除此節(jié)點,同時,連接跟蹤記錄和程序連接模板仍然保留在Director上。
注意:以上幾行為ldirectord.cf文件的“全局”設置,它們可以應用到下面多個虛擬主機,下面是每個虛擬主機的配置。
# Sample for an http virtual service
virtual=192.168.60.200:80 #指定虛擬的IP地址和端口號,注意,在virtual行后面的行必
須縮進4個空格或以一個tab字符進行標記。
real=192.168.60.132:80 gate #指定Real Server服務器地址和端口,同時設定LVS工作模式,
用gate表示DR模式,ipip表示TUNL模式,masq表示NAT模式。
real=192.168.60.144:80 gate
fallback=127.0.0.1:80 gate
service=http #指定服務的類型,這里是對http服務做負載均衡。
request="index.html" #ldirectord將根據(jù)指定的Real Server地址,結合該選項給出
的請求路徑,發(fā)送訪問請求,檢查Real Server上的服務是否正
常運行,確保這里給出的頁面地址是可訪問的,不然ldirectord
會誤認為此節(jié)點已經(jīng)失效,發(fā)生錯誤監(jiān)控現(xiàn)象。
receive="Test Page" #指定請求和應答字串。
scheduler=rr #指定調度算法,這里是rr(輪叫)算法。
protocol=tcp #指定協(xié)議的類型,LVS支持TCP和UDP協(xié)議。
checktype=negotiate #指定Ldirectord的檢測類型,默認為negotiate。
checkport=80 #指定監(jiān)控的端口號。
virtualhost=www.gaojf.com #虛擬服務器的名稱,隨便指定。
配置完畢,就可以執(zhí)行如下命令啟動或關閉ldirectord服務
/etc/init.d/ldirectord {start|stop}
Ldirectord的核心作用是監(jiān)控Real Server節(jié)點狀態(tài),同時,它還能調用ipvsadm自動創(chuàng)建LVS路由表,這點從ldirectord.cf中可以看出,
這里需要說明的是,ldirectord和Piranha都具有監(jiān)控Real Server的功能,如果要通過ldirectord監(jiān)控節(jié)點狀態(tài),只需啟動ldirectord服務,整個集群系統(tǒng)就可以運行起來,而無需執(zhí)行上面我們配置的LVS腳本,因為ldirectord會自動調用ipvsadm創(chuàng)建LVS路由表,而我們上面講述的利用ipvsadm命令行方式配置LVS,是為了讓讀者能更深入的了解ipvsadm的實現(xiàn)細節(jié)和實現(xiàn)機制。
如果是通過Piranha工具配置LVS,就無需使用ldirectord,Piranha工具對應的系統(tǒng)進程是pluse,此進程也會自動調用ipvsadm創(chuàng)建LVS路由表,同時會利用自身的nanny守護進程監(jiān)控real server的狀態(tài)!
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【www.cmtents.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|