mdadmでソフトRAIDを領域拡張してみる(RAID 5編) [Linux(LVM/RAID/Storage)]
そういえば、manコマンドでmdadmの英語の説明をがんばって読んでいたら、微妙に気になる記述を発見。
Growオプションは、「アレイを大きくする(または縮小する)、か、アレイをどうにかして作り替える。現在のところ、サポートされているgrowthオプションは、適切に「write-intent bitmap」を追加か削除して、構成機器のアクティブサイズを変更することと、RAIDレベル1/4/5/6の中のアクティブデバイス数を変更する機能を含んでいる。」
と、あります。(私の非常に乏しい英語力ではそう読めた!)
ということは…
この機能を使えば、すでに稼働しているRAIDデバイスにディスクを追加してRAIDの大きさを拡張(とか縮小)できるんじゃね?と、妄想しました。
さっそくやってみた。
まず、4本のハードディスクで稼働しているRAID 5のアレイがある。ここに一旦ホットスペアとしてディスクを1本追加してみる。
4本の稼働ディスク(hda5 hda7 hda8 hda9)+1本のホットスペアディスク(hda6)という状態になった。
私の想像通りならば、mdadm --grow コマンド(とオプション)でhda6が運用系のディスクに投入され、(RAIDのリビルドが完了した後に)アレイサイズが10Gくらい広がってウマウマなことになるんじゃないかと妄想。
オンラインヘルプを見る限りでは、「mdadm --grow /dev/md0 --raid-disks=5」と実行したらうまくいくんじゃなかろうかと思われ。
試してみた。
うまくいってるくさいよママン!
なんか、デバイス的にはうまくいってるっぽ!?
まだアレイのサイズ自体は広がっていないけども結果が分かるのは214分後みたいなので、記事の更新は来週のお楽しみに!(笑)
なんか、思ってたよりも早くRAIDの再構築が終わったのでチェックしてみました!!
リビルド終わりました。レポート表示内容に燦然と輝く…
Array Size : 40033536 (38.18 GiB 40.99 GB)
RAIDのアレイ領域が確かに広がりました。これ、使えるじゃん!(笑)
あとはファイルシステムの領域拡張が必要ですが、ここではext3を使っているのでLVMの時にやったように①アンマウントして ②fsck -fして ③resize2fsして ④再マウントする という手順でよさげっぽ!?
なお、ここまでのRAID領域拡張の処理については、ファイルシステムをマウントしたままオンライン状態で実施して全く問題ありませんでしたということを付け加えておきます。
MDADM(8) MDADM(8) NAME mdadm - manage MD devices aka Linux Software RAID SYNOPSIS mdadm [mode][options] (途中省略) Grow Grow (or shrink) an array, or otherwise reshape it in some way. Currently supported growth options including changing the active size of component devices and changing the number of active devices in RAID levels 1/4/5/6, as well as adding or removing a write-intent bitmap. (以下省略)
Growオプションは、「アレイを大きくする(または縮小する)、か、アレイをどうにかして作り替える。現在のところ、サポートされているgrowthオプションは、適切に「write-intent bitmap」を追加か削除して、構成機器のアクティブサイズを変更することと、RAIDレベル1/4/5/6の中のアクティブデバイス数を変更する機能を含んでいる。」
と、あります。(私の非常に乏しい英語力ではそう読めた!)
ということは…
この機能を使えば、すでに稼働しているRAIDデバイスにディスクを追加してRAIDの大きさを拡張(とか縮小)できるんじゃね?と、妄想しました。
さっそくやってみた。
まず、4本のハードディスクで稼働しているRAID 5のアレイがある。ここに一旦ホットスペアとしてディスクを1本追加してみる。
# mdadm --manage /dev/md0 --add /dev/hda6 mdadm: added /dev/hda6 # mdadm --misc --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Wed Nov 5 15:51:20 2008 Raid Level : raid5 Array Size : 30025152 (28.63 GiB 30.75 GB) Used Dev Size : 10008384 (9.54 GiB 10.25 GB) Raid Devices : 4 Total Devices : 5 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Fri Nov 7 20:46:12 2008 State : clean Active Devices : 4 Working Devices : 5 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 64K UUID : 22eea7b2:c6461c41:bbe89505:7e45ea96 Events : 0.546 Number Major Minor RaidDevice State 0 3 9 0 active sync /dev/hda9 1 3 5 1 active sync /dev/hda5 2 3 7 2 active sync /dev/hda7 3 3 8 3 active sync /dev/hda8 4 3 6 - spare /dev/hda6
4本の稼働ディスク(hda5 hda7 hda8 hda9)+1本のホットスペアディスク(hda6)という状態になった。
私の想像通りならば、mdadm --grow コマンド(とオプション)でhda6が運用系のディスクに投入され、(RAIDのリビルドが完了した後に)アレイサイズが10Gくらい広がってウマウマなことになるんじゃないかと妄想。
オンラインヘルプを見る限りでは、「mdadm --grow /dev/md0 --raid-disks=5」と実行したらうまくいくんじゃなかろうかと思われ。
試してみた。
# mdadm --grow /dev/md0 --raid-disks=5 mdadm: Need to backup 768K of critical section.. mdadm: ... critical section passed.
うまくいってるくさいよママン!
# mdadm --misc --detail /dev/md0 /dev/md0: Version : 00.91.03 Creation Time : Wed Nov 5 15:51:20 2008 Raid Level : raid5 Array Size : 30025152 (28.63 GiB 30.75 GB) Used Dev Size : 10008384 (9.54 GiB 10.25 GB) Raid Devices : 5 Total Devices : 5 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Fri Nov 7 20:51:31 2008 State : clean, recovering Active Devices : 5 Working Devices : 5 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K Reshape Status : 1% complete Delta Devices : 1, (4->5) UUID : 22eea7b2:c6461c41:bbe89505:7e45ea96 Events : 0.688 Number Major Minor RaidDevice State 0 3 9 0 active sync /dev/hda9 1 3 5 1 active sync /dev/hda5 2 3 7 2 active sync /dev/hda7 3 3 8 3 active sync /dev/hda8 4 3 6 4 active sync /dev/hda6 # cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 hda6[4] hda5[1] hda9[0] hda8[3] hda7[2] 30025152 blocks super 0.91 level 5, 64k chunk, algorithm 2 [5/5] [UUUUU] [>....................] reshape = 0.2% (27456/10008384) finish=214.4min speed=773K/sec unused devices: (none)
なんか、デバイス的にはうまくいってるっぽ!?
まだアレイのサイズ自体は広がっていないけども結果が分かるのは214分後みたいなので、記事の更新は来週のお楽しみに!(笑)
なんか、思ってたよりも早くRAIDの再構築が終わったのでチェックしてみました!!
# mdadm --misc --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Wed Nov 5 15:51:20 2008 Raid Level : raid5 Array Size : 40033536 (38.18 GiB 40.99 GB) Used Dev Size : 10008384 (9.54 GiB 10.25 GB) Raid Devices : 5 Total Devices : 5 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Sat Nov 8 03:14:18 2008 State : clean Active Devices : 5 Working Devices : 5 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : 22eea7b2:c6461c41:bbe89505:7e45ea96 Events : 0.7236 Number Major Minor RaidDevice State 0 3 9 0 active sync /dev/hda9 1 3 5 1 active sync /dev/hda5 2 3 7 2 active sync /dev/hda7 3 3 8 3 active sync /dev/hda8 4 3 6 4 active sync /dev/hda6
リビルド終わりました。レポート表示内容に燦然と輝く…
Array Size : 40033536 (38.18 GiB 40.99 GB)
RAIDのアレイ領域が確かに広がりました。これ、使えるじゃん!(笑)
あとはファイルシステムの領域拡張が必要ですが、ここではext3を使っているのでLVMの時にやったように①アンマウントして ②fsck -fして ③resize2fsして ④再マウントする という手順でよさげっぽ!?
なお、ここまでのRAID領域拡張の処理については、ファイルシステムをマウントしたままオンライン状態で実施して全く問題ありませんでしたということを付け加えておきます。
コメント 0