我有包含 2 个物理卷 sda5 和 sda6 的 LVM2 设置。两个物理卷都包含在单个卷组 VG 中,而该卷组 VG 又只包含一个 LV。LV 使用物理卷的所有内存,这意味着我无法在同一个 VG 中创建另一个 LV。
因此,简而言之,我的整个 lvm 设置包含 2pv、1vg、1lv。lv 包含 Linux 操作系统。
现在,我想安全地从卷组中删除一个 pv,以便我可以将其用于除 lvm 之外的任何用途。但 pvdisplay 显示两个物理卷上的所有物理扩展都已分配,并且其中任何一个都没有可用的物理扩展。但逻辑卷上的实际数据仅为 LV 大小的 10%。
如果我使用 pvmove 命令,它会显示错误“没有可用的物理范围”。
那么,如何才能安全地从卷组中删除物理磁盘而不丢失数据?
答案1
可以先缩小卷,然后执行 pvmove,然后删除物理磁盘。
假设使用了 5GB 的空间。
首先检查文件系统。
e2fsck /dev/vg/lv
将文件系统大小调整为略高于已用空间(比如 6GB)。
resize2fs -p /dev/vg/lv 6G
将 lv 缩小到 > 或 = 文件系统大小。
lvreduce -L 6G /dev/vg/lv
将文件系统的末尾与卷的末尾对齐。
resize2fs -p /dev/vg/lv
然后将 pvmove 从源分区移动到目标分区。
pvmove /dev/sda5 /dev/sda6
然后验证 PhysicalExtents 是否已分配。
pvdisplay
如果没有分配 PE,那么可以安全地从 lvm 中删除分区。
pvremove /part/to/be/removed