RAID 0(ストライピング)は、複数のディスクにデータを分散して書き込むことで、ディスクI/Oのパフォーマンスを最大化する構成です。連続するデータをブロック単位で各ディスクに並列に書き込むため、ディスク枚数に比例した読み書き速度の向上が期待できます。一方で、冗長性を一切持たないため、構成するディスクのうち1台でも故障すると全データが失われるというリスクがあります。そのため、一時的な作業領域や高速なキャッシュなど、データの安全性よりも速度が優先される用途に適しています。
1. パーティションの準備
まず、RAIDを構成するための物理パーティションを用意します。ここでは例として、/dev/sdb1と/dev/sdc1の2つのパーティションを使用します。各パーティションのシステムIDは、RAID用(Linux raid autodetect)に設定されている必要があります。
# パーティション情報の更新を確認
partprobe
2. RAID 0アレイの作成
mdadmコマンドを使用して、新しいRAID 0デバイスを作成します。以下のコマンドでは、2つのデバイスを束ねて/dev/md0を生成します。
# RAID 0 アレイの構築
mdadm --create /dev/md0 \
--level=0 \
--raid-devices=2 \
/dev/sdb1 /dev/sdc1
# 実行結果の確認
# mdadm: array /dev/md0 started.
各オプションの意味は以下の通りです:
--create(-C): 新しいアレイを作成する。--level=0(-l 0): RAIDレベルを0(ストライピング)に指定。--raid-devices=2(-n 2): アレイを構成するデバイス数を指定。
3. ファイルシステムの作成
作成された仮想デバイス/dev/md0に対して、ファイルシステムを作成します。ここでは現代的なLinuxで標準的なXFSを使用する例を示します。
# XFSファイルシステムの作成
mkfs.xfs /dev/md0
作成後、blkidコマンドでUUIDを確認しておきます。これは後の自動マウント設定で使用します。
blkid /dev/md0
# 出力例: /dev/md0: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="xfs"
4. マウントと永続化の設定
作成したRAIDデバイスをディレクトリにマウントし、システム起動時に自動的に認識されるよう設定します。
# マウントポイントの作成
mkdir -p /mnt/raid0
mount /dev/md0 /mnt/raid0
# マウント状態の確認
df -hT /mnt/raid0
OS再起動後も自動でマウントを継続させるため、/etc/fstabに設定を追記します。
# /etc/fstab への追記例
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /mnt/raid0 xfs defaults 0 0
5. RAIDアレイの詳細確認
RAIDの動作状態や構成ディスクの詳細は、以下のコマンドで詳細に確認することが可能です。
mdadm --detail /dev/md0
出力される情報の主な項目:
- Raid Level: raid0 であること。
- Array Size: 合計のストレージ容量。
- Chunk Size: データを分割する際のブロックサイズ(デフォルトは通常512K)。
- State: clean(正常動作中)であること。
- Number Major Minor RaidDevice State: 構成ディスクの一覧と状態。