既存のRAIDディスク・アレイのRAIDレベルを,データを保持したまま別のRAIDレベルに変更することです。Linuxでは,ソフトウエアRAIDの実現にカーネルの「md(multiple devices)サブシステム」を利用します。2009年6月9日にリリースされたカーネル2.6.30から,このmdサブシステムでRAIDレベル継承をサポートしました。

 RAIDレベル継承により,例えば,2台のハード・ディスクで構成するRAID1(ミラーリング)のディスク・アレイを,縮退モードで稼働するRAID5のディスク・アレイに変更できます。変更後のディスク・アレイにハード・ディスクを1台追加すれば,完全なRAID5ディスク・アレイが出来上がります。同様に,RAID5のディスク・アレイをRAID6のディスク・アレイに変更して安全性を高められます。

 このように柔軟な構成変更が可能になることで,容量不足などの事態に容易に対処できます。カーネル2.6.31まででは,表1のパターンのRAIDレベル継承をサポートしています。

 RAIDレベルの変更は簡単です。「/sys/block/RAIDデバイス名/md/level」というファイルに新しいRAIDレベルを書き込むだけで済みます。例えば,RAID1で構成される「md0」というデバイス名のディスク・アレイを,RAID5に変更する場合は,次のコマンドを管理者(root)権限で実行します。

# echo raid5 > /sys/block/md0/md/level

 RAIDレベルの変更作業は一瞬で終了します。RAIDレベル継承は,メタデータの差し替えだけで実現されるからです。RAIDレベル変更に際して,ハード・ディスク内の実データやパリティ・データは一切変更されません。

表1 サポートするRAIDレベル継承
元のRAIDレベル変換可能なRAIDレベル備考
RAID1RAID5ハード・ディスク2台で構成するディスク・アレイだけサポート
RAID4RAID5パリティの記録位置は変わらない
RAID5RAID6RAID5と互換性がある専用のパリティ・レイアウトを利用
RAID6RAID5RAID5と互換性があるパリティ・レイアウトの場合だけ変換可能