将 GB 从一个文件系统传输到另一个文件系统

将 GB 从一个文件系统传输到另一个文件系统

我有一个可用空间为 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或其他文件系统的类似)仅调整文件系统的大小,而不调整逻辑卷的大小。为此,您必须使用lvreduceor 。lvresize

过去,您必须仔细指定/的大小resize2fs以及相同(或更大)的大小(错误会导致数据丢失),但现在 LVM 会为您解决这个问题:lvreducelvresize

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。减少它很容易;增加它可能会很痛苦。

相关内容