miércoles, 30 de noviembre de 2011

Linux: Enabling LVM devices from live CD.



Hoy en mi trabajo tuve que resizear un volumen group donde se encontraba como LV el root filesystem (/) de un equipo con CentOS 5.4. Esta tarea no puede ser realizada en caliente, ya que consistía en reducir de 1.5 Tb. a 300 Gb. el volumen lógico del root filesystem (LVRoot) para después reducir el Volumen Group (VolGroup00).

Uno de los problemas con que es común encontrarse es que toda la metadata de LVM esta disponible, por ejemplo utilizando pvdisplay, vgdisplay y lvdisplay; Pero en /dev no tenemos las entradas correspondientes al device mapper creadas (/dev/mapper/VolGroup00 y /dev/VolGroup00).
Los pasos a seguir son los siguientes:

En primer lugar debemos bootear el equipo con algún LiveCD, para este caso yo usé el de ArchLinux.
Una vez booteado el equipo, procedemos a hacer el pvscan para identificar todos los physical devices:
#: pvscan
PV /dev/sda2   VG VolGroup00   lvm2 [1.55 TB / 0    free]
Total: 1 [1.55 TB] / in use: 1 [1.55 TB] / in no VG: 0 [0]
  
Y luego el vgscan:
#: vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
Una véz identificados tenemos que cambiar el estado del VolGroup00 a active, esto nos creara las entradas correspondientes en el /dev
#: vgchange -a y VolGroup00
/proc/misc: No entry for device-mapper found Is device-mapper driver missing from kernel?
Failure to communicate with kernel device-mapper driver.
0 logical volume(s) in volume group "VolGroup00" now active
Pero como vemos, esto falla, lo que está sucediendo es que no tenemos cargados los módulos de device-mapper, por lo cual debemos cargarlos manualmente.
#: modprobe -l | grep dm-
/lib/modules/2.6.18-238.5.1.el5/kernel/drivers/md/dm-crypt.ko
/lib/modules/2.6.18-238.5.1.el5/kernel/drivers/md/dm-mirror.ko
/lib/modules/2.6.18-238.5.1.el5/kernel/drivers/md/dm-mod.ko
/lib/modules/2.6.18-238.5.1.el5/kernel/drivers/md/dm-multipath.ko
/lib/modules/2.6.18-238.5.1.el5/kernel/drivers/md/dm-snapshot.ko
#: modprobe dm-mod
#: modprobe dm-snapshot
Y ahora si repetimos el vgchange esto va a funcionar, y las entradas correspondientes en /dev van a ser creadas, para así poder trabajar:
#: vgchange -a y VolGroup00
6 logical volume(s) in volume group "VolGroup00" now active

No hay comentarios:

Publicar un comentario