盘清单采集脚本是什么
盘清单脚本的职责是把一台机器上的盘资产信息定期、可重复、只读地导出成带时间戳的文件:型号、序列号、容量、固件、槽位、SMART 摘要与阵列状态。它的价值在换盘、扩容、报修三个时点集中体现——手里先有机器现状的书面版本,才有对照基准。脚本设计的第一原则是只读,第二原则是输出格式稳定,第三原则是可被配置管理体系接管。
基本信息
| 适用平台 | Linux 服务器,依赖 smartmontools、storcli/perccli 或 sas3ircu 等厂商工具 |
|---|---|
| 执行权限 | 读盘健康与卡侧信息通常需要 root |
| 输出约定 | 文件名带主机名与日期,内容分段标注来源命令 |
| 接入方式 | 随巡检周期定时执行,重大变更后手动补采一次 |
| 存放位置 | 本地归档目录或与监控、资产系统对接,避免单机孤岛 |
典型使用场景
- 换盘前取证:动手前先采集一份现状清单,换盘后可逐项比对差异
- 扩容规划:统计现有盘位、型号与固件分布,确认新盘能否与在役盘同规格
- 报修材料:厂商要求提供配置与序列号时,直接用既有清单而不是现场临时敲命令
- 审计留痕:证明某时间点的资产状态,回答合规问询
- 故障复盘:把故障时段前后的清单放在一起看,判断是否属于批量问题
只读采集框架
只读采集框架
OUT=/var/log/disk-inv/$(hostname)-$(date +%F).txt # 文件名带主机与日期
mkdir -p $(dirname $OUT)
{
echo "== lsblk =="; lsblk -d -o NAME,SIZE,MODEL,SERIAL # 系统侧盘身份
echo "== raid =="; storcli /c0/eall/sall show all | grep -E "EID:Slt|SN =|Model|State" # 卡侧槽位与状态
echo "== smart =="; for d in /dev/sd?; do echo "-- $d"; smartctl -H -i $d | grep -E "Model|Serial|health"; done # 健康摘要
} > $OUT
wc -l $OUT # 确认输出非空,采集成功采集项与来源
| 采集项 | 来源命令 | 用途 |
|---|---|---|
| 盘身份 | lsblk 与 smartctl -i | 资产核对与换盘对照 |
| 卡侧槽位 | storcli 或 perccli 的 eall/sall | 现场点灯与拔盘定位 |
| 健康摘要 | smartctl -H 与关键属性 | 快速筛出异常盘 |
| 阵列状态 | 卡工具的逻辑盘与物理盘状态 | 确认是否处于降级 |
脚本改动走版本管理与评审:巡检采集逻辑一旦失传,历史数据和新数据就无法对齐口径。
采集脚本里不要出现任何写操作或格式化的分支,巡检工具误伤生产的代价远高于它带来的便利。