需要四大步骤
- 先安装 keepalived组件
- 创建并配置keepalived.conf文件
- 创建并配置check_nginx.sh文件
- 检查状态,验证。
1.安装 keepalived组件
sudo apt-get install keepalived
2.创建并配置keepalived.conf文件
cd /etc/keepalived/ sudo touch keepalived.conf sudo vi keepalived.conf
主:
vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 weight 2 } vrrp_instance VI_1 { interface ens160 # 根据你的网络接口名称调整 state MASTER #设置角色,这里为主设备 virtual_router_id 51 #设置虚拟路由器ID组,主备一致 priority 101 #优先级,数值越大,优先级越高 advert_int 1 #vrrp组之间的心跳包频率,1s authentication { #组认证信息 auth_type PASS #认证方式,密码 auth_pass 12345 #认证密码 } virtual_ipaddress { 172.18.19.6 #虚拟IP地址 } track_script { #健康检查脚本 chk_nginx } }
#启动keepalived
sudo systemctl start keepalived
备:
vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 weight 2 } vrrp_instance VI_1 { interface ens160 # 根据你的网络接口名称调整 state BACKUP #设置角色,这里为备设备 virtual_router_id 51 #设置虚拟路由器ID组,主备一致 priority 90 #优先级,数值越大,优先级越高 advert_int 1 #vrrp组之间的心跳包频率,1s authentication { #组认证信息 auth_type PASS #认证方式,密码 auth_pass 12345 #认证密码 } virtual_ipaddress { 172.18.19.6 #虚拟IP地址 } track_script { #健康检查脚本 chk_nginx } }
#启动keepalived
sudo systemctl start keepalived
3.创建并配置check_nginx.sh文件
主备一样
sudo touch check_nginx.sh sudo vi check_nginx.sh #!/bin/bash if systemctl is-active --quiet nginx; then exit 0 else exit 1 fi #授予文件权限 sudo chmod +x /etc/keepalived/check_nginx.sh
4.检查状态
sudo systemctl status keepalived
验证:两步走,同时进行。
1.可以手动DOWN掉主的网卡,再检查keepalived状态,将网卡启动,再检查keepalived状态。
2.长ping虚拟地址,看丢包状态。理论上会丢一个包或者不丢包。
标签:sudo,配置,keepalived,nginx,vrrp,sh,ubuntu,check From: https://www.cnblogs.com/chuhe42/p/17731967.html