keepalived之vrrp_script检测脚本权限问题

使用nginx做负载均衡,keepalived做高可用。做一个检查nginx脚本,如果nginx停止了先尝试重启它,如果仍然失败,则结束keepalived。下面代码并未写结束keepalived,只是写echo输出,测试脚本问题在哪里。

主要代码如下:

vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx_pid.sh"  
    interval 3
}

vrrp_instance VI_1 {
  ......
    track_script {
        chk_nginx
    }
}

随便写个简单脚本如下:
[root@master ~]# cat /etc/keepalived/check_nginx_pid.sh

```
#!/bin/bash
echo "OK" >> /tmp/echo.log

然后给脚本执行权限:
[root@master ~]# chmod +x /etc/keepalived/check_nginx_pid.sh

结果/tmp/echo.log中什么都没有。经过多方寻找和测试,终于找到答案。

vrrp_script chk_nginx 
{	**//这个{要另起一行**
    script "/etc/keepalived/check_nginx_pid.sh"  
    interval 3
}
并且它要放在下面段落之前:
vrrp_instance VI_1 {
......
}

心中一万只草泥马在奔腾

Keepalived是一个开源的高可用软件,常用于实现网络服务的故障切换和负载均衡。当你编写Keepalived脚本时,主要是为了配置虚拟IP地址VIP (Virtual IP) 和心跳检测机制,使得当主服务器宕机时,可以自动将VIP从宕机的服务器转移到其他活动服务器上。 以下是编写Keepalived VRRP(虚拟路由器冗余协议)脚本的基本步骤: 1. **初始化配置**: - 定义VRRP组和VIP,包括VIP的IP地址、子网掩码和优先级。 ```bash vrrp_instance VI_1 { interface <INTERFACE_NAME>; virtual_ipaddress <VIP_IP> netmask <NETMASK>; priority <PRIORITY>; } ``` 2. **心跳检测设置**: - 指定发送和接收VRRP报文的时间间隔。 ```bash advert_int <HEARTBEAT_INTERVAL_IN_SECONDS>; track_script { "<TRACK_SCRIPT_NAME>"; }; ``` 这里`track_script`可以根据网络设备状态调整优先级。 3. **脚本监控**: - 使用shell脚本(如`/usr/local/bin/your_monitor.sh`)检查服务器的运行状态。 ```bash notification { script "/usr/local/bin/your_monitor.sh"; interval 5; } ``` 4. **备份策略**: - 可以设置备份延迟时间,防止短时间内连续切换。 ```bash vrrp_backup { delay <BACKUP_DELAY_IN_SECONDS>; } ``` 5. **启动和停止服务**: - 使用`virtual-router`模式启用VRRP,并在系统关闭时恢复。 ```bash virtual_router_id <ROUTER_ID>; ... global_defs { notify_emails "<EMAIL>"; router_id <HOSTNAME>; } init { chkconfig keepalived on start keepalived } down { stop keepalived } ``` 记得替换上述占位符(如`<INTERFACE_NAME>`、`<VIP_IP>`等)为实际的服务器配置信息。完成脚本编写后,保存并用root权限运行`vi /etc/keepalived/keepalived.conf`编辑配置文件,然后重启Keepalived服务使其生效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值