参考:https://www.cnblogs.com/Dev0ps/p/11122500.html
参考:https://blog.youkuaiyun.com/weixin_30377461/article/details/96655003
一、yum安装相关依赖
1. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2. OpenSSL 安装
yum install -y openssl openssl-devel
二、解压编译安装
下载keepalived:https://www.keepalived.org/download.html
解压,编译
# 解压
tar -xzvf keepalived-2.0.16.tar.gz
cd keepalived-2.0.16
# 执行配置,指定路径
./configure --prefix=/usr/local/keepalived
# 编译
make && make install
拷贝相关文件到指定目录
# 拷贝源码中的keepalived-2.0.20/keepalived/etc/init.d/keepalived 到 /etc/init.d/
cp /usr/local/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/
# 拷贝编译后的keepalived/etc/sysconfig/keepalived 到 /etc/sysconfig/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# 创建文件夹
mkdir /etc/keepalived
# 把配置文件移到文件夹中
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
# 把执行文件移动到/usr/sbin/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
三、修改配置文件
节点1
! Configuration File for keepalived
global_defs {
router_id node1 #标识
}
vrrp_instance VI_1 {
state BACKUP #角色是backup
interface eth0 #当前使用的网卡
virtual_router_id 51 #让master 和backup在同一个虚拟路由里,id 号必须相同
priority 90 #优先级,因为我这里两个都是backup,不希望故障节点恢复后重新获取vip,优先级设置成一样
advert_int 1 #心跳间隔时间
authentication {
auth_type PASS #认证
auth_pass shucai #密码
}
virtual_ipaddress {
172.16.70.126 #虚拟ip
}
}
节点2
! Configuration File for keepalived
global_defs {
router_id node2 #标识
}
vrrp_instance VI_1 {
state BACKUP #角色是backup
interface eth0 #当前使用的网卡
virtual_router_id 51 #让master 和backup在同一个虚拟路由里,id 号必须相同
priority 90 #优先级,因为我这里两个都是backup,不希望故障节点恢复后重新获取vip,优先级设置成一样
advert_int 1 #心跳间隔时间
authentication {
auth_type PASS #认证
auth_pass shucai #密码
}
virtual_ipaddress {
172.16.70.126 #虚拟ip
}
}
四、启动服务
systemctl start keepalived
systemctl enable keepalived
五、测试ip漂移
关闭其中一个节点的服务器测试ip漂移
ip a | grep 172.16.70.126
返回
inet 172.16.70.126/32 scope global eth0