LVS ipvsadm+heartbeat+ldirecrtord安裝配置指南{未驗證}

LVS ipvsadm+heartbeat+ldirecrtord安裝配置指南
VIP    172.16.6.250
master 172.16.6.204
backup 172.16.6.205
real   172.16.6.206
real   172.16.6.207
提供的服務器爲web端口80
用到以下程序,ipvsadm,heartbeat,ldirecrtord,libnet,mailtools
libnet和mailtools是用來支持heartbeat和ldirecrtord的
編譯安裝ipvsadm
tar zxf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24/
make
make install
編譯安裝libnet
tar zxf libnet-1.1.2.1.tar.gz
cd libnet
./configure
make
make install
編譯安裝mailtools
tar zxf MailTools-2.04.tar.gz
cd MailTools-2.04
perl Makefile.PL
make
make test
make install
編譯安裝heartbeat和ldirecrtord,他兩在一起
tar jxf Heartbeat-STABLE-2-1-STABLE-2.1.4.tar.bz2
cd Heartbeat-STABLE-2-1-STABLE-2.1.4
./ConfigureMe configure
make
make install
編譯安裝完成後會在/etc/ha.d中生成一些文件,但是配置文件還是需要我們手動來創建或者cp默認的模板,位置在Heartbeat-STABLE-2-1-STABLE-2.1.4/doc中
你可以cp  authkeys,ha.cf,haresources,../ldirectord/ldirectord.cf文件到/etc/ha.d目錄中
下一步我們來修改主配置文件ha.cf
vi ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log                             日誌文件的路徑
logfacility local0
keepalive 2                                         心跳檢測的平率爲2秒一次      
deadtime 30                                         如果30秒內沒有相應心跳就做切換
warntime 10                                         指明心跳的延時爲10秒做警告記錄一條日誌,沒有其他動作
initdead 120                                        這個值設置成deadtime的兩倍就可以了
udpport 694                                         數據通信的端口
bcast eth1                              eth1爲心跳工作接口
ucast eth1 192.168.1.3                              檢測對端心跳接口的地址
auto_failback on                                    當主節點回復後,自動切換
node    lvs_master                                  主控機計算機名 //主控機的在前面
node lvs_backup                                  備用機計算機名 //備用機的在後面
ping 172.16.6.254                                   檢測網絡是否正常,可以設置成網關地址
respawn root /usr/lib/heartbeat/ipfail              ipfail文件的路徑
apiauth ipfail gid=root uid=root                    啓用ipfail進程的用戶是root
vi haresources
lvs_master 172.16.6.250  ipvs ldirectord
lvs_master只主節點的計算機名 172.16.6.250是VIP地址,ipvs和ldirecrtord是啓動腳本,當主節點宕機或者備用節點宕機後都會通過這個腳本文件去啓動服務,ldirecrtord腳本的位置可以再/etc/rc.d/init.d中找到,ipvs是手工創建的
vi ipvs
ipvs
#!/bin/sh
VIP=172.16.6.250
RIP1=172.16.6.206
RIP2=172.16.6.207
. /etc/rc.d/init.d/functions
case "$1" in
    start)
        echo " start LVS  "
#      # set the Virtual  IP Address
       /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
#       /sbin/route add -host $VIP dev eth0:1
       /sbin/ipvsadm -C
      /sbin/ipvsadm -A -t $VIP:80 -s rr
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
      /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
        ;;
    stop)
        echo "close LVS Director"
        /sbin/ipvsadm -C
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
配置驗證文件
vi authkeys
auth 1
1 crc
一共有三個級別,自己工具情況選擇吧,我用的是第一種默認的
配置ldirecrtord.cf

checktimeout=3                        檢測超時
checkinterval=1                       檢測間隔
autoreload=yes                        從新載入客戶機
logfile="/var/log/ldirectord.log"     日誌路徑
logfile="local0"
quiescent=no
virtual=172.16.6.250:80               VIP地址監聽80端口
 real=172.16.6.206:80 gate     真機IP地址和端口 路由模式
 real=172.16.6.207:80 gate
  fallback=127.0.0.1:80 gate
 service=http                  服務是http
 request="test.html"           這個文件一定要在real的web目錄中存在,並且能夠正常訪問的,ipvs通過它來判斷客戶端是否存活
 receive="test"                文件內容
 scheduler=rr                 
 protocol=tcp                 
   checktype=negotiate
   checkport=80
把上面所有的配置文件複製到backup機上,別忘了ipvs的腳本文件也一樣要複製的,唯一要改的地方是ha.cf中ucast eth1 192.168.1.3把他修改成主節點的心跳監聽接口的地址
下面我來配置real
real不需要安裝任何軟件,我這裏從網上找了一個腳本效果還不錯
vi /etc/rc.d/init.d/real.sh
#!/bin/bash
 #description : start realserver
 VIP=172.16.6.250
 /etc/rc.d/init.d/functions
 case "$1" in
 start)
 echo " start LVS of REALServer"
 /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 Directorserver"
 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
修改它的執行權限,然後用./real.sh start來啓動它
在master上運行/etc/rc.d/init.d/heartbeat start和/etc/rc.d/init.d/ldirectord start這兩個服務
Backup上只運行/etc/rc.d/init.d/heartbeat start 就可以了ldirectord 服務器會在主節點宕機後自動通過讀取haresources文件來啓動
這樣整個lvs結構就配置完成了,可以通過http://172.16.6.250來訪問web了
在lvs上可以通過ipvsadm -lnc來查看具體的信息
 

本文出自 “狼窟” 博客,請務必保留此出處http://gsliuyang.blog.51cto.com/286500/223912

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章