mdadmでRAIDデバイスを作成する


LinuxでUSB外付けハードディスクを4台使ってRAID6デバイスを作成する手順

前提

RAIDデバイスを作成する場合、すべてのディスクがほぼ同じ転送速度でないと、ボトルネックになるデバイスが発生する可能性があるので、理想はすべて同一モデル、回転数、容量のものを選びます。それが難しい場合でも最低でも容量が同一でないと無駄になるエリアが発生することに注意が必要です。

ハードディスクの収納されているケース内で最も熱がたまり易い部位に存在するディスクから壊れる傾向があるため、例えば4台で内側の1台が壊れた場合には内側のもう一台も故障の時期が近い恐れがあります。

RAID5の場合1台までの故障はカバーされますが、2台同時に故障してしまうとデータが消失してしまうことになり、RAID6ではその点がカバーされ、2台同時に故障しても回復することが可能になっています。ただしその分パリティエリアのサイズが大きくなるため、RAIDデバイスの容量が小さくなってしまうという点がデメリットとして生じます。

RAID5/RAID6デバイスはハードディスク1台に比べてパフォーマンスや信頼性に優れはしますが、バックアップについて事前にしっかりと計画しておくことが重要です。

mdadmをインストールします

  • ubuntu/debian系
sudo apt install mdadm
  • Redhat系
sudo yum install mdadm

md デバイスを作成します

sudo mdadm --create /dev/md/md0 --level=raid6 --raid-devices=4 --verbose /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

コマンドの実行後RAIDデバイスの構築が行われるため、すべてのディスクへのI/Oがしばらく発生します。ディスク容量や構成にもよりますが、それなりに時間がかかります。

マウント

sudo mount /mnt/raid /dev/md0

ステータス確認

sudo mdadm --detail /dev/md0

デバイスをfailステータスへ変更する

デバイスをremoveするために、事前にfailステータスへ変更する

sudo mdadm --fail /dev/md0 /dev/sdc1

デバイスのadd

sudo mdadm --add /dev/md0 /dev/sdg1

デバイスのremove

busy状態のデバイスはremoveできないので注意

sudo mdadm --remove /dev/md0 /dev/sdg1

注意点

USBデバイスはかんたんに着脱が可能であるため、動作中のRAIDデバイスに使用されているHDDを誤ってdisconnectしてしまうと、Rebuild処理が走るだけでなく、RAID5なら1つ、RAID6なら2つまでのデバイスの切断までは大丈夫ですが、それ以上のデバイスが切断されてしまうとデータを消失しますので、よく注意してください。