Luego de instalar 2 discos de 2 TB a un arreglo en RAID5 (que ya tenía 3 discos de 2 TB) y esperar casi una semana a que la controladora reconstruyera el arreglo, logré que el disco virtual que estaba configurado en dicho servidor –un Dell Poweredge R540, controladora PERC H330– aumentara su capacidad a 7,5 TB, lo que permitiría que mis máquinas virtuales pudieran tener más espacio. Pero primero debía “extender” o “reclamar” el nuevo espacio para que XCP-ng usara ese nuevo espacio.

Como habrán adivinado, utilizo el Hypervisor XCP-ng, específicamente la versión 8.0.0 y siguiendo las instrucciones de algunos foros de por aquí y por allá logré mi cometido utilizando los siguientes comandos.

Primero, siempre es recomendable no hacerlo con la máquina en producción. Así nos evitamos un dolor de cabeza, de estomago y el regaño de alguna persona.

Luego que nuestra controladora termine el proceso de reconstruir el arreglo de discos o que el disco virtual muestre la capacidad deseada, accedemos al Hypervisor. Lo podemos hacer mediante ssh o la consola host, es decir, directamente a XCP-ng (a través de la pantalla física). En mi caso lo hice por ssh, así puedo respaldar los comandos en un fiel block de notas. Ahora comienza lo bueno: (P.D.: Asumo que la unidad de disco es la sda, puedes verificar la tuya haciendo un ls -la /dev/sd* )

  1. Reescanea el disco:
    echo 1 > /sys/block/sda/device/rescan
  2. Verifica si “gdisk” es capaz de detectar el nuevo tamaño del disco:
    gdisk -l /dev/sda | grep Disk
    Algo como “Disk /dev/sda: 15623782400 sectors, 7.3 TiB” debería retornar. Este debería ser el nuevo tamaño del disco.
  3. Se mueve la estructura de datos del disco al final usando lo siguiente:
    gdisk /dev/sda
    x
    e
    w
    Debería bastar dando enter a todo (recuerda el numero asignado)
  4. Agrega una nueva partición.
    gdisk /dev/sda
    n
    Nuevamente, aquí debería bastar con dar enter hasta que termine. Lo que se realiza aquí es utilizar los bloques “libres” (que están al final del disco) y hacerlos una partición. El proceso termina escribiendo w y luego enter (escribe los cambios en el disco).
  5. En el paso anterior, gdisk reclama que el sistema no reconocerá la nueva tabla de particiones hasta que se reinicie el sistema. No lo haremos, y con el siguiente comando haremos que se detecte la recién creada partición:
    partprobe
  6. Para evitar el error “global/metadata_read_only” hacemos justamente lo que nos dice, hacemos que ya no sea solo de lectura. Para esto se modifica el archivo /etc/lvm/lvm.conf y se modifica la linea que dice metadata_read_only=1 a metadata_read_only=0. ¡Recordar volver a dejarlo como estaba antes cuando terminemos!
  7. Crea una nueva partición LVM PV en el punto de montaje indicado en el punto 3 (le llamaremos X).
    pvcreate /dev/sdaX Reemplaza la X por el número del punto 3
  8. Obtén la UUID de tu Storage
    xe sr-list name-label=Local\ storage | grep uuid
  9. Extiende la partición (LVM VG) al nuevo PV (cambia el UUID por el indicado en el punto anterior y cambia la X por la del punto 3)
    vgextend VG_XenStorage-7bbf95d9-b1a2-f8ae-89e3-35f472317086 /dev/sdaX
  10. Re escanea el Storage (cambia el UUID por el obtenido en el punto 8)
    xe sr-scan uuid=7bbf95d9-b1a2-f8ae-89e3-35f472317086

Fin.

Disclaimer: Artículo en proceso de corrección. Te agradezco cualquier comentario o sugerencia que podría incluir acá.

Deja un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *