5.4. 从逻辑卷中删除磁盘
这些示例步骤演示了如何从现有逻辑卷中删除磁盘,可以是替换磁盘,或使用磁盘作为不同卷的一部分。要删除磁盘,您必须首先将 LVM 物理卷中的扩展移动到不同的磁盘或者一组磁盘中。
5.4.1. 将扩展移动到现有物理卷中
在本例中,逻辑卷分布在卷组
myvg
中的四个物理卷中。
# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdb1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
这个示例将扩展从
/dev/sdb1
中移出,以便它可以从卷组中删除。
- 如果卷组中其他物理卷中有足够的可用扩展,您可以在您要删除的设备上执行 pvmove 命令,而无需其他选项,且扩展将分发到其他设备中。
#
pvmove /dev/sdb1
/dev/sdb1: Moved: 2.0% ... /dev/sdb1: Moved: 79.2% ... /dev/sdb1: Moved: 100.0%执行 pvmove 命令后,扩展分布如下:#
pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0 /dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G /dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G - 使用 vgreduce 命令从卷组中删除物理卷
/dev/sdb1
。#
vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg" # pvs PV VG Fmt Attr PSize PFree /dev/sda1 myvg lvm2 a- 17.15G 7.15G /dev/sdb1 lvm2 -- 17.15G 17.15G /dev/sdc1 myvg lvm2 a- 17.15G 12.15G /dev/sdd1 myvg lvm2 a- 17.15G 2.15G
该磁盘现在可以物理删除或者分配给其他用户。
5.4.2. 将扩展移动到新磁盘中
在本例中,逻辑卷分布在卷组
myvg
中的三个物理卷中,如下所示:
# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
这个示例步骤将
/dev/sdb1
的扩展移到新设备 /dev/sdd1
中。
- 从
/dev/sdd1
创建新物理卷。#
pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created - 将新物理卷
/dev/sdd1
添加到现有卷组myvg
中。#
vgextend myvg /dev/sdd1
Volume group "myvg" successfully extended #pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 17.15G 0 - 使用 pvmove 命令将数据从
/dev/sdb1
移到/dev/sdd1
。#
pvmove /dev/sdb1 /dev/sdd1
/dev/sdb1: Moved: 10.0% ... /dev/sdb1: Moved: 79.7% ... /dev/sdb1: Moved: 100.0% #pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0 /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 15.15G 2.00G - 将数据移出
/dev/sdb1
后,您可以将其从卷组中删除。#
vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
现在您可以将磁盘重新分配给另一个卷组,或者将其从系统中删除。