我正在构建一个磁盘空间相当有限的系统,该系统将使用 LVM,我希望能够尽可能自由地调整分区大小,而不会导致系统崩溃。特别是,我希望能够增大或缩小* /usr
。
据我了解,这是不可能的(这只对了一半:见更新)调整已挂载的 ext2/3 分区的大小,即使它是 LVM 卷的一部分。
是否可以在调整大小期间卸载除 和 之外的所有文件(当然,假设这些目录位于单独的分区中)?或者是否/bin
需要中的库或其他实体?/sbin
resize2fs
/usr
也许在 chroot 环境中或通过其他方法更适合做到这一点?
*:缩小分区/usr
可能仅在安装后才有必要,因此并不像扩大分区那么必要。
更新
我发现(参见@baumgart 的回答及其评论)在最近的/现代的 Linux 内核下,不需要卸载 ext3 文件系统即可增加它的大小。虽然我不太可能需要以任何频率或即时性来减小 /usr 文件系统的大小,但我仍然有兴趣了解如何设置以便能够这样做,或者至少被告知“你无法从这里到达那里”。
所以我最初的问题仍然存在。
答案1
如果您使用 LVM,您绝对可以调整 ext2/3 文件系统的大小。您可以在线扩展文件系统,但缩小文件系统则需要离线。
如果您使用 LVM 配置所有文件系统(/boot 除外),则您可以简单地说lvresize -L +1G /dev/vgname/lvname
,然后使用resize2fs /dev/vgname/lvname
它来调整文件系统大小。
查看维基百科上的 LVM 页面您将会看到它能做什么。
编辑:注意到缩小需要使文件系统脱机。