Keepalived 部署主备切换
Keepalived 部署主备切换
一个使用 Keepalived 部署主备切换服务的简单示例。
-
分别在主备服务器安装 keepalived:
sudo yum install keepalived -
备份 keepalived 原始配置文件:
sudo mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak -
修改 keepalived 配置:
sudo vim /etc/keepalived/keepalived.conf-
主服务器配置:
global_defs { router_id MASTER_SERVER } vrrp_script check_service { script "/etc/keepalived/check_service.sh" interval 1 fall 1 rise 1 weight -50 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 2333 } virtual_ipaddress { 10.1.2.53 # VIP } track_script { check_service } } -
备服务器配置
global_defs { router_id BACKUP_SERVER } vrrp_script check_service { script "/etc/keepalived/check_service.sh" interval 1 fall 1 rise 1 weight -50 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 80 advert_int 1 authentication { auth_type PASS auth_pass 2333 } virtual_ipaddress { 10.1.2.53 # VIP } track_script { check_service } }
-
-
主备服务器都添加服务检查脚本:
sudo vim /etc/keepalived/check_service.sh#!/bin/bash # 检查服务状态 server_status=$(curl -s http://127.0.0.1/server_status/) if [[ "$server_status" =~ "running" ]];then exit 0 else exit 1 fi -
添加执行检查脚本用户:
sudo useradd -r -s /sbin/nologin keepalived_script -
设置检查脚本权限:
sudo chown root:keepalived_script /etc/keepalived/check_service.shsudo chmod 750 /etc/keepalived/check_service.sh
-
启动 keepalived 服务:
sudo systemctl start keepalived -
检查 keepalived 服务状态:
sudo systemctl status keepalived -
检查 vip 地址是否绑定:
ip a -
使用 vip 访问服务:
curl http://10.1.2.53/server_status/

浙公网安备 33010602011771号