Files
deploy.stack/crontab/README_disk_inspection.md
cnphpbb fb530c43ce feat(crontab): 添加硬盘巡检脚本及相关文档
添加disk_inspection.py脚本用于检查硬盘健康状态,包括:
- 支持多个megaraid控制器检查
- 生成Markdown格式报告
- 支持通过MCP提交数据
- 添加README和INSTALL文档
- 添加requirements.txt依赖文件
2025-09-10 20:49:12 +08:00

3.0 KiB
Raw Blame History

硬盘巡检脚本使用说明

概述

本脚本使用Python实现了基于smartctl的硬盘巡检功能可以检查多个megaraid控制器下的硬盘健康状态并生成格式化的Markdown报告。同时支持通过MCP协议将报告提交给AI进行分析。

功能特点

  1. 自动检测指定设备上的多个megaraid控制器
  2. 收集每个控制器的SMART信息
  3. 解析并提取关键健康指标
  4. 生成清晰易读的Markdown格式报告
  5. 支持通过MCP协议将报告提交给AI分析

前提条件

  1. 需要root权限运行
  2. 系统已安装smartmontools工具包
    • Ubuntu/Debian: apt install smartmontools
    • CentOS/RHEL: yum install smartmontools
  3. 如需使用MCP功能需要安装MCP客户端

使用方法

直接运行

# 以root权限运行脚本
sudo python3 /home/geng/mydate/deploy.stack/crontab/disk_inspection.py

添加到cron任务定期执行

# 编辑crontab配置
sudo crontab -e

# 添加如下内容每天凌晨2点执行
0 2 * * * python3 /home/geng/mydate/deploy.stack/crontab/disk_inspection.py >> /var/log/disk_inspection.log 2>&1

输出文件

  1. 日志文件: /root/smartctl.日期.log - 原始的SMART信息日志
  2. 报告文件: /root/disk_inspection_report.日期.md - 格式化的Markdown报告
  3. MCP数据文件: /root/mcp_data_日期.json - 准备提交给MCP的数据

通过MCP提交给AI分析

脚本会自动准备好MCP格式的数据并提示您如何提交。具体步骤

  1. 确保您的系统中已安装MCP客户端工具
  2. 使用如下命令提交数据根据您的MCP客户端实际情况调整
# 示例命令
mcp_client submit --file /root/mcp_data_日期.json

自定义配置

您可以修改脚本中的以下参数来适应您的环境:

  • device: 要检查的硬盘设备(默认:/dev/sda
  • controller_count: megaraid控制器数量默认8
  • log_dir: 日志和报告保存目录(默认:/root

报告内容说明

生成的Markdown报告包含以下内容

  1. 基本信息: 检查日期、设备名称
  2. 健康状态概览: 总控制器数、健康和异常控制器数量统计
  3. 详细信息表格: 每个控制器的型号、序列号、固件版本、健康状态和温度
  4. 异常详情: 有问题的控制器的详细信息
  5. 建议: 根据检查结果提供的维护建议

注意事项

  1. 请确保定期执行此脚本,以便及时发现潜在的硬盘问题
  2. 重要数据请始终保持备份
  3. 如发现硬盘异常,请密切关注并考虑及时更换
  4. MCP功能需要正确配置MCP客户端才能使用

故障排除

  • 问题: 运行脚本时提示权限错误 解决: 使用sudo或以root用户运行脚本

  • 问题: 找不到smartctl命令 解决: 安装smartmontools工具包

  • 问题: MCP提交失败 解决: 检查MCP客户端是否正确安装和配置


创建日期: " + datetime.datetime.now().strftime("%Y-%m-%d") + "