Actualización 11/12/2018! Para los que ya tengáis VMFS6, pasaros por este post del gran Jorge de la Cruz.
Buenos días, en el post de hoy vamos a ver como reclamar bloques eliminados en nuestros datastores VMFS3 o VMFS5.
El proceso, consiste en reclamar el espacio que ya no se está utilizando en un datastore VMFS y devolverlo a la cabina para su posterior reutilización.
Es un proceso sencillo y se ejecuta en backgroud sin afectar al funcionamiento normal de la cabina. Para que se pueda recuperar este espacio no utilizado, es necesario que el ESXi marque estos bloques a 0, indicando de esta forma a la cabina, que no los está utilizando. En la nueva versión ESXi 6.5 el proceso de unmap aparece como una de las mejoras, pero si disponemos una versión anterior, deberemos ejecutar el siguiente procedimiento:
1) Accedemos a cualquier ESXi del clúster por SSH
2) Verificamos que todos los volúmenes tienen Thin Provisioning habilitado:
1 |
|
3) Verificamos que todos los volúmenes utilizan el driver de Hitachi VMW_VAAIP_HDS nuestro fabricante de storage y que soporta en Zero Status y el Delete Status
1 |
|
4) Lanzamos el commando para que marque con un 0 los bloques no utilizado de cada datastore
1 |
|
5) Con el comando esxtop podremos ver como empieza a marcar bloques como eliminables
Para obtener esta vista en esxtop (u
para ver los datastores) es necesario entrar en el menú de selección de columnas pusando f
y seleccionar solo las columnas a
o
p
Los valores mostrados en la columna Delete es el nº de bloques que se van a eliminar. El valor de cada bloque en VMFS5 es de 1MB
También el /var/log/hostd.log
podremos ver como va haciendo el unmap:
Como habréis podido deducir, el reclamado de espacio se tiene que ejecutar sobre cada uno de los datastores VMFS que tengamos en nuestra infraestructura y eso, no siempre es una tarea sencilla. Para ello, podemos utilizar el siguiente script:
1 |
|
El comando esxcli storage filesystem list
genera la lista de datastores. No quiero que el script se ejecute en datastores locales o NFS, así que con el grep
filtramos los que nos interesen. La tercera parte, con el awk
es lo que nos ayudará a seleccionar el nombre del datastore para luego ejecutar el `esxcli storage vmfs unmap -l $datastore.
Una vez ejecutado…
1 |
|
Espero que os sea de utilidad.
Hasta el próximo post!!
Un saludo
Miquel.