扩展 XFS 分区 ( xfs_growfs )

扩展 XFS 分区 ( xfs_growfs )

这是我的服务器的分区:

NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
sda      8:0    0   54.6T  0 disk
├─sda1   8:1    0 1004.5K  0 part
├─sda2   8:2    0   19.5G  0 part /
├─sda3   8:3    0     16T  0 part /home
└─sda4   8:4    0    511M  0 part [SWAP]

这是打印表:

Disk /dev/sda: 60.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name     Flags
 1      20.5kB  1049kB  1029kB                  primary  bios_grub
 2      2097kB  21.0GB  21.0GB  ext4            primary
 3      21.0GB  17.6TB  17.6TB  xfs             primary
 4      17.6TB  17.6TB  536MB   linux-swap(v1)  primary

我需要将分区增加到/home总磁盘空间(54.6T)。

我尝试过xfs_growfs并给出了命令:

xfs_growfs  /home -d

虽然尝试过

xfs_growfs  /dev/sda3 /home -d

但它总是说data size unchanged, skipping,而不是增长/home到它的总磁盘空间,sda尝试将其增长到sda3已经完全增长的总空间:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        16T   33M   16T   1% /home

那么我该如何解决这个问题呢?

答案1

您想要调整主分区的大小,但交换分区妨碍了您。粗略的轮廓如下。

首先,检查您的主分区的当前大小:

blockdev --getsize64 /dev/sda3

禁用交换:

swapoff -a

删除交换分区:

parted /dev/sda rm 4

调整主分区的大小,但1GiB最后保留一个新的交换分区。

parted /dev/sda -- resizepart 3 -1GiB

重新创建交换分区:

parted /dev/sda -- mkpart swap -1GiB -1

现在验证内核是否能够重新读取分区表:

blockdev --getsize64 /dev/sda3

如果打印出旧尺寸,您必须先重新启动。请注意,现在重新启动可能会抱怨交换丢失;相应地调整/etc/fstab并更新initramfs

最后,成长:

xfs_growfs /dev/sda3

并重新创建交换:

mkswap /dev/sda4
swapon /dev/sda4

不要忘记将新的交换条目重新添加到您的/etc/fstab.

相关内容