首页 > 代码库 > keepalived实现高可用
keepalived实现高可用
1.安装依赖包
yum install -y gcc gcc-c++
yum install popt-devel openssl-devel -y
2.安装keepalived
./configure --prefix=/usr/local/
3.为了方便管理和配置,将以下文件复制
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/keepalived
cp /usr/local/sbin/keepalived /usr/sbin/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
4.配置keepalived
node1 ip 192.168.245.122
vim /etc/keepalived/keepalived.conf
global_defs {
router_id yang-2.com
}
vrrp_script host_check {
script "/bin/chkhttpd.sh"
interval 6
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 80
advert_int 1
authentication {
auth_type PASS
auth_pass jixinga123
}
virtual_ipaddress {
192.168.245.100/24
}
track_script {
host_check
}
notify_master /bin/master.sh
notify_backup /bin/backup.sh
}
node2 ip 192.168.245.123
global_defs {
router_id yang-3.com
}
vrrp_script host_check {
script "/bin/chkhttpd.sh"
interval 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass jixinga123
}
virtual_ipaddress {
192.168.245.100/24
}
track_script {
host_check
}
notify_master /bin/master.sh
notify_backup /bin/backup.sh
}
配置完成后启动keepalived测试即可
备注1./bin/chkhttpd.sh 内容
#!/bin/bash
grep 123 /tmp/ceshi &>/dev/null
if [ $? -ne 0 ]
then
exit 1
else
exit 0
fi
备注2./tmp/ceshi文件内容
123
备注3./bin/master.sh 内容
echo master > /etc/keepalived/status
备注4./bin/backup.sh内容
echo backup > /etc/keepalived/status
疑问:我也是刚接触keepalived,这是我自己做的小实验,如果我两个节点的配置文件state 一个是master,一个是backup,
state是master的主机不会执行下面的backup.sh的小脚本,它的status文件里面一直都是master,不会改变,请高手留言解答,谢谢。
keepalived实现高可用