¿Por qué las instantáneas de VM están afectando el rendimiento?

27

Leí en uno de los artículos de VMware KB que las instantáneas afectarán directamente el rendimiento de la VM.

Pero mi equipo sigue preguntándome cómo las instantáneas pueden afectar el rendimiento.

Me gustaría darles una razón sólida detrás de la declaración de que las instantáneas son asesinas de rendimiento.

¿Alguien puede explicar un poco la teoría sobre cómo las instantáneas realmente están afectando el rendimiento? ¿Es solo porque la velocidad de E / S de disco del disco duro sería lenta?

Samselvaprabu
fuente
2
No estoy seguro si este es el artículo de KB que leyó o no. Pensé que lo agregaría como referencia.
Aaron Copley

Respuestas:

28

Cuando crea una instantánea, la imagen del disco original se "congela" en un estado consistente, y todos los accesos de escritura a partir de ese momento pasarán a una nueva imagen diferencial. Peor aún, como se explica aquí y aquí , la imagen diferencial tiene la forma de un registro de cambios, que registra cada cambio realizado en un archivo desde que se tomó la instantánea. Esto significa que los accesos de lectura tendrían que leer no solo un archivo, sino también todos los datos de diferencia (los datos originales más cada cambio realizado en los datos originales). El número aumenta aún más cuando se hacen instantáneas en cascada.

Ansgar Wiechers
fuente
2
La mejor explicación No solo está duplicando IOPS, sino que hay una sobrecarga de la CPU al calcular la diferencia de nivel de bloque.
Aaron Copley
3
Después de leer este artículo vinculado por Aaron Copley ( kb.vmware.com/selfservice/microsites/… ) parece peor que eso. Una instantánea no es una imagen diferencial, es un registro de cambios, por lo que si escribe los mismos datos en el mismo lugar 10 veces, la instantánea aumentará su tamaño en 10 multiplicado por el tamaño de los datos que escribió. En cambio, una imagen diferencial debería ser más eficiente porque debería sobrescribir los datos reescritos en la misma ubicación.
Max
1
@zespri El problema afecta a todas las plataformas de virtualización que utilizan este tipo de tecnología de instantáneas, incluida Hyper-V.
Ansgar Wiechers
1
Esto es simplemente incorrecto. Vea el comentario de @Falcon Momot para obtener la respuesta correcta. Incluso el artículo vinculado simplemente establece que el disco "puede quedarse sin espacio", lo que queda claro cuando el espacio restante antes de tomar una instantánea es más pequeño que el disco y el deltadisk no tiene suficiente espacio para expandirse.
Daniel
2
@AnsgarWiechers Esta respuesta es definitivamente incorrecta. El artículo vinculado ( kb.vmware.com/s/article/1015180 ) establece; "El disco secundario, que se crea con una instantánea, es un disco disperso. Los discos dispersos emplean el mecanismo de copia en escritura (COW), en el que el disco virtual no contiene datos en lugares, hasta que se copia allí". Seguido por; "Si una máquina virtual se está ejecutando a partir de una instantánea, está realizando cambios en un disco secundario o disperso. Cuantas más operaciones de escritura se realicen en este disco, mayor será, hasta un límite superior del tamaño del disco base más un pequeña cantidad de gastos generales ".
Steve365
5

Cuando crea una instantánea en una VM, esto crea un Disco Delta y el sistema operativo escribe en este archivo en lugar del VMDK original. Este archivo se llama VM_Name-Delta.VMDK pero si el sistema necesita hacer referencia a un archivo antes de la instantánea, se referirá a VM_Name.VMDK aumentando la E / S de esta operación. Si toma varias instantáneas, se refiere al último archivo delta de la última instantánea, no al VMDK original, lo que aumenta la E / S.

Ejemplo.

SO ---> Instantánea (Archivo A creado) ---> (Archivo de instantánea B creado)

Si necesito referirme al Archivo A, buscaré 3 VMDK para encontrar esto.

Además, si incluye el estado de la memoria de la máquina virtual en el momento de la captura de pantalla, esto crea un archivo delta nuevamente y se refiere a los archivos de memoria originales si es necesario.

Se crea un archivo que enumera todos los archivos creados en el momento del proceso de la instantánea

Zapto
fuente
2

Por lo que puedo decir, VMWare está utilizando la lógica de copia en escritura para implementar sus instantáneas. Por lo tanto, cuando crea una, cada operación realizada en su VM (p. Ej., Casi todo en tiempo de ejecución) provocaría que se copiara un poco de la VM hasta que todo se clonara.

Otro problema de rendimiento con esto es que las lecturas tendrían que conectarse en cascada a la copia original si la copia de trabajo aún no tiene datos (porque nada cambió para causar una copia).

Si desea tener las instantáneas como copia de seguridad pero no puede tolerar una pequeña disminución del rendimiento, considere clonar la VM.

Falcon Momot
fuente
-2

De los valores altos de co-stop (% CSTP) vistos durante las actividades de instantáneas de máquinas virtuales :

A medida que aumenta el tamaño y el número de instantáneas en una máquina virtual, también aumenta el número de operaciones de comando de almacenamiento dentro de vmkernel. Para cada comando de almacenamiento emitido por el sistema operativo invitado de la máquina virtual, pueden ser necesarias múltiples operaciones de comando de almacenamiento para atravesar toda la cadena de instantáneas para leer el bloque de datos más apropiado.

Shahnawaz Usmani
fuente