Cómo probamos el almacenamiento definido por software, también conocido como Virtual SAN

Decidimos probar en la práctica una nueva tendencia en la comunidad de TI, a saber, el almacenamiento definido por software.



Pedimos a nuestros maravillosos proveedores un campo de pruebas.

Configuración del soporte:

  • 3 servidores SuperMicro X9SCL / X9SCM de la siguiente configuración:
  • Procesador Intel E3-1220V2: 4 núcleos x 3.1 GHz
  • RAM - 16 Gb
  • Adaptador RAID Adaptec 6405E: 2x300GB SAS 10K, 1x180GB SSD: todas las unidades deben configurarse en modo JBOD
  • 2x500GB SATA 7.4K conectado a los conectores en el tapete. placa de circuito
  • NIC 2x1GB

En realidad, hay muchas soluciones de Virtual SAN ahora, Starwind VSAN se cayó debido a limitaciones significativas de la versión gratuita, que eliminó todas las características interesantes, VMWARE VSAN se cayó debido a los requisitos de hardware y el alto costo de propiedad, que no es óptimo para presupuestos regionales pequeños, así como por el hecho de que esos. Los especialistas de VMWARE al margen no recomiendan usar su VSAN para aplicaciones críticas para el negocio. Como resultado, elegimos una solución de Nutanix y EMC ScaleIO.

ScaleIO es una SAN virtuosa definida por software de EMC, puede funcionar en modo libre casi sin restricciones (¡escrito en la licencia para uso que no sea de producción!): el único inconveniente grave es que este sistema no tiene mecanismos incorporados para el almacenamiento automático de datos o el almacenamiento en caché, yo uso discos SSD (a diferencia de competidores a quienes el SSD les da una gran ventaja en la velocidad de las máquinas virtuales). Arquitectónicamente, se parece mucho al sistema de almacenamiento empresarial IBM XIV de gama alta, incluso el tamaño de bloque es el mismo: 1 MB.

Leí requisitos mínimos contradictorios en diferentes fuentes:
  • Estos son los requisitos mínimos del sistema para una implementación de ScaleIO 1.31 y 1.32:
  • La solución ScaleIO 1.31 y 1.32 solo es compatible con ESXi 5.5 GA.
  • Tres servidores ESXi con 100 GB de capacidad libre por servidor
  • Red de 1 gbps
  • Cuatro discos SATA de 7.200 rpm por nodo


Sin embargo, en la práctica, para la versión 1.32, tales restricciones no se cumplieron.

Debido al hecho de que en la producción usamos el VMWARE racialmente correcto y no nos gusta el Hyper-V no ortodoxo, seleccionamos la versión de prueba de VMWARE ESXi 6.0 para su implementación como hipervisor. En aras de la justicia, debe tenerse en cuenta que ScaleIO funciona bien en los siguientes hipervisores XEN, ESXi, Hyper-V; en este último, con la ayuda de Windows 2012 r2, los artesanos eludieron la falta de almacenamiento en caché de SSD utilizando las herramientas integradas en 2012 R2, que por supuesto tuvo un impacto positivo en el rendimiento del sistema. (hay una técnica en Internet)

Primero debe instalar el hipervisor ESXi en todos los hosts e instalar el dispositivo VCENTER para administrar el clúster VMWARE. El primer incidente nos esperaba allí mismo: ESXi nunca quiso ver el controlador Adaptec 6405E, aunque está presente en VMWARE HCL.
Descargamos controladores (Offline-Bundles y VIB) del sitio web de Adaptec para VMWARE y a través de VMWARE powercli usando esta herramienta , preparamos una imagen personalizada del hipervisor con controladores integrados; después de eso, todo salió bien.

A continuación, se implementa la virtualización del dispositivo VCENTER y, nuevamente, a través de vmware powercli, se registran los complementos de ScaleIO y las plantillas de máquina virtual de ScaleIO en formato .ova se copian en el almacén de datos (de acuerdo con las instrucciones de instalación de ScaleIO).

Después de reiniciar todos los hosts, el sistema está listo para trabajar en la instalación de ScaleIO.

Recomiendo leer las instrucciones de implementación, de lo contrario, muchos puntos serán incomprensibles:
- por ejemplo, debe comprender cosas como el dominio de protección y cómo se relaciona con los grupos de almacenamiento,
- cuáles son las recomendaciones para crear grupos de almacenamiento (que no deberían interferir con HDD y SSD , aunque esto es posible)
: para comprender qué es FaultSets, aunque no lo usamos. Comprenda qué es la política de ZeroPadding, la política de caché de RAM y sus opciones, la política de repuesto. ¡Muchos

matices ScaleIO no admite la capacidad de usar unidades SSD como caché para una matriz de datos! Esta es una característica desagradable. Se pueden recopilar agrupaciones de SSD, pero será solo una agrupación solo flash, ¡nada más!


¡Recomendamos usar el adaptador RAID de lectura / escritura de caché como elemento de caché si está equipado con una batería, y también hay una función RAM CACHE al crear un dominio de protección que usa parte de la RAM del host de virtualización como caché de matriz! (en 16 GB de RAM logramos asignar 1.3 GB como caché en la configuración, lea la documentación)

También necesita 2 VLAN virtuales: administración y datos, deberá emitir cada uno de los 4 (en la configuración mínima) administración de SVM (SVM - Máquina virtual ScaleIO) IP y DATA IP con una indicación de la puerta de enlace y las máscaras. (Es muy recomendable preparar un plan de direccionamiento con anticipación para no completar todos los campos requeridos 10 veces).

En total, en modo mínimo, la instalación crea 4 SVM en nuestros 3 hosts (SVM - ScaleIO Virtual Machine), ocupa 8 cpu en total (2 en el host: 2 máquinas virtuales en el primer host, por lo tanto, 4 vcpu), ocupa 12 Gb de memoria en total.

SVM en el nodo1: mdm primario, sds, sdc
SVM en el nodo2: mdm secundario, sds, sdc
SVM en el nodo 3: disyuntor, sdc
SVM en cualquier nodo: puerta de enlace:

mdm (actualización centralizada, monitoreo, mantenimiento) mdm: Meta Data Manager: administra tablas de asignación de dispositivos
sds - servidor de datos ScaleIO - controla la entrega de unidades físicas a través de discos RDM en VMWARE (asignación de disco sin formato)
sdc: cliente de datos ScaleIO: en el caso de VMWARE, se agrega. módulos de kernel que se integran durante la fase de implementación de ScaleIO y le permiten lograr un mayor rendimiento que cuando trabajan en la máquina virtual SVM.

Además, una gran ventaja de tener SDC en el núcleo es que los volúmenes de datos creados en ScaleIO se presentan en VMWARE directamente como LUN para crear un almacén de datos, sin usar una capa adicional de virtualización y presentación de volúmenes a través del mecanismo iSCSI.



El proceso de implementación no se realizó sin problemas, ya que no teníamos las VLAN y direcciones IP necesarias para SVM listo. Después de preparar los datos y reiniciar el asistente de instalación en el último paso, estos errores comenzaron a salir de nosotros:

Falló: agregue el dispositivo SDS ScaleIO-4c1885e7 a los discos duros de Storage Pool (ScaleIO - Timeout)

Con lo que estaba conectado no puedo decir. Nos sentamos, pensamos, reintentos presionados. Los errores anteriores desaparecieron, pero aparecieron otros errores en uno de los SVM en el host2:

Falló: Agregue el dispositivo SDS ScaleIO-4c1885eb a los discos duros de la agrupación de almacenamiento (ScaleIO - El SDS ya está conectado a este MDM)

Nos sentamos y pensamos ... descubrimos que en uno de los SVM donde se encontraba el mdm secundario, por alguna razón durante la instalación, no se crearon asignaciones de RDM a discos físicos y, en consecuencia, el servicio SDS no aumentó. Por lo tanto, uno de los nodos que no comenzamos.

Hicieron clic de nuevo en el botón "implementar entorno de scaleio" y, he aquí, el host y la máquina virtual vacía se encontraron como no utilizados, ingresaron nuevamente los datos sobre VLAN y direcciones IP, y el host se inició normalmente sin errores.

Después de eso, un momento interesante estaba esperando en la etapa de creación de volumen en el que colocaremos los datos. No pude encontrar este elemento en la GUI: ni en el tablero de la GUI que está instalado en Windows, ni en la GUI de VMWARE, ni en la interfaz web de Gateway. muchas instrucciones para crear desde cli - encontradas por casualidad en algún blog.

Doy una captura de pantalla: ¿dónde está el botón atesorado para crear volumen en la GUI de VMWARE?



¡Hurra, encontrado! Pero los "aplausos" no fueron largos. De acuerdo con la captura de pantalla en el grupo de almacenamiento con el nombre HDD (donde combiné los 6 discos SAS de los 3 nodos) tenemos un límite de capacidad total de 1.6 TB (que generalmente corresponde a 6x300GB), pero el volumen con ese volumen no se crea ... y no está claro qué volumen disponible para el usuario. Leí instrucciones de Internet sobre cómo usar la CLI para ver el volumen disponible. Revisamos SSH a uno de los SVM de MDM. Doy el comando:

ScaleIO-10-1-4-203:~ # scli --query_storage_pool --protection_domain_name pd2 --storage_pool_name hdds
Error: MDM failed command.  Status: Invalid session. Please login and try again.


¿Qué?

Intento con el segundo MDM: el error es algo así como no se puede conectar localhost: 6611

En la puerta de enlace generalmente se dice que no hay tales comandos. ¡Todo es un estupor! No está claro cómo usar la CLI.

Estudiamos cuidadosamente la guía del usuario en ScaleIO, especialmente sobre los conceptos básicos de la CLI, y dice en la parte inferior que, además, debe iniciar sesión en la CLI y la fecha del enlace, cómo hacerlo, pero debe hacerlo así:
ScaleIO-10-1-4-203:~ # scli --login --username admin
Enter password:


Y después de eso, todos los equipos de CLI comenzaron a trabajar maravillosamente.

scli --query_storage_pool --protection_domain_name pd2 --storage_pool_name hdds

Storage Pool hdds (Id: 574711eb00000000) has 0 volumes and
544.0 GB (557056 MB) available for volume allocation
Background device scanner: Disabled
Zero padding is disabled
Spare policy: 34% out of total
Uses RAM Read Cache
RAM Read Cache write handling mode is 'cached'
 1.6 TB (1667 GB) total capacity
 1.1 TB (1100 GB) unused capacity
 567.1 GB (580708 MB) spare capacity


¿Esperar lo? ¿El volumen disponible en nuestro caso es 544GB? ¿Cómo? ¿Por qué? Aquí se requiere una explicación de la arquitectura de almacenamiento (ver captura de pantalla):



es decir volumen total de agrupación de almacenamiento sin formato denominado HDD: 1,6 TB menos 567,1 GB de capacidad de reserva = 1,1 TB de capacidad no utilizada. La capacidad de repuesto está determinada por el parámetro Política de repuesto en la configuración. De acuerdo con las recomendaciones de la documentación, para una protección completa contra la falla de un nodo, es necesario que la capacidad de almacenamiento sea al menos 1 \ N del volumen total de todos los discos físicos de todos los nodos incluidos en el grupo de almacenamiento, donde N es el número de nodos que están en el grupo (es decir, e si tenemos 3 nodos con discos en este grupo de almacenamiento, entonces la capacidad de reserva en nuestro caso es 1 \ 3 de 1.6TB (del total), respectivamente 567.1 GB (580708 MB).

Por lo tanto, obtenemos 1.1 TB de espacio no utilizado en el grupo de almacenamiento para crear volumen. Sin embargo, para fines de alta disponibilidad y confiabilidad, ScaleIO almacena 2 copias de cada bloque de datos en todas las unidades físicas, respectivamente, dividimos el volumen de 1.1TB por 2, y como resultado obtenemos el volumen disponible para crear un volumen de 544.0 GB.

Durante la operación de prueba del sistema, logramos los siguientes indicadores (la velocidad era de 85-130 MB / s, pero debe comprender que esto es solo la carga de una máquina virtual, al expandir la matriz agregando nodos con discos, creo que todo será proporcional al crecimiento con IOPS):



Nutanix Comminity Edition 4.5 - gratis para uso no comercial

En general, la documentación para Nutanix, por extraño que parezca, es bastante pequeña ... Algunos puntos se aclararon durante el proceso de instalación. Nutanix combina el sistema de administración de clúster de hipervisor y virtualización (ala VMWARE Vcenter) en una "persona", así como un sistema de almacenamiento distribuido entregado a través de NFS con funciones de alta disponibilidad.

Desafortunadamente, no pudimos obtener la versión con el hipervisor ESXi. Por lo tanto, comenzaron a probar la versión de Community Edition, y tiene muchas limitaciones:

- máximo 4 nodos
- máximo 4 discos por nodo (incluidos los SSD, por lo que la capacidad máxima por host es de 18 TB (3 x 6 TB HDD))
- Procesador Intel con soporte VT-x Mínimo de 4 núcleos
: controladores SATA de interfaz de controlador de host avanzado (AHCI) incorporados
- Controladores LSI en modo TI (las pruebas de Nutanix muestran un mejor rendimiento que IR)
- al menos 16 GB de memoria por host (se recomienda encarecidamente 32 GB o más para la deduplicación - no se enciende durante 16)
- SSD mínimo por host 200 GB
- mínimo el volumen SSD por host para admitir la deduplicación de 300

GB (preferiblemente más de 400,480) Nutanix no determinó el controlador SAS ADAPTEC 6405E, por lo que no pudimos usar discos SAS (utilizamos discos SATA y SSD que están conectados a los conectores de la placa base).

La instalación requiere medios en cada host: no colocamos la imagen terminada en los discos locales del servidor; colocamos una unidad flash de 8GB en cada host (los requisitos mínimos son una unidad flash de 8GB, mejor 16, un hipervisor KVM (Acropolis) y una máquina virtual de control CVM) - ¡y así sucesivamente para cada host!), El número total de máquinas virtuales CVM por el número de hosts.

En nuestro caso, se obtuvo la siguiente configuración:

- 16 gigabytes de memoria por host
- para cada host 2 discos duros HDD SATA 500GB
- para cada host 1 disco duro SSD 500GB
- para la deduplicación necesita un mínimo de 24GB de memoria por host + un mínimo de 300GB SSD por host, por lo que ella no se volvió contra nosotros.

En caso de incumplimiento de los requisitos mínimos, el sistema no está instalado ...

No puede cambiar el hipervisor en Community Edition, solo KVM está instalado de forma predeterminada, esto es un gran inconveniente, porque estamos acostumbrados a usar VMWARE ESXi.

Después de la instalación, aparece una máquina virtual de servicio (CVM - máquina virtual de control) en cada host, que ocupa 2 núcleos de procesador y reserva 12 GB de RAM en cada host; tenga esto en cuenta cuando planifique.

Después de la instalación en todos los nodos del clúster, creamos volúmenes para el almacenamiento de datos: al crear StorageContainer, si Replication Factor 2, el espacio libre del almacenamiento en disco es un 50% menor (todos los bloques de datos se duplican en otros discos, por ejemplo, tenemos 3 hosts, en cada 2 discos SATA 500 GB, un total de 6 unidades + unidades SSD en cada uno de los hosts, solo 2,88 TB de volumen total, de los cuales 1,44 TB están disponibles para el usuario para el almacenamiento).

Después de la creación, se puede acceder a la matriz de discos y entregarla a través de NFS: por ejemplo, se conectó perfectamente al clúster VMWARE 5.5 como un almacén de datos, respectivamente, el almacenamiento vmotion también funciona, aunque la velocidad es mucho más lenta en comparación con FC 4Gb \ seg (es comprensible con una conexión gigabit - fue interesante conduciría en 10G o infiniband).

Una máquina en vivo de 60 GB del clúster VMWARE se trasladó unos 24 minutos al almacenamiento de Nutanix. Regresó 13 minutos al almacenamiento FC de nivel empresarial.

Escribir el archivo iso desde el servidor de Windows en la máquina virtual vmware que se encuentra en el almacenamiento nutanix a través de nfs (1Gb / s) - 34MB / seg.

No existe una herramienta interactiva para administrar grupos de puertos y conmutadores virtuales: todo se hace desde cli.

Un punto obvio sobre las redes para ejecutar máquinas virtuales: le aconsejo que lea detenidamente la documentación. Para las máquinas virtuales dentro de Nutanix, utilizamos las VLAN que todos nuestros otros sistemas de virtualización usan para acceder a la red. En la etapa de configuración de redes virtuales, el número de VLAN de la red virtual simplemente se indica: no hay más configuraciones y, en las propiedades de la máquina virtual, el adaptador de red virtual está configurado para coincidir con el número de red, y eso es todo, ¡no hay otras configuraciones en la GUI! Pero todo funciona.

Para instalar máquinas virtuales de invitados de Windows, debe conectar un segundo CDROM virtual con controladores VirtIO (por ejemplo, puede tomarlo desde aquí (primero coloque el archivo iso en el repositorio): fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download )

El tiempo de instalación de Guest VM en Windows 2012 R2 fue de solo 7 minutos desde el principio hasta la carga completa del sistema de trabajo, la máquina virtual funciona visualmente también rápido, obviamente, SSD ayuda.

Puede colocar una máquina virtual en el tipo de cortador de disco virtual IDE (sin conectar los controladores VirtIO), pero esta no es una configuración recomendada: el rendimiento será mucho menor.

Durante una falla de alimentación de prueba de uno de los hosts en el clúster, HA funcionó, el sistema no se bloqueó, los recursos de disco son accesibles tanto en la red como localmente, las máquinas virtuales que estaban en el host desconectado se reiniciaron en otros hosts (si hay suficiente memoria),
Sin embargo, después de activar el poder del 3er host, el hecho desagradable fue que el estado del sistema se ha mantenido en Critial durante mucho tiempo: no sé lo que esto atrae, pero no hay mucho bien. (de 1 hora a 2). Por ejemplo, el mismo clúster VMWARE después de conectar el host determina rápidamente su estado y vuelve a conectarse al clúster.

En general, debe tenerse en cuenta que la interfaz Prism para administrar un clúster de Nutanix CE tiene una interfaz bastante pobre (aunque agradable). Solo hay configuraciones básicas disponibles, pero en general son suficientes a primera vista, hay algún tipo de análisis gráfico personalizable, aunque por supuesto es mucho más débil que en VCENTER.

No está claro cómo hacer una copia de seguridad: después de todo, ni los productos de Symantec ni Veeam admiten la virtualización de KVM ... obviamente, a través de instantáneas, pero ¿qué pasa con la recuperación de datos granular en este caso (archivo por archivo).

Visualmente, Nutanix fue mucho más rápido, que en la etapa de copiar imágenes a su sistema de almacenamiento, que en la etapa de instalación del sistema operativo en una nueva máquina virtual desde la imagen, que en la etapa de reinicio de arranque: casi todo instantáneamente). Existe el deseo de probar Nutanix en una configuración más potente y asegúrese de usar VMWARE EXSi.

Por supuesto, no puedo proporcionar ningún dato de rendimiento particular para ambos sistemas, pero puede obtener información sobre el "rastrillo" en la etapa de configuración de la configuración. Si eso me disculpo, la primera nota sobre Habré.

Source: https://habr.com/ru/post/es383157/


All Articles