Saltar la navegación

Eliminación de LVs, VGs y PVs

Si hemos decidido eliminar un LV con el comando lvremove, para no perder los datos, debemos moverlos a otro lugar antes de eliminar el LV.

Vamos a eliminar el LV de los ejemplos /dev/disco_virtual/web y comenzamos desmontando el LV si está montado:

# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   10G  0 disk 
├─sda1                8:1    0  9,3G  0 part /
└─sda2                8:2    0  702M  0 part [SWAP]
sdb                   8:16   0  100M  0 disk 
└─disco_virtual-web 254:0    0  152M  0 lvm  /mnt
sdc                   8:32   0  100M  0 disk 
└─disco_virtual-web 254:0    0  152M  0 lvm  /mnt
sdd                   8:48   0  100M  0 disk 
sde                   8:64   0  100M  0 disk 
├─sde1                8:65   0   50M  0 part 
└─sde2                8:66   0   49M  0 part 
sr0                  11:0    1 1024M  0 rom  
# umount /mnt
# vgs
  VG            #PV #LV #SN Attr   VSize   VFree 
  disco_virtual   3   1   0 wz--n- 240,00m 88,00m
# pvs
  PV         VG            Fmt  Attr PSize  PFree 
  /dev/sdb   disco_virtual lvm2 a--  96,00m     0 
  /dev/sdc   disco_virtual lvm2 a--  96,00m 40,00m
  /dev/sde1  disco_virtual lvm2 a--  48,00m 48,00m
# lvremove disco_virtual/web 
Do you really want to remove active logical volume web? [y/n]: y
  Logical volume "web" successfully removed
# vgs
  VG            #PV #LV #SN Attr   VSize   VFree  
  disco_virtual   3   0   0 wz--n- 240,00m 240,00m
# pvs
  PV         VG            Fmt  Attr PSize  PFree 
  /dev/sdb   disco_virtual lvm2 a--  96,00m 96,00m
  /dev/sdc   disco_virtual lvm2 a--  96,00m 96,00m
  /dev/sde1  disco_virtual lvm2 a--  48,00m 48,00m

El VG está ahora completamente libre y los datos del LV se habrían perdido, pues no le hemos hecho una copia de seguridad.

Eliminemos ahora el VG:

# vgremove disco_virtual 
  Volume group "disco_virtual" successfully removed
# vgs
  No volume groups found
# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb        lvm2 ---  100,00m 100,00m
  /dev/sdc        lvm2 ---  100,00m 100,00m
  /dev/sde1       lvm2 ---   50,00m  50,00m

Es posible eliminar el VG sin previamente eliminar los LVs que contenga, será la orden vgremove la que nos irá preguntando por la eliminación de los LVs, y si no eliminamos todos los LVs, tampoco se eliminará el VG.

# vgremove disco_virtual 
Do you really want to remove volume group "disco_virtual" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume web? [y/n]: y
  Logical volume "web" successfully removed
  Volume group "disco_virtual" successfully removed

Por último vamos a eliminar la cabecera de los PVs y de esta forma dejarán de estar en el alcance de LVM.

# pvremove /dev/sdb /dev/sdc /dev/sde1
  Labels on physical volume "/dev/sdb" successfully wiped
  Labels on physical volume "/dev/sdc" successfully wiped
  Labels on physical volume "/dev/sde1" successfully wiped
# pvs
#

Esto ha sido posible porque los PVs no estaban siendo usados por ningún LV. Si intentamos borrar un PV que está siendo usado, obtendremos el siguiente error:

# pvremove /dev/sdb
  PV /dev/sdb belongs to Volume Group disco_virtual so please use vgreduce first.
  (If you are certain you need pvremove, then confirm by using --force twice.)