使用 mdadm 将 raid 10 迁移到 raid 5 后出现磁盘大小问题

使用 mdadm 将 raid 10 迁移到 raid 5 后出现磁盘大小问题

我使用 mdadm 实用程序将 Raid 10 扩展为 Raid 5。我使用“sudo resize2fs /dev/md0”扩展了 raid,然后使用“sudo e2fsck -f /dev/md0”检查了文件系统,还运行了“sudo tune2fs extends /dev/md0”并将文件系统升级到 64 位以超过 16TB 的最大限制。

但是我无法让驱动器达到 18.2TB 的全部存储容量,我运行“df -h”,得到 9.1TB 的容量,但是如果我运行“lsblk”,我得到 18.2TB 的全部容量,请参阅以下 raid 和列表结果的输出:

itadmin@tronserv:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           787M  5.5M  781M   1% /run
/dev/sdd3       196G  3.0G  183G   2% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0       90M   90M     0 100% /snap/core/8268
/dev/sdd1       511M  6.1M  505M   2% /boot/efi
/dev/md0        9.1T  7.8T  801G  91% /data/raid1
/dev/loop2       92M   92M     0 100% /snap/core/8592
tmpfs           787M     0  787M   0% /run/user/1000

itadmin@tronserv:~$ sudo lsblk
[sudo] password for itadmin:
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0  89.1M  1 loop  /snap/core/8268
loop2     7:2    0  91.3M  1 loop  /snap/core/8592
sda       8:0    0   9.1T  0 disk
└─sda1    8:1    0   9.1T  0 part
  └─md0   9:0    0  18.2T  0 raid5 /data/raid1
sdb       8:16   0   9.1T  0 disk
└─sdb1    8:17   0   9.1T  0 part
  └─md0   9:0    0  18.2T  0 raid5 /data/raid1
sdc       8:32   0   9.1T  0 disk
└─sdc1    8:33   0   9.1T  0 part
  └─md0   9:0    0  18.2T  0 raid5 /data/raid1
sdd       8:48   0 238.5G  0 disk
├─sdd1    8:49   0   512M  0 part  /boot/efi
├─sdd2    8:50   0    12G  0 part  [SWAP]
└─sdd3    8:51   0   200G  0 part  /
itadmin@tronserv:~$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdc1[3] sda1[1] sdb1[2]
      19532605696 blocks super 1.2 level 5, 64k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 0/73 pages [0KB], 65536KB chunk
itadmin@tronserv:~$ sudo mdadm --query --detail /dev/md0
/dev/md0:
           Version : 1.2
    Creation Time : Mon Dec 16 12:59:46 2019
Raid Level : raid5
Array Size : 19532605696 (18627.74 GiB 20001.39 GB)
     Used Dev Size : 9766302848 (9313.87 GiB 10000.69 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Fri Feb 14 16:39:34 2020
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 64K

Consistency Policy : bitmap

              Name : tronserv:0  (local to host tronserv)
              UUID : ce4acffc:c98f3dfe:c208ff1a:002728e7
            Events : 74713

    Number   Major   Minor   RaidDevice State
       2       8       17        0      active sync   /dev/sdb1
       1       8        1        1      active sync   /dev/sda1
       3       8       33        2      active sync   /dev/sdc1

关于如何使整个 raid 变成 18.2TB 分区,您有什么想法吗?

答案1

(虚拟)设备有多个层。所有层都需要调整大小:

  1. 物理(无法改变)
  2. mdadm ( mdadm --grow /dev/md0 --size=max)
  3. 文件系统 (resize2fs /dev/md0

(您不使用 lvm,但那将是另一层)

如果您仅调整文件系统的大小,它仍然会看到 raid 卷的旧大小,因此您必须mdadm先进行调用。或者更一般地说:遍历所有层。


但还有另一件事:我看到您的设置有 3 个设备,但您之前的 raid 10(如果使用得当)可能有 4 个设备。那么,您的第 4 个设备在哪里?

  • 3 个 10T 设备,配置 raid 5,组成 (3-1)x10T=20T
  • 4 个设备将是 (4-1)x10T=30T

相关内容