Introducción
El snapshot de una maquina virtual es una característica comúnmente usada en un ambiente de VMware vSphere. Sobre los snapshots siempre hay consultas recurrentes, como de administradores que los utilizan como respaldos, saber si la VM se ve afectada por la utilización de un snapshot en cuanto a su rendimiento, cuanto es lo recomendable mantener un snapshot?
En este blog, la idea es despejar algunas de las constantes dudas y que aprendamos un poco más como utilizar de buena forma esta herramienta que es muy útil.
Primero, ¿Qué es un Snapshot?
Un snapshot preserva el estado y la data de una VM en un punto especifico de tiempo. El estado por ejemplo puede incluir que la VM este en Power ON, Off o suspendida. En términos de data, incluye todo los archivos que tiene una VM, inluyendo discos, memorias y dispositivos como tarjetas de red por ejemplo.
Bajo el administrador de snapshot, tenemos varias herramientas como, crear snapshot, revertirlo, removerlo y crear una dependencia entre snapshot.
Formatos de los Snapshot
Cuando tomas un snapshot, el estado del disco virtual se preserva, el sistema operativo deja de escribir en el disco primario y se crea un disco delta donde se comienza a realizar la escritura. Este punto es esencial para entender como impacta los snapshot en las VMs.
SEsparse
Este es el formato por defecto de todos los discos deltas en datastores con formatos VMFS6. Este formato es similar a VMFSsparese (todo lo referido con el formato redo-log) pero tiene algunas ventajas. Para entender los formatos y sus diferencias los invito a visitar este link de VMware donde se explican estas características: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.storage.doc/GUID-88E5A594-DEBC-4662-812F-EA421591C70F.html
vSANSparse
Este formato se introdujo en vSAN 6.0, este es un formato nuevo de snapshot que usa memoria metadata cache y es más eficiente que en la capa de donde se crea. Trabaja mucho más “cercano” al disco primario por lo que en términos de rendimiento es mejor que los nombrados anteriormente.
vVols/Snapshot nativos
En ambientes con VMware virtual volumes (vVols), los servicios de datos, como los snapshot y las operaciones de clonación, se descargan en la matriz de almacenamiento. Con vVols, los proveedores de almacenamiento utilizan instalaciones de instantáneas nativas, por lo que las instantáneas de vSphere pueden operar a un nivel de rendimiento de disco casi base.
Impacto de Snapshot en los sistemas operativos
Primero, entender que las informaciones que se darán son sobre trabaja un snapshot sobre la VM, S.O. y aplicaciones. Como se ve afectado con 1 snapshot o más. Los gráficos a continuación son entregados por el equipo de VMware en las pruebas que ellos han realizado.
Para tener claridad en el primer gráfico, el snapshot más utilizado por todos es el VMFS, el grafico azul para que se centren en ese:
En este primer grafico ya podemos ver que los IOPS en modo RANDOM, baja considerablemente con un solo snapshot pero no se ve afectado por la cantidad.
En este segundo gráfico, vemos las transacciones por segundo y también vemos como se afecta a partir del primer snspshot.
Recomendaciones
Claramente vemos que los rendimientos se ven afectados por los snapshots, afecta en el rendimiento desde el punto de vista de los IOPS y la cantidad de transacciones que realiza una VM.
Pero de donde salen estos gráficos, el estudio realizado por VMware, no hay datos, de por ejemplo que pasa si los snapshot llevan un buen rato sin ser eliminados? En ocasiones nos podemos encontrar con el mensaje que los discos necesitan ser consolidados. Esto se puede explicar si lo compararas con la desfragmentación que ocurre en equipos Windows por ejemplo.
Lo ideal para los snapshot es sacarlos cuando quieras realizar una actualización a una VM y tengas dudas de que algo pueda salir mal. Una vez realizado el cambio, eliminar el snapshot a lo más 72 Hrs después de realizarlo.
Otra buena práctica es activar en vCenter una alerta que te indique que VM de tu entorno tiene algún snapshot y así poder detectar rápidamente si se te ha pasado alguna.
¿Qué pasa si esta alerta me indica que tengo un snapshot pero el snapshot manager no muestra nada?
Lo primero que debes hacer es validar que tu VM efectivamente este “apuntando” a un disco delta. ¿Cómo se reconoce? Las VMs están acompañados de sus discos con nombre similares a ejemplo: vmsql.vmdk pero cuando es un disco delta, ese nombre ira acompañado de varios 0000000, ejemplo vmsql0000001.vmdk.
¿Qué hacemos si está el disco delta, pero no se ve reflejado en el snapshot manager?
Un truco sencillo es sacar otro snapshot y después elegir eliminarlos todos.
Espero que lo que has podido leer te quede claro que los snapshot NO son respaldos y NO da lo mismo dejarlos eternamente. Activar la alerta de vCenter ayudara mucho a estar atento.
¡Un abrazo a todos, a seguir cuidándonos!
JLF.-