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

98 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 硬盘巡检脚本使用说明
## 概述
本脚本使用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客户端
## 使用方法
### 直接运行
```bash
# 以root权限运行脚本
sudo python3 /home/geng/mydate/deploy.stack/crontab/disk_inspection.py
```
### 添加到cron任务定期执行
```bash
# 编辑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客户端实际情况调整
```bash
# 示例命令
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") + "