アレイのRAIDレベルを変更する
アレイのRAIDレベルを変更します。この操作は「アレイの再形成」に該当します。
アレイの種類
この再形成をサポートしているアレイの種類は、「RAIDレベルの変更」を参考にしてください。注意(2014/5/5)
RAIDレベルの変更は、環境によって失敗することがあり積極的にお勧めできません。例えば、「RAID 0」から「RAID 4」に変更した後、「ライトインテントビットマップ」の「内部ビットマップ」を保存する領域が不十分な場合、「内部ビットマップ」を有効にしようとすると失敗します。
これに関係する「Data Offset」の調整については、今後の「mdadm」のバージョンで改善されます。
また、RAIDの特徴が大きく異なるRAIDレベル間の変更は、配慮する点が多くややこしくなります。
変更後のRAIDレベルでサポートしていない機能は、変更する前に事前に無効にしておきましょう。
注意(2014/5/5)
「RAID 0」から「RAID 10」への変更は、「Used Dev Size」が「unknown」になってしまい、変更できませんでした。また「RAID 5」から「RAID 1」への変更は、バグのため動作しません。
コマンドのフォーマット
「mdadm」コマンドのフォーマットは以下になります。mdadm <モード> <論理ボリューム> <RAIDレベル> <バックアップファイル> <アレイのオプション>
ショートオプションとロングオプションについて
モードやオプションの記述方法には、「ショートオプション」と「ロングオプション」の2種類があります。どちらを利用しても良いでのですが、ここでは意味が分かりやすい「ロングオプション」を使用します。
モード
モードは、「mdadm」の動作モードを指定します。アレイの再形成(Grow Mode)なので、以下のオプションを指定します。
ショートオプション | ロングオプション | 記述例 |
---|---|---|
-G | --grow | --grow |
論理ボリューム
操作対象の論理ボリュームのデバイスファイルを指定します。複数の論理ボリュームのデバイスファイルを指定することはできません。
記述例
/dev/md/RAID0ArrayRAIDレベル
RAIDレベルを指定します。ショートオプション | ロングオプション | 記述例 |
---|---|---|
-l | --level | --level=raid0 |
指定する値は以下のとおりです。
アレイの種類 | 指定する値 |
---|---|
RAID 0 | raid0 |
RAID 1 | raid1 |
RAID 4 | raid4 |
RAID 5 | raid5 |
RAID 6 | raid6 |
RAID 10 | raid10 |
バックアップファイル
「バックアップファイル」を指定します。ショートオプション | ロングオプション | 記述例 |
---|---|---|
なし | --backup-file= | --backup-file=/root/RAID0ArrayBackup.reshape |
アレイのオプション
アレイのオプションを指定します。ここで指定するオプションは、RAIDレベル変更後のRAIDの設定を指定するオプションです。
オプションの省略について
アレイのオプションは省略できますが、指定しておくことをおすすめします。オプションを省略した場合、「mdadm」側で適切な設定を行いますが、ユーザーにとって必ずしもそれが適切な設定とは限りません。
設定はユーザーが後から変更することができますが、一度にまとめて設定したほうが良いでしょう。
1.アレイを構成する物理ボリューム数の指定
アレイを構成する物理ボリューム数を指定します。例えば、3つの物理ボリュームで構成された「RAID 0」アレイを「RAID 4」アレイに再形成する場合、パリティー用の物理ボリュームが1つ増えるため「4」を指定します。
ショートオプション | ロングオプション | 記述例 |
---|---|---|
-n | --raid-devices | --raid-devices=3 |
2.追加する物理ボリューム
追加する物理ボリュームのデバイスファイルを指定します。「1.」と組み合わせて使用します。
例えば「RAID 0」アレイを「RAID 4」アレイに再形成する場合、パリティー用の物理ボリュームが1つ増えるため、その物理ボリュームをこのオプションで指定します。
ショートオプション | ロングオプション | 記述例 |
---|---|---|
-a | --add | --add /dev/sdd2 |
複数の物理ボリュームのデバイスファイルを指定することができます。
複数の物理ボリュームのデバイスファイルを指定する場合は、各物理ボリュームのデバイスファイルを、スペースで区切ってください。
/dev/sdd2 /dev/sde2 /dev/sdf2
glob
物理ボリュームの指定は、globに対応しています。例えば上記の記述例は、以下のように記述することもできます。
/dev/sd[d-f]2
/dev/sd[def]2
3.データレイアウトの指定
「データレイアウト」の指定を行います。ショートオプション | ロングオプション | 記述例 |
---|---|---|
-p | --layout | --layout=left-symmetric |
以下の値を指定することができます。
データレイアウト | ショートオプション | ロングオプション | 記述例 |
---|---|---|---|
デフォルト | なし | default | --layout=default |
Left Asymmetric | la | left-asymmetric | --layout=left-asymmetric |
Right Asymmetric | ra | right-asymmetric | --layout=right-asymmetric |
Left Symmetric | ls | left-symmetric | --layout=left-symmetric |
Right Symmetric | rs | right-symmetric | --layout=right-symmetric |
Parity First | なし | parity-first | --layout=parity-first |
Parity Last | なし | parity-last | --layout=parity-last |
DDF Zero Restart | なし | ddf-zero-restart | --layout=ddf-zero-restart |
DDF N Restart | なし | ddf-N-restart | --layout=ddf-N-restart |
DDF N Continue | なし | ddf-N-continue | --layout=ddf-N-continue |