天天看點

IPVS-DR+keepalived實作高可用負載均衡叢集

IPVS-DR+keepalived高可用負載均衡叢集方案前端的負載排程器采用雙機熱備方式,Keepalived主要用來監測RealServer的健康狀态以及主負載均衡器和備份負載均衡器之間的故障轉移,一旦主負載排程器恢複正常工作,主負載排程器重新恢複對叢集的資源管理。

系統平台:Redhat 5.4

網絡拓撲如下:

伺服器IP規劃如下:

所需軟體包:

1.ipvsadm-1.24-10.i386.rpm (RHEL 5CD光牒自帶)

2.keepalived-1.2.2.tar.gz(目前最新版)

下載下傳位址:http://www.keepalived.org/software/keepalived-1.2.2.tar.gz

一.主負載均衡器(MASTER)的配置

1.修改/etc/hosts檔案,增加以下兩行内容:

[root@localhost~]# vi /etc/hosts

200.10.1.1 MASTER

200.10.1.2 BACKUP

2.修改主機名,編輯/etc/sysconfig/network檔案:

HOSTNAME=MASTER

以上兩步非必要步驟。

3.配置本機IP。(略)

4.設定VIP腳本:

[root@lvs-master~] # vi vip.sh

#!/bin/bash 

VIP=200.10.1.10 

/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up 

/sbin/route add -host $VIP dev eth0:0

5.給vip腳本設定可執行權限:

[root@MASTER~] # chmod a+x vip.sh

運作vip腳本并設定為開機啟動:

[root@MASTER~]# ./vip.sh

[root@MASTER~]# echo “/root/vip.sh”>> /etc/rc.local

6.安裝與配置并啟動ipvsadm:

[root@MASTER~] #rpm –ivh ipvsadm-1.24-10.i386.rpm

[root@MASTER~] # ipvsadm –A –t 200.10.1.10:80 –s rr –p 600

[root@MASTER~]# ipvsadm –a –t 200.10.1.10:80 –r 200.10.1.3:80 –g -w 1

[root@MASTER~]# ipvsadm –a –t 200.10.1.10:80 –r 200.10.1.4:80 –g -w 1

[root@MASTER~]# ipvsadm-save > /etc/sysconfig/ipvsadm

[root@MASTER~]# service ipvsadm start

7.安裝與配置keepalived:

[root@MASTER~]# tar zxf keepalived-1.2.2.tar.gz

[root@MASTER~]# cd keepalived-1.2.2

[root@MASTER~]# ./configure && make && make install

[root@MASTER~]# find / -name keepalived //檢視keepalived安裝後産生的相前目錄和檔案的位置

[root@MASTER~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

[root@MASTER~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

[root@MASTER~]# mkdir /etc/keepalived

[root@MASTER~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

[root@MASTER~]# cp /usr/local/sbin/keepalived /usr/sbin/

7.1.修改keepalived.conf配置檔案

[root@MASTER~]# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs { 

notification_email { 

[email protected] 

[email protected] 

[email protected] 

notification_email_from [email protected] 

smtp_server 192.168.200.1 

smtp_connect_timeout 30 

router_id LVS_DEVEL 

vrrp_instance VI_1 { 

state MASTER 

interface eth0 

virtual_router_id 51 

priority 100 

advert_int 1 

authentication { 

auth_type PASS 

auth_pass 1111 

virtual_ipaddress { 

200.10.1.10 

}

virtual_server 200.10.1.10 80 { 

delay_loop 6 

lb_algo rr 

lb_kind DR 

# nat_mask 255.255.255.0 

persistence_timeout 50 

protocol TCP

real_server 200.10.1.3 80 { 

weight 3 

SSL_GET { 

url { 

path / 

digest ff20ad2481f97b1754ef3e12ecd3a9cc 

path /mrtg/ 

digest 9b3a0c85a887a256d6939da88aabd8cd 

connect_timeout 3 

nb_get_retry 3 

delay_before_retry 3 

real_server 200.10.1.4 80 { 

7.2.啟動keepalived服務

[root@MASTER~]# service keepalived start

二.備份負載均衡器(BACKUP)的配置

1.IP配置(略)

2.主機名和VIP腳本設定(同MASTER一緻)

3.需要安裝的軟體同MASTER一緻,ipvsadm配置一緻。

4.keepalived.conf需要修改的地方:

state MASTER #備份伺服器上将MASTER改為BACKUP

priority 100 # 備份服務上将100改為99

三.Realserver1(Web)的配置(已經安裝好apache)

1.添加以下腳本:

[root@localhost~] # vi lvs.sh

VIP="200.10.1.10" 

/sbin/ifconfig eth0 200.10.1.3/24 

/sbin/ifconfig lo:0 $VIP braodcast $VIP netmask 255.255.255.255 up 

/sbin/route add -host $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/sys/net/ipv4/conf/all/arp_announce

sysctl –p

2.給腳本增加可執行權限,然後啟動并設定為開機啟動:

[root@localhost~] # chmod a+x lvs.sh

[root@localhost~] # ./lvs.sh

[root@localhost~] # echo “/root/lvs.sh”>> /etc/rc.local

3.建立測試頁面并啟動web服務:

[root@localhost~] # echo “This is Realserver1”> /var/www/html/index.html

[root@localhost~] # service httpd start

四.Realserver2(Web)上的配置(已經安裝好apache)

/sbin/ifconfig eth0 200.10.1.4/24 

[root@localhost~] # echo “This is Realserver2”> /var/www/html/index.html

五.測試及驗證

1.分别在兩台PC上打開浏覽器,輸入“http://200.10.1.10”,如果看到的是不同的頁面,說明LVS配置成功!

2.可以使用指令ipvsadm –L檢視lvs伺服器是否正常。

3.tail –f /var/log/message 監聽日志,檢視狀态。

4.停卡MASTER上面的ipvsadm和keepalived服務,看BACKUP是否正常接管MASTER的工作,然後再恢複MASTER的服務,看MASTER是否恢複工作。

參考文章:NetSeek http://www.linuxtone.org

利用LVS+Keepalived 實作高性能高可用負載均衡

本文轉自 kk5234 51CTO部落格,原文連結:http://blog.51cto.com/kk5234/638928,如需轉載請自行聯系原作者

繼續閱讀