2020/08/02

mdadmによるRAID1の縮小とRAID1・RAID0の拡張(ファイルシステムのサイズ拡張)

2本のディスクでLinuxを走らせているが、キャッシュ的なファイルを保存しているパーティション(mdadmを使ったRAID0で構築)を広げたくなった。
RAID1で構築しているパーティションが余っていたので、その領域を縮小させ、こちらのパーティションを拡張する。
2本とも作業が終わり、RAID1への戻しも終わった。

続いて、ファイルシステムのサイズを新しいパーティションのサイズに合わせていく作業を行う。

まずmd1。サイズは変更していないので、何も変化はないはずだが念の為。
root@edo /
# mdadm -D /dev/md1
/dev/md1:
           Version : 0.90
     Creation Time : Wed Nov 28 03:58:06 2012
        Raid Level : raid1
        Array Size : 524224 (511.94 MiB 536.81 MB)
     Used Dev Size : 524224 (511.94 MiB 536.81 MB)
      Raid Devices : 2
     Total Devices : 2
   Preferred Minor : 1
       Persistence : Superblock is persistent

       Update Time : Sun Aug  2 13:50:01 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              UUID : b5524b46:d7163145:cb201669:f728008a
            Events : 0.228

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1


RAIDのサイズをパーティションのサイズ一杯に拡張。
mdadm --growで、サイズ指定をmaxにして行う(-z max)。
アウトプットにunchangedとなっているので、想定通り変化なし。
root@edo /
# mdadm --grow /dev/md1 -z max
mdadm: component size of /dev/md1 unchanged at 524224K


続いてmd3。まず現状。
root@edo /
# mdadm -D /dev/md3
/dev/md3:
           Version : 1.2
     Creation Time : Fri Nov 30 02:19:12 2012
        Raid Level : raid1
        Array Size : 33553336 (32.00 GiB 34.36 GB)
     Used Dev Size : 33553336 (32.00 GiB 34.36 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug  2 14:28:33 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : edo:/  (local to host edo)
              UUID : 1a4518b9:879d5121:f1651760:8b1a1f02
            Events : 33369

    Number   Major   Minor   RaidDevice State
       2       8        3        0      active sync   /dev/sda3
       3       8       19        1      active sync   /dev/sdb3


md3の拡張。
root@edo /
# mdadm --grow /dev/md3 -z max
mdadm: component size of /dev/md3 has been set to 62913536K


md3の拡張後。Array Sizeで拡張されたことがわかる。また、resyncが走っていることもわかる(別処理待ちだが)。
root@edo /
# mdadm -D /dev/md3
/dev/md3:
           Version : 1.2
     Creation Time : Fri Nov 30 02:19:12 2012
        Raid Level : raid1
        Array Size : 62913536 (60.00 GiB 64.42 GB)
     Used Dev Size : 62913536 (60.00 GiB 64.42 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug  2 14:28:43 2020
             State : clean, resyncing (DELAYED)
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : edo:/  (local to host edo)
              UUID : 1a4518b9:879d5121:f1651760:8b1a1f02
            Events : 33370

    Number   Major   Minor   RaidDevice State
       2       8        3        0      active sync   /dev/sda3
       3       8       19        1      active sync   /dev/sdb3


md3の拡張後、resyncも完了。
root@edo /
# mdadm -D /dev/md3
/dev/md3:
           Version : 1.2
     Creation Time : Fri Nov 30 02:19:12 2012
        Raid Level : raid1
        Array Size : 62913536 (60.00 GiB 64.42 GB)
     Used Dev Size : 62913536 (60.00 GiB 64.42 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Aug  2 14:55:48 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : edo:/  (local to host edo)
              UUID : 1a4518b9:879d5121:f1651760:8b1a1f02
            Events : 33755

    Number   Major   Minor   RaidDevice State
       2       8        3        0      active sync   /dev/sda3
       3       8       19        1      active sync   /dev/sdb3

本来であれば、ここでファイルシステムのサイズも拡張すべきだが、md3は/パーティションのためオフラインにできないので、ファイルシステムの拡張はできない。
/パーティションをオフラインにする方法を見つけたときに拡張する。

→(その日のうちに解決)
上記は 完全な誤解。ファイルシステムの拡張はオンラインのままでできる。
オフラインにしないといけないのは縮小のとき。
なので、ファイルシステムの拡張も実施。    
root@edo /
# df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                          10M     0   10M   0% /dev
/dev/md3                      32G   27G  3.2G  90% /
tmpfs                        766M  2.6M  763M   1% /run
cgroup_root                   10M     0   10M   0% /sys/fs/cgroup
shm                          3.8G     0  3.8G   0% /dev/shm
/dev/md4                     194G   65G  119G  36% /data
/dev/mapper/edo_vg-data2_lv   59G   18G   39G  31% /data2

root@edo /
# resize2fs /dev/md3
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/md3 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/md3 is now 15728384 (4k) blocks long.


root@edo /
# df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                          10M     0   10M   0% /dev
/dev/md3                      59G   27G   30G  48% /
tmpfs                        766M  2.6M  763M   1% /run
cgroup_root                   10M     0   10M   0% /sys/fs/cgroup
shm                          3.8G     0  3.8G   0% /dev/shm
/dev/md4                     194G   65G  119G  36% /data
/dev/mapper/edo_vg-data2_lv   59G   18G   39G  31% /data2


続いてmd4。現状。
root@edo /
# mdadm -D /dev/md4
/dev/md4:
           Version : 1.2
     Creation Time : Sat Aug  1 16:49:39 2015
        Raid Level : raid1
        Array Size : 125829120 (120.00 GiB 128.85 GB)
     Used Dev Size : 125829120 (120.00 GiB 128.85 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Aug  2 14:51:59 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : edo:/data  (local to host edo)
              UUID : 8f55590b:38f15e8a:4ea20fad:c34229d8
            Events : 8031

    Number   Major   Minor   RaidDevice State
       2       8        4        0      active sync   /dev/sda4
       3       8       20        1      active sync   /dev/sdb4


md4の拡張を実施。
root@edo /
# mdadm --grow /dev/md4 -z max
mdadm: component size of /dev/md4 has been set to 209584128K


md4の拡張後。こちらもresyncが走っている。
root@edo /
# mdadm -D /dev/md4
/dev/md4:
           Version : 1.2
     Creation Time : Sat Aug  1 16:49:39 2015
        Raid Level : raid1
        Array Size : 209584128 (199.88 GiB 214.61 GB)
     Used Dev Size : 209584128 (199.88 GiB 214.61 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Aug  2 14:57:15 2020
             State : clean, resyncing
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

     Resync Status : 64% complete

              Name : edo:/data  (local to host edo)
              UUID : 8f55590b:38f15e8a:4ea20fad:c34229d8
            Events : 8033

    Number   Major   Minor   RaidDevice State
       2       8        4        0      active sync   /dev/sda4
       3       8       20        1      active sync   /dev/sdb4

root@edo /
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid0] [raid1] [raid10] [linear] [multipath]
md3 : active raid1 sda3[2] sdb3[3]
      62913536 blocks super 1.2 [2/2] [UU]

md4 : active raid1 sda4[2] sdb4[3]
      209584128 blocks super 1.2 [2/2] [UU]
      [=============>.......]  resync = 66.0% (138401280/209584128) finish=5.6min speed=209177K/sec
      bitmap: 1/2 pages [4KB], 65536KB chunk

md1 : active raid1 sda1[0] sdb1[1]
      524224 blocks [2/2] [UU]

unused devices: <none>


md4のresyncも完了。
root@edo /
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid0] [raid1] [raid10] [linear] [multipath]
md3 : active raid1 sda3[2] sdb3[3]
      62913536 blocks super 1.2 [2/2] [UU]

md4 : active raid1 sda4[2] sdb4[3]
      209584128 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md1 : active raid1 sda1[0] sdb1[1]
      524224 blocks [2/2] [UU]

unused devices: <none>

root@edo /
# mdadm -D /dev/md4
/dev/md4:
           Version : 1.2
     Creation Time : Sat Aug  1 16:49:39 2015
        Raid Level : raid1
        Array Size : 209584128 (199.88 GiB 214.61 GB)
     Used Dev Size : 209584128 (199.88 GiB 214.61 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Aug  2 15:03:34 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : edo:/data  (local to host edo)
              UUID : 8f55590b:38f15e8a:4ea20fad:c34229d8
            Events : 8109

    Number   Major   Minor   RaidDevice State
       2       8        4        0      active sync   /dev/sda4
       3       8       20        1      active sync   /dev/sdb4


md4のRAID1のサイズが拡大したので、その中にあるファイルシステムも拡張。(サイズを指定していないので、最大サイズになる。)
root@edo /
# resize2fs /dev/md4
resize2fs 1.45.5 (07-Jan-2020)
Resizing the filesystem on /dev/md4 to 52396032 (4k) blocks.
The filesystem on /dev/md4 is now 52396032 (4k) blocks long.


ここまでの作業で、RAID1のサイズの縮小と拡張が完了。

参考にしたサイト
https://documentation.suse.com/ja-jp/sles/11-SP4/html/SLES-all/raidresize.html

0 件のコメント: