mdadm raid1 不会调整大小 | --grow 保持不变

mdadm raid1 不会调整大小 | --grow 保持不变

一周以来,我一直在尝试调整(--扩大)这个 RAID 阵列的大小,我知道答案很简单,可能就在我眼前,但我并没有睡眠不足和迷茫。

该阵列是 RAID1,以前由两个 2TB 硬盘组成,不是我配置的。客户端空间不足,我用两个 4TB 硬盘替换了这些硬盘。我使用 sgdisk 或类似程序复制了分区表,但后来删除了一些分区,并扩大了有问题的分区。

我故意移除了其中一个驱动器,这样就不会弄乱它们。您可能会在这里和那里看到对它的引用,这是意料之中的

TL;DR
--grow --size=max doesn't work, gives unchanged at 3896741888K
--update=devicesize shows larger size, but --grow still doesn't work

sda 和 sdb 相同,看起来像这样 sd{a,b}3 就是有问题的分区

Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors                                                                                                                 
Units: sectors of 1 * 512 = 512 bytes                                                                                                                                           
Sector size (logical/physical): 512 bytes / 4096 bytes                                                                                                                          
I/O size (minimum/optimal): 4096 bytes / 4096 bytes                                                                                                                             
Disklabel type: gpt                                                                                                                                                             
Disk identifier: 4230A82E-F626-4A32-B4FD-F0A91A30F64C                                                                                                                           
                                                                                                                                                                               
Device          Start        End    Sectors  Size Type                                                                                                                     
/dev/sda1        2048    3905535    3903488  1.9G Linux RAID                                                                                                                    
/dev/sda2     3905536    3907583       2048    1M BIOS boot                                                                                                                     
/dev/sda3     3907584 7797653503 7793745920  3.6T Linux RAID                                                                                                                    
/dev/sda7  7797653504 7814037134   16383631  7.8G Linux RAID 

如您所见,大约 3.6TB。目前看起来不错。让我们看看分区本身,两个驱动器再次看起来相同 mdadm --examine /dev/sda3

/dev/sda3:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 49d82293:715e6baf:3f0a3f79:b2089367
           Name : c4root:1
  Creation Time : Wed Apr  2 20:56:22 2014
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 7793483776 (3716.22 GiB 3990.26 GB)  #yay (hopes going up)
     Array Size : 3896741888 (3716.22 GiB 3990.26 GB)  #oldsize (as expected)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : 3aa675c5:761465e5:886a395d:95eac69d

    Update Time : Mon Oct 25 04:35:56 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 68eed7f7 - correct
         Events : 1021990


   Device Role : Active device 0
   Array State : A. ('A' == active, '.' == missing, 'R' == replacing)

看起来又好了。我们的 Avail Dev Size 看起来不错,Array 大小与当前大小相同。让我们继续查看阵列信息 mdadm --details /dev/md1

/dev/md1:
        Version : 1.2
  Creation Time : Wed Apr  2 20:56:22 2014
     Raid Level : raid1
     Array Size : 3896741888 (3716.22 GiB 3990.26 GB)
  Used Dev Size : 3896741888 (3716.22 GiB 3990.26 GB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Mon Oct 25 04:35:56 2021
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           Name : c4root:1
           UUID : 49d82293:715e6baf:3f0a3f79:b2089367
         Events : 1021990

    Number   Major   Minor   RaidDevice State
       2       8        3        0      active sync   /dev/sda3
       2       0        0        2      removed

该数组大小仍显示旧大小。我在网上看到,在组装设备时可能需要更新设备大小。让我们这样做。

# mdadm -S /dev/md1
mdadm: stopped /dev/md1
# mdadm --assemble --update=devicesize /dev/md1
Size was 7793483776
Size is 7793483776
mdadm: /dev/md1 has been started with 1 drive (out of 2).

好的,看起来它知道还有生长空间。让我们试着让它生长吧!

# mdadm --grow --size=max /dev/md1                                                                                                                                 
mdadm: component size of /dev/md1 unchanged at 3896741888K

并且 -D 详细信息仍然显示旧尺寸......

/dev/md1:
        Version : 1.2
  Creation Time : Wed Apr  2 20:56:22 2014
     Raid Level : raid1
     Array Size : 3896741888 (3716.22 GiB 3990.26 GB)
  Used Dev Size : 3896741888 (3716.22 GiB 3990.26 GB)
   Raid Devices : 2
  Total Devices : 1

我到底错过了什么?

答案1

尝试使用:

sudo resize2fs /dev/md1 3700G

或者:

mdadm --grow /dev/md1 -z 3896741888

相关内容