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