我有一个由 5 个 PV(物理卷)组成的 LV(逻辑卷)。每个 PV 大 100GB,因此总计 500GB。
根分区挂载在该LV上,仅使用250GB。
我必须删除至少 2 个 PV,才能将分区缩小到不超过 300GB(3 个 PV)。
我怎样才能安全地完成这个任务(不丢失数据)?
太感谢了!
解决了: 千伏分钟为我们做所有的事情(resize2fs、vgreduce,...)。
答案1
您无法缩小已安装的 ext4,因此您必须从 Live CD 等进行此操作。
首先,缩小逻辑卷,包括调整文件系统的大小。请注意,这将需要一段时间!它可能需要移动大量数据。
lvreduce -r -L 290G «vg-name»/«lv-name»
注意两者-r
(这告诉它首先调整文件系统的大小;这对于避免数据丢失至关重要),我还要求将其缩小一点,以确保没有恼人的舍入错误(这主要是管理员的舍入 - 例如,您的意思是 300 GiB 还是 300GB?)。 LVM 工具非常精确,如果您愿意,您可以完全做到这一点……但最后重新增加文件系统可能更容易。(-r
/--resizefs
选项在旧版本和其他 LVM 工具中不可用lvreduce
。这就是为什么许多其他网站上的帖子说您必须resize2fs
在减小 LV 大小之前对文件系统进行明确操作,由于该选项,这不再是必要的-r
。)
现在,您可以尝试vgreduce
看看它是否可以删除任何未使用的卷组。vgreduce -a «vg-name»
将尝试删除全部来自卷组的 PV,但只有空的 PV 才会成功。如果这删除了两个,那就太好了,你就完成了。
如果这不起作用,您将需要移动数据,这是通过pvmove
.第一个参数pvmove
是要移动数据的 PV从;第二个(可选)参数是移动的位置到。如果省略第二个,LVM 会选择某个位置(除了您将其移出的位置之外)。 pvmove之后,您可以尝试vgreduce «vg-name» «path-to-pv»
将其从卷组中删除;同样,只有在没有数据的情况下才会成功。
从 VG 中删除它们后,您可以使用pvremove
来从磁盘中删除 LVM“标签”。还,您必须安全地擦除磁盘之前的数据是否需要保密; LVM 和 resize2fs 有复制的数据尚未被安全删除。