2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

(raid再構築) こんなこともあろうかと思って何となく raid にしといたらディスクが死んだ --- Don't panic

Posted at

概要

mdadm で raid-5 (ディスク3つ) のアレイを運用していたが、ディスクが壊れたり壊れそうになったりして再構築を経験したので、その手順の備忘メモ。ポイントは

  • 死にかけているディスクの交換
  • 完全に死んでしまったディスクの交換

で手順が違うこと。(特に後者はなかなか情報がなくて困ったのでこれが役に立てば幸いです。)
以下、アレイ /dev/md0/home にマウントされているとして、 アレイを構成するディスクのうち /dev/sdc1 を交換する対象とします。

状況確認

以下のコマンドあたりで状況を把握しましょう。

# cat /proc/mdstat
# mdadm --detail /dev/md0
# mdadm --examine /dev/sdc1 

まだ生きているディスクの交換

  • step 0: 念のためアンマウント
# umount /home
  • step 1: ダメなディスクにこいつダメですの烙印押印
# mdadm --manage /dev/md0 --fail /dev/sdc1

どうぜ外しちゃうんだから不要な気もしますが、いちおうこうしておくのが正しい手順らしいです。

  • step 2: ダメなディスクをアレイから除去
# mdadm --manage /dev/md0 --remove /dev/sdc1

これで /dev/md0 はdegraded modeになるので冗長構成ではなくなります。危ない状態なので一刻も早く本来の構成に戻してあげましょう。まずは poweroff して /dev/sdc のディスクを交換します。ぼくの場合、同一容量の別メーカのディスクにしましたが問題ありませんでした。聞くところによると大きい方なら容量が違ってても交換可能とのことです。(試したことはありません。)

  • step 3: 新しいディスクの初期化

新しいディスクを取り付けて起動し、シングルユーザモードでログインします。やはり怖いので念のため umount /home しておきます。そしたらgdisk などで /dev/sdc1 パーティションを作成します。パーティションIDは 0xfd00 (linux RAID)にしました。

  • step 4: RAIDに新しいディスクを追加
# mdadm --manage /dev/md0 --add /dev/sdc1

はいこれで終了です。cat /proc/mdstat 等で確認すると再構築が始まっているのが確認できます。その気になればすぐにマウントして使い始めてもいいのでしょうが、時間に余裕があるなら再構築が完了するまで待ってから再起動しましょう。

完全に死んでしまったディスクの交換

どちらかというとこちらの方がよくあるケースなんじゃないかと思いますが、突然 /dev/sdc を認識しなくなってしまったような場合です。

  • step 1: /dev/md0 をディアクティベート
# mdadm --stop /dev/md0
  • step 2: 何とかdegrated として認識
# mdadm --assemble --scan

これで認識してくれたら一安心。あとは poweroff して前節の step 3 から手順を踏めば ok です。たぶん。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?