ソフトウェアRAIDの健全性確認と故障ディスク交換
監視アラートで「RAIDがdegraded」と通知が来た。mdadmで組んだRAID1の状態を確かめ、壊れたディスクを安全に交換したい。
手順
cat /proc/mdstatRAIDアレイの一覧と状態を一目で確認する。[UU]なら正常、[U_]のように_があればそのスロットのディスクが脱落している。sudo mdadm --detail /dev/md0アレイの詳細を表示し、faultyやremovedになっているデバイス名(例: /dev/sdb1)を特定する。sudo mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1故障ディスクを明示的にfail扱いにしてからアレイから外す。既にfaultyでも、removeの前にfailを通すのが定石。ls -l /dev/disk/by-id/ | grep sdb物理的に抜くディスクのシリアル番号を確認する。サーバの前で「どっちの筐体スロットか」を間違えるのが最悪の事故。sudo mdadm /dev/md0 --add /dev/sdb1新しいディスクに同じ構成のパーティションを切ったうえでアレイに追加する。追加した瞬間から再同期(リビルド)が始まる。watch cat /proc/mdstatリビルドの進捗をパーセント表示で見守る。完了して[UU]に戻れば復旧完了。⚠
注意リビルド中は残った片方のディスクに負荷が集中し、そこが二次故障すると全損する。リビルド完了までバックアップを別途確保し、負荷の高いバッチ処理は避けること。