RAID 0アレイの物理ボリューム数(スロット数)を増やすコマンドの例
「RAID 0」アレイの物理ボリューム数(スロット数)を増やすコマンドの例です。ここでは例として、アレイを構成する物理ボリュームに「/dev/sdf1」を加え、アレイの物理ボリューム数を3つにします。
「RAID 0」アレイで物理ボリューム数を変更する場合、一旦「RAID 4」アレイに再形成後、物理ボリューム数を変更し、再度「RAID 0」アレイに再形成します。
環境について
以下のアレイを作成した環境でコマンドを実行しています。ここでは以下のコマンドで、「RAID 0」アレイを作成しています。
sudo mdadm --create /dev/md/RAID0Array --level=raid0 --raid-devices=2 --chunk=32 --verbose /dev/sdd1 /dev/sde1
1.論理ボリュームの確認
比較のため現状の論理ボリュームの情報を確認します。アレイを構成する物理ボリュームの数が2つであることが分かります。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --detail /dev/md/RAID0Array
/dev/md/RAID0Array:
Version : 1.2
Creation Time : Thu Apr 17 20:19:35 2014
Raid Level : raid0
Array Size : 204736 (199.97 MiB 209.65 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Apr 17 20:19:35 2014
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 32K
Name : vb-ubuntu1310:RAID0Array (local to host vb-ubuntu1310)
UUID : 9d463329:ef123993:317e1b44:540cbbc8
Events : 0
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
/dev/md/RAID0Array:
Version : 1.2
Creation Time : Thu Apr 17 20:19:35 2014
Raid Level : raid0
Array Size : 204736 (199.97 MiB 209.65 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Apr 17 20:19:35 2014
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 32K
Name : vb-ubuntu1310:RAID0Array (local to host vb-ubuntu1310)
UUID : 9d463329:ef123993:317e1b44:540cbbc8
Events : 0
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
2.物理ボリュームを追加する
以下のコマンドを実行し、物理ボリュームを追加します。コマンドやオプションの説明は「物理ボリューム数(スロット数)を変更するコマンドの説明」を参考にしてください。
sudo mdadm --grow /dev/md/RAID0Array --level=raid0 --raid-devices=3 --backup-file=/RAID0ArrayBackup.reshape --add /dev/sdf1
3.コマンドの実行結果
以下のようにコマンドの実行結果が表示されます。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --grow /dev/md/RAID0Array --level=raid0 --raid-devices=3 --backup-file=/RAID0ArrayBackup.reshape --add /dev/sdf1
mdadm: level of /dev/md/RAID0Array changed to raid4
mdadm: added /dev/sdf1
mdadm: Need to backup 192K of critical section..
mdadm: /dev/md/RAID0Array: could not set level to raid0
mdadm: level of /dev/md/RAID0Array changed to raid4
mdadm: added /dev/sdf1
mdadm: Need to backup 192K of critical section..
mdadm: /dev/md/RAID0Array: could not set level to raid0
補足(2014/4/17)
「mdadm: /dev/md/RAID0Array: could not set level to raid0」と表示されているように、「RAID 4」アレイから「RAID 0」アレイへの再形成が失敗します。「RAID 4」アレイから「RAID 0」アレイへの再形成は、手動で行います。
4.論理ボリュームの確認
現状の論理ボリュームの情報を確認します。アレイの種類が「RAID 4」になっています。
また、物理ボリュームが1つアレイに追加され、アレイが「デグレードモード」で動作していることが分かります。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --detail /dev/md/RAID0Array
/dev/md/RAID0Array:
Version : 1.2
Creation Time : Thu Apr 17 20:19:35 2014
Raid Level : raid4
Array Size : 307104 (299.96 MiB 314.47 MB)
Used Dev Size : 102368 (99.99 MiB 104.82 MB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Apr 17 20:25:34 2014
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Chunk Size : 32K
Name : vb-ubuntu1310:RAID0Array (local to host vb-ubuntu1310)
UUID : 9d463329:ef123993:317e1b44:540cbbc8
Events : 29
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
3 8 81 2 active sync /dev/sdf1
3 0 0 3 removed
/dev/md/RAID0Array:
Version : 1.2
Creation Time : Thu Apr 17 20:19:35 2014
Raid Level : raid4
Array Size : 307104 (299.96 MiB 314.47 MB)
Used Dev Size : 102368 (99.99 MiB 104.82 MB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Apr 17 20:25:34 2014
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Chunk Size : 32K
Name : vb-ubuntu1310:RAID0Array (local to host vb-ubuntu1310)
UUID : 9d463329:ef123993:317e1b44:540cbbc8
Events : 29
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
3 8 81 2 active sync /dev/sdf1
3 0 0 3 removed
5.RAID 0へ再形成
「RAID 0」へ再形成するため、以下のコマンドを実行し、「RAID 0」へ再形成します。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --grow /dev/md/RAID0Array --level=raid0 --backup-file=/root/RAID0ArrayBackup.reshape
ubuntu@vb-ubuntu1310:~$
ubuntu@vb-ubuntu1310:~$
6.論理ボリュームの確認
現状の論理ボリュームの情報を確認します。アレイの種類が「RAID 0」になっています。
また、物理ボリュームの数が3つになっています。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --detail /dev/md/RAID0Array
/dev/md/RAID0Array:
Version : 1.2
Creation Time : Thu Apr 17 20:19:35 2014
Raid Level : raid0
Array Size : 307104 (299.96 MiB 314.47 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Apr 17 20:34:52 2014
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Chunk Size : 32K
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
3 8 81 2 active sync /dev/sdf1
/dev/md/RAID0Array:
Version : 1.2
Creation Time : Thu Apr 17 20:19:35 2014
Raid Level : raid0
Array Size : 307104 (299.96 MiB 314.47 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Apr 17 20:34:52 2014
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Chunk Size : 32K
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
3 8 81 2 active sync /dev/sdf1
7.バックアップGPTデータの修復
パーティションテーブルの形式が「GPT」の場合、ここでバックアップGPTデータを修復します。ここでは例として、「gdisk」を利用してバックアップGPTデータを修復します。
ubuntu@vb-ubuntu1310:~$ sudo gdisk /dev/md/RAID0Array
GPT fdisk (gdisk) version 0.8.7
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): r
Recovery/transformation command (? for help): e
Warning! This will probably do weird things if you've converted an MBR to
GPT form and haven't yet saved the GPT! Proceed? (Y/N): y
Recovery/transformation command (? for help): w
Warning! Secondary header is placed too early on the disk! Do you want to
correct this problem? (Y/N): y
Have moved second header and partition table to correct location.
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/md/RAID0Array.
The operation has completed successfully.
GPT fdisk (gdisk) version 0.8.7
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): r
Recovery/transformation command (? for help): e
Warning! This will probably do weird things if you've converted an MBR to
GPT form and haven't yet saved the GPT! Proceed? (Y/N): y
Recovery/transformation command (? for help): w
Warning! Secondary header is placed too early on the disk! Do you want to
correct this problem? (Y/N): y
Have moved second header and partition table to correct location.
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/md/RAID0Array.
The operation has completed successfully.
念の為、チェックも行っておきます。
ubuntu@vb-ubuntu1310:~$ sudo gdisk /dev/md/RAID0Array
GPT fdisk (gdisk) version 0.8.7
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): v
No problems found. 208637 free sectors (101.9 MiB) available in 2
segments, the largest of which is 206623 (100.9 MiB) in size.
GPT fdisk (gdisk) version 0.8.7
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): v
No problems found. 208637 free sectors (101.9 MiB) available in 2
segments, the largest of which is 206623 (100.9 MiB) in size.
以上で完了です。
以下の手順は任意です。
8.パーティション(ファイルシステム)の調整
物理ボリュームの数を増やしたため、論理ボリュームのサイズも増えています。既存のパーティション(ファイルシステム)を拡大することができます。
もちろん空き領域に新規にパーティションを作ってもよいです。
ここでは既存のパーティション(ファイルシステム)を拡大します。
現状以下のようにパーティションが1つ存在します。
このパーティションを目一杯拡大します。
拡大するパーティションの情報は、以下のようになっています。
9.パーティション(ファイルシステム)の拡大
パーティション(ファイルシステム)の拡大を行います。10.パーティション(ファイルシステム)の拡大完了
パーティション(ファイルシステム)の拡大後のパーティションの情報を確認します。全体的に見ると以下のようになります。
パーティションの情報を見ると、以下のようになっています。