mdadmでソフトRAIDを領域縮小してみる その1(RAID 5編) [Linux(LVM/RAID/Storage)]
はい。領域を拡張したなら、今度は縮小してみたくなるのが世の常というもの。そんな訳で、RAIDアレイの縮小をやってみた。
容量を指定して縮小するか、アレイを構成するディスクをアレイから引っこ抜くか、2通りの方法があるようだけども、おそらく前者のやり方は使い道がないと思われるので、アレイを構成するディスクを減らす方向でトライしてみることとした。
まずはアレイの状態を確認するところから。RAID 5のアレイを5本のディスクで構成している。
で、これを4本のディスクを構成するように変更した上で、ちゃんと状態がcleanになっているかどうかチェックしてみる。(単に1本引っこ抜くだけなら、デグレード状態にしてしまうという手もある。が、それでは耐障害性が無いのでRAID 5の意味がない)
おそらく、コマンドは「mdadm --grow /dev/md0 --raid-disks=4」じゃないかと思われ。
レッツトライ!
なんか違うらしい。
じゃあ、ディスク1本にダメポマークを付けてデグレード状態にしてみて、そこからディスクさっきのコマンドを実行してみるとどうなるか?
まずはここまでで本来5本のディスクで動作しているはずのRAIDアレイが4本で稼働状態になっている。ただ、このままではパリティデータからデータを逆算しながらの動作になっているし、そもそもこの状態からさらに1本ディスクが飛んだら全てダメになってしまう。
ここでさっきのコマンドをもう一度試してみよう。
やはりダメらしい。
RAIDのリビルドに154分もかかるらしいので、この続きはまた明日(以降)ということで。。。。(笑)
容量を指定して縮小するか、アレイを構成するディスクをアレイから引っこ抜くか、2通りの方法があるようだけども、おそらく前者のやり方は使い道がないと思われるので、アレイを構成するディスクを減らす方向でトライしてみることとした。
まずはアレイの状態を確認するところから。RAID 5のアレイを5本のディスクで構成している。
# mdadm --misc --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Mon Nov 10 13:00:21 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 : Mon Nov 10 17:04:44 2008 State : clean Active Devices : 5 Working Devices : 5 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : c6f7e061:1d02572e:f8555d58:8d5c0851 Events : 0.6 Number Major Minor RaidDevice State 0 3 5 0 active sync /dev/hda5 1 3 6 1 active sync /dev/hda6 2 3 7 2 active sync /dev/hda7 3 3 8 3 active sync /dev/hda8 4 3 9 4 active sync /dev/hda9 # cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 hda9[4] hda8[3] hda7[2] hda6[1] hda5[0] 40033536 blocks level 5, 64k chunk, algorithm 2 [5/5] [UUUUU] unused devices: (none)
で、これを4本のディスクを構成するように変更した上で、ちゃんと状態がcleanになっているかどうかチェックしてみる。(単に1本引っこ抜くだけなら、デグレード状態にしてしまうという手もある。が、それでは耐障害性が無いのでRAID 5の意味がない)
おそらく、コマンドは「mdadm --grow /dev/md0 --raid-disks=4」じゃないかと思われ。
レッツトライ!
# mdadm --grow /dev/md0 --raid-disks=4 mdadm: /dev/md0: Cannot reduce number of data disks (yet).
なんか違うらしい。
じゃあ、ディスク1本にダメポマークを付けてデグレード状態にしてみて、そこからディスクさっきのコマンドを実行してみるとどうなるか?
# mdadm --manage /dev/md0 --fail /dev/hda9 mdadm: set /dev/hda9 faulty in /dev/md0 # mdadm --misc --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Mon Nov 10 13:00:21 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 : Mon Nov 10 17:19:47 2008 State : clean, degraded Active Devices : 4 Working Devices : 4 Failed Devices : 1 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : c6f7e061:1d02572e:f8555d58:8d5c0851 Events : 0.8 Number Major Minor RaidDevice State 0 3 5 0 active sync /dev/hda5 1 3 6 1 active sync /dev/hda6 2 3 7 2 active sync /dev/hda7 3 3 8 3 active sync /dev/hda8 4 0 0 4 removed 5 3 9 - faulty spare /dev/hda9
まずはここまでで本来5本のディスクで動作しているはずのRAIDアレイが4本で稼働状態になっている。ただ、このままではパリティデータからデータを逆算しながらの動作になっているし、そもそもこの状態からさらに1本ディスクが飛んだら全てダメになってしまう。
ここでさっきのコマンドをもう一度試してみよう。
# mdadm --grow /dev/md0 --raid-disks=4 mdadm: /dev/md0: Cannot reduce number of data disks (yet).
やはりダメらしい。
RAIDのリビルドに154分もかかるらしいので、この続きはまた明日(以降)ということで。。。。(笑)
コメント 0