之路 on it Road.com

从 VG 中移除使用过的 PV

  1. 扩展 VG。
    其中 vg01 是 VG 名称,/dev/sdc 是目标设备。
# vgextend vg01 /dev/sdc
  Volume group "vg01" successfully extended

如果我们有多个磁盘,请对所有磁盘重复此操作或者在同一命令中为磁盘提供空格。

  1. 使用 pvs 命令确认磁盘空间。
    正如你在下面看到的,新添加的磁盘是空闲的,有足够的空间来容纳 /dev/sdb PV 上的数据。
# pvs -o+pv_used
  PV         VG   Fmt  Attr PSize  PFree  Used  
  /dev/sda2  cl   lvm2 a--  19.00g     0  19.00g
  /dev/sdb   vg01 lvm2 a--  20.00g 10.00g 10.00g
  /dev/sdc   vg01 lvm2 a--  20.00g 20.00g     0
  1. 对本例中为/dev/sdb 的原始PV 运行pvmove 命令。
    pvmove 命令会将设备 /dev/sdb 上存在的所有 LV 迁移到设备 /dev/sdc。
    这是在线完成的,没有任何中断。
    我们可以在命令行上看到状态。
# pvmove /dev/sdb
  /dev/sdb: Moved: 1.48%
  /dev/sdb: Moved: 100.00%
  1. 减少 VG 以释放 /dev/sdb PV。
# vgreduce vg01 /dev/sdb
  Removed "/dev/sdb" from volume group "vg01"
  1. 检查/dev/sdb(来源)现在是否为空闲。
# pvs -o+pv_used
  PV         VG   Fmt  Attr PSize  PFree  Used  
  /dev/sda2  cl   lvm2 a--  19.00g     0  19.00g
  /dev/sdb        lvm2 ---  20.00g 20.00g     0 
  /dev/sdc   vg01 lvm2 a--  20.00g 10.00g 10.00g
  1. 现在我们可以根据需要从 LVM 配置中完全删除它,或者我们可以在其他一些卷组中使用它。
    下面是从 LVM 配置中删除它的示例。
# pvremove /dev/sdb
  Labels on physical volume "/dev/sdb" successfully wiped.
CentOS/RHEL 在LVM中如何从卷组 (VG) 中删除使用过的物理卷 (PV)

vgreduce 命令通过删除一个或者多个 PV 来缩小卷组。
但是如果 PV 被任何 LV 使用,我们必须首先使用 pvmove 将 LV 移动到其他一些空闲的 PV,然后我们可以像往常一样使用 vgreduce 命令删除 PV。
然后我们可以在另一个 VG 中使用这些免费 PVS 或者从 LVM 配置中删除它们。

日期:2020-09-17 00:12:18 来源:oir作者:oir