Virtual Machine disks consolidation is needed

Virtual Machine disks consolidation is needed

Nos encontramos una máquina virtual con el icono triangulo amarillo de advertencia y un mensaje si pulsamos en sumary, similar a lo siguiente:

1

2

Sobre la máquina virtual podriamos dar a la opción “consolidate” , pero nos da un error como el siguiente:

3

Si editamos las propiedades de la máquina virtual y vamos a cada disco, podemos comprobar lo siguiente cuando nos fijamos en la ubicación de los discos:

4

Hace referencia a un DELTA,  es decir, esta máquina tiene o ha tenido snapshots.

NOTA: Aparece la ruta del disco tipo:   -000001, -000008, -000006, etc etc

Ejemplo:

SERVER_BD_SQL-000001.vmdk

SERVER_BD_SQL-000006.vmdk

Repasamos cada disco y apuntamos exáctamente esa ubicacion, !! esto es muy importante !! , ya que esos discos son los que está utilizando la máquina.

Si vamos al “datastore browser” lo veremos asi:

5

Es decir, por cada fichero DELTA, veremos tambien un archivo .vmdk

Si cuando hemos editamos las propiedades de la máquina virtual hemos visto que el disco 1 tiene la ubicacion del delta SERVER-000001.vmdk, es ese delta el que está utilizando.

6

Yo lo que suelo hacer (como veis en la imagen superior), es desde la consola de esxi, lanzar un “ls-la >maquina.csv“, y analizar detenidamente asi como remarcar, los nombres de los distintos archivos .vmdk, ya que, pueden existir varios discos en la máquina, y tener muchos ficheros deltas, y ser bastante lioso.

(Veis como incluso especifico a qué disco de la máquina corresponde)

7

NOTA: Existe un límite de 32 ficheros delta por máquina virtual, esto debe ser controlado.

Por tanto , sugiero documentar bien los discos, a dónde apuntan, y tenerlos bien localizados en el datastore.

SOLUCION DEL PROBLEMA

Viendo que tenemos un montón de deltas, que encima están creciendo, y que con la opción “consolidate” nos da error…..¿qué podemos hacer?.

En primer lugar y muy importante es ver qué espacio ocupa nuestra máquina virtual en cuestión, y tener datastores con espacio suficiente.

Opción 1

Es posible que liberando espacio en el datastore de la máquina virtual con problemas, podamos consolidar, asi de forma normal con consolidate, o haciendo un snapshot y eliminando todos, como comentaremos ahora.

Opción sencilla, pero que a veces no funciona.

Podemos ir a la máquina y hacerle un snapshot.

Después le decimos que “remove all snapshots”.

Esto en teoria debería funcionar, si no funciona podemos volver a realizar lo mismo pero con “Quiesce”.

8

Si con esto tampoco funciona, debemos ir a la opción 2.

Tambien lo podemos intentar desde la linea de comandos:

# vim-cmd vmsvc/getallvms

Apuntamos el Vmid que aparece

# vim-cmd vmsvc/snapshot.get [VMID]

Aqui nos apareceran snapshots (o no…).

NOTA: En la máquina virtual si vamos al administrador de snapshots, observamos que no tenemos snapshots.

# vim-cmd vmsvc/snapshot.create [VmId] [snapshotName] [snapshotDescription] [includeMemory] [quiesced]

Con este comando creamos el snapshot.

# vim-cmd vmsvc/snapshot.create 3 snapshot1 snapshot 0 0

Y con este lo eliminamos:

# vim-cmd vmsvc/snapshot.removeall [VMID]

Opción 2

Esta opción es la que seguramente funcionara, aunque como decia al principio hay que documentar bien todo:

Primero apagamos la máquina.

  1. Quitamos la máquina del inventario
  2. Vamos al datastore browser y “renombramos la carpeta de la máquina”. (Si, !! , se puede renombrar desde aqui)
  3. Creamos una nueva carpeta con el nombre que tenia originalmente, por ejemplo si antes se llamaba “bdsql” y la renombramos a “bdsql-00”, creamos una carpeta llamada “bdsql”.
  4. Clonado de discos con vmkfstools

La única manera de clonar discos individualmente de una máquina es con vmkfstools.

No nos liemos !!, los únicos discos que debemos clonar son los que está utilizando la máquina, es decir, vamos a las propiedades de la máquina y vamos apuntando los discos y ubicaciones.

Ejemplo de clonado:

Vmkfstools –i SERVER_BD_SQL-000001.vmdk bdsql_disco1.vmdk

Vmkfstools –i SERVER_BD_SQL_2-000007.vmdk bdsql_disco3.vmdk

Es decir, con -i es el comando en donde especificamos “origen y destino”, el origen es el nombre de nuestro disco .vmdk (delta), y destino el disco .vmdk que queremos crear (el clon).

Es posible que en el comando tengamos que especificar rutas completas, es decir algo parecido a esto:

# vmkfstools -i W2012-test00/W2012-test-000001.vmdk W2012-test/W2012-test.vmdk

Hay que tener en cuenta tambien que si la máquina está es un datastore y queremos realizar el clonado a otro datastore distinto, tendremos que especificar correctamente el origen y destino.

NOTA: Lógicamente el clonado de estos discos lo estamos haciendo hacia esa carpeta que creamos y desde la renombrada.

5. Cuando creemos el clonado, nos aparecerán dos discos, uno es un “flat” y el otro un “.vmdk”, el flat tiene mas tamaño porque es donde estan los datos, el otro es la estructura del disco.

Si lanzamos un cat sobre este último veremos que se hace referencia al flat.

6. Ahora debemos copiar desde la carpeta que hemos renombrado, los ficheros .vmx y .nvram

Es lógico, ya que el .vmx es necesario para poder arrancar la máquina, además tiene información sobre los discos.

Sin .nvram , tampoco arrancaria al no tener una bios.

7. Una vez copiados, debemos editar el archivo .vmx

scsi0:0.filename = “bdsql-000001.vmdk”

Buscamos una linea parecida a la anterior, y sustituimos por:

scsi0:0.filename = “bdsql.vmdk”

Es decir, hemos quitado la parte……000001

Así vamos haciendo con todos los que veamos.

Guardamos el .vmx

8. Importamos la máquina virtual al inventario, situándonos con el datastore browser sobre el archivo .vmx

Seguramente los discos aparecerán con “tamaño cero”, por tanto, mejor quitarlos (remove from virtual machine), y volverlos a poner (ya sabemos cual es la ruta donde están).

Comprobamos que ahora si que tienen tamaño.

9. Arrancamos la máquina.

Todo debe ir bien ahora.

NOTA: Para evitar problemas con snapshot, es importante actualizar la versión de esxi, en versiones inferiores a esxi 5.5 up 2, se han detectado varios problemas con snapshots y productos de backup.

Espero que os sea de ayuda, este ha sido mi último post de este año .

!! Feliz fin de año y mejor entrada del próximo !!

Anuncios

2 pensamientos en “Virtual Machine disks consolidation is needed

  1. en la empresa donde trabajo hay varias maquinas virtuales que apuntan a discos de snapshots tipo disco-000001.vmdk y usan estos discos de manera permanente, esto es bueno en la practica?

    • Hola David

      NO es bueno que de forma “permanente” la máquina trabaje con discos con snap, y mas si el snapshot ya no es necesario, deberiais verificar que ya no hace falta el snap y eliminarlo.
      Si editas las propiedades de las máquinas virtuales y vas a cada disco (en el caso de que tengan mas de uno), no debes ver ceros….en cada disco (por ejemplo 000001.vmdk, etc etc), ya que eso quiere decir que se están generando ficheros “deltas” . Puede existir un número muy grande si la máquina tiene muchos cambios y al final aumentar mucho el tamaño y dejar sin espacio al datastore. Ten en cuenta que cuando creamos un snap, se bloquea el fichero vmdk original y todo lo que suceda despues en la máquinas, es decir, los cambios, van a los deltas.
      Intentar eliminarlos es importante para no perjudicar a la máquina virtual.
      Un saludo y gracias por interesarse en este humilde blog.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s