📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
 
(同じ利用者による、間の9版が非表示)
48行目: 48行目:
* 例: /dev/md0
* 例: /dev/md0
*: 作成するRAIDデバイス名
*: 作成するRAIDデバイス名
* --level=10
* : /dev/sdXA, /dev/sdYB, /dev/sdZC, /dev/sdWD
*: RAID10を指定
* --raid-devices=<数値>
*: 使用するディスク数
* /dev/sdXA, /dev/sdYB, /dev/sdZC, /dev/sdWD
*: 使用するデバイスを指定
*: 使用するデバイスを指定
<br>
<br>
==== --levelオプション ====
<code>--level</code>オプション または <code>-l</code>オプションは、RAIDレベルを指定するためのオプションである。<br>
<br>
指定可能な値を以下に示す。<br>
* raid0 または 0
*: ストライピングのみ
*: データを複数のディスクに分散して書き込む。
*: 冗長性なし、性能向上が目的
*: 必要なディスク数は、最低2台である。
*: <br>
* raid1 または 1
*: ミラーリング
*: 同じデータを複数のディスクに書き込む。
*: 完全な冗長性を提供する。
*: 必要なディスク数は、最低2台である。
*: <br>
* raid4 または 4
*: ストライピング + 専用パリティ
*: 1台のディスクをパリティ専用として使用する。
*: 必要なディスク数は、最低3台である。
*: <br>
*: <u>現在はあまり使用されていない。</u>
*: <br>
* raid5 または 5
*: ストライピング + 分散パリティ
*: パリティ情報を全ディスクに分散する。
*: 1台のディスク障害まで耐えられる。
*: 必要なディスク数は、最低3台である。
*: <br>
* raid6 または 6
*: ストライピング + 二重分散パリティ
*: 2台のディスク障害まで耐えられる。
*: 必要なディスク数は、最低4台である。
*: <br>
* raid10 または 10
*: RAID1 (ミラーリング) と RAID0 (ストライピング) の組み合わせ
*: 高性能と冗長性の両立する。
*: 必要なディスク数は、最低4台 (2の倍数である必要あり) である。
*: <br>
* linear
*: 単純な結合
*: ディスクを順番に使用する。
*: 冗長性なし。
*: 必要なディスク数は、最低2台である。
<br>
==== --raid-devicesオプション ====
<code>--raid-devices</code>オプション または <code>-n</code>オプションは、RAIDアレイを構成するディスクの数を指定する。<br>
<br>
<u>※注意</u><br>
<u>RAIDレベルに応じて最小必要数が異なる。</u><br>
<u>RAID1とRAID10では偶数である必要がある。</u><br>
<br>
一般的な構成例<br>
* RAID1
*: 2台
* RAID5
*: 3〜5台
* RAID6
*: 4〜6台
* RAID10
*: 4台以上 (2の倍数)
<br>
==== --chunkオプション ====
<code>--chunk</code>オプション または <code>-c</code>オプションは、チャンクサイズを指定するために使用する。<br>
チャンクサイズとは、RAIDアレイ内の各ディスクに書き込まれるデータの最小単位のサイズである。<br>
<br>
指定できる値<br>
* K (キロバイト)、M (メガバイト)、G (ギガバイト) の単位を使用する。
* 一般的な値は4K、64K、512K、1M等
* デフォルトは、512K
<br>
チャンクサイズの選択は、RAID性能に大きな影響を与える。<br>
* 大きなチャンクサイズ
*: 大きなファイルの連続読み書きに適している。
* 小さなチャンクサイズ
*: 小さなファイルやランダムアクセスに適している。
<br>
==== --layoutオプション ====
<code>--layout</code>オプションは、RAIDアレイのデータレイアウトを指定する。<br>
<br>
指定できる主な値<br>
* n2 (ネスト化)
*: RAID10のネスト化されたレイアウト (2wayミラー)
*: 最も一般的なRAID10レイアウト
*: デバイスをペアに分割し、各ペア内でミラーリングする。
*: 高い信頼性と良好な性能を提供する。
*: <br>
*: --layout=n2は、近距離コピーを意味する。
*: <br>
* o2 (オフセット)
*: RAID10のオフセットレイアウト
*: 各デバイスのブロックを隣接するデバイスにミラーリングする。
*: より柔軟な冗長性を提供する。
*: ディスク障害時の再構築が比較的高速である。
*: <br>
* f2 (遠距離)
*: RAID10の遠距離レイアウト
*: 各ブロックを離れた位置にあるデバイスにミラーリング
*: 連続するディスク障害に対してより強い耐性を持つ。
<br>
<u>※注意</u><br>
<u>これらのレイアウトオプションは主にRAID10で使用される。</u><br>
<u>数値である<code>2</code>は、ミラーリングの方法を示す。</u><br>
<u>デフォルトは、<code>n2</code>である。</u><br>
<br>
==== 作成例 ====
  # X : ストレージ番号
  # X : ストレージ番号
  # A, B, C, D : パーティション番号
  # A, B, C, D : パーティション番号
60行目: 162行目:
                     --level=10                          \
                     --level=10                          \
                     --raid-devices=<使用するディスク数>    \
                     --raid-devices=<使用するディスク数>    \
                    --chunk=512K                        \
                    --layout=n2                        \
                     /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span> \
                     /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span> \
                     /dev/sd<span style="color:#C00000">Y</span><span style="color:#00C000">B</span> \
                     /dev/sd<span style="color:#C00000">Y</span><span style="color:#00C000">B</span> \
69行目: 173行目:
                     --level=10      \
                     --level=10      \
                     --raid-devices=4 \
                     --raid-devices=4 \
                    --chunk=512      \
                    --layout=n2      \
                     /dev/sda1        \
                     /dev/sda1        \
                     /dev/sdb1        \
                     /dev/sdb1        \
76行目: 182行目:


== RAIDアレイの確認 ==
== RAIDアレイの確認 ==
詳細を知りたい場合は、[[設定_-_RAID10_(RHEL)#障害ディスクの特定]]のセクションを参照すること。<br>
  sudo mdadm --detail <作成したRAIDデバイス名>
  sudo mdadm --detail <作成したRAIDデバイス名>
<br><br>
<br><br>
92行目: 199行目:


== マウントポイントの作成とマウント ==
== マウントポイントの作成とマウント ==
まず、マウントポイントを作成する。<br>
RAIDアレイをシステムで使用できるようにする。<br>
<br>
マウントポイント (アクセスポイント) となるディレクトリ (一時的なマウントポイント) を作成する。<br>
これは、RAIDアレイをファイルシステムに接続するための入り口である。<br>
  sudo mkdir <マウントディレクトリ  例: /mnt/raid10>
  sudo mkdir <マウントディレクトリ  例: /mnt/raid10>
<br>
<br>
マウントする。
作成したRAIDアレイ (例: /dev/md0) を指定したディレクトリ (例: /mnt/raid10) にマウントする。<br>
  sudo mount <作成したRAIDデバイス名> <マウントディレクトリ  例: /mnt/raid10>
これにより、RAIDアレイがファイルシステムの一部として利用可能になる。<br>
<br>
ユーザは通常のディレクトリとしてRAIDアレイにアクセス可能となる。<br>
  sudo mount <作成したRAIDデバイス名 例: /dev/md0> <マウントディレクトリ 例: /mnt/raid10>
<br>
上記の操作により、RAIDアレイが通常のファイルシステムの一部として利用可能になり、データの読み書きが可能になる。<br>
<br>
<u>※注意</u><br>
<u>マウントポイントは、空のディレクトリである必要がある。</u><br>
<u>マウント後、元々そのディレクトリに存在したファイルは視認できなくなる。</u><br>
<u>マウント解除するまで、RAIDアレイのデータにアクセス可能である。</u><br>
<br>
==== マウント情報の確認 ====
マウント情報を確認する。<br>
df -h
# または
mount | grep md0
<br>
==== マウント解除が必要な場合 ====
sudo umount /mnt/raid10
<br>
==== アクセス権限の設定 ====
必要に応じて、マウントポイントの所有者やパーミッションを設定する。<br>
sudo chown <ユーザ名>:<グループ名> <マウントポイント  例: /mnt/raid10>
sudo chmod 755 <マウントポイント 例: /mnt/raid10>
<br><br>
<br><br>


== 永続的なマウントの設定 ==
== 永続的なマウントの設定 ==
/etc/fstabファイルに、以下に示すような設定を追加する。<br>
システム再起動後も自動的にマウントさせるには、/etc/fstabファイルに設定を追加する。<br>
  sudo vi /etc/fstab
  sudo vi /etc/fstab
<br>
<br>
106行目: 240行目:
   
   
  <作成するRAIDデバイス名  例: /dev/md0> <マウントディレクトリ  例: /mnt/raid10> <ファイルシステム  例: xfs> defaults 0 0
  <作成するRAIDデバイス名  例: /dev/md0> <マウントディレクトリ  例: /mnt/raid10> <ファイルシステム  例: xfs> defaults 0 0
# 設定例
/dev/md0  /mnt/raid10  ext4  defaults  0  0
<br><br>
<br><br>


== RAID10の状態監視 ==
== RAIDアレイの状態監視 ==
RAID10の状態を確認する。<br>
RAIDアレイの状態を確認するための異なる2つの方法がある。<br>
<br>
* cat /proc/mdstat
*: 簡単な状態確認を行う。
*: 再同期の進行状況の監視する。
*: 全RAIDアレイの概要を把握する。
*: <br>
* sudo mdadm --detailコマンド
*: 特定のRAIDアレイの詳細確認
*: トラブルシューティング
*: 設定内容を確認する。
<br>
==== 方法 1 : cat /proc/mdstat ====
Linuxカーネルが管理している全てのRAIDデバイスの状態をリアルタイムで表示する。<br>
  cat /proc/mdstat
  cat /proc/mdstat
# 出力例:
Personalities : [raid10] [raid6] [raid5] [raid4] [raid1]
md0 : active raid10 sdd1[3] sdc1[2] sdb1[1] sda1[0]
      1000000 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
<br>
* Personalities
*: サポートされているRAIDレベル
* active
*: RAIDアレイの状態
* [4/4]
*: 全ディスク数 / アクティブディスク数
* [UUUU]
*: 各ディスクの状態 (U=Up, _=Down)
*: 再同期中の場合は進行状況も表示される。
<br>
==== 方法 2 : sudo mdadm --detailコマンド ====
指定したRAIDアレイの詳細な情報を表示する。<br>
より多くの具体的な情報を確認可能である。<br>
<br>
<br>
RAID10の詳細な状態を確認する。<br>
  sudo mdadm --detail <作成したRAIDデバイス名  例: /dev/md0>
  sudo mdadm --detail <作成したRAIDデバイス名  例: /dev/md0>
# 出力例:
/dev/md0:
        Version : 1.2
  Creation Time : Wed Jan 1 12:00:00 2024
      Raid Level : raid10
      Array Size : 1000000 (976.56 GiB)
  Used Dev Size : 500000 (488.28 GiB)
    Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Wed Jan 1 15:00:00 2024
          State : clean
  Active Devices : 4
Working Devices : 4
  Failed Devices : 0
  Spare Devices : 0
<br>
* 基本情報
** RAIDレベル
** アレイサイズ
** 作成日時
*: <br>
* 状態情報
** 現在の状態(clean, degraded等)
** アクティブデバイス数
** 故障デバイス数
** スペアデバイス数
*: <br>
* デバイス詳細
** 各ディスクの状態
** デバイスの役割
** 同期状態
<br><br>
<br><br>


== 障害発生時の対応手順 ==
== 障害発生時の対応手順 ==
==== 障害ディスクの特定 ====
==== 障害ディスクの特定 ====
<code>--detail</code>オプションを付加することにより、指定したRAIDアレイの詳細な状態や設定情報を表示することができる。<br>
  sudo mdadm --detail <作成したRAIDデバイス名  例: /dev/md0>
  sudo mdadm --detail <作成したRAIDデバイス名  例: /dev/md0>
# 出力例
/dev/md0:                                  # RAIDデバイス名
        Version : 1.2                      # RAIDのバージョン
  Creation Time : Wed Jan 1 12:00:00 2024  # RAIDアレイの作成日時
      Raid Level : raid10                  # RAIDレベル(RAID0,1,5,6,10など)
      Array Size : 1000000 (976.56 GiB)    # アレイの総容量
  Used Dev Size : 500000 (488.28 GiB)      # 各デバイスの使用サイズ
    Raid Devices : 4                        # RAIDを構成するデバイスの総数
  Total Devices : 4                        # 現在接続されているデバイスの総数
    Persistence : Superblock is persistent # スーパーブロックの永続性
    Update Time : Wed Jan 1 15:00:00 2024  # 最終更新日時
          State : clean                    # RAIDの状態(clean, degraded, resync等)
  Active Devices : 4                        # アクティブなデバイス数
Working Devices : 4                        # 正常に動作しているデバイス数
  Failed Devices : 0                        # 故障しているデバイス数
  Spare Devices : 0                        # スペアデバイス数
          Layout : near=2                  # RAIDのレイアウト設定
      Chunk Size : 512K                    # チャンクサイズ
            Name : hostname:0              # RAIDアレイの名前
            UUID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # RAIDのUUID
          Events : 100                      # イベントカウンタ
    Number  Major  Minor    RaidDevice State
        0    8      16        0          active sync  /dev/sdb
        1    8      32        1          active sync  /dev/sdc
        2    8      48        2          active sync  /dev/sdd
        3    8      64        3          active sync  /dev/sde
<br>
<br>
上記の出力例から、以下に示すような情報を確認することができる。<br>
この情報は、特に、デバイスの状態や同期状況を確認する場合等、RAIDアレイの健全性チェックやトラブルシューティング時に役に立つ。<br>
<br>
* RAIDの基本情報
** RAIDレベル
** アレイの総容量
** 作成日時
*: <br>
* 現在の状態
** アレイの全体的な状態(clean, degraded等)
** アクティブ/故障デバイスの数
** 最終更新日時
*: <br>
* 構成デバイスの詳細
** 各ディスクのステータス
** デバイスパス
** RAIDアレイ内での役割
*: <br>
* 技術的な設定
** チャンクサイズ
** レイアウト設定
** UUID
<br>
==== 障害ディスクの削除 ====
==== 障害ディスクの削除 ====
RAID配列 (/dev/md0) 内の特定のディスク (/dev/sdXY) において、意図的に"故障"状態とマークする。<br>
これは実際のハードウェア故障をシミュレートするような動作である。<br>
<br>
例えば、ディスクの交換やメンテナンスの前準備として使用される。<br>
  # X : ストレージ番号
  # X : ストレージ番号
  # A, B : パーティション番号
  # 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>
==== 新しいディスクの追加 ====
==== 新しいディスクの追加 ====
新しいディスクをRAIDアレイに追加する。<br>
<br>
自動的に同期 (再構築) プロセスが開始される。<br>
同期中もRAIDアレイは使用可能である。<br>
<br>
このコマンドは、故障したディスクの交換後、RAIDアレイの拡張時、スペアディスクの追加した時等に実行する。<br>
<br>
  # X : ストレージ番号
  # X : ストレージ番号
  # A : パーティション番号
  # A : パーティション番号
  sudo mdadm <作成したRAIDデバイス名 例: /dev/md0> --add /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span>
  sudo mdadm <対象のRAIDアレイ 例: /dev/md0> \
            --add <追加する新しいディスク  例: /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">A</span>>
<br>
# 新しいディスクを物理的に接続する。
# 必要な場合は、ディスクを初期化する。
# <code>--add</code>オプションを付加して、新しいディスクをRAIDアレイに追加する。
# 同期完了まで待機する。
# 状態を確認する。(同期の進行状況と新しいディスクの状態を確認)
#: <code>sudo mdadm --detail <対象のRAIDアレイ  例: /dev/md0></code>
<br>
<u>※注意</u><br>
<u>追加するディスクは未使用、または、パーティションテーブルが消去されている必要がある。</u><br>
<u>ディスクサイズは既存のディスクと同じかそれ以上である必要がある。</u><br>
<br>
<u>同期プロセス中はシステムのパフォーマンスが低下する可能性がある。</u><br>
<br><br>
 
== メール通知の設定 ==
RAIDアレイに関する重要なイベントが発生した場合に、システム管理者に自動的にメール通知を送信するための設定である。<br>
<br>
通知される主なイベント<br>
* ディスク障害の検出
* RAIDアレイの劣化状態
* 再構築(リビルド)の開始と完了
* その他の重要なRAIDイベント
<br>
メール通知の設定のメリットを以下に示す。<br>
* 障害の早期発見が可能となる。
* システムの予防的なメンテナンスが可能となる。
* 問題発生時の迅速な対応が可能となる。
* システムの信頼性向上する。
<br>
<u>※注意</u><br>
<u>メールサーバが正しく設定されていることを確認する。</u><br>
<u>スパムフィルタでブロックされないように設定する。</u><br>
<br>
<u>また、バックアップ通知手段も検討することが推奨される。</u><br>
<br>
メール通知を機能させるための設定を行う。<br>
まず、メール送信に必要なパッケージをインストールする。<br>
sudo dnf install postfix mailx
<br>
postfixサービスを起動する。<br>
sudo systemctl enable postfix
sudo systemctl start postfix
<br>
次に、/etc/mdadm/mdadm.confファイルの設定を変更する。<br>
sudo vi /etc/mdadm/mdadm.conf
<br>
# /etc/mdadm/mdadm.confファイル
# 単一の管理者にのみ通知する場合
MAILADDR admin@example.com
# 複数の管理者に通知する場合
MAILADDR admin1@example.com,admin2@example.com
# 通知プログラムの指定(必要な場合)
PROGRAM /usr/local/bin/custom-notify-script
<br>
通知設定のテストを行う。<br>
# テストメールの送信
echo "Test email" | mail -s "RAID Test" admin@example.com
# mdadmの通知機能のテスト
sudo mdadm --monitor --scan --test
<br><br>
<br><br>