Redimensionar partición LVM en caliente

De nuevo post autochuletero, de los que de vez en cuando me hará falta echarle mano.

Tenemos la situación de un servidor que se está quedando sin espacio en disco. Por suerte, fuimos avispados en su día y se montó el servidor con LVM, para que cuando llegara este día, no fuera un suplicio. La máquina está virtualizada en un ESX, pero se podría aplicar a otros escenarios. Solo cambiaría la forma de añadir un nuevo disco duro a la máquina.

Vamos allá:

  • Añadir disco duro a la VM. En el cliente vSphere, boton derecho en la máquina -> Edit Settings -> Hardware, añadir nuevo disco duro, elegid tamaño etc.
  • Ya dentro de la máquina, re-scanear bus SCSI para que detecte el disco nuevo: ~~~ # echo”- - -” > /sys/class/scsi_host/host0/scan** ~~~ (probad también host1/host2 si no lo detecta)

  • Crear nueva partición, lógica, de tipo LVM (8E), con fdisk, cfdisk, parted o la que os manejeis mejor

  • Crear nuevo volumen físico:
# pvcreate /dev/sdb5**

(entendiendo por sdb5 la nueva partición anteriormente creada) - Añadir el volumen creado al volumen lógico:

    # vgextend debianTemplate /dev/sdb5**

(debianTemplate es el nombre del volumen lógico original)

  • Extender el tamaño del volumen a todo el espacio no asignado
# lvextend -l+100%FREE /dev/debianTemplate/root
  • Extender el sistema de ficheros para que ocupe todo el espacio libre
  # resize2fs /dev/mapper/debianTemplate-root

Y listo. Tenemos un servidor con más espacio libre, sin perderse un instante de disponibilidad.

social