截断扩展似乎不起作用

截断扩展似乎不起作用

我刚刚扩展了 1GB 的“主文件”,该/home/user文件使用truncate -s +1G homefile.虽然它将显示的主文件大小更改df为 2GB,但安装后它仍然只有 1GB。我错过了什么吗?我不必再次使用 mkfs.etx4 ,是吗?..因为这会擦除数据并破坏我使用 truncate over fallocate 的目的,我必须在扩展后使用 resize2fs,但不会改变数据。我尝试在截断后使用 resize2fs,但文件系统类型有错误(如果相关的话,我将不得不重新启动我的虚拟机)。

如果我无法使用 truncate 进行扩展,还有其他方法可以挂载动态扩展文件吗?我知道 qcow2 可以做到这一点,但它似乎有点笨拙。我知道 PuppyOS 和 PorteuOS 等产品中有 squashfs,但据我了解,它需要更多步骤才能设置。如果 truncate 可以工作的话,我喜欢它的简单性。

答案1

您只是调整了底层存储的大小,而不是文件系统的大小。所以,这是完全可以预料到的!

resize2fs是您需要的工具;resize2fs homefile 还没有工作(还不要这样做),因为您首先必须告诉通过其安装的循环设备底层存储已更改。

那么,整个过程是这样的:

  1. 增加图像尺寸 ( truncate/ fallocate...)
  2. 告诉loopdev它的大小改变了:losetup -c $(losetup -j homefile)
  3. 调整文件系统的大小:resize2fs $(losetup -j homefile)

相关内容