如何重新组织 Ubuntu 上的软件 RAID 上的分区大小?

如何重新组织 Ubuntu 上的软件 RAID 上的分区大小?

我有一个现有的软件 RAID由运行 Ubuntu 22 的服务器上的 4 个分区组成。我想要减少md2 分区的大小和增加md3 分区的大小。

如何实现这一点而不丢失数据?要减小大小的分区有足够的空间来实现这一点。

root@Ubuntu-2204-jammy-arm64-base ~ # cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]
md3 : active raid6 nvme0n1p5[0] nvme1n1p5[1] nvme2n1p5[2] nvme3n1p5[3]
      5378365440 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      [==========>..........]  resync = 50.1% (1347715200/2689182720) finish=105.4min speed=212018K/sec
      bitmap: 21/21 pages [84KB], 65536KB chunk

md2 : active raid6 nvme2n1p4[2] nvme0n1p4[0] nvme1n1p4[1] nvme3n1p4[3]
      2111567872 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
        resync=DELAYED
      bitmap: 8/8 pages [32KB], 65536KB chunk

md0 : active raid1 nvme0n1p2[0] nvme3n1p2[3] nvme1n1p2[1] nvme2n1p2[2]
      4189184 blocks super 1.2 [4/4] [UUUU]

md1 : active raid1 nvme1n1p3[1] nvme0n1p3[0] nvme2n1p3[2] nvme3n1p3[3]
      1046528 blocks super 1.2 [4/4] [UUUU]

磁盘大小:

root@Ubuntu-2204-jammy-arm64-base ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs            26G  2.4M   26G   1% /run
/dev/md2        2.0T  2.1G  1.9T   1% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/md1        989M  129M  810M  14% /boot
/dev/nvme3n1p1  256M  340K  256M   1% /boot/efi
/dev/md3        5.0T   25G  4.7T   1% /home
tmpfs            26G     0   26G   0% /run/user/0
tmpfs            26G     0   26G   0% /run/user/1000

答案1

您要做的事情相当复杂。我建议您mdadm在做任何事情之前仔细阅读手册页(尤其是“大小更改”和“RAID 设备更改”部分)。

如果不确定,请寻求专业帮助。

为了实现您的目标,您需要:

  • 缩小文件系统md2(xfs 不能缩小,因此,如果您正在使用它,请立即停止)
  • 缩小数组mdadm --grow
  • 减少后备分区(p4
  • 用于partprobe通知内核有关变化
  • 现在,扩大分区(p5)背面md3
  • 重新运行partprobe
  • 使用以下方法增大数组:mdadm --grow
  • 扩展文件系统

如您所见,需要遵循许多步骤。任何错误都会导致您的数据丢失。

再次强调,如果不确定,请寻求合格的帮助。

相关内容