之路 on it Road.com
从 VG 中移除使用过的 PV
- 扩展 VG。
其中 vg01 是 VG 名称,/dev/sdc 是目标设备。
# vgextend vg01 /dev/sdc Volume group "vg01" successfully extended
如果我们有多个磁盘,请对所有磁盘重复此操作或者在同一命令中为磁盘提供空格。
- 使用 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
- 对本例中为/dev/sdb 的原始PV 运行pvmove 命令。
pvmove 命令会将设备 /dev/sdb 上存在的所有 LV 迁移到设备 /dev/sdc。
这是在线完成的,没有任何中断。
我们可以在命令行上看到状态。
# pvmove /dev/sdb /dev/sdb: Moved: 1.48% /dev/sdb: Moved: 100.00%
- 减少 VG 以释放 /dev/sdb PV。
# vgreduce vg01 /dev/sdb Removed "/dev/sdb" from volume group "vg01"
- 检查/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
- 现在我们可以根据需要从 LVM 配置中完全删除它,或者我们可以在其他一些卷组中使用它。
下面是从 LVM 配置中删除它的示例。
# pvremove /dev/sdb Labels on physical volume "/dev/sdb" successfully wiped.
vgreduce 命令通过删除一个或者多个 PV 来缩小卷组。
但是如果 PV 被任何 LV 使用,我们必须首先使用 pvmove 将 LV 移动到其他一些空闲的 PV,然后我们可以像往常一样使用 vgreduce 命令删除 PV。
然后我们可以在另一个 VG 中使用这些免费 PVS 或者从 LVM 配置中删除它们。
日期:2020-09-17 00:12:18 来源:oir作者:oir