Lvs + keepalived實現高可用負載均衡集羣

Lvs + keepalived實現高可用負載均衡集羣

環境:

Lvs--master centos6.4

eth0:192.168.1.1



VIP192.168.1.100

Lvs--backup centos6.4

eth0:192.168.1.2

Web1 centos5.5

eth0:192.168.1.3

Web2 centos5.5

eth0:192.168.1.4

xp

eth0:192.168.1.5


lvs--master上面執行以下操作

yum install -y gcc kernel-devel openssl-devel popt-devel

安裝ipvsadm工具

rpm -ivh ipvsadm-1.25-10.el6.i686.rpm

安裝keepalive

tar -zxf keepalived-1.2.8.tar.gz

./configure --sysconfdir=/etc/ --with-kerne-dir=/usr/src/kernels/2.6.32-358.el6.i686/

注意:這個參數並不是要把Keepalived編譯進內核,而是指定使用內核源碼裏面的頭文件,就是include目錄,不然系統可能無法調用ipvs的模塊

make && make install

ln -s /usr/local/sbin/keepalived /sbin/

chkconfig --add keepalived

chkconfig keepalived on

##############################keepalived配置文件如下###########################

! Configuration File for keepalived

global_defs {

notification_email {

[email protected] #設置報警郵件地址,可以設置多個,每行一個,注意,如果要開啓郵件報警,需要開啓本機的sendmail服務

}

notification_email_from keepalived@localhost #設置郵件的發送地址

smtp_server 127.0.0.1 #smtp server地址

smtp_connect_timeout 30 #設置連接smtp服務器超時時間

router_id LVS_DEVEL #運行keepalived機器的標識

}

vrrp_instance VI_1 {

state MASTER #指定keepalived的角色,MASTER表示此主機是主服務器,BACKUP表示備用服務器 注意:備用節點上要改成BACKUP

interface eth0 #指定監測的網絡的接口

virtual_router_id 51 #虛擬路由標識,這個標識是一個數字,兩個節點必須一樣,以指明各個節點屬於同一vrrp

advert_int 1 #設定MASTERBACKUP負載均衡器之間同步檢查的時間間隔,單位是秒

authentication { #設置驗證類型和密碼

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.100 #設置虛擬ip地址,可以設置多個虛擬ip地址,每行一個

}

}

virtual_server 192.168.1.100 80 { #設置虛擬服務器,需要指定虛擬ip地址和服務端口,ip與端口之間用空格隔開

delay_loop 6 #設置健康檢查時間,單位是秒

lb_algo rr #設置lvs的調度算法,這裏設置的是rr算法,即輪循算法

lb_kind DR #設置LVS實現負載均衡的機制,可以有NATTUNDR三個模式可選

nat_mask 255.255.255.0

persistence_timeout 50 #會話保持時間,單位是秒

protocol TCP #指定轉發協議類型,tcpudp兩種

real_server 192.168.1.3 80 { #設置服務節點1,需要指定real server的真實ip和端口,ip和端口之間用空格隔開

weight 3 #權重值,數字越大,權重越高

TCP_CHECK { #tcp健康檢查

connect_timeout 3 #3秒無響應超時

nb_get_retry 3 #重試次數

delay_before_retry 3 #重試間隔

connect_port 80 #健康檢查端口

}

{

real_server 192.168.1.4 80 { #設置服務節點2,需要指定real server的真實ip和端口,ip和端口之間用空格隔開

weight 3 #權重值,數字越大,權重越高

TCP_CHECK { #tcp健康檢查

connect_timeout 3 #3秒無響應超時

nb_get_retry 3 #重試次數

delay_before_retry 3 #重試間隔

connect_port 80 #健康檢查端口

}

}

}

注意:將以上操作在lvs--backup執行一遍

注意:keepalived配置在backup上面要修改兩處1state MASTER 要改成state BACKUP 2:修改優先級




然後在後端的web1 web2上面做以下操作(需要有web服務,最好將這兩個webindex.html測試文件寫成不同內容,方便測試驗證,安裝過程略)

#########################################################################################

分別在realserver上執行realserver.sh這個腳本,腳本內容如下

#!/bin/bash

SNS_VIP=192.168.1.100

./etc/rc.d/init.d/functions

case "$1" in

start)

ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP

/sbin/route add -host $SNS_VIP dev lo:0

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/suys/net/ipv4/conf/all/arp_announce

sysctl -p > /dev/null 2>&1

echo "RealServer Start OK"

;;

stop)

ifconfig lo:0 down

route del $SNS_VIP > /dev/null 2 >&1

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

exit 0

#########################################################################################################

然後做以下操作

mkdir /sh

cp realserver.sh /sh

chmod +x /sh/realserver.sh

加入開機啓動

echo bash /sh/realserver.sh start >> /etc/rc.loacl

啓動腳本: bash /sh/realserver.sh start

##########################################################################################################

然後分別在lvs--masterlvs-backup啓動keepalived

service keepalived start

chkconfig keepalived on

然後用ip addr 命令查看vip是否已經存在

測試:1:通過xp客戶看訪問VIP地址,看看是否能訪問正常,有沒有輪循的效果

2:測試keepalived,將lvs--master關機或者斷網,然後去lvs---backup上面是不是有了VIP地址,如果有,則說明成功,否則錯誤

報錯信息

1configure: error: Popt libraries is required

解決辦法:yum install popt-devel


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