Reclamar espacio al storage desde los discos virtuales en servidores VMware Esxi

Reclamar espacio al storage en servidores VMware Esxi

Reclamar espacio es un procedimiento que se establece al intentar devolver almacenamiento no usado por una Virtual Machine y retornarlo al storage del servidor físico Vmware Esxi, Se realiza este proceso ya que la Virtual Machine que se encuentra en el servidor Esxi está con discos virtuales de aprovisionamiento fino (thin) y al servidor físico no se le han adicionado discos para ampliar el almacenamiento en el storage.

Debido a esto se presentan problemas con la Virtual Machine que está en el Servidor Esxi. Se detectó que una Virtual Machine alojada en un servidor Esxi tiene casi el 100% del storage ocupado, esto ocasiona fallos y cuelgues continuos ya que el servidor Esxi para seguir trabajando con normalidad necesita espacio en disco para realizar la gestión interna de sus procesos, se libera espacio en el disco de la Virtual Machine alojada en el Esxi, pero ese espacio que se libera en la virtual Machine no retorna automáticamente al storage del Esxi. Se evidencia que los discos de la virtual Machine se encuentran con aprovisionamiento fino es algo similar a tener una virtualización de primer nivel donde al indicar el tamaño del disco da la opción de colocar tamaño fijo o reservado dinámicamente, este último es el caso del aprovisionamiento fino (thin), que al llenarse todo el espacio en disco de la virtual Machine quedó ocupado y no se redujo nuevamente y al no reducirse no devuelve espacio al storage del Esxi ocasionando el fallo de la Virtual Machine alojada en él.

Nota 1

En ocasiones cuando se presenten problemas de espacio en el storage de Vmware Esxi y la Virtual Machine no pueda iniciar, se puede disminuir la capacidad de la memoria RAM de la virtual Machine y así liberar un poco de espacio y poder iniciarla nuevamente.

Nota 2

Si se tienen Snapshots en el servidor Vmware Esxi se puede eliminar para recuperar rápidamente espacio e iniciar la Virtual Machine nuevamente, sin embargo se pierde este > respaldo, algo que se debe tener en cuenta al momento de tomar la decisión.

1. Revisión del espacio en el storage del servidor VMware Esxi.

En este caso se observará el espacio ocupado de los discos virtuales desde el storage del servidor Esxi, en ellos se puede notar que hay un disco principal llamado FILEZ.vmdk con un espacio asignado de 1.13 TB así como se muestra en la imagen: Espacio storage 1

Otro disco llamado FILEZ-000005.vmdk con un espacio asignado de 187.26 GB así como se muestra en la siguiente imagen: Espacio storage 2

Y por último otro disco llamado FILEZ-000002.vmdk con un espacio asignado de 133.54 GB así como se muestra en la siguiente imagen: Espacio storage 3

2. Revisión del espacio en la Virtual Machine del servidor VMware Esxi.

Después de establecer los parámetros iniciales de espacio en el storage del servidor Esxi se procede a verificar el espacio interno de la Virtual Machine que se encuentra en el Esxi, donde se puede observar que la partición root / tiene un espacio de disponible de 86 GB eso se puede observar con el comando df -h en la terminal de GNU~Linux, determinando así que se tiene espacio para retornar al storage del Esxi, así como lo muestra la siguiente imagen: espacio_vm_antes

3. Colocar espacio a zeros en la Virtual Machine.

Con este procedimiento se pretende llenar un espacio de 10GB de zeros y reducir el tamaño de 86GB de la imagen anterior a 76GB, cabe resaltar que este proceso se hará en la partición que se necesite reducir el espacio, para este caso sería la partición root / por tal motivo primero se accede a ella con el comando cd y con este otro:
dd bs=1M count=10240 if=/dev/zero of=zero status=progress
Se llena de zeros las 10GB = 10240MB en la partición root / así como se muestra en la siguiente imagen: espacio_a_zeros

Terminado este proceso se verifica de nuevo el espacio disponible en las particiones y se puede notar la disminución del espacio en la partición root / a 76GB, eso indica que el llenado de zeros de las 10GB fue exitoso y se puede ver en la siguiente imagen: espacio_vm_despues

4. Listado de las particiones con vmware-toolbox-cmd.

En este paso se hace uso del comando vmware-toolbox-cmd, puede existir la posibilidad que no este instalado en el sistema operativo de la Virtual Machine, para verificar esto se puede correr el siguiente comando en Debian apt list vmware-toolbox-cmd,si muestra la versión de la aplicación está instalado. En el caso de no estar disponible se puede instalar compilando la aplicación en el SO o también se puede hacer uso de la instalación de open-vm-tools que se puede instalar por paquetería disponible de cada SO como son Debian, Ubuntu, RedHat, Fedora, CentOS y SuSe.

Continuando con el proceso se ejecuta vmware-toolbox-cmd disk list que tendrá una salida como se muestra a continuación: reclamar_espacio_1

Se puede notar que hay disponibles tres particiones, root /, /boot y /var, pero la que es de interés para el proceso es la root / ya que a está partición es la que se aplicó la reducción de espacio llenando de zeros las 10GB.

5. Proceso de reducción o reclamación de espacio con vmware-toolbox-cmd.

Ya al tener claro la partición sobre la cual se debe realizar el proceso de reclamación de espacio de la Virtual Machine para ser devuelto al storage del Esxi, se debe ejecutar el siguiente comando:
vmware-toolbox-cmd disk shrink /
Y el proceso tendrá una salida así como se muestra la imagen: reclamar_espacio_2

6. Revisión del espacio del disco virtual luego del proceso.

Después de tener un disco virtual FILEZ-000005.vmdk con un espacio asignado de 187.26 GB se puede ver que la reclamación de espacio fue satisfactoria mostrando un nuevo valor en FILEZ-000005.vmdk de 96.94 GB así como se muestra en la imagen: verificar_storage

7. Revisión del espacio del storage luego del proceso.

Por último se verifica el espacio reclamado para el storage con todo el proceso, antes de iniciar se tenía solo 2GB disponibles, al culminar con la reclamación de espacio se puede ver una disponibilidad de espacio de 90.54GB tal como se aprecia en la imagen: espacio_storage_final

Nota

Así se tenga espacio disponible en alguna de las particiones es recomendable eliminar archivos que ya no se necesiten o que se hayan respaldado, ya que este espacio que se libere será usado en el proceso de colocar a zeros espacio para luego reclamarlos al storage

Conclusión:

Al terminar el proceso se evidencia que se puede devolver espacio al storage desde la Virtual Machine, el procedimiento es efectivo sin embargo es recomendable tener RESPALDO de la información en caso que se pueda presentar alguna situación que conlleve a la perdida de datos.

Enlaces de referencia.

Procedimiento de referencia para realizar la documentación de esta entrada

Procedimientos en caso que la VM no se pueda acceder

Mejores prácticas de implementación de aprovisionamiento fino