kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu mdadm その40 - RAID 4とは・RAID 4アレイを作成するコマンドの説明

RAID 4

  「RAID 4」は「RAID 0」のようにデータを分散して物理ボリュームに保存し、さらにパリティーによる冗長性を提供します。



  ただ「RAID 4」より、同様の特徴を持つ「RAID 5」の方が勝手が良いため、「RAID 4」はあまり使われません。 

RAID 4の特徴

  「RAID 4」の特徴です。

  冗長性と信頼性

    「RAID 4」は冗長性を提供しているため、物理ボリュームが1つ故障しても復旧可能です。
    ただし、「RAID 1」ほど信頼性は高くありません。

  物理ボリュームの使用効率

    「RAID 1」ほど信頼性は高くないですが、HDDの使用効率は高いです。
     例えば、200GBの物理ボリュームを3台使用して「RAID 4」を構築した場合、400GB(200GB * 2)のHDDとして利用することができます。
    残りの200GBは、パリティーが保存されます。

    200GBの物理ボリューム10台で「RAID 4」を構築した場合、1800GB(200GB * 9)のHDDとして利用することができます。
    残りの200GBは、パリティーが保存されます。
   

  物理ボリュームは最低3つ必要

    「RAID 4」を構築するには、最低でも3つ物理ボリュームが必要です。

冗長性について

  「RAID 4」の冗長性についてです。

  パリティー

    「RAID 4」は冗長性を提供するために、パリティーを利用します。
    パリティーはデータを復旧するためのデータです。
    パリティーは保存するデータから生成されます。

  データブロックとパリティーブロック

    物理ボリュームには、データとパリティーが保存されます。
    データとは、ユーザーやアプリが書き込んだデータのことです。

    このデータが保存された物理ボリューム上のブロックを、データブロックと表現します。
    一方、このデータから生成されたパリティーが保存された物理ボリューム上のブロックを、パリティーブロックと表現します。

  パリティーのみからデータを復旧することはできない

    パリティーのみからデータを復旧することはできません。
    ある物理ボリューム上のデータブロックを復旧するには、パリティーブロックとそれに対応したデータブロックが必要です。

  物理ボリュームが1つ故障しても復旧可能

    冗長性があるので、物理ボリュームが1つ故障しても復旧可能です。
    データブロックを復旧する場合は、残りのデータブロックとパリティーブロックからデータブロックを復旧します。
    パリティーブロックを復旧する場合は、データブロックのデータからパリティーを生成します。

  パリティーが保存される物理ボリューム

    パリティーは、アレイを構成する物理ボリュームの中で最後の物理ボリュームに保存されます。

    データを書き込む際、パリティーを保存するために常にパリティー用の物理ボリュームにアクセスが発生します。
    パリティー用の物理ボリュームにアクセスが集中するため、パフォーマンスが低下したり、故障率の上昇につながります。

  CPUの使用率が向上する

    パリティー生成時にパリティーの計算処理が必要になるため、CPUの使用率が上がります。
    データの復旧時も同様にパリティーの計算処理が必要になります。

RAID 4アレイを作成するコマンドの説明

  「mdadm」コマンドの説明です。

  ショートオプションとロングオプションについて

    モードやオプションの記述方法には、「ショートオプション」と「ロングオプション」の2種類があります。
    どちらを利用しても良いでのですが、ここでは意味が分かりやすい「ロングオプション」を使用します。 

コマンドのフォーマット

  「mdadm」コマンドのフォーマットは以下になります。

  mdadm <モード> <論理ボリューム> <オプション> <アレイを構成する物理ボリューム(スペアディスクも含む)>

モード

  モードは、「mdadm」の動作モードを指定します。
  アレイの作成なので、以下のモードを指定します。

ショートオプション ロングオプション 記述例
-C --create --create

論理ボリューム

  論理ボリュームのデバイスファイルを指定します。
  新規に論理ボリュームを作成するので、既存の論理ボリュームのデバイスファイルと重複しないデバイスファイルを指定します。

  デバイスファイルのフォーマット

    以下のフォーマットで指定すると良いでしょう。

      /dev/md/アレイの名称

  記述例

  • /dev/md/MyArray
  • /dev/md/Data
  • /dev/md/Backup

必須オプション

  指定するオプションには、必須のオプションと任意のオプションがあります。
  必須オプションは必ず指定してください。

  1.アレイの種類の指定

    「RAID 4」のアレイを作成するので、以下の指定を行います。

ショートオプション ロングオプション 記述例
-l --level --level=raid4

  2.アレイを構成する物理ボリューム数の指定

    アレイを構成する物理ボリューム数を指定します。
    3つの物理ボリュームでアレイを構築するなら、「3」を指定します。

ショートオプション ロングオプション 記述例
-n --raid-devices --raid-devices=3

任意のオプション(推奨)

  任意のオプションは指定しなくてもよいですが、指定を検討したほうが良いオプションを紹介します。
  アレイの使い勝手に影響するオプションです。

  1.チャンクサイズの指定

    「チャンクサイズ」の指定を行います。
    チャンクは、データの分割単位です。

    指定するチャンクサイズの単位は、「KiB」です。
    このオプションを省略した場合は、「512」が指定されたものと見なされます。

ショートオプション ロングオプション 記述例
-c --chunk --chunk=128

    単位の指定

      単位の指定を省略した場合は、上記でも記述した通り「KiB」が単位になります。
      以下のように単位を指定することも可能です。

単位の指定 単位 記述例 記述例の説明
単位の指定なし(省略) KiB --chunk=32 チャンクサイズに「32KiB」を指定する
M MiB --chunk=1M チャンクサイズに「1MiB」を指定する
G GiB --chunk=1G チャンクサイズに「1GiB」を指定する

  2.スペアディスク数の指定

    「スペアディスク」数の指定を行います。
    「スペアディスク」となる物理ボリュームを1つ設定するなら、「1」を指定します。
    このオプションを省略した場合は、「スペアディスク」なしになります。

ショートオプション ロングオプション 記述例
-x --spare-devices --spare-devices=1

  3.物理ボリュームのサイズの指定

    各物理ボリュームでアレイに使用するサイズを指定します。
    指定するサイズの単位は、「KiB」です。

    このオプションを省略した場合は、アレイを構成する物理ボリュームの中で最も容量の小さいサイズを使用します。

ショートオプション ロングオプション 記述例
-z --size --size=32

    単位の指定

      単位の指定を省略した場合は、上記でも記述した通り「KiB」が単位になります。
      以下のように単位を指定することも可能です。

単位の指定 単位 記述例 記述例の説明
単位の指定なし(省略) KiB --size=32 物理ボリュームのサイズに「32KiB」を指定する
M MiB --size=1M 物理ボリュームのサイズに「1MiB」を指定する
G GiB --size=1G 物理ボリュームのサイズに「1GiB」を指定する

任意のオプション(ライトインテントビットマップ)

  「ライトインテントビットマップ」に関するオプションです。

  1.ライトインテントビットマップの設定

    ライトインテントビットマップの設定を行います。
    このオプションを省略した場合は、ライトインテントビットマップは無効です。

ショートオプション ロングオプション 記述例
-b --bitmap --bitmap=internal

    内部ビットマップを有効にする

      「internal」を指定すると、内部ビットマップが有効になります。

    外部ビットマップを有効にする

      ファイルを指定すると、外部ビットマップが有効になります。

      ファイルはパス付きで指定してください。
      最低でもパス区切り記号である「/」が一つ含まれている必要があります。

      また、指定されたファイルがすでに存在していないようにしてください。

  2.ビットマップのチャンクサイズを指定する

    「ライトインテントビットマップ」のチャンクサイズを指定します。
    このオプションを省略した場合は、自動的にチャンクサイズが決定されます。

    指定するサイズの単位は、「KiB」です。

ショートオプション ロングオプション 記述例
なし --bitmap-chunk --bitmap-chunk=65536

    単位の指定

      単位の指定を省略した場合は、上記でも記述した通り「KiB」が単位になります。
      以下のように単位を指定することも可能です。

単位の指定 単位 記述例 記述例の説明
単位の指定なし(省略) KiB --bitmap-chunk=32 チャンクサイズに「32KiB」を指定する
M MiB --bitmap-chunk=1M チャンクサイズに「1MiB」を指定する
G GiB --bitmap-chunk=1G チャンクサイズに「1GiB」を指定する

任意のオプション

  指定しなくても良いオプションです。

  1.アレイ名の指定

    「アレイの名称」を指定します。
    このオプションを省略した場合、論理ボリュームのデバイスファイル名からアレイの名称が生成されます。
 
ショートオプション ロングオプション 記述例
-N --name --name=RAID4Array

  2.追加情報の表示

    「mdadm」実行時に、追加情報を表示します。

ショートオプション ロングオプション 記述例
-v --verbose --verbose

  3.メタデータフォーマットの指定

    「メタデータ」(スーパーブロック)のフォーマットを指定します。

    このオプションを省略した場合、デフォルト値が指定されたものとして扱われます。
    Ubuntu 13.10では、デフォルト値は「1.2」です。

ショートオプション ロングオプション 記述例
-e --metadata --metadata=default

    指定できる値は以下のとおりです。

メタデータのバージョン 記述例
0.90 --metadata=0.90
1.0 --metadata=1.0
1.1 --metadata=1.1
1.2 --metadata=1.2
デフォルト値 --metadata=default

  4.ホームホストの指定

    アレイの「ホームホスト」を指定します。

ショートオプション ロングオプション 記述例
なし --homehost --homehost=myHost

アレイを構成する物理ボリューム

  アレイを構成する物理ボリュームを指定します。
  各物理ボリュームは、スペースで区切ります。

    /dev/sdd3 /dev/sde3 /dev/sdf3

  glob

    物理ボリュームの指定は、globに対応しています。
    例えば上記の記述は、以下のように記述することもできます。

    /dev/sd[d-f]3
    /dev/sd[def]3

  スペアディスクについて

    オプションで「スペアディスク」数を指定している場合は、後ろに記述した物理ボリュームが「スペアディスク」になります。

    例えば以下のコマンドでは、赤字の箇所が「スペアディスク」になります。

sudo mdadm --create /dev/md/RAID4Array --level=raid4 --raid-devices=3 --spare-devices=2  --verbose /dev/sdd3 /dev/sde3 /dev/sdf3 /dev/sdg3 /dev/sdh3

    従って「スペアディスク」を指定する場合は、物理ボリュームの記述順に注意してください。


mdadm
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu CPUfreq その1 - CPUfreqについて・ CPUfreqドライバーについて・ CPUfreqガバナーについて
    CPUfreq   CPUfreqは、CPUのクロック数を動的に変更する機能です。   CPUfreqを利用することで、OSの負荷に応じて動的にCPUのクロック数を調整することができます。  これにより、省電力効果を得ることができます。   CPUfreqを利用する場合...
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 22.04 その79 - 画面ロックの有効・無効を設定するには・画面ロック時の設定をカスタマイズするには
    画面ロックの有効・無効を設定するには 一定時間ユーザーによる操作がない時に、自動的に画面をロックしパスワードで保護したり、画面をブランク状態にできます。
  • Ubuntu 24.04 その93 - Linux kernel 7.0 が利用可能に・Linux kernel 7.0 にアップグレードするには
    Linux kernel 7.0 が利用可能に 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Linux kernel 7.0 へアップグレードできるようになりました。
  • Linux Mint その120 - Linux Mint 19.2のTipsとトラブルシューティング
    Linux Mint 19.2のTipsとトラブルシューティング リリースノートから「Linux Mint 19.2」のTipsとトラブルシューティングを紹介します。
  • Ubuntu 26.04 その56 - amdgpu ドライバーでシステムがフリーズする現象
    amdgpu ドライバーでシステムがフリーズする現象 amdgpu ドライバーでシステムがフリーズする現象が報告されています。
  • Linux その402 - KDE Plasma で実装予定の新機能や改善・録音オプションの追加や VRAM の使用量表示など
    KDE Plasma で実装予定の新機能や改善 2026年7月11日、KDE Plasma で実装予定の新機能や改善が以下で紹介されました。
  • Ubuntu 26.04 その59 - amdgpu ドライバーでパフォーマンス低下のお知らせ
    amdgpu ドライバーでパフォーマンス低下のお知らせ 次期 Linux kernel のアップデートで、amdgpu ドライバーのパフォーマンスが低下するお知らせが出ています。
  • Linux Mint その291 - 次期バージョンで Wayland セッションの提供・Cinnamon の改良など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その45 - linux-image-7.0.0-22-generic でカーネルパニックが発生する
    カーネルパニックが発生する linux-image-7.0.0-22-generic でカーネルパニックが発生する現象が報告されています。
記事のピックアップ
オプション