Cómo probamos el WD ActiveScale P100 para nuestro almacenamiento S3

Periódicamente probamos nuevo hardware y software para usar en nuestros servicios. Siempre quieres más funciones a un precio razonable. Hoy les contaré cómo entendimos el dispositivo Western Digital ActiveScale P100 e intentamos probarlo para nuestro almacenamiento S3.

Inmediatamente un pequeño descargo de responsabilidad: probamos el producto en términos de su uso en un servicio público. Quizás algunas funciones, interesantes e importantes para uso privado, quedaron sobrantes.


Este es ActiveScale P100 en abril de 2019 antes de la instalación en el centro de datos OST.

Ahora nuestro S3 se ejecuta en Cloudian HyperStore 7.1.5. Esta versión ofrece un 98% de compatibilidad con las API de Amazon. La solución actual tiene todo lo que necesitamos como proveedor de servicios y nuestros clientes, por lo que no buscamos menos alternativas.

Esta vez, la solución de software y hardware Western Digital ActiveScale cayó en nuestras manos. El proveedor lo posiciona como una solución para organizar un clúster S3.

Así es como se ve:


ActiveScale P100 instalado en una de las salas del centro de datos OST.

Las tres unidades superiores son nodos de control. Las siguientes seis unidades son nodos para almacenar datos. Cada uno de los seis nodos contiene 12 discos de 10 TB cada uno. 720 TB totales de capacidad "en bruto". El complejo también incluye 2 dispositivos de red. Para cada nodo - 2 enlaces de 10G. En total, esta decisión toma 11 unidades en el estante.

Ejecutamos ActiveScale a través de pruebas de carga: un script generó un número diferente de archivos de diferentes tamaños, trató de cargarlos en modos de subprocesos múltiples y subprocesos múltiples y grabó el tiempo de ejecución de los comandos para cargar y eliminar archivos. Esta prueba fue artificial: se realizó desde una computadora con una unidad SSD, una gran cantidad de memoria y un procesador con una frecuencia de 3.2 GHz, con un ancho de canal limitado de 100 Mb / s. Sin embargo, tenemos los resultados de una prueba similar para la solución actual, y los resultados obtenidos estuvieron más allá de nuestras expectativas.

Prueba
Tamaño de objeto
Numero de objetos
Numero de hilos
Velocidad media
Tiempo de carga
Tiempo de eliminación *
1
10 Kb
100,000
1
104 kb / s
2 h 40 m
6 m 58 s
2
10 Kb
100,000
20
11 MB / s
35 m 4 s
11 m 38 s
3
1 Mb
100,000
1
5 MB / s
5 h 55 m
7 m 16 s
4 4
1 Mb
100,000
20
11 MB / s
2 h 31 min
7 m 26 s
5 5
10 GB
1
1
10 MB / s
16 m 5 s
3 s
6 6
10 GB
1
20
10 MB / s
16 m 2 s
3 s
Resultados de la prueba de esfuerzo.

* Al eliminar un objeto solo se marca para su eliminación. La eliminación en sí ocurre una vez al día. Cuando el clúster está casi lleno, esto puede complicar la gestión de la capacidad, ya que no hay información actualizada sobre los recursos utilizados.

La compatibilidad de Amazon S3 se probó de forma estándar. Aquí está una de las pruebas que utilicé.

En el momento de la prueba, teníamos la documentación más básica, por lo que tratamos el dispositivo de esta "caja negra" de forma independiente, a través de la interfaz web de administración, API y acceso físico.

Lo que se encontró adentro


Interfaz de administrador En la página principal, información resumida sobre tamaños de clúster y métricas de trabajo, estadísticas sobre objetos, usuarios, depósitos, políticas de almacenamiento.



Interfaz de usuario En el servicio S3, es necesario para que el administrador del lado del cliente pueda agregar / eliminar usuarios, generar claves de acceso para ellos, citar usuarios, etc. El P100 no lo tiene, pero después de nuestros comentarios, el proveedor planea implementarlo.

Usuario / gestión de roles. Para organizar un servicio público, necesitamos la capacidad de crear usuarios con diferentes derechos de acceso. P100 tiene limitaciones significativas a este respecto:

  • Puede crear solo un usuario del sistema, es decir, un administrador de clúster. Más, solo a través de la integración con Active Directory.
  • Los usuarios no se pueden agrupar y asignar un administrador. En realidad, esto nos hace imposible brindar un servicio público.
  • el usuario no se puede eliminar de forma permanente, por lo que si el nuevo usuario tiene el mismo inicio de sesión, deberá ser creativo.
  • establecer cuotas para usuarios (volumen, número de transacciones, etc.) solo es posible a través de la CLI.

Facturación El P100 está listo para usar, y este es el mayor inconveniente para nosotros como proveedor de servicios. Tenemos un producto comercial y necesitamos facturar de alguna manera a los clientes. P100 tiene registros de estadísticas que se pueden eliminar cada hora a través del panel de administración. Teóricamente, puede analizarlos, extraer los datos necesarios y hacer un cálculo sobre ellos. Pero estos registros se almacenan solo 30 días. No está claro qué hacer en situaciones en las que en el mes de 31 días o el cliente solicita verificar dos veces la cuenta de los meses anteriores.

Establecer sus propias reglas para almacenar objetos. El P100 ya nos ha llegado con la siguiente configuración: los archivos más pequeños que el fragmento (20 Kb) se almacenan en el modo de código de borrado (EC) 6 + 2. Los archivos más grandes que el fragmento se almacenan en modo EC 13 + 4. El P100 mismo determina el tamaño del archivo y selecciona el modo apropiado.

Por un lado, el P100 tiene más opciones. Por otro lado, todas las configuraciones de reglas de almacenamiento para el factor de replicación y el código de borrado solo son posibles en la etapa de implementación del clúster. Más tarde, durante la operación, ya no es posible agregar nuevas reglas de almacenamiento de datos o cambiar las existentes. Al expandir el clúster, esto debe hacerse para que la eficiencia y la confiabilidad del almacenamiento sean óptimas.


Tabla de rendimiento del almacenamiento del código de borrado.

CLI nativo \ AdminAPI. Para administrar el clúster, el P100 tiene una CLI, pero está escrito y probado solo para Ubuntu (utilizamos Red Hat). No ofrece ventajas significativas sobre la interacción a través de solicitudes curl (put, get, post), pero hay algunas características para administrar el clúster.

Soporte para AWS S3 API básico y AWS CLI. Esto es solo un indicador de compatibilidad con la API de Amazon. En pocas palabras, ¿es posible usar los comandos para Amazon S3 en esta solución? Según la experiencia, en promedio, este indicador varía en algún lugar en el rango del 50-70%.

P100 obtuvo 58% de acuerdo con los resultados de la prueba. No fue posible realizar pruebas de compatibilidad para asignar derechos de acceso a objetos individuales, ya que en la solución P100 puede asignar acceso general solo a un depósito, y no a un objeto separado. Tampoco hay IAM (Identity and Access Management). Como resultado, la compatibilidad está más cerca del 50%.


De los resultados de la prueba.

Gestión del sistema operativo. De acuerdo con la especificación, aparece ActiveScale OS 5.x. De acuerdo con los registros y carpetas disponibles a través de la interfaz web, descubrí que lo más probable es que se base en una distribución de Debian. Durante las pruebas, no fue posible encontrar formas de actualizaciones autogestionadas, cómo instalar actualizaciones críticas de seguridad, sus agentes de monitoreo, etc. Definitivamente necesita ponerse en contacto con el soporte técnico de P100 con la salida de una persona especialmente capacitada.

El número de cubos por usuario. En tales servicios, el usuario generalmente puede crear hasta 100 cubos, una especie de "carpeta" para almacenar archivos. En el caso general, esto es suficiente, pero la práctica muestra que no hay muchos cubos. En el P100, 100 cubos es el máximo. En nuestra solución actual, el usuario puede crear 1000 cubos.

Establecimiento de derechos de acceso a cubo y objetos. En P100, puede dar acceso a un depósito específico, pero no a un objeto específico. Los usuarios suelen utilizar este último porque le permite establecer límites en el número de descargas y el momento en que puede descargarse.

Estadísticas de clúster / usuario / depósito. Necesitamos esta información para rastrear la ocupación del clúster y no perder el momento en que llegamos al techo por recursos.

En la interfaz, puede ver estadísticas casi en tiempo real sobre usuarios y depósitos (la información se actualiza una vez por hora).



Se puede descargar a través de un depósito especial del sistema, pero en el formulario descargado en lugar de correo electrónico o nombres de usuario habrá un UUID, por lo que debe comparar de algún modo qué tipo de usuario se esconde detrás de UUID específicos. Esto no es un problema si hay 10 usuarios, pero si hay más.

Autodiagnóstico El P100 puede interrogar a través de SNMP toda la parte de hierro del clúster y mostrarlo en un tablero de instrumentos. Por ejemplo, puede ver la plenitud y la temperatura de los discos, el uso de la memoria, etc.


Información sobre el estado del nodo del sistema.


Información sobre el estado de los discos. Cuando falla una unidad, puede encender la luz de fondo para buscarla y reemplazarla rápidamente.


Parámetros para cargar la CPU y la memoria en el clúster.

Registro de acciones del usuario. No está allí, lo que significa que no es fácil entender las situaciones de "quién eliminó el archivo y lo eliminó".

Soporte SSE / SSE-C. P100 admite cifrado, pero con limitaciones: debe solicitar una clave de licencia por separado, y esto es dinero extra.

Balanceador de carga. Está integrado, presumiblemente vale HAProxy. Debe configurarlo al mínimo: solo especifique las direcciones IP entrantes y salientes.

Automatización de procesos de entrada / salida de nodos o discos en nodos. Ayuda cuando un nodo se rompe en un clúster y necesita ser dado de baja. Ahora para tales situaciones, tenemos una solución preparada. No encontré dicho mecanismo en el P100, solo puede deshabilitar un nodo separado a través de la interfaz web de administración. Lo más probable es que tenga que invitar al ingeniero del vendedor.

Dispositivo de puerta S3. Esta solución de software le permite implementar ftp / nfs / samba-gate en el lado del cliente y soltar los archivos que deberían estar en S3 allí. Una cosa conveniente si el usuario final no sabe cómo usar S3. Desafortunadamente, el P100 no tiene esto a bordo.

Puertos de aplicación de trabajo. En el P100, solo están disponibles los puertos estándar para S3: 80, 443.

Documentación de usuario. Solo hay documentación de API.

Documentación administrativa Proporcionado por el vendedor a pedido.

No probado, pero declarado por el vendedor


Múltiples puntos finales. Llegamos con una instalación lista, donde solo un punto final por clúster ya estaba configurado. Cambio fallido.

Geo-reserva. Esta opción permite replicar datos en tres sitios y cambiar a los clientes a sitios de respaldo. Teníamos solo un grupo, por lo que no fue posible realizar la prueba.

Integración con AD. Declarado, pero no usamos AD en relación con S3, por lo que no lo probamos.

Conclusiones


En general, el WD ActiveScale P100 dejó una impresión positiva: funciona "fuera de la caja", rápidamente y al mismo tiempo es muy aceptable. Sin embargo, esta es una solución privada que aún no se puede utilizar para construir un servicio público S3. Aquí está lo principal que no teníamos suficiente:

  • no hay forma de crear grupos de usuarios y establecer un administrador para ellos;
  • sin interfaz gráfica de usuario;
  • sin facturación;
  • inclusión de funciones adicionales solo a través de una apelación al vendedor;
  • la incapacidad de mantener diferentes políticas de almacenamiento y asignarlas a diferentes grupos de usuarios dentro del mismo clúster, dependiendo de las tareas actuales.

Según los resultados de las pruebas, el vendedor aceptó todos los deseos. Quizás en un futuro cercano se realice uno de ellos.

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


All Articles