如何将分区缩小到 resize2fs 报告的最小大小以下?

hey*_*383 10 partition ubuntu ext4 xubuntu resize2fs

我想将一个 250GB 的 ext4 分区缩小到 200GB resize2fs.

df工具表示分区已填充约 40%。所以,我想我至少可以将分区缩小到那个级别。

然而,当我尝试用 缩小分区时resize2fs,它失败了。它说缩小的分区大小“小于最小值”。

我认为是因为该分区仍然有以前删除的文件的痕迹,所以resize2fs认为它们仍然在该分区上,并且缩小可能意味着丢失这些数据,从而拒绝缩小该分区。

所以我的问题是:

  • 我怎样才能resize2fs意识到分区确实有 60% 是空的,以便我可以缩小它?
  • 有没有办法重新分配使用过的块或类似的东西?

注意:我是一位经验丰富的 Xubuntu 用户。

Ste*_*itt 8

resize2fs不关心您删除的数据。如果它拒绝将您的文件系统缩小到 200 GiB,那是因为它认为它需要更多空间来存储调整大小后的文件系统结构,或者执行调整大小操作本身。您可以在此处查看详细信息(假设您可以阅读 C);总之:

  • 给定 inode 的数量,文件系统需要足够的空间来存储所需数量的组描述符;
  • 它需要足够的空间来存储文件中的数据;
  • 调整大小操作需要额外的 inode 表用于其后台操作,以确保调整大小成功完成;
  • 每个 inode 组都会产生一些开销,必须考虑到这些开销(并且会影响数据在组间的拆分方式,需要更多的组,因此需要更多的开销);
  • 需要保留空间以允许扩展树在必要时增长,这可能会导致大量开销(特别是在调整大小时,如果文件系统的部分中有大量数据需要清除)。

还增加了一些额外的伪造开销(文件系统工具往往非常安全)。

您可以通过运行resize2fs -P. resize2fs -M将自动使其尽可能小。

  • 250GB ->200,40% 已填充,因此有 100GB 数据和 100GB 可用空间。如果当前数据的可用空间不够,resize2fs 需要多少?! (5认同)