En este artículo, me gustaría hablar sobre las características de los arreglos All Flash AccelStor que funcionan con una de las plataformas de virtualización más populares: VMware vSphere. En particular, enfocarse en aquellos parámetros que ayudarán a obtener el máximo efecto al usar una herramienta tan poderosa como All Flash.
Todos los arreglos Flash AccelStor NeoSapphire ™ son dispositivos de uno o dos nodos basados en SSD con un enfoque fundamentalmente diferente para implementar el concepto de almacenar datos y organizar el acceso a ellos utilizando su propia tecnología FlexiRemap® en lugar de los algoritmos RAID muy populares. Las matrices proporcionan acceso en bloque para los hosts a través de las interfaces iSCSI o Fibre Channel. Para ser justos, observamos que los modelos con la interfaz ISCSI también tienen acceso a archivos como una buena ventaja. Pero en este artículo, nos centraremos en el uso de protocolos de bloque como los más productivos para All Flash.
Todo el proceso de implementación y configuración de la colaboración entre la matriz AccelStor y el sistema de virtualización VMware vSphere se puede dividir en varias etapas:
- Implementación de la topología de conexión y configuración de la red SAN;
- Configuración de toda la matriz Flash;
- Configurar hosts ESXi;
- Configurar máquinas virtuales.
Las matrices AccelStor NeoSapphire ™ con Fibre Channel e iSCSI se utilizaron como equipo de ejemplo. El software base es VMware vSphere 6.7U1.
Antes de implementar los sistemas descritos en este artículo, se recomienda encarecidamente que lea la documentación de VMware sobre los problemas de rendimiento ( Mejores prácticas de rendimiento para VMware vSphere 6.7 ) y la configuración de iSCSI ( Mejores prácticas para ejecutar VMware vSphere en iSCSI )
Topología de conexión y configuración de SAN
Los componentes principales de una red SAN son HBA en hosts ESXi, conmutadores SAN y nodos de matriz. Una topología típica de dicha red se vería así:
El término Switch aquí se refiere a un solo interruptor físico o un conjunto de interruptores (Fabric), o un dispositivo compartido entre diferentes servicios (VSAN en el caso de Fibre Channel y VLAN en el caso de iSCSI). El uso de dos interruptores / Fabric independientes elimina un posible punto de falla.
La conexión directa de los hosts a la matriz, aunque es compatible, no se recomienda. El rendimiento de todos los arreglos Flash es bastante alto. Y para obtener la máxima velocidad, debe usar todos los puertos de la matriz. Por lo tanto, se requiere al menos un cambio entre hosts y NeoSapphire ™.
Tener dos puertos en el host HBA también es un requisito previo para un rendimiento máximo y tolerancia a fallas.
Si usa la interfaz Fibre Channel, debe configurar la zonificación para evitar posibles conflictos entre los iniciadores y los destinos. Las zonas se basan en el principio de "un puerto iniciador: uno o más puertos de matriz".
Si está utilizando una conexión iSCSI si está utilizando un conmutador que se comparte con otros servicios, debe aislar el tráfico iSCSI dentro de una VLAN separada. También es muy recomendable que habilite el soporte de Jumbo Frames (MTU = 9000) para aumentar el tamaño de los paquetes en la red y, por lo tanto, reducir la cantidad de sobrecarga durante la transmisión. Sin embargo, vale la pena recordar que para un funcionamiento correcto es necesario cambiar el parámetro MTU en todos los componentes de la red a lo largo de la cadena iniciador-conmutador-objetivo.
Configuración de todas las matrices flash
La matriz se entrega a clientes con grupos FlexiRemap® ya formados. Por lo tanto, no se necesita ninguna acción para integrar las unidades en una sola estructura. Es suficiente crear volúmenes del tamaño requerido y en la cantidad requerida.
Para mayor comodidad, existe una funcionalidad para la creación por lotes de varios volúmenes de un volumen dado a la vez. Los volúmenes "delgados" se crean de forma predeterminada, ya que esto permite un uso más racional del espacio de almacenamiento disponible (incluso gracias al soporte de Recuperación de espacio). En términos de rendimiento, la diferencia entre volúmenes delgados y gruesos no supera el 1%. Sin embargo, si desea "exprimir todos los jugos" de la matriz, siempre puede convertir cualquier volumen "delgado" a "grueso". Pero debe recordarse que tal operación es irreversible.
Luego queda "publicar" los volúmenes creados y establecer los derechos de acceso a ellos desde los hosts utilizando la ACL (direcciones IP para iSCSI y WWPN para FC) y la separación física de los puertos en la matriz. Para los modelos iSCSI, esto se realiza mediante la creación de Target.
Para los modelos FC, la publicación se produce mediante la creación de un LUN para cada puerto de la matriz.
Para acelerar el proceso de configuración, los hosts se pueden agrupar. Además, si el host utiliza el FC HBA multipuerto (que en la práctica ocurre con mayor frecuencia), el sistema determina automáticamente que los puertos de dicho HBA pertenecen al mismo host debido a WWPN, que difieren en uno. Además, la creación de lotes de Target / LUN es compatible con ambas interfaces.
Un punto importante cuando se usa la interfaz iSCSI es crear múltiples objetivos para volúmenes a la vez para aumentar el rendimiento, ya que la cola de destino no se puede cambiar, y en realidad será un cuello de botella.
Configurar hosts ESXi
En el lado de ESXi, la configuración básica se realiza de acuerdo con el escenario bastante esperado. Procedimiento para la conexión iSCSI:
- Agregue el adaptador iSCSI de software (no es necesario si ya se ha agregado o si utiliza el adaptador iSCSI de hardware);
- Crear vSwitch, a través del cual irá el tráfico iSCSI, y agregarle un enlace ascendente físico y VMkernal;
- Agregar direcciones de matriz a Dynamic Discovery;
- Crear almacén de datos
Algunas notas importantes:
- En el caso general, por supuesto, puede usar el vSwitch existente, pero en el caso de un vSwitch separado, administrar la configuración del host será mucho más simple.
- Es necesario separar el tráfico de administración y el iSCSI en enlaces físicos y / o VLAN separados para evitar problemas de rendimiento.
- Las direcciones IP de VMkernal y los puertos correspondientes de la matriz All Flash deben estar en la misma subred, nuevamente debido a problemas de rendimiento.
- Para garantizar la tolerancia a fallos de VMware, vSwitch debe tener al menos dos enlaces ascendentes físicos
- Si usa Jumbo Frames, debe cambiar la MTU de vSwitch y VMkernal
- No será extraño recordar que, de acuerdo con las recomendaciones de VMware para adaptadores físicos que se utilizarán para trabajar con tráfico iSCSI, es necesario configurar Teaming y Failover. En particular, cada VMkernal debe funcionar solo a través de un enlace ascendente, el segundo enlace ascendente debe cambiarse al modo no utilizado. Para la tolerancia a fallas, debe agregar dos VMkernal, cada uno de los cuales funcionará a través de su enlace ascendente.

Adaptador VMkernel (vmk #) | Adaptador de red física (vmnic #) |
---|
vmk1 (Almacenamiento01) | Adaptadores activos vmnic2 Adaptadores no utilizados vmnic3
|
vmk2 (Almacenamiento02) | Adaptadores activos vmnic3 Adaptadores no utilizados vmnic2
|
No se requiere conexión de canal de fibra. Puede crear inmediatamente un almacén de datos.
Después de crear el almacén de datos, debe asegurarse de que la política Round Robin se utilice para las rutas a Target / LUN como las más productivas.
De manera predeterminada, la configuración de VMware proporciona el uso de esta política de acuerdo con el esquema: 1000 solicitudes a través de la primera ruta, las siguientes 1000 solicitudes a través de la segunda ruta, etc. Esta interacción del host con una matriz de controlador dual estará desequilibrada. Por lo tanto, recomendamos configurar la política Round Robin = 1 parámetro a través de Esxcli / PowerCLI.
ParámetrosPara Esxcli:
lista de dispositivos de almacenamiento nmp esxcli
- Copiar nombre del dispositivo
- Cambiar la política de Round Robin
esxcli storage nmp psp roundrobin deviceconfig set --type = iops --iops = 1 --device = "Device_ID"
La mayoría de las aplicaciones modernas están diseñadas para intercambiar grandes paquetes de datos con el fin de maximizar la utilización del ancho de banda y reducir la carga de la CPU. Por lo tanto, ESXi transfiere de manera predeterminada las solicitudes de E / S al dispositivo de almacenamiento en lotes de hasta 32767 KB. Sin embargo, para una serie de escenarios, el intercambio de porciones más pequeñas será más productivo. Para las matrices AccelStor, estos son los siguientes escenarios:
- La máquina virtual usa UEFI en lugar de BIOS heredado
- Utilizado por vSphere Replication
Para tales escenarios, se recomienda que cambie el valor del parámetro Disk.DiskMaxIOSize a 4096.
Para las conexiones iSCSI, se recomienda cambiar el parámetro de tiempo de espera de inicio de sesión a 30 (predeterminado 5) para aumentar la estabilidad de la conexión y desactivar el retraso del reconocimiento de los paquetes de retardo reenviado. Ambas opciones están en vSphere Client: Host → Configurar → Almacenamiento → Adaptadores de almacenamiento → Opciones avanzadas para el adaptador iSCSI
Un punto bastante sutil es el número de volúmenes utilizados para el almacén de datos. Está claro que para facilitar la administración existe el deseo de crear un gran volumen para todo el volumen de la matriz. Sin embargo, la presencia de varios volúmenes y, en consecuencia, el almacén de datos tiene un efecto beneficioso sobre el rendimiento general (más información sobre las colas un poco más adelante en el texto). Por lo tanto, recomendamos crear al menos dos volúmenes.
Más recientemente, VMware aconsejó limitar la cantidad de máquinas virtuales en un único almacén de datos, nuevamente para obtener el mejor rendimiento posible. Sin embargo, ahora, especialmente con la propagación de VDI, este problema ya no es tan grave. Pero esto no cancela la regla de larga data: distribuir máquinas virtuales que requieren E / S intensivas en diferentes almacenes de datos. No hay nada mejor para determinar la cantidad óptima de máquinas virtuales por volumen que probar la matriz All Flash de AccelStor dentro de su infraestructura.
Configurar máquinas virtuales
No hay requisitos especiales al configurar máquinas virtuales, o más bien, son bastante comunes:
- Usando la versión más alta posible de VM (compatibilidad)
- Es más preciso establecer el tamaño de RAM cuando las máquinas virtuales están densamente ubicadas, por ejemplo, en VDI (ya que, de manera predeterminada, al inicio, se crea un archivo de paginación que es comparable al tamaño de RAM, que consume capacidad útil y tiene un efecto en el rendimiento final)
- Utilice las versiones de adaptadores IO más eficientes: tipo de red VMXNET 3 y tipo SCSI PVSCSI
- Utilice el tipo de unidad Thick Provision Eager Zeroed para obtener el máximo rendimiento y Thin Provisioning para la máxima utilización del almacenamiento
- Si es posible, limite el trabajo de las máquinas de E / S no críticas utilizando el límite de disco virtual
- Asegúrese de instalar VMware Tools
Notas de la cola
Una cola (o E / S pendientes) es el número de solicitudes de E / S (comandos SCSI) que están esperando el procesamiento en un momento dado desde un dispositivo / aplicación en particular. En el caso de un desbordamiento de la cola, se generan errores QFULL, lo que finalmente resulta en un aumento en el parámetro de latencia. Cuando se utilizan sistemas de almacenamiento en disco (eje), en teoría, cuanto mayor es la cola, mayor es su rendimiento. Sin embargo, no debe abusar de él, porque es fácil ejecutar QFULL. En el caso de los sistemas All Flash, por un lado, todo es algo más simple: la matriz tiene retrasos varios órdenes de magnitud más bajos y, por lo tanto, la mayoría de las veces no es necesario ajustar por separado el tamaño de las colas. Pero, por otro lado, en algunos escenarios de uso (un fuerte sesgo en los requisitos de IO para máquinas virtuales específicas, pruebas de rendimiento máximo, etc.), si no cambia los parámetros de la cola, al menos comprenda qué indicadores se pueden lograr y, Lo más importante, de qué maneras.
All Flash Array de AccelStor en sí no tiene límites en volúmenes o puertos de E / S. Si es necesario, incluso un solo volumen puede obtener todos los recursos de la matriz. La única restricción de la cola es con objetivos iSCSI. Es por esta razón que la necesidad de crear varios objetivos (idealmente hasta 8 piezas) para cada volumen para superar este límite se indicó anteriormente. Además, los arreglos AccelStor son soluciones altamente productivas. Por lo tanto, debe usar todos los puertos de interfaz del sistema para lograr la velocidad máxima.
En el lado de ESXi del host, la situación es completamente diferente. El propio anfitrión aplica la práctica de igualdad de acceso a los recursos para todos los participantes. Por lo tanto, hay colas de E / S separadas para el SO invitado y HBA. Las colas para el sistema operativo invitado se combinan desde las colas hasta el adaptador SCSI virtual y el disco virtual:
La cola para HBA depende del tipo / proveedor específico:
El rendimiento final de la máquina virtual estará determinado por el límite de profundidad de cola más bajo entre los componentes del host.
Gracias a estos valores, puede evaluar los indicadores de rendimiento que podemos obtener en una u otra configuración. Por ejemplo, queremos saber el rendimiento teórico de una máquina virtual (sin vincular a un bloque) con latencia de 0,5 ms. Entonces su IOPS = (1,000 / latencia) * E / S pendientes (límite de profundidad de cola)
EjemplosEjemplo 1
- Adaptador FC Emulex HBA
- Una máquina virtual en el almacén de datos
- Adaptador VMware Paravirtual SCSI
Aquí el límite de profundidad de la cola está determinado por el HBA Emulex. Por lo tanto, IOPS = (1000 / 0.5) * 32 = 64K
Ejemplo 2
- Adaptador de software VMware iSCSI
- Una máquina virtual en el almacén de datos
- Adaptador VMware Paravirtual SCSI
Aquí, el límite de profundidad de la cola ya está definido por el adaptador paravirtual SCSI. Por lo tanto, IOPS = (1000 / 0.5) * 64 = 128K
Los mejores arreglos All AccelStor All Flash (como el P710 ) son capaces de ofrecer un rendimiento de 700K IOPS para grabar en bloque 4K. Con tal tamaño de bloque, es obvio que una sola máquina virtual no es capaz de cargar dicha matriz. Para hacer esto, necesitará 11 (por ejemplo 1) o 6 (por ejemplo 2) máquinas virtuales.
Como resultado, con la configuración correcta de todos los componentes descritos del centro de datos virtual, puede obtener resultados muy impresionantes en términos de rendimiento.
4K aleatorio, 70% de lectura / 30% de escritura
De hecho, el mundo real es mucho más difícil de describir con una fórmula simple. Un solo host siempre tiene muchas máquinas virtuales con diferentes configuraciones y requisitos de E / S. Sí, y el procesador host se dedica al procesamiento de entrada / salida, cuya potencia no es infinita. Entonces, para liberar todo el potencial del mismo modelo, el P710 en realidad necesitará tres hosts. Además, las aplicaciones que se ejecutan dentro de máquinas virtuales hacen ajustes. Por lo tanto, para un dimensionamiento preciso, sugerimos usar una prueba en el caso de modelos de prueba de todos los arreglos All Flash AccelStor dentro de la infraestructura del cliente para las tareas actuales de la vida real.