我有一个可用空间为 3.8G 的文件系统 /opt2,我想将 1GB 传输到 /var(都在 rootvg 卷组中),但是当我调整 /opt2 的大小以释放我想要传输的 GB 字节时,它不会反映在卷组可用空间
VG #PV #LV #SN Attr VSize VFree
rootvg 2 7 0 wz--n- 64.49g 0
首先我卸载了,然后调整了它的大小,但我不知道我做错了什么
答案1
我很确定造成这种情况的可能原因只有两个:
我猜(因为您还没有发布您使用的命令)这是第一个:(resize2fs
或其他文件系统的类似)仅调整文件系统的大小,而不调整逻辑卷的大小。为此,您必须使用lvreduce
or 。lvresize
过去,您必须仔细指定/的大小resize2fs
以及相同(或更大)的大小(错误会导致数据丢失),但现在 LVM 会为您解决这个问题:lvreduce
lvresize
lvreduce -r -L -1G rootvg/«opt2»
这-r
很关键,它指示lvreduce
首先调整文件系统的大小(通常需要卸载并备份以防万一)。-L
指定新的大小,当给定前导时,-
它指定小多少。 «opt2» 是该 LV 名称的占位符。请检查您系统的lvreduce
手册页以确认您lvreduce
确实有该-r
选项。
另一种可能性是您正在使用非常大的物理范围大小。默认值为 4MiB(除了早已过时的 lvm1 格式),因此除非您将默认值提高了近三个数量级,否则事实并非如此。您可以通过运行来检查vgs -o vg_name,vg_extent_size
。值得庆幸的是,您可以使用 更改大小vgchange -s
。减少它很容易;增加它可能会很痛苦。