Cuando estamos hablando de seguridad y productividad en un entorno, es importante mantener un balance entre los dos. Si damos prioridad a uno de estos, quiere decir que el otro va ha sufrir. Este concepto se aplica al equilibrio entre la administración de seguridad (operaciones de I/O de fondo) y la productividad (I/O de VM) en su clúster de almacenamiento. Si sus operaciones de fondo (es decir, operaciones de resincronización, reequilibrio, etc.) consumen toda su I/O, el rendimiento de la aplicación se verá afectado. Probablemente, si su aplicación consume todas sus I/O y su entorno no puede mantener la disponibilidad de manera segura, entonces las ganancias obtenidas al retener las operaciones de fondo se convierten en pérdidas.
El conocimiento y control de las operaciones de I/O primarias y secundarias es uno de los muchos beneficios de tener un sistema de almacenamiento distribuido como vSAN, integrado directamente en el hipervisor. La forma en que vSAN maneja este equilibrio ha evolucionado a lo largo de los últimos lanzamientos. En vSAN 5.5 y 6.0 se pudo implementar un control de resincronización limitado en la CLI. En versiones anteriores, esto podría regularse manualmente. En vSAN 6.6 y ESXi 6.0 Patch 2, se implementó un acelerador estático para las reconstrucciones. La regulación manual fue sin duda una característica poderosa, pero dejó la decisión de equilibrar la seguridad y la productividad al usuario.
En vSAN 6.6.1 se introdujo una regulación automática del tráfico. Esto introdujo una capacidad espacial general basada en la latencia de la máquina virtual. Con vSAN 6.7, Adaptive Resync aprovecha las capacidades de VMware para optimizar y afinar vSAN de una manera que logra un nuevo nivel de consistencia en el rendimiento de VM en una amplia variedad de condiciones.
Resincronización adaptativa
La sincronización adaptativa encontrada en vSAN 6.7 es un nuevo mecanismo para regular adecuadamente el flujo de I/O de resincronización versus VM I/O durante los períodos de contención. Representa un nuevo nivel de capacidades y control que permite a vSAN compartir recursos de ancho de banda de almacenamiento por clase de I/O.
Con el fin de proporcionar un mecanismo para garantizar la prioridad y la imparcialidad adecuadas de los I/O en diversas condiciones, la solución necesitaba poder lograr lo siguiente:
- Establecer e identificar diferentes clases de I/O a medida que ocurren.
- Tener una manera de regular el ancho de banda para las clases de I/O en varias de almacenamiento.
- Tener una lógica que pueda descifrar de manera inteligente las condiciones de los tipos de I/O, para colocar de forma dinámica la contrapresión y regularla según sea necesario.
vSAN 6.7 distingue cuatro tipos de I/O y tiene un queue pendiente para cada clase de I/O, como se muestra aquí:
- VM I/O (VM I/O) representa todas las solicitudes de lectura y escritura del VM. Esto incluye I/O de VM que se entregan o se obtienen de varios hosts como parte de la política de almacenamiento asignada.
- La resincronización de I/O (Resync I/O) representa todas las actividades de I/O que se producen como resultado de las operaciones de resincronización, reconstrucción o reparación.
- El I/O de metadatos representa todas los I/Os relacionadas con la administración de los objetos que conforman una máquina virtual, como el tráfico de witness, así como las actividades de monitoreo y pertenencia a grupos.
- Namespace I/O se relaciona con todos los I/Os relacionadas con el objeto de espacio de nombres de la máquina virtual.
vSAN administra y regula estos diversos tipos de I/O utilizando el programador dispatch/fairness. Mientras no haya contención, todos los tipos de I/O se extraen de sus respectivos queues. Durante los períodos de contención, el programador puede determinar a partir del regulador de ancho de banda la velocidad de ingreso y puede continuar reduciendo la entrada de I/O hasta que las señales de congestión dejen de crecer. Cuando los I/Os superan el ancho de banda disponible anunciado, el programador se asegurará de que los I/O de resincronización se asignen a un mínimo aproximado al 20% del ancho de banda disponible, dejando el 80% restante para VM y otras clases de I/O. Nuevamente cuando no hay contención estos límites no se aplican.
Veamos un ejemplo. Una máquina virtual está trabajando duro y consume aproximadamente el 75% del ancho de banda total disponible. Luego, se realiza un cambio en una política de almacenamiento de VM que requiere cierta actividad de resincronización. Esto causa alguna disputa. Como resultado, el programador de despacho/equidad de vSAN garantiza que la actividad de resincronización no consuma más del 20% de I/Os disponibles, lo que deja el 80% restante para la carga de trabajo de la máquina virtual. Una vez que el VM genera menos I/Os eliminando la contención, Adaptive Resync permite que la actividad de resincronización consuma el ancho de banda restante.
- Período 1: Esto representa la actividad de I/O del VM, pudiendo usar libremente todo el ancho de banda disponible mientras no se está produciendo una actividad de resincronización.
- Período 2: Esto representa que la actividad de resincronización comienza a ocurrir mientras la actividad de I/O de VM aún está ocupada. Como el ancho de banda agregado de ambos tipos de I/O se acerca al 100%, los I/Os de VM se reducen ligeramente para otorgar el 20% del ancho de banda disponible para la actividad de resincronización.
- Período 3: Esto representa la actividad de I/O de VM y la actividad de I/O de resincronización de la actividad que aún está muy ocupada, excede el ancho de banda anunciado y ambos mantienen su asignación designada.
- Período 4: Esto representa la actividad de I/O de la máquina virtual donde las máquinas virtuales generan menos actividad de I/O. Adaptive Resync permite que la actividad de resincronización consuma el ancho de banda disponible restante.
En la siguiente ilustración, se inició una falla en el host para demostrar lo capaz que es vSAN para administrar la disponibilidad. vSAN determina que necesita reconstruir los componentes de las máquinas virtuales afectadas para mantener el número de fallas a tolerar dictadas por la política de almacenamiento de la máquina virtual. Como resultado, resync IOPS aumentan. Más tarde, la actividad de VM IO aumenta causando contención. Adaptive Resync equilibra la resincronización y la actividad de la máquina virtual hasta que ya no haya contención.
- Período 1: Esto representa la actividad de I/O de resincronización, pudiendo usar libremente todo el ancho de banda disponible mientras no se esté produciendo ninguna actividad de VM.
- Período 2: Esto representa la actividad de la máquina virtual comienzando a ocurrir mientras la actividad de I/O de resincronización aún está ocupada. Como el ancho de banda agregado de ambos tipos de I/O se acercan al 100%, los I/O de resincronización se reducen ligeramente para otorgar el 80% del ancho de banda disponible para la actividad de la máquina virtual.
- Período 3: Esto representa la actividad de I/O de VM y la actividad de I/O de resincronización de la actividad que aún está muy ocupada, excede el ancho de banda anunciado y ambos mantienen su asignación designada.
- Período 4: Esto representa la actividad de I/O de la máquina virtual donde las máquinas virtuales generan menos actividad de I/O. Adaptive Resync permite que la actividad de resincronización consuma el ancho de banda disponible restante y termine de reconstruir los componentes ausentes.
En Resumen
La sincronización adaptativa en vSAN 6.7 introduce la mecánica necesaria para implementar un mecanismo de control de flujo adaptable y completamente inteligente para administrar el I/O de resincronización y el I/O de VM. El comportamiento funcional de Adaptive Resync podría resumirse como:
- Cuando no se produce ninguna actividad de resincronización, los I/O de VM pueden consumir hasta el 100% del ancho de banda disponible.
- Cuando se está produciendo la resincronización y actividad de I/O de VM, y el ancho de banda agregado de las clases de I/O está por debajo del ancho de banda disponible anunciado, ninguna clase de I/O se limitará.
- Cuando se está produciendo una actividad de sincronización y de I/O de VM, y el ancho de banda agregado de las clases de I/O superan el ancho de banda anunciado, los I/O de resincronización se asignan no menos del 20% (aproximadamente) del ancho de banda, asignando aproximadamente el 80% para I/Os de VM.
Las capacidades de Adaptive Resync de vSAN 6.7 maximizan la capacidad del tráfico de resincronización para utilizar todo el ancho de banda posible, sin impartir implicaciones de rendimiento en las máquinas virtuales respectivas en vSAN. Para obtener información detallada sobre vSAN Adaptive Resync y toda otra información relacionada con vSAN, asegúrese de visitar storagehub.vmware.com.
@GreatWhiteTec