コンテナー
コンテナーとは「外部メタデータ」を扱えるようにするための仕組みです。従来「mdadm」は、「MDドライバー」によるソフトウェアRAIDを実現するソフトウェアでした。
これをフェイクRAIDなどRAIDコントローラーによるRAIDアレイを扱えるように「コンテナー」という仕組みを導入しました。
「MDドライバー」は関与しません。
コンテナーとRAIDアレイ
「mdadm」はこの「コンテナー」を介してアレイの操作を行います。例えばRAIDアレイを作成する場合、まず「コンテナー」アレイを作成します。
その「コンテナー」アレイ上でRAIDアレイの作成を行います。
MDドライバーによるソフトウェアRAIDと扱いが異なる
「MDドライバー」によるソフトウェアRAIDと扱いは大きく異なります。例えば「MDドライバー」では「RAID 4」アレイの作成をサポートしていますが、「IMSM」では「RAID 4」アレイをサポートしていないため、「IMSM」のコンテナー上で「RAID 4」アレイを作成することはできません。
「mdadm」から操作できる内容は、それぞれのRAIDコントローラーの仕様に依存します。
主役が「MDドライバー」ではなく、RAIDコントローラーだということです。
従って「mdadm」で操作できる内容は、RAIDコントローラーの仕様を調べる必要があります。
フェイクRAIDの例
フェイクRAIDで有名なRAIDコントローラーは「IMSM」ですが、「IMSM」ではオプションROMからアレイの操作を行うことができます。PC起動時にオプションROMのアレイ操作画面を呼び出すことで、RAIDアレイの操作が可能です。
dmraidとmdadm
現状Ubuntuは、RAIDコントローラーによるRAIDアレイを、「dmraid」でサポートしています。「dmraid」と「mdadm」は別のソフトウェアです。
「dmraid」がサポートしているRAIDコントローラーは、以下のように確認することができます。
ubuntu@vb-ubuntu1310:~$ dmraid --list_formats
asr : Adaptec HostRAID ASR (0,1,10)
ddf1 : SNIA DDF1 (0,1,4,5,linear)
hpt37x : Highpoint HPT37X (S,0,1,10,01)
hpt45x : Highpoint HPT45X (S,0,1,10)
isw : Intel Software RAID (0,1,5,01)
jmicron : JMicron ATARAID (S,0,1)
lsi : LSI Logic MegaRAID (0,1,10)
nvidia : NVidia RAID (S,0,1,10,5)
pdc : Promise FastTrack (S,0,1,10)
sil : Silicon Image(tm) Medley(tm) (0,1,10)
via : VIA Software RAID (S,0,1,10)
dos : DOS partitions on SW RAIDs
asr : Adaptec HostRAID ASR (0,1,10)
ddf1 : SNIA DDF1 (0,1,4,5,linear)
hpt37x : Highpoint HPT37X (S,0,1,10,01)
hpt45x : Highpoint HPT45X (S,0,1,10)
isw : Intel Software RAID (0,1,5,01)
jmicron : JMicron ATARAID (S,0,1)
lsi : LSI Logic MegaRAID (0,1,10)
nvidia : NVidia RAID (S,0,1,10,5)
pdc : Promise FastTrack (S,0,1,10)
sil : Silicon Image(tm) Medley(tm) (0,1,10)
via : VIA Software RAID (S,0,1,10)
dos : DOS partitions on SW RAIDs
()内の数値は、サポートするRAIDレベルです。
「mdadm」では以下のコマンドを実行することによって、「mdadm」でサポートできるRAIDコントローラーを検出することができます。
sudo mdadm --detail-platform
今後はmdadmに移行する計画がある
現状RAIDコントローラーによるRAIDアレイのサポートを「mdadm」で行っていませんが、「mdadm」でもRAIDコントローラーによるRAIDアレイをサポートすることができます。Ubuntuでは今後RAIDコントローラーによるRAIDアレイをサポートを、「dmraid」から「mdadm」に移行する計画があります。
Transitioning to use MDADM by default for some of the FakeRAID devices
というわけで
現状RAIDコントローラーによるRAIDは「dmraid」がサポートしています。「mdadm」でもサポートできると思いますが、環境(PC)を用意できなかったため、現状コンテナーは紹介できません。