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

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

RAID 10

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


  「RAID 0」により分割されたチャンクデータを複数の物理ボリュームに保存します。
  どの程度冗長性を確保するのかユーザーが指定できます。

RAID 10の特徴

  「RAID 10」の特徴です。

  冗長性と信頼性

    「RAID 10」は冗長性を提供しているため、物理ボリュームが1つ以上故障しても復旧可能です。
    ただし、復旧対象となる「レプリカ(データブロック)」を保存している物理ボリュームが、正常に動作している必要があります。

    どの程度冗長性を確保するのかユーザーが指定できるため、故障しても復旧可能な物理ボリュームの数や、故障する物理ボリュームの組み合わせは、設定によります。

  お互いの欠点を補う

    「RAID 10」は「RAID 0」のパフォーマンスの良さと、「RAID 1」の信頼性を提供します。
    それぞれ単体で使用する際の欠点を、お互いが補う感じでしょうか。

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

    「RAID 5」や「RAID 6」に比べれば物理ボリュームの使用効率は低く、「RAID 1」相当の使用効率になります。

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

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

冗長性について

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

  レプリカ

    「RAID 10」は「レプリカ」により、冗長性を提供します。
    この「レプリカ数」はユーザーが指定します。

    「レプリカ」はデータブロックのコピーなので、「RAID 5」や「RAID 6」のようにパリティーの計算は必要ありません。 

  レプリカ数

    通常「レプリカ数」には、物理ボリュームの数と同じ数を設定します。
    もし物理ボリュームの数よりも小さい「レプリカ数」を指定した場合、物理ボリュームの使用効率は向上しますが、冗長性は低下します。

コマンドのフォーマット

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

  mdadm <モード> <アレイのデバイスファイル> <オプション> <アレイを構成する物理ボリューム>

モード

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

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

論理ボリューム

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

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

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

      /dev/md/アレイの名称

  記述例

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

必須オプション

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

  1.アレイの種類の指定

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

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

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

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

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

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

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

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

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

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

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

    単位の指定

      単位の指定を省略した場合は、上記でも記述した通り「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.データレイアウトの指定

    「RAID 10のデータレイアウト」の指定を行います。
   また「レプリカ数」の指定も行います。

    このオプションを省略した場合は「デフォルト」が指定されたものとして扱われます。
    「デフォルト」は「Near」で「レプリカ数」は「2」です。

ショートオプション ロングオプション 記述例
-p --layout --layout=n3

    以下の値を指定することができます。

データレイアウト 値 記述例
Near n --layout=n3
Far f --layout=f3
Offset o --layout=o3

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

    各物理ボリュームでアレイに使用するサイズを指定します。
    指定するサイズの単位は、「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=RAID10Array

  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/sdd6 /dev/sde6 /dev/sdf6

  glob

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

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

  スペアディスクについて

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

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

sudo mdadm --create /dev/md/RAID10Array --level=raid10 --raid-devices=3 --spare-devices=2  --verbose /dev/sdd6 /dev/sde6 /dev/sdf6 /dev/sdg6 /dev/sdh6

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



mdadm
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 22.04 その120 - UbuntuのブートローダーをBoot Repairで修復するには・Ubuntuが起動しないトラブルを解決
    UbuntuのブートローダーをBoot Repairで修復するには 「Boot Repair」はOSのブートローダーに起因するOSが起動しない問題を簡単に解決してくれるアプリです。
  • Ubuntu 22.04 その79 - 画面ロックの有効・無効を設定するには・画面ロック時の設定をカスタマイズするには
    画面ロックの有効・無効を設定するには 一定時間ユーザーによる操作がない時に、自動的に画面をロックしパスワードで保護したり、画面をブランク状態にできます。
  • Ubuntu nano その5 - 文字列を検索する
    文字列を検索する(Where Is)   文字列の検索は、部分一致と正規表現による検索が可能です。 検索の開始始点   現在カーソルのある位置から検索を行います。   もし、テキストの最後まで検索して文字が見つからない場合、   nanoはテキストの先頭から検索...
  • Ubuntu 22.04 その98 - 入力ソースとキーボートレイアウトと日本語入力のカスタマイズ
    入力ソースとキーボートレイアウトと日本語入力 「Ubuntu」ではユーザーが利用しているキーボードレイアウトや日本語入力のカスタマイズが可能です。
  • Ubuntu 22.04 その95 - ディスプレイサーバーを切り替えるには・XorgとWayland
    ディスプレイサーバーを切り替えるには 「Ubuntu」はデフォルトで2種類のディスプレイサーバーを提供しています。
  • Linux その309 - This Week in Plasma の貢献者の募集と投稿頻度の抑制
    This Week in Plasma の貢献者の募集と投稿頻度の低下 KDE で This Week in Plasma の貢献者が募集されています。
  • Ubuntuのバージョンと開発コードの対応表
    UbuntuのバージョンとUbuntuの開発コード 「Ubuntu」には各バージョンごとに開発コードが設定されます。
  • Ubuntu 26.04 その9 - Ubuntu Desktop 26.04 LTS の開発方針・プリインストールアプリの変更やソフトウェア管理の一元化など
    Ubuntu Desktop 26.04 LTS の開発方針 2025年11月26日、Ubuntu Desktop 26.04 LTS の開発方針がアナウンスされました。
  • VirtualBox その125 - ゲストOSのUbuntuにLinux Guest Additionsをインストールするには
    ゲストOSのUbuntuにLinux Guest Additionsをインストールするには 仮想マシンにインストールしたゲストOSの「Ubuntu」に、「Linux Guest Additions」をインストールする方法です。
  • Linux その308 - KDE Plasma 6.6 で実装予定の新機能や改善・Wi-Fi 設定画面の改善や Windows ゲームのサポート改善など
    KDE Plasma 6.6 で実装予定の新機能や改善 2025年12月13日、KDE Plasma 6.6 で実装予定の新機能や改善が以下で紹介されています。
記事のピックアップ
オプション