32
配置环境node1:192.168.1.72
node2:192.168.1.73
1、node1、node2配置主机名、同步时间、通过hosts文件解析各主机名
2、各节点安装keepalived
yum -y install keepalived
3、配置node1
# cd /etc/keepalived/
# cp keepalived.conf{,.bak}
# vim keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from kaadmin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
}
vrrp_script chk_maintanance {
script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
interval 1
weight -2
}
vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 3b8fd970
}
virtual_ipaddress {
192.168.1.80/24
}
track_script{
chk_maintanance
}
#以下三行为添加通知功能
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
vrrp_instance VI_2 {
state BACKUP
interface eno16777736
virtual_router_id 61
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 7b3fd970aa
}
virtual_ipaddress {
192.168.1.180/24
}
track_script{
chk_maintanance
}
}
通知脚本(node1和node2相同)
# vim /etc/keepalived/notify.sh
#!/bin/bash
# Author: MageEdu
# description: An example of notify script
#
vip=192.168.1.80
contact='root@localhost'
notify() {
mailsubject="`hostname` to be $1: $vip floating"
mailbody="`date '+%F %H:%M:%S'`: vrrp transition, `hostname` changed to be $1"
echo $mailbody | mail -s "$mailsubject" $contact
}
case "$1" in
master)
notify master
exit 0
;;
backup)
notify backup
exit 0
;;
fault)
notify fault
exit 0
;;
*)
echo 'Usage: `basename $0` {master|backup|fault}'
exit 1
;;
esac
# scp notify.sh node2:/etc/keepalived/
4、配置node2
# scp keepalived.conf node2:/etc/keepalived/
# cd /etc/keepalived/
# vim keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from kaadmin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node2
}
vrrp_script chk_maintanance {
script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
interval 1
weight -2
}
vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 3b8fd970
}
virtual_ipaddress {
192.168.1.80/24
}
track_script{
chk_maintanance
}
#以下三行为添加通知功能
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
vrrp_instance VI_2 {
state MASTER
interface eno16777736
virtual_router_id 61
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 7b3fd970aa
}
virtual_ipaddress {
192.168.1.180/24
}
track_script{
chk_maintanance
}
}
5、启动
# systemctl start keepalived.service
# systemctl start keepalived.service
6、添加日志储存文件
# vim /etc/sysconfig/keepalived
修改
KEEPALIVED_OPTIONS="-D"
为
KEEPALIVED_OPTIONS="-D -S 3"
# vim /etc/rsyslog.conf
添加一行
local3.* /var/log/keepalived.log
# systemctl restart rsyslog.service
# systemctl restart keepalived.service
页:
[1]