RAID再構築が完了した後にコマンドを実行するbashスクリプト

RAID再構築が完了した後にコマンドを実行するbashスクリプト

RAID再構築が完了したら、確認してコマンドを実行するスクリプトを持っている人はいますか?

ステータスを確認していて、/proc/mdadm完了resyncしたら、ユーザーに完了したことを知らせるコマンドを実行する必要があります。

RAIDの再構築が完了した後、どのループをチェックするのが最善かわからず、インターネット上でそのようなスクリプトを見つけることができませんでした。

ベストアンサー1

の関連部分が/proc/mdstat下に示されており、ここでU「上」デバイスと_「下」デバイスが表示されます。再起動すると、デバイスは「オフ」と表示され、すべてのデバイスが再び「オン」になるのを待つことができます。

md0 : active raid5 sda1[0] sdd1[2] sdb1[1]
     1465151808 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]

したがって、次のようになります。

dev=md0
until grep -A1 "^$dev :" /proc/mdstat | grep -q '\[UU*\]' ; do
    sleep 2
done 
run some command here...

(最初は指定されたデバイス名を探し、一致する行とそれに続く行を印刷します。2番目は角かっこの間のgreps文字列を探します。)grep -A1U

もちろん、これは最初から回復が実行されていることを確認しません。出力ラインの数が異なるため、出力全体を解釈するにはよりスマートなロジックが必要です。

おすすめ記事