我在Ubuntu 9.10(Karmic)上使用LVM。 我有一个LVM物理卷(和一个卷组)。
我有一个LVM逻辑卷内的ext3文件系统,我不再使用,但暂时我不想删除它。 我试图弄清楚如何最小化我的PV内占用的空间。 resize2fs具有-M选项,可以很好地调整文件系统的空闲空间大小,但这当然不会影响逻辑卷。 大多数在networking上的收缩ext3内部的LV(例如这个 ),遵循这个基本的模式,以缓解文件系统边界等计算不准确的问题:
这并不能完全解决我的问题,因为我希望LV大小由文件系统驱动,而不是相反。
有没有一个命令或命令我可以跑这样做? 或者,我有可能对文件系统的大小进行计算,以便在某种程度上给予信任?
从理论上讲,是的,你可以计算文件系统所需的LV的确切大小 – 当resize2fs做它的事情,它会打印出有多less块正在使用。 不幸的是,稍微错误的结果是破坏了文件系统,浪费100MB的空间来换取文件系统的权限是大多数人愿意做的。
编辑 :在给猴子一个机枪和所有的时间,你的文件系统的风险,下面的过程为我在一个临时文件系统上工作:
fsck -f /dev/vg/sizetest resize2fs -M /dev/vg/sizetest resize2fs的“调整文件系统大小”行中获取块的数量(和块的大小),并通过将块的数量乘以块大小(KB)来计算涉及的千字节数:
119325 * 4 => 477300 (下一步的重要数字) lvresize -L477300k vg/sizetest fsck -f /dev/vg/sizetest 如果这会影响到你至关重要的文件系统,不要告诉我,因为我只会长篇大论地“告诉你”跳舞,没有人愿意看到我跳舞。 相信我。
这可能不是最好的解决scheme,但这是我会做的:
我希望有人有一个更好的解决办法,但这个至less应该工作,如果没有其他的。