从卷组中删除物理卷

Sno*_*ash 2 lvm

如何从 VG 中删除 PV?

这是我尝试过的:

# vgreduce vg_iscsi /dev/sdb1
Physical volume "/dev/sdb1" still in use

# lvs
LV         VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root       centos   -wi-ao----   6.67g                                                    
  swap       centos   -wi-ao---- 820.00m                                                    
  lvm02      vg2      -wi-a----- 800.00m                                                    
  lv_iscsi_1 vg_iscsi -wi-ao----  52.00m  
Run Code Online (Sandbox Code Playgroud)

然后

# lvremove -f vg_iscsi/lv_iscsi_1
Logical volume vg_iscsi/lv_iscsi_1 in use.
Run Code Online (Sandbox Code Playgroud)

使用 fuser

# fuser -kuc /dev/vg_iscsi/lv_iscsi_1
/dev/dm-3:            1558(root)
Run Code Online (Sandbox Code Playgroud)

我尝试过kill -9这个,但是当我发出kill信号时,这个过程似乎已经消失了。

但是,现在我明白了:

# vgreduce vg_iscsi /dev/sdb1
Can't remove final physical volume "/dev/sdb1" from volume group "vg_iscsi"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Mic*_*ton 7

vgreduce命令是正确的,但您无法从卷组中删除物理卷,直到它为空。这就是您收到的错误消息的含义。

正如手册页所述:

       To move all Physical Extents that are used by simple Logical Volumes on
       /dev/sdb1 to free Physical Extents elsewhere in the Volume Group use:

       pvmove /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

一旦 PV 为空,您就可以重复该vgreduce命令将其删除。