resize2fs:新大小太大,无法用 32 位表示

asu*_*asu 3 linux ubuntu resize

我有一个 12TB ext4 分区,我想将其扩展到 18TB。我已将新磁盘添加到 RAID,之后我想重新调整分区大小以占用这个新空间。我开始增加分区,但过程失败,因为 ext4 无法处理大于 16TB 的分区。

问题是,现在当我打开 gparted 时,gparted 显示分区大小为 18TB,但我在 Nautilus 窗口中只能看到 12TB。

如何回滚 gparted 操作的效果以使两个大小彼此一致?

# resize2fs /dev/sda1

resize2fs 1.42.5 (29-Jul-2012)
resize2fs: New size too large to be expressed in 32 bits
Run Code Online (Sandbox Code Playgroud)

miv*_*ivk 6

显然,您真正想要的不是回滚更改,而是能够将文件系统的大小调整到大于 16TB 限制的大小。

为此,您需要 e2fsprogs >= 1.43 的版本,然后使用 的-b开关激活 64 位支持resize2fs。如果您有一个带有 e2fsprogs 1.42 或更早版本的旧版 Ubuntu,您可以在 Launchpad PPA 中找到 e2fsprogs 的向后移植或从源代码编译它。

一旦您拥有足够新的 e2fsprogs 版本:

umount       /dev/$YOUR_DISK
e2fsck -f    /dev/$YOUR_DISK
resize2fs -b /dev/$YOUR_DISK
e2fsck -f    /dev/$YOUR_DISK
mount ...
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此答案。