Amazon Linux 2023 で EBS ボリュームを使った RAID 0 構成をやってみた
はじめに
テクニカルサポートの 片方 です。
Amazon Linux 2023 上で EBS ボリュームを使った RAID 0 構成 を実際に試してみた際の内容を紹介します。
EBS ボリュームは単体でも高い耐久性とパフォーマンスを持っています。
一方で、より高いスループットや IOPS が求められるワークロードでは、複数の EBS ボリュームを RAID 0(ストライピング)構成にすることで性能をスケールさせることができます。
ドキュメントの通り、EBS ボリュームではソフトウェア RAID を利用する前提で、RAID 0 がパフォーマンス用途に適していることが紹介されています。
今回は、以下の流れで試しました。
- Amazon Linux 2023 OS で EC2 インスタンスを使用
- 複数の EBS ボリュームをアタッチ
- mdadm を使って RAID 0 を構成
- ファイルシステムを作成してマウント
- 動作確認
注意点
RAID 0 の特性について
RAID 0 は、複数の EBS ボリュームに I/O をストライピングすることで、単一 EBS ボリュームでは得られない高い IOPS とスループットを実現できます。
一方で、構成している EBS ボリュームのうち 1 本でも失われると、配列全体のデータが失われます。
RAID 0 は可用性よりもパフォーマンスを優先する構成である点に注意が必要です。
他の RAID レベルについて
公式ドキュメントでは、以下の RAID レベルは推奨されていません。
-
RAID 5 / RAID 6
パリティ書き込みにより IOPS が消費され、RAID 0 と比べて 20〜30% 程度、使用可能な IOPS が低下します。 -
RAID 1
複数ボリュームへの同時書き込みが必要となり、書き込み性能の向上は得られません。
ルートボリュームでの利用について
RAID 構成の EBS ボリュームを ルートデバイスとして使用することは推奨されていません。
構成しているデバイスのいずれかに障害が発生した場合、OS が起動できなくなる可能性があります。
やってみた
検証環境は以下のとおりです。
| 項目 | 内容 |
|---|---|
| リージョン | 東京リージョン(ap-northeast-1) |
| EC2 インスタンスタイプ | m5.large |
| OS | Amazon Linux 2023 |
| ルートボリューム | EBS(RAID 構成には含めない) |
| データ用 EBS ボリューム | gp3(デフォルト設定)× 2 |
| RAID 構成 | RAID 0 |
| RAID 管理ツール | mdadm |
| ファイルシステム | ext4 |
データ用の EBS ボリュームは、gp3 タイプのデフォルト設定(3,000 IOPS / 125 MiB/s)のものを
2 つ作成し、EC2 インスタンスにアタッチしています。
なお、前述の通り ルート EBS ボリュームは RAID 構成には含めず、データ用の EBS ボリュームのみを RAID 0 として構成します。

EBS ボリュームをアタッチ後、EC2 インスタンスにログインし、lsblk コマンドでデバイスが認識されていることを確認します。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 8G 0 disk
├─nvme0n1p1 259:3 0 8G 0 part /
├─nvme0n1p127 259:4 0 1M 0 part
└─nvme0n1p128 259:5 0 10M 0 part /boot/efi
nvme1n1 259:1 0 8G 0 disk
nvme2n1 259:2 0 8G 0 disk
準備ができたので、nvme1n1 と nvme2n1 を RAID 0 を構成するデータ用 EBS ボリュームとして使用します。
mdadm インストール ~ 設定
mdadm を使用して EBS ボリューム 2 つを利用した RAID 0 構成を作成します。
Amazon Linux 2023 では、mdadm がデフォルトでインストールされていないため、まずはパッケージをインストールします。
$ sudo dnf install -y mdadm
インストール後、mdadm コマンドが実行できることを確認します。
$ mdadm --version

今回は、以下の 2 つのデバイスを使って RAID 0 を構成します。
- /dev/nvme1n1
- /dev/nvme2n1
mdadm を使って RAID デバイスを作成します。
$ sudo mdadm --create --verbose /dev/md0 --level=0 --name=MY_RAID --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1
mdadm を使って RAID 0 デバイスを作成し、/proc/mdstat および mdadm --detail コマンドで状態を確認します。
検証時では State が clean となっており、RAID 0 が正常に構成されていることを確認できました。
$ sudo cat /proc/mdstat
$ sudo mdadm --detail /dev/md0
※ 適宜修正してください。

ファイルシステムを作成してマウントする
作成した RAID 0 デバイス /dev/md0 に対して、ファイルシステムを作成し、EC2 インスタンスにマウントします。
本検証では、公式ドキュメントの通り ext4 ファイルシステムを作成します。
あわせて、後続のマウントで使用できるように ラベルも設定します。
$ sudo mkfs.ext4 -L MY_RAID /dev/md0
$ sudo mkfs.ext4 -L MY_RAID /dev/md0
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 4189696 4k blocks and 1048576 inodes
Filesystem UUID: bf74d0ae-c3fc-43c4-b4c4-591de6cd0bf7
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
コマンド実行後、特にエラーが表示されなければファイルシステムの作成は正常に完了しています。
続いて、RAID デバイスをマウントするためのディレクトリを作成します。
$ sudo mkdir -p /mnt/raid
作成したファイルシステムをマウントします。ここでは、デバイス名ではなく ラベルを指定してマウントします。
$ sudo mount LABEL=MY_RAID /mnt/raid
念のため、以下のコマンドでマウントされていることを確認します。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 444K 1.6G 1% /run
/dev/nvme0n1p1 8.0G 1.6G 6.4G 20% /
tmpfs 3.8G 0 3.8G 0% /tmp
/dev/nvme0n1p128 10M 1.3M 8.7M 13% /boot/efi
/dev/md0 16G 24K 15G 1% /mnt/raid
適切にマウントされていますね。
これで設定は完了です。お疲れさまでした。

補足
/etc/fstab を設定していません。以下のドキュメントを参考に必要に応じて、設定してください。
(Optional) To mount this Amazon EBS volume on every system reboot, add an entry for the device to the /etc/fstab file.
確認してみた
RAID 0 で構成した /mnt/raid に対して、実際にデータを書き込めることを確認します。
テスト用ファイルの書き込みとして、まずは 100MB のテストファイルを書き込みます。
以下のコマンドでは、
- /dev/zero からデータを読み込み
- /mnt/raid/testfile に
- 100MB 分書き込む
という、単純な書き込みテストが可能です。
$ sudo dd if=/dev/zero of=/mnt/raid/testfile bs=1M count=100
$ sudo dd if=/dev/zero of=/mnt/raid/testfile bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0611885 s, 1.7 GB/s
こちらのコマンド結果より、以下を確認することが出来ました。
- /mnt/raid への書き込みがエラーなく完了
- RAID 0 ボリュームが正しく利用できている
- RAID 0 構成の高いスループット
※ 簡易的な動作確認を目的としているため、厳密なベンチマーク測定は行っていません。
dd コマンドを使って RAID 0 ボリュームへの書き込み確認を行いましたが、エラーなく処理が完了し、RAID 0 構成のボリュームが正常に利用できることを確認できました。

まとめ
Amazon Linux 2023 環境でも、AWS 公式ドキュメントに沿った手順で EBS ボリュームを使った RAID 0 構成が問題なく行えることを確認できました。
本ブログが、同様の構成を検討している方の参考になれば幸いです。
参考資料
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました






