「設定 - RAID10 (RHEL)」の版間の差分
227行目: | 227行目: | ||
<br> | <br> | ||
==== 障害ディスクの削除 ==== | ==== 障害ディスクの削除 ==== | ||
RAID配列 (/dev/md0) 内の特定のディスク (/dev/sdXY) において、意図的に"故障"状態とマークする。<br> | |||
これは実際のハードウェア故障をシミュレートするような動作である。<br> | |||
<br> | |||
例えば、ディスクの交換やメンテナンスの前準備として使用される。<br> | |||
# X : ストレージ番号 | # X : ストレージ番号 | ||
# A | # A : パーティション番号 | ||
sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --fail /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span> | sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --fail /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span> | ||
<br> | |||
"故障"マークの後に実行して、該当ディスクをRAID配列から物理的に削除する。<br> | |||
この操作により、マークされたディスクを安全にRAIDアレイから取り外すことができる。<br> | |||
<br> | |||
例えば、新しいディスクに交換する際の準備段階として使用される。<br> | |||
# X : ストレージ番号 | |||
# A : パーティション番号 | |||
sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --remove /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span> | sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --remove /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span> | ||
<br> | <br> | ||
上記のコマンドは、以下に示すような状況で使用される。<br> | |||
* ディスクの予防的交換が必要な場合 | |||
* 実際に問題のあるディスクを交換する場合 | |||
* RAIDアレイの再構成が必要な場合 | |||
<br> | |||
上記のコマンドにおいて、<code>--fail</code>オプションを実行した後に<code>--remove</code>オプションを実行する必要がある。<br> | |||
これにより、RAIDアレイのデータ整合性を保ちながら、安全にディスクを取り外すことができる。<br> | |||
<br> | |||
==== 新しいディスクの追加 ==== | ==== 新しいディスクの追加 ==== | ||
# X : ストレージ番号 | # X : ストレージ番号 |
2025年1月2日 (木) 16:15時点における版
概要
RAID10とは、RAID1とRAID0を組み合わせた方式である。
2つのディスクにまったく同じデータを書き込み、さらに、データをブロック単位に分割して並列に書き込む。
RAID1+0では、RAID0を構成するRAID1の構成ドライブ2台がどちらも故障しない限り、データは破壊されない。
RAID10を構築する場合は、最低4台の物理ディスクが必要となる。
RAID10の特徴を以下に示す。
- 2つのディスクへ同時書き込む(ミラーリング)を行い、かつ、データをブロック単位に分割(ストライピング)して書き込む。
- RAID1の冗長性とRAID0の高速性を組み合わせたRAID方式。
- 容量コストが倍になるが安全性の高いRAID構成である。
※注意
データのバックアップを必ず取ることが推奨される。
ディスク障害時の交換手順も把握しておくことが重要となる。
システムの再起動後において、RAIDアレイが正常にマウントされることを確認すること。
RAID10の同期完了を待機した後、本番データを配置することが推奨される。
mdadmのインストール
mdadmパッケージをインストールする。
sudo dnf install mdadm
ディスクの確認
利用可能なディスクを確認する。
sudo fdisk -l # または lsblk
パーティションの作成 (オプション)
# X : ストレージ番号
sudo fdisk /dev/sdX
- [N]キーを押下して、新規パーティションを作成する。
- [P]キーを押下して、プライマリパーティションを作成する。
- 次に、デフォルトの開始セクタを入力する。
- デフォルトのサイズを入力する。
- [W]キーを押下して保存する。
RAID10アレイの作成
- 例: /dev/md0
- 作成するRAIDデバイス名
- 例: /dev/sdXA, /dev/sdYB, /dev/sdZC, /dev/sdWD
- 使用するデバイスを指定
--levelオプション
--level
オプション または -l
オプションは、RAIDレベルを指定するためのオプションである。
指定可能な値を以下に示す。
- raid0 または 0
- ストライピングのみ
- データを複数のディスクに分散して書き込む。
- 冗長性なし、性能向上が目的
- 必要なディスク数は、最低2台である。
- raid1 または 1
- ミラーリング
- 同じデータを複数のディスクに書き込む。
- 完全な冗長性を提供する。
- 必要なディスク数は、最低2台である。
- raid4 または 4
- ストライピング + 専用パリティ
- 1台のディスクをパリティ専用として使用する。
- 必要なディスク数は、最低3台である。
- 現在はあまり使用されていない。
- raid5 または 5
- ストライピング + 分散パリティ
- パリティ情報を全ディスクに分散する。
- 1台のディスク障害まで耐えられる。
- 必要なディスク数は、最低3台である。
- raid6 または 6
- ストライピング + 二重分散パリティ
- 2台のディスク障害まで耐えられる。
- 必要なディスク数は、最低4台である。
- raid10 または 10
- RAID1 (ミラーリング) と RAID0 (ストライピング) の組み合わせ
- 高性能と冗長性の両立する。
- 必要なディスク数は、最低4台 (2の倍数である必要あり) である。
- linear
- 単純な結合
- ディスクを順番に使用する。
- 冗長性なし。
- 必要なディスク数は、最低2台である。
--raid-devicesオプション
--raid-devices
オプション または -n
オプションは、RAIDアレイを構成するディスクの数を指定する。
※注意
RAIDレベルに応じて最小必要数が異なる。
RAID1とRAID10では偶数である必要がある。
一般的な構成例
- RAID1
- 2台
- RAID5
- 3〜5台
- RAID6
- 4〜6台
- RAID10
- 4台以上 (2の倍数)
--chunkオプション
--chunk
オプション または -c
オプションは、チャンクサイズを指定するために使用する。
チャンクサイズとは、RAIDアレイ内の各ディスクに書き込まれるデータの最小単位のサイズである。
指定できる値
- K (キロバイト)、M (メガバイト)、G (ギガバイト) の単位を使用する。
- 一般的な値は4K、64K、512K、1M等
- デフォルトは、512K
チャンクサイズの選択は、RAID性能に大きな影響を与える。
- 大きなチャンクサイズ
- 大きなファイルの連続読み書きに適している。
- 小さなチャンクサイズ
- 小さなファイルやランダムアクセスに適している。
--layoutオプション
--layout
オプションは、RAIDアレイのデータレイアウトを指定する。
指定できる主な値
- n2 (ネスト化)
- RAID10のネスト化されたレイアウト (2wayミラー)
- 最も一般的なRAID10レイアウト
- デバイスをペアに分割し、各ペア内でミラーリングする。
- 高い信頼性と良好な性能を提供する。
- --layout=n2は、近距離コピーを意味する。
- o2 (オフセット)
- RAID10のオフセットレイアウト
- 各デバイスのブロックを隣接するデバイスにミラーリングする。
- より柔軟な冗長性を提供する。
- ディスク障害時の再構築が比較的高速である。
- f2 (遠距離)
- RAID10の遠距離レイアウト
- 各ブロックを離れた位置にあるデバイスにミラーリング
- 連続するディスク障害に対してより強い耐性を持つ。
※注意
これらのレイアウトオプションは主にRAID10で使用される。
数値である2
は、ミラーリングの方法を示す。
デフォルトは、n2
である。
作成例
# X : ストレージ番号 # A, B, C, D : パーティション番号 sudo mdadm --create <作成するRAIDデバイス名 例: /dev/md0> \ --level=10 \ --raid-devices=<使用するディスク数> \ --chunk=512K \ --layout=n2 \ /dev/sdXA \ /dev/sdYB \ /dev/sdZC \ /dev/sdWD 例: sudo mdadm --create /dev/md0 \ --level=10 \ --raid-devices=4 \ --chunk=512 \ --layout=n2 \ /dev/sda1 \ /dev/sdb1 \ /dev/sdc1 \ /dev/sdd1
RAIDアレイの確認
sudo mdadm --detail <作成したRAIDデバイス名>
RAID構成の保存
sudo mdadm --detail --scan >> /etc/mdadm.conf
ファイルシステムの作成
# ext4の場合 sudo mkfs.ext4 <作成したRAIDデバイス名 例: /dev/md0> # XFSの場合 sudo mkfs.xfs <作成したRAIDデバイス名 例: /dev/md0>
マウントポイントの作成とマウント
まず、マウントポイントを作成する。
sudo mkdir <マウントディレクトリ 例: /mnt/raid10>
マウントする。
sudo mount <作成したRAIDデバイス名> <マウントディレクトリ 例: /mnt/raid10>
永続的なマウントの設定
/etc/fstabファイルに、以下に示すような設定を追加する。
sudo vi /etc/fstab
# /etc/fstabファイル <作成するRAIDデバイス名 例: /dev/md0> <マウントディレクトリ 例: /mnt/raid10> <ファイルシステム 例: xfs> defaults 0 0
RAID10の状態監視
RAID10の状態を確認する。
cat /proc/mdstat
RAID10の詳細な状態を確認する。
sudo mdadm --detail <作成したRAIDデバイス名 例: /dev/md0>
障害発生時の対応手順
障害ディスクの特定
sudo mdadm --detail <作成したRAIDデバイス名 例: /dev/md0>
障害ディスクの削除
RAID配列 (/dev/md0) 内の特定のディスク (/dev/sdXY) において、意図的に"故障"状態とマークする。
これは実際のハードウェア故障をシミュレートするような動作である。
例えば、ディスクの交換やメンテナンスの前準備として使用される。
# X : ストレージ番号 # A : パーティション番号 sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --fail /dev/sdXA
"故障"マークの後に実行して、該当ディスクをRAID配列から物理的に削除する。
この操作により、マークされたディスクを安全にRAIDアレイから取り外すことができる。
例えば、新しいディスクに交換する際の準備段階として使用される。
# X : ストレージ番号 # A : パーティション番号 sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --remove /dev/sdXA
上記のコマンドは、以下に示すような状況で使用される。
- ディスクの予防的交換が必要な場合
- 実際に問題のあるディスクを交換する場合
- RAIDアレイの再構成が必要な場合
上記のコマンドにおいて、--fail
オプションを実行した後に--remove
オプションを実行する必要がある。
これにより、RAIDアレイのデータ整合性を保ちながら、安全にディスクを取り外すことができる。
新しいディスクの追加
# X : ストレージ番号 # A : パーティション番号 sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --add /dev/sdXA