Raid1の復旧手順まとめ
Raid1(ミラーリング)の復旧作業を行ったので、手順をまとめておきます。
状況
・/dev/sda
/dev/sda1(/bootにマウント)
/dev/sda2(/にマウント)
・/dev/sdb
/dev/sdb1(/bootにマウント)
/dev/sdb2(/にマウント)
ディストリビューションはCentOS5です。mdadmでソフトRAIDを構築しています。
ブートローダはsda1にのみインストールされている状態で、今回はsdbが故障しました。
もしもsdaが故障した場合は、sdaを外した後、レスキューCDなどで起動し、
sdb1にブートローダをインストールします。その後sdaのケーブルに指し直し、以下を実行します。
手順
1.取り外すディスクを”Fail”状態にする。
mdadm --manage /dev/md0 --fail /dev/sdb1 mdadm --manage /dev/md1 --fail /dev/sdb2
2.”Fail”状態にしたディスクを”remove”する。
mdadm --manage /dev/md0 --remove /dev/sdb1 mdadm --manage /dev/md1 --remove /dev/sdb2
3.PCをシャットダウンする
shutdown -h now
4.新しいHDDをsdbとして認識させる
mdadm --manage /dev/md0 --add /dev/sdb1 mdadm --manage /dev/md1 --add /dev/sdb2 11:16 raidAdd Start
5.どのHDDが何というHDD名で認識されているかを確認
# cat /boot/grub/device.map # this device map was generated by anaconda (hd0) /dev/sda (hd1) /dev/sdb
6.各HDDのパーティションがどうなっているかを確認
# fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 fd Linux raid 自動検出 /dev/sda2 14 60801 488279610 fd Linux raid 自動検出 Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sdb1 * 1 13 104391 fd Linux raid 自動検出 /dev/sdb2 14 60801 488279610 fd Linux raid 自動検出 Disk /dev/md1: 499.9 GB, 499998195712 bytes 2 heads, 4 sectors/track, 122069872 cylinders Units = シリンダ数 of 8 * 512 = 4096 bytes ディスク /dev/md1 は正常な領域テーブルを含んでいません Disk /dev/md0: 106 MB, 106823680 bytes 2 heads, 4 sectors/track, 26080 cylinders Units = シリンダ数 of 8 * 512 = 4096 bytes ディスク /dev/md0 は正常な領域テーブルを含んでいません
7.各パーティションがRaidにどう割り当てられているかを確認
# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 104320 blocks [2/2] [UU] md1 : active raid1 sdb2[2] sda2[0] 488279488 blocks [2/1] [U_] [===========>.........] recovery = 55.9% (273297792/488279488) finish=85.6min speed=41824K/sec unused devices: <none>
(8.grubが入っていない方(sdb)にgrubを追加)
# grub grub> device (hd0) /dev/sdb grub> root (hd0,0) grub> install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf ※または以下(hdを1に。) # grub grub> device (hd1) /dev/sdb grub> root (hd1,0) grub> install /grub/stage1 (hd1) /grub/stage2 p (hd1,0)/grub/grub.conf
まとめ
Raid1の修復作業を行ったので手順をまとめました。Raid1はミラーリングを行ってくれるのでとても便利ですが、
あまり設定し直しをすることがないため、時々こういうディスク不具合が発生すると、手間取ってしまいます。
そのようなときのリマインドでした。