resize2fs命令在Linux中的作用是什么

resize2fs命令在Linux中的作用是什么

当我们扩展或减少逻辑卷时,resize2fs 命令会做什么。使用 lvextend 和 lvreduce 命令时功能相同还是不同?

答案1

实际上可以有四种不同的行为resize2fs(其中之一是微不足道的)。这取决于文件系统是否已安装或卸载以及您是否正在缩小或扩展。

  1. 安装式、延伸式

    在这里,resize2fs尝试在线调整大小。或多或少,这只是告诉内核去做这项工作。然后内核开始在新的可用存储上写入附加的文件系统元数据。发生这种情况时,您可以继续使用文件系统。

    请注意,真正旧的 ext3 文件系统可能不支持在线调整大小。您必须卸载旧文件系统才能扩展。

  2. 未安装,延伸

    这一次,resize2fs它代替内核来完成这项工作。大多数情况下,这包括将额外的文件系统元数据写入新的可用存储。

  3. 已安装、收缩

    不支持此操作。它应该只打印出一个错误。这是微不足道的行为。

  4. 未安装,收缩

    这是最耗时的,也是最危险的(尽管它仍然应该相当安全)。如果可能(例如,有足够的空间),resize2fs使文件系统仅使用第一个尺寸存储的字节数。它通过移动文件系统元数据和数据来实现这一点。完成后,块设备(逻辑卷)末尾将有未使用的存储空间,供文件系统使用。

lvextendlvreduce更改逻辑卷的大小。如果有选项的话,他们还可以更改文件系统的大小-r,这可能是正确的方法,尤其是在减少时。不幸的是,意外提供错误的大小lvreduce很容易丢失数据;-r防止这种情况(通过确保resize2fs被告知相同的大小)。

相关内容