RAID5 RAID [ FedoraCore3 Linux ]の復旧手順 [RAID1] BACK

項目 確認/設定
Partitonの表示
現在のパーティションを調べます。
# fdisk -l
Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

 デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      514048+  fd  Linux raid 自動検出
/dev/sda2              65         191     1020127+  fd  Linux raid 自動検出
/dev/sda3             192        9726    76589887+  fd  Linux raid 自動検出

Disk /dev/sdb: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

 デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          64      514048+  fd  Linux raid 自動検出
/dev/sdb2              65         191     1020127+  fd  Linux raid 自動検出
/dev/sdb3             192        9726    76589887+  fd  Linux raid 自動検出
RAIDを構成するHDのIdは、fd になっている必要があります。
Idが、83(Linux)になっている場合は、mdadm --manage /dev/mdx -a /dev/sdyn 等で、RAIDを構成(hot add)しても、rebootで、RAIDが外れる現象がおきます。
RAID構成の表示
RAIDの状態を調べます。
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda2[0]
      1020032 blocks [2/2] [UU]

md2 : active raid1 sdb3[1] sda3[0]
      76589760 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
      513984 blocks [2/2] [UU]

unused devices: <none>
上の表示は、全てのRAID1が、正常に動作していることを示しています。
mount状態の表示
HDのマウント状態を調べます。(md0,2 の部分が、RAIDデバイス)
# mount
/dev/md2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/md0 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /var/named/chroot/proc type proc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
ファイルシステムの割付け状態
ファイルシステムの割り付け状態を表示させます。
# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
/dev/md2       /                ext3    defaults        1 1
/dev/md0       /boot            ext3    defaults        1 2
none           /dev/pts         devpts  gid=5,mode=620  0 0
none           /dev/shm         tmpfs   defaults        0 0
none           /proc            proc    defaults        0 0
none           /sys             sysfs   defaults        0 0
/dev/md1       swap             swap    defaults        0 0
/dev/hdc       /media/cdrom     auto    pamconsole,exec,noauto,managed 0 0
この情報により、SWAP領域を割当てているデバイス名(ここでは、md1)が解る。
RAID1障害時のHD復元方法 cat /proc/mdstat コマンドで、壊れているHD名を確認します。
壊れているHDのドライブのパーティションを全て、RAIDから外します。
例.(sdb3が壊れている場合)
 mdadm --manage /dev/md0 -f /dev/sdb1 (故障マークを付加 f:fault)
 mdadm --manage /dev/md0 -r /dev/sdb1 (HDの論理的な取り外し r:remove))
 mdadm --manage /dev/md1 -f /dev/sdb2
 mdadm --manage /dev/md1 -r /dev/sdb2
 mdadm --manage /dev/md2 -f /dev/sdb3
 mdadm --manage /dev/md2 -r /dev/sdb3
HDを交換して、正常に動作しているHDと同じパーティションで、FDISK、フォーマットを行ないます。FDISK時に、Id=fdを指定します。
 /sbin/fdisk /dev/sdb  (パーティションを分割します。)
 /sbin/mke2fs -j /dev/sdb1 (パーティション sdb1をフォーマット)
 /sbin/mke2fs -j /dev/sdb2 (パーティション sdb2をフォーマット)
 /sbin/mke2fs -j /dev/sdb3 (パーティション sdb3をフォーマット)
RAIDに追加します。
 mdadm --manage /dev/md0 --add /dev/sdb1
 mdadm --manage /dev/md1 --add /dev/sdb2
 mdadm --manage /dev/md2 --add /dev/sdb3
reboot しても、RAIDの構成が保存されていることを確認します。

参考URL
Software RAID HOWTO RAID設定メモ Sarge RAIDの修復 mdadm -

Update 2007/03/20