实例一
启动keepalived之后找不到配置文件:
1、编辑/etc/rsyslog.conf #指明各类日志文件中的信息
加上一句,
local3.* /var/log/keepalived.log
2、编辑/etc/sysconfig/keepalived,
加上一句,
KEEPALIVED_OPTIONS=”-D -S 3” #指明keepalived日志文件的facility(等级)为3
3、重启rsyslog,keepalived服务
在centos7中,
systemctl restart rsyslog.service
systemctl restart keepalived.service
实例二
手动调度vip在两台主机中转移
在配置文件中,
1、vrrp实例之外加上一个函数
vrrp_script chk_maintainnance{
script “[[ -f /etc/keepalived/down]] && exit 1 || exit 0”
interval 1
weight -2
}
2、vrrp实例之内调用这个函数
track_script{
chk_maintainnance
}
用法:只需要touch /etc/keepalived/down,vip就会转移;
删除down文件又会转移到另一台主机
实例三
配置虚拟路由器组
vrrp_sync_group VG_1{
group {
VI_1
VI_2
}
}
vrrp_instance VI_1{
eth0
vip #对外部客户
}
vrrp_instance VI_2{
eth1
dip #对内部主机
}
实例四
主机状态发生改变时发送通知:在vrrp实例中定义
#notify scripts,alert as above –自定义脚本
notify_master
notify_backup
notify_fault
notify
smtp_alert
实例:””括起来的内容就是表示QUOTED_STRING
notify_master “/etc/keepalived/notify.sh master”
notify_backup “/etc/keepalived/notify.sh backup”
notify_fault “/etc/keepalived/notify.sh fault”
下面是一个notify脚本的简单示例:
#!/bin/bash
vip=172.16.100.1
contact=‘root@localhost’
notify(){
mailsubject=”hostname
to be $1:$vip floating”
mailbody=”date '+%F %H:%M:%S'
:vrrp transtion,hostname
change to be $1”
echo $mailbody|mail -s “$mailsubject” $contact
}
case “$1” in
master)
notify master
#/etc/rc.d/init.d/haproxy start
exit 0
;;
backup)
notify backup
#/etc/rc.d/init.d/haproxy stop
exit 0
;;
fault)
notify fault
#/etc/rc.d/init.d/haproxy stop
exit 0
;;
*)
echo “Usage:basename $0
{master|backup|fault}”
exit 1
;;
esac