作業日: 12 Apr., 2014
RAID1を構成するHDDの一つが壊れたので、新しいHDDを買ってRAID1を再構成。
準備
まず、壊れたHDDを取り除いて、新しいHDDをセットし、PCを起動。
cat /proc/mdstat
で
md126 : active raid1 sdd1[0] 312569040 blocks super 1.2 [2/1] [U_]
のように表示され、U_となっていることから、RAID1がDegradedとなっていることがわかる。
新HDDのパーティショニング
sudo fdisk -l
で、新しいHDDは、/dev/sdeと認識されていることがわかった。
下記のような表示。
Disk /dev/sde: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sde doesn't contain a valid partition table
ちなみに、そのカウンターパートのHDDは、/dev/sddとして認識され、
Disk /dev/sdd: 320.1 GB, 320072933376 bytes 81 heads, 63 sectors/track, 122504 cylinders, total 625142448 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x8d0ff01f Device Boot Start End Blocks Id System /dev/sdd1 2048 625142447 312570200 fd Linux raid autodetect
のようになっている。
今回は、両方のHDDのセクター数は同じであるため、
sudo fidsk /dev/sde
で全域を使って基本パーティションを作成し、ディスクラベルをfd Linux raid autodetectに設定。セクター数が違う場合は、RAIDに使用するパーティションのセクター数を元々ある方と一致させる。違っていても、よりサイズが大きい場合はRAIDは作れるけど容量が無駄になる。
RAIDの再構築
RAID1に新しいディスクを追加する。RAID1は/dev/md/vmstoreとして設定されているので、
sudo mdadm --manage /dev/md/vmstore --add /dev/sde1
を実行。
ちなみに、RAID1のパスは、/etc/mdadm/mdadm.confに書かれている。別に、/proc/mdstatの/mdev/md126を使っても良い。
後は、
sudo cat /proc/mdstat
で進捗状況を確認。
途中では、
md126 : active raid1 sde1[2] sdd1[0] 312569040 blocks super 1.2 [2/1] [U_] [>....................] recovery = 0.8% (2603712/312569040) finish=71.1min speed=72620K/sec
みたいになるが、終了すると
md126 : active raid1 sde1[2] sdd1[0] 312569040 blocks super 1.2 [2/2] [UU]
のようになる。320GB程度なので、1~2時間で終了。