RAID 10などの冗長構成であっても、同一ミラーグループ内のディスクが同時に故障するという極端な状況下ではデータ損失を免れません。このようなリスクを最小限に抑えるための技術が「ホットスペア(予備ディスク)」です。ホットスペアは、アレイ内のディスクが故障した際に、待機状態のディスクが即座に自動で組み込まれ、データの再構築(リビルド)を開始する仕組みです。
1. 環境の準備
RAID 5を構築するには最低3本のディスクが必要ですが、これにホットスペアを1本加えるため、計4本のディスクデバイスを準備します。本ガイドでは、LinuxのソフトウェアRAID管理ツールであるmdadmを使用します。
2. RAID 5アレイとホットスペアの作成
以下のコマンドを使用して、3構成+1スペアのRAID 5アレイを作成します。ここでは、/dev/sdbから/dev/sdeまでの4つのデバイスを使用する例を示します。
# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]
各オプションの意味は以下の通りです:
--level=5(-l 5): RAIDレベル5を指定。--raid-devices=3(-n 3): アクティブなディスク数を3に設定。--spare-devices=1(-x 1): 予備のホットスペアを1に設定。
作成後、アレイの状態を確認すると、1本がスペア(spare)として待機していることがわかります。
# mdadm --detail /dev/md0
3. ファイルシステムの作成とマウント
RAIDデバイスが認識されたら、ファイルシステムを作成します。ここではXFS形式を採用します。RAID 5(ディスク3本構成)の場合、利用可能な容量は「n-1」本分となり、ホットスペアの容量は計算に含まれません。
# mkfs.xfs /dev/md0
# mkdir -p /mnt/raid_storage
# mount /dev/md0 /mnt/raid_storage
4. 障害シミュレーションと自動復旧の確認
運用中にディスクが故障した状況を再現するため、意図的に/dev/sdbを「故障(fail)」状態にします。
# mdadm /dev/md0 --fail /dev/sdb
故障が発生した直後にアレイの状態を確認すると、故障したデバイスが切り離され、即座にスペアディスクがアクティブとして昇格し、データの再構築が開始されることが確認できます。数分後、リビルドが完了するとアレイは再び正常な(Clean)状態に戻ります。
5. スペアディスクの追加
故障したディスクを取り除いた後、新しいディスクを再びホットスペアとしてアレイに追加することで、冗長性を維持できます。
# mdadm /dev/md0 --add /dev/sdf
6. RAIDアレイの削除手順
検証やリプレースのためにRAID環境を削除する場合は、以下の手順で行います。データの整合性を保つため、まずマウントを解除し、各デバイスを停止させてからアレイを解体します。
# umount /mnt/raid_storage
# 構成デバイスをすべて故障状態にしてから削除(一括操作の例)
# mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
# mdadm /dev/md0 --fail /dev/sdd --remove /dev/sdd
# mdadm /dev/md0 --fail /dev/sde --remove /dev/sde
# mdadm /dev/md0 --fail /dev/sdf --remove /dev/sdf
# RAIDアレイ自体の停止
# mdadm --stop /dev/md0
最後に、各物理ディスクのメタデータを消去することで、ディスクを初期状態に戻すことができます。
# mdadm --zero-superblock /dev/sd[b-f]