前一段時間,機房的存儲陣列掛掉2個塊硬盤,導致數據全部丟失,好在數據不是很重要的,否則損失慘重。今天特地研究了一下如何用腳本來監控陣列的硬盤狀態的方法,初步方法如下:
首先,安裝IBM subsystem 管理軟件SMclient, 這個可以在IBM 官方網站下載到。
其次,配置外部smtp 服務器,或者自己配置一個sendmail 服務器。方法可以在網上找到。這一步是爲了
利用mail 向指定郵箱發送報警郵件。
腳本如下:
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
NUM_FAILED_Drivers=`SMcli -e 192.168.0.98 -c "show allDrives;"|grep "Status"|grep -v "Optimal"|wc -l`
if [ $NUM_FAILED_Drivers -gt 0 ];then
echo "the number of failed drivers is $NUM_FAILED_Drivers."|/usr/local/bin/mail \
-s "drivers failed" ******@qq.com>/dev/nul 2>&1 #把接受報警的郵箱填上。
echo "drivers failure happen in storage subsystem at $(date +%F).">>"$0".log
fi
最後把這個腳本加入定時任務,
$crontab -e
輸入:00 08 * * * sh /root/admin_script/subsystemStatus.sh,保存。
這樣每天早上8點,腳本會定時執行,檢查硬盤的狀態,如果有故障,將會發送報警郵件。
這個只是初步腳本,不夠完善。但目前還沒有想到更好的方法。