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
connect_timeout 10
virtual_server 192.168.0.139 3005 {
real_server 192.168.0.150 3005 {#Real Server 1
connect_port 3005
real_server 192.168.0.151 3005 {#Real Server 2
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
*)
echo "Usage:$0{start|stop}"
exit 1
esac
給檔案配置可執行權限,并執行即可。