如何配置 Keepalived 监控磁盘剩余空间防止日志爆满导致系统宕机

胖枫大大_3540

胖枫大大_3540

2026-05-12

568人浏览

原创

keepalived可通过自定义vrrp_script监控磁盘使用率实现主备切换:当根分区或/var/log分区使用率超90%时,脚本返回1使优先级降20,触发vip漂移;需配置script路径、interval 10、fall 3、rise 2及track_script关联。

如何配置 keepalived 监控磁盘剩余空间防止日志爆满导致系统宕机

Keepalived 本身不直接监控磁盘空间,但可以通过自定义健康检查脚本(vrrp_script)把磁盘使用率纳入主备切换逻辑——当根分区或日志所在分区使用率超过阈值(如 90%),就主动降低本节点优先级,触发 VIP 漂移,避免服务因磁盘写满而中断。

编写磁盘空间检测脚本

在所有 Keepalived 节点上创建可执行脚本,例如 /etc/keepalived/check_disk.sh:

  • 脚本需有执行权限:chmod +x /etc/keepalived/check_disk.sh
  • 内容示例(监控 / 和 /var/log 分区):
#!/bin/bash
ROOT_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
LOG_USAGE=$(df /var/log 2>/dev/null | awk 'NR==2 {print $5}' | sed 's/%//' || echo 0)
MAX_USAGE=90

if [ "$ROOT_USAGE" -gt "$MAX_USAGE" ] || [ "$LOG_USAGE" -gt "$MAX_USAGE" ]; then
  exit 1  # 告知 keepalived 当前状态异常
else
  exit 0  # 状态正常
fi

在 keepalived.conf 中配置 vrrp_script

在 vrrp_instance 块外(全局作用域)添加监控定义:

vrrp_script check_disk {
  script "/etc/keepalived/check_disk.sh"
  interval 10
  fall 3
  rise 2
  weight -20
}
  • interval 10:每 10 秒执行一次检测
  • fall 3:连续 3 次失败才判定为异常
  • rise 2:连续 2 次成功才恢复为正常
  • weight -20:异常时,将当前节点优先级减去 20(确保低于 backup 节点)

关联脚本到 VRRP 实例

在对应 vrrp_instance VI_1 { ... } 块内加入:

track_script {
  check_disk
}
  • 必须与上面 vrrp_script 名称完全一致
  • Keepalived 启动后会自动加载并周期调用该脚本
  • 一旦脚本返回非 0,weight 生效,优先级动态下调;恢复后自动加回

验证与注意事项

启动前检查:

  • 确认脚本路径、权限、语法无误(可手动执行测试返回值)
  • 主备节点的初始 priority 应预留足够差值(如 master=100,backup=90),确保 -20 权重能真正触发切换
  • 建议配合日志轮转(logrotate)和定期清理策略,脚本只作为最后一道防线
  • 若监控的是 LVM 或挂载点特殊路径(如 /data/logs),需在脚本中替换对应 df 参数
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3052

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1016

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

909

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

474

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2776

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5192

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

807

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习