keepalived 安装与配置
keepalived安装与配置目录
keepalived安装与配置... 1
安装:... 1
基本的主备配置... 2
主服务器:... 2
备服务器:... 3
主备重启服务:... 4
查看虚拟IP:... 5
备注:vrrp_script和track_script. 5
备注:notify_6
备注: nopreempt. 6
验证测试:... 6
主服务器停止keepalived :... 6
备份服务器--虚拟IP切换:... 7
软件卸载... 7
版本历史
时间
版本
说明
编写者
2015-1-9
1.1
keepalived安装与配置
csc
系统环境: centos-5.8 64bit
keepalived: keepalived-1.1.15.tar.gz
安装:
tar -xvzfkeepalived-1.1.15.tar.gz
cd keepalived-1.1.15
./configure
make
make install
mkdir /etc/keepalived
cp /usr/local/etc/rc.d/init.d/keepalived/etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived/etc/sysconfig/
cp /usr/local/etc/keepalived/keepalived.conf/etc/keepalived/
cp /usr/local/sbin/keepalived/usr/sbin/
/etc/init.d/keepalivedstart
ps -ef|grep keepalived
基本的主备配置
主服务器:
more /etc/keepalived/keepalived.conf
! ConfigurationFile for keepalived
#global_defs {
# notification_email {
## acassen@firewall.loc
# failover@firewall.loc
# sysadmin@firewall.loc
# }
# notification_email_fromAlexandre.Cassen@firewall.loc
# smtp_server 192.168.200.1
# smtp_connect_timeout 30
# router_id LVS_DEVEL
#}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51#主备保持一致
priority 100 #优先级 主比备高
advert_int 1 #心跳广播时间间隔 秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.8.10.130#虚拟IP,可以有多个
#10.8.10.131
}
}
备服务器:
# more keepalived.conf
! ConfigurationFile for keepalived
#global_defs {
# notification_email {
# acassen@firewall.loc
# failover@firewall.loc
# sysadmin@firewall.loc
# }
# notification_email_fromAlexandre.Cassen@firewall.loc
# smtp_server 192.168.200.1
# smtp_connect_timeout 30
# router_id LVS_DEVEL
#}
vrrp_instance VI_1 {
state BACkUP
interface eth0
virtual_router_id 51 #主备保持一致
priority 90 #优先级 主比备高
advert_int 1 #心跳广播时间间隔 秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.8.10.130 #虚拟IP,可以有多个
#10.8.10.131
}
}
主备重启服务:
/etc/init.d/keepalivedrestart
查看虚拟IP:
# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:0a:08:0a:79 brdff:ff:ff:ff:ff:ff
inet 10.8.10.115/24 brd 10.8.10.255 scopeglobal eth0
inet 10.8.10.130/32 scope global eth0
备注:vrrp_script和track_script
vrrp_script代码块是用来定义监控脚本,脚本执行时间间隔以及脚本的执行结果导致优先级变更幅度的。
vrrp_scriptchk_redis {
script "/etc/keepalived/scripts/redis_check.sh"#指定执行脚本的路径
interval 1 #指定脚本的执行时间间隔
weight 10 #脚本结果导致的优先级变更:10表示优先级+10;-10则表示优先级-10
}
定义好vrrp_script代码块之后,就可以在instance中使用了
track_script{
chk_redis
}
注意:VRRP脚本(vrrp_script)和VRRP实例(vrrp_instance)属于同一个级别
备注:notify_
notify_stop keepalived停止运行前运行notify_stop指定的脚本。
配合官方文档提到的以下三个参数一起使用,功能更强大:
notify_master keepalived切换到master时执行的脚本
notify_backup keepalived切换到backup时执行的脚本
notify_fault keepalived出现故障时执行的脚本
备注: nopreempt
当master down了,backup接管了,master再次起来,不能再成为master。否则master恢复了再接管的话,会造成业务来回切换,这时候就需要nopreempt参数了。
nopreempt:设置不抢占,这里只能设置在state为backup的节点上,而且这个节点的优先级必须别另外的高。
以上备注 -参数联合使用方法,可以参考
验证测试:
主服务器停止keepalived :
/etc/init.d/keepalivedrestart
# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:0a:08:0a:79 brdff:ff:ff:ff:ff:ff
inet 10.8.10.115/24 brd 10.8.10.255 scopeglobal eth0
备份服务器--虚拟IP切换:
# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:fe:c0:a8:0a:7f brdff:ff:ff:ff:ff:ff
inet 10.8.10.128/24 brd 10.8.10.255 scopeglobal eth0
inet 10.8.10.130/32 scope global eth0
当主服务器启动keepalived时候,虚拟IP 重新出现在主服务器
软件卸载
直接make uninstall,然后
make clean
页:
[1]