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 {

admin@xyxy.tk #接收Real Server 失效通知信息

}

notification_email_from lvs@xyxy.tk

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

给文件配置可执行权限,并执行即可。