LVS1 192.168.2.245
LVS2 192.168.2.250
VIP 192.168.2.251
rs1 192.168.2.192
rs2 192.168.2.150
###keepalived 在启动时不会检查配置文件语法
##经测试,keepalived+lvs对后端的检测功能远远没有传说中的那么强,后端池中real机退出,大约到10秒才能正常功能,
yum -y install wget openssl-devel kernel-devel ipvsadm ntp gcc gcc-c++ net-snmp-utils net-snmp net-snmp-devel make
ntpdate stdtime.gov.hk
wget
tar xvzf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/`uname -r` --with-kernel-version=2.6 --enable-snmp
make
make install
chkconfig -add keepalived
chkconfig keepalived on
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
admin@manwrx.com
}
notification_email_from admin@manwrx.com
smtp_server smtp.manwrx.com
smtp_connect_timeout 30
router_id lvs_manwrx
}
vrrp_instance VI_1 {
state BACKUP ###工作的初始状态
interface eth0 ##工作的网卡
# notify_master /data/shell/smtp_to_master.sh ##切换到master状态后执行的脚本
# notify_backup /data/shell/smtp_to_backup.sh ##切换到backup状态后执行的脚本
track_interface { ###监听本机健康的网卡
eth0
# eth1
}
virtual_router_id 60 ##虚拟路由的ID
priority 150 ###优先级 ###备用机修改为200
advert_int 1 ##检查的间隔时间
nopreempt ##master机退出重进入不抢master状态
authentication {
auth_type PASS
auth_pass manwrx123456
}
virtual_ipaddress {
192.168.2.251
}
}
virtual_server 192.168.2.251 80 {
delay_loop 1 ##服务轮询时间
lb_algo rr ###LVS算法
lb_kind DR ##LVS工作方式
# persistence_timeout 120 ###对用户转发real_server,session
protocol TCP
real_server 192.168.2.150 80 {
weight 3
HTTP_GET {
url {
path /index.html
connect_timeout 1
nb_get_retry 1
delay_before_retry 1
status_code 200
}
}
# TCP_CHECK {
# connect_timeout 1 ###连接超时
# nb_get_retry 1 ###重连次数
# delay_before_retry 1 ##连接间隔
# connect_port 80 ###连接端口
#}
}
real_server 192.168.2.192 80 {
weight 3
HTTP_GET {
url {
status_code 200
path /index.html
connect_timeout 1
nb_get_retry 1
delay_before_retry 1
}
}
# TCP_CHECK {
# connect_timeout 1 ###连接超时
# nb_get_retry 1 ###重连次数
# delay_before_retry 1 ##连接间隔
# connect_port 80 ###连接端口
#}
#}
}
service keepalived restart
##
查看状态
ipvsadm
ip addr
vim /etc/init.d/real_server_lvs
#!/bin/bash
#chkconfig: 35 24 36
#discrpition: real_server_lvs
VIP=192.168.2.251
. /etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/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 >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $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 "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
chkconfig -add real_server_lvs
chkconfig real_server_lvs on
service real_server_lvs start
阅读(1830) | 评论(0) | 转发(0) |