小编Zer*_*ive的帖子

在服务器的所有磁盘上运行 smartctl

我的问题很简单,我想smartctl -i -A在服务器拥有的所有磁盘上运行该命令。\n我认为我的服务器太多,具有不同数量的磁盘和 RAID 控制器,那么我需要扫描所有驱动程序进行诊断.\n我正在考虑运行smartctl --scan | awk \'{print $1}\' >> test.log,因此如果我打开 test.log,我将在其中包含所有驱动器信息。
\n此后,我需要运行一些 if 或 do 结构来扫描smartctl所有驱动程序。\n我不知道这是否是执行此操作的最佳方法,因为我也需要识别 RAID 控制器。\n我正在前往方向正确吗?

\n\n

编辑:

\n\n

我习惯使用这些命令来排除故障:

\n\n

不带 RAID 控制器

\n\n
for i in {c..d}; do\n    echo "Disk sd$i" $SN $MD\n    smartctl -i -A /dev/sd$i |grep -E "^  "5"|^"197"|^"198"|"FAILING_NOW"|"SERIAL""\ndone\n
Run Code Online (Sandbox Code Playgroud)\n\n

PERC控制器

\n\n
for i in {0..12}; do\n    echo "$i" $SN $MD\n    smartctl -i -A -T permissive /dev/sda -d megaraid,$i |grep -E "^  "5"|^"197"|^"198"|"FAILING_NOW"|"SERIAL""\ndone\n/usr/sbin/megastatus \xe2\x80\x93physical\n/usr/sbin/megastatus --logical\n
Run Code Online (Sandbox Code Playgroud)\n\n …

raid logs shell-script hard-disk smartctl

7
推荐指数
1
解决办法
3万
查看次数

标签 统计

hard-disk ×1

logs ×1

raid ×1

shell-script ×1

smartctl ×1