#keepalived 配置 ! Configuration File for keepalived global_defs { router_id LVS_DEVEL } ########VRRP Instance######## vrrp_instance VI_1 { state MASTER #指定Keepalived的角色,MASTER为主机服务器,BACKUP为备用服务器 interface eth2 #BACKUP为备用服务器 virtual_router_id 31 priority 101 #定义优先级,数字越大,优先级越高,主DR必须大于备用DR。 advert_int 1 authentication { auth_type PASS #设置验证类型,主要有PASS和AH两种 auth_pass 1111 #设置验证密码 } virtual_ipaddress { 192.168.1.22 #设置主DR的虚拟IP地址(virtual IP),可多设,但必须每行1个 } } ########Virtual Server######## virtual_server 192.168.1.22 80 { #注意IP地址与端口号之间用空格隔开 delay_loop 6 #设置健康检查时间,单位是秒 lb_algo rr #设置负载调度算法,默认为rr,即轮询算法,最优秀是wlc算法 lb_kind DR #设置LVS实现LB机制,有NAT、TUNN和DR三个模式可选 nat_mask 255.255.255.255 persistence_timeout 50 #会话保持时间,单位为秒 protocol TCP #指定转发协议类型,有TCP和UDP两种 real_server 192.168.1.20 80 { weight 1 #配置节点权值,数字越大权值越高 TCP_CHECK { connect_timeout 3 #表示3秒无响应,则超时 nb_get_retry 3 #表示重试次数 delay_before_retry 3 #表示重试间隔 } } real_server 192.168.1.21 80 { #配置服务器节点,即Real Server2的public IP weight 1 #配置节点权值,数字越大权值越高 TCP_CHECK { connect_timeout 3 #表示3秒无响应,则超时 nb_get_retry 3 #表示重试次数 delay_before_retry 3 #表示重试间隔 } } }
#VIP 绑定脚本 #add for chkconfig #chkconfig: 2345 70 30 #234都是文本界面,5就是图形界面X,70启动顺序号,30系统关闭,脚本 #止顺序号 #description: RealServer's script #关于脚本的简短描述 #processname: realserver.sh #第一个进程名,后边设置自动时会用到 #!/bin/bash VIP=192.168.1.22 source /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 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