lvs+keepalive 集羣安裝部署文檔

 

1安裝和配置

1.1 安裝LVS

lvs依賴openssl-devel和popt-devel,所以要先安裝這個兩個資源包:

# yum -y install openssl-devel popt-devel

安裝完後,在安裝lvs,我們這樣採用雲安裝:

# yum -y install ipvsadm

1.2 安裝keepalived

keepalived的下載地址:http://www.keepalived.org/download.html

在192.168.0.205(MASTER)上安裝配置如下:

# tar zxvf keepalived-1.2.7.tar.gz

# cd keepalived-1.2.7

# ./configure

# make && make install

# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

# mkdir /etc/keepalived

# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

# cp /usr/local/sbin/keepalived /usr/sbin/

1.3 配置keepalived開機啓動

# chkconfig keepalived on

1.4 配置keepalived

# vi /etc/keepalived/keepalived.conf

配置Keepalived,#vim /etc/keepalived/keepalived.conf,內容如下:

! Configuration File for keepalived

global_defs {

notification_email {

[email protected] #接收Real Server 失效通知信息

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL_1 #Backup服務器將此項改爲LVS_DEVEL_2

}

vrrp_instance VI_1 {

state MASTER#Backup服務器將此項改爲BACKUP

interface eth0

virtual_router_id 51

priority 150#Backup服務器將此項改爲100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.0.139#VIP,可以是多個,每個ip佔一行

}

}

virtual_server 192.168.0.139 80 {

delay_loop 6#(每隔10秒查詢realserver狀態)

lb_algo rr#(lvs 算法)

lb_kind DR#(Direct Route)

persistence_timeout 0#(同一IP的連接60秒內被分配到同一臺realserver)

protocol TCP#(用TCP協議檢查realserver狀態)

real_server 192.168.0.207 80 {#Real Server 1

weight 100#(權重)

TCP_CHECK {

connect_timeout 10#(10秒無響應超時)

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.0.208 80 {#Real Server 2

weight 100

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

virtual_server 192.168.0.139 3005 {

delay_loop 6#(每隔10秒查詢realserver狀態)

lb_algo rr#(lvs 算法)

lb_kind DR#(Direct Route)

persistence_timeout 0#(同一IP的連接60秒內被分配到同一臺realserver)

protocol TCP#(用TCP協議檢查realserver狀態)

real_server 192.168.0.150 3005 {#Real Server 1

weight 100#(權重)

TCP_CHECK {

connect_timeout 10#(10秒無響應超時)

nb_get_retry 3

delay_before_retry 3

connect_port 3005

}

}

real_server 192.168.0.151 3005 {#Real Server 2

weight 100

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3005

}

}

}

192.168.0.206(BACKUP)的配置和MASTER類似,只是會變更其中某個參數,這個已經在上面的配置文件中標出,這裏不再贅述。

 

1.5 啓動keepalived

# service keepalived start

 

1.6 其他配置

在192.168.0.207、192.168.0.208、192.168.0.150和192.168.0.151上面分別執行如下配置:

保存一個文件,取名隨意,這裏以dr.sh爲例,內容如下:

#!/bin/sh

VIP=192.168.0.139#Virtual Server IP

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

case "$1" in

start)

echo "Start LVS of RS"

/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up#注意子網掩碼

/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 -arp

/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

;;

stop)

/sbin/ifconfig lo:0 down

echo "Close LVS of RS"

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

sysctl -p

;;

*)

echo "Usage:$0{start|stop}"

exit 1

esac

給文件配置可執行權限,並執行即可。

 

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