SSブログ

mdadmでソフトRAIDを領域拡張してみる(RAID 5編) [Linux(LVM/RAID/Storage)]

 そういえば、manコマンドでmdadmの英語の説明をがんばって読んでいたら、微妙に気になる記述を発見。

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領域拡張の処理については、ファイルシステムをマウントしたままオンライン状態で実施して全く問題ありませんでしたということを付け加えておきます。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。