iSCSIサーバーのソフトウェアRAID再構築

作業日: 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時間で終了。

Comments are closed.