HPE + Scality (Parte II): Configuración y monitorización del entorno

En la parte anterior de este artículo vimos qué es Scality Ring y cómo es su proceso de instalación y puesta en marcha. En esta segunda parte vamos a ver:

  • Cómo navegar por la consola gráfica (GUI) de Scality y cómo utilizarla para monitorizar el entorno. También vamos a echar un vistazo a la consola de Grafana que viene ya integrada en la solución para realizar monitorización más avanzada.
  • Cómo proveer almacenamiento de Scality, tanto de ficheros (NFS y SMB) como de objetos con S3.
  • Por último veremos cómo se puede integrar este almacenamiento de objetos de S3 con algunas soluciones de backup de terceros como Veeam v10.

Vamos a utilizar el entorno que desplegamos en el artículo anterior, que consiste en:

  • 6 Servidores como nodos de Scality.
  • 3 Servidores gateway para acceso; uno por cada protocolo que vamos a usar en este entorno de Scality: S3, NFS y CIFS. El servidor de S3 es en realidad un endpoint de acceso, ya que el protocolo S3 en sí lo sirven los propios nodos de almacenamiento de Scality. En un entorno productivo se recomendaría tener redundancia de los gateways de SMB y NFS.
  • 1 Servidor de gestión, al cual nos conectaremos para acceder a la consola gráfica de Scality.

Scality Supervisor GUI

Nos conectamos directamente a la IP que durante el despliegue configuramos para el supervisor. Por defecto, las últimas versiones de Scality soportan tanto http como https, pero evidentemente los certificados SSL tenemos que ponerlos nosotros si los queremos. Es muy sencillo, sólo tenemos que conectarnos a la máquina del supervisor y dejar el fichero del certificado en:

/var/www/scality-supervisor/dsup/store.cert

Y la key en:

/var/www/scality-supervisor/dsup/store.key

Una vez conectados introducimos el usuario y contraseña que también elegimos durante la instalación. Vemos una consola como la siguiente:

A la izquierda podemos ver los diferentes componentes de la solución, de arriba abajo:

  • Arriba podemos ver los servicios y volúmenes que tenemos en los diferentes protocolos. Si es la primera vez que te conectas probablemente sólo veas el endpoint S3, porque lo hemos configurado durante la instalación. Más adelante también aparecerán los conectores de ficheros.
  • Debajo están los anillos. La instalación mínima es de al menos dos anillos; uno para datos y otro para metadatos. El anillo de datos aparece seleccionado por defecto nada más loguear en la consola. Si os fijáis en el pantallazo se ve que sólo hay 739 GB disponibles en este entorno, pero esto es por ser un entorno de laboratorios. En uno productivo, lo normal es empezar por al menos 100 TBs.
  • Debajo aparece todo el hardware: conectores, nodos de almacenamiento y discos individuales.

Si hacemos click sobre el icono de S3:

El porcentaje de la izquierda indica el tiempo que el servicio ha estado disponible en los últimos días y el círculo de su derecha indica cuántos componentes del servicio están OK (verde) y cuántos están caídos (naranja). En la pestaña de Performance podemos ver gráficas sencillas de rendimiento.

Si ahora seleccionamos el icono de servidores:

Aquí podemos ver el estado, modelo, capacidad y rol de cada servidor. Fijaos que en la columna de hardware Scality nos dice que los servidores no son baremetal sino que son máquinas virtuales.

Haciendo click en el icono de cada servidor que hay debajo podemos ver más detalles de cada servidor individual.

Y en Disks se encuentra el estado de cada disco y su capacidad libre. Si algún disco fallase, podríamos localizarlo con esta ventana.

Monitorización avanzada con Grafana

Ahora vamos a ver cómo acceder a otra consola, la de monitorización avanzada, donde podremos ver gráficas mucho más variadas y precisas para analizar nuestro entorno.

Seleccionamos la pestaña de Monitoring y luego Advanced Monitoring:

Se abrirá una nueva ventana en el navegador como la de la siguiente imagen. Esta es la consola de Grafana, que es un proyecto open-source para analíticas y visualización de datos muy potente. Haciendo click en Home en la esquina superior izquierda podemos ver el desplegable de todas las consolas que ya vienen configuradas por defecto para Scality.

El protocolo que usamos en este entorno es principalmente S3, así que seleccionamos S3 Monitoring.

En la esquina superior derecha podemos elegir el rango de tiempo que queremos que se muestre en las gráficas.

Abajo se muestran las latencias del entorno:

Nótese que las latencias GET corresponden con la latencia de lectura y las PUT de escritura. La gráfica de escritura tiene menos datos porque en este entorno sólo se escribe una vez al día o cada varios días, algo que queda patente en la gráfica de ancho de banda abajo del todo:

Quizás con esto ya puedas deducir para qué se utiliza este entorno de Scality de pruebas. Efectivamente, se usa como repositorio para hacer full backups semanales y archivarlos a largo plazo. Por eso el sistema muestra un pico cada varios días.

Este es uno de los muchos usos que se pueden de Scality; pero también puede servir como repositorio para aplicaciones de ficheros y objetos, o como tier de archivado de otras aplicaciones muy interesantes, tales como WekaIO (más info en https://www.scality.com/partners/weka/).

Provisión de ficheros (NFS y SMB)

Lo indispensable para comenzar a utilizar un anillo es crear un volumen. El volumen en Scality es un concepto similar al del volumen de una cabina de almacenamiento tradicional, es un espacio lógico donde almacenar datos.

Si hacemos click en el botón OPERATIONS y luego en VOLUMES accederemos a la lista de volúmenes presentes. Este entorno no tiene ningún volumen, así que vamos a crear uno.

Puedes elegir en qué par de anillos desplegar el volumen, pero como en este entorno sólo hay un par de anillos, esta es la única opción posible. Esto sería interesante si por ejemplo tuviéramos un entorno con varias sedes y varios anillos distribuidos entre ellas, en cuyo caso aquí seleccionaríamos el datacenter donde nos interese trabajar.

Una vez creado el volumen ya podemos continuar con el siguiente paso, que es crear los Configuration Groups que nos permiten acceder a ese volumen mediante diferentes protocolos. En este caso creamos un configuration group NFS para las máquinas Linux de nuestro entorno.

La configuración es muy sencilla: le ponemos un nombre y luego introducimos las redes que queremos que tengan acceso a este share. Fijaos que he declarado la 192.168.1.0/24 para modo sólo lectura y la 192.168.100.0/24 para default, que es lectura y escritura. Así podemos segregar de forma sencilla diferentes grupos de clientes por redes y con diferentes permisos.

Abajo seleccionamos el conector que queremos asignar al share, de forma que será este conector (o conectores si elegimos varios) donde resida el share. Seleccionamos el conector NFS que desplegamos en el anterior artículo y con esto ya tenemos el share desplegado y funcionando.

Nota: Es importante no asignar un conector NFS a un Configuration Group SMB o viceversa, porque el conector puede quedar inutilizado. No es un problema demasiado grave, porque siempre se puede formatear el conector y desplegar otro, pero es mejor evitarlo.

Finalmente montamos el fileserver en una máquina Linux para comprobar que funciona. En este caso, yo lo he montado en el propio supervisor:

Os habréis fijado en que en ningún momento hemos seleccionado cuánta capacidad queremos que tenga nuestro servidor de ficheros, ni al crear el volumen ni en el configuration group. Esto se debe a que la forma que tiene de trabajar Scality es abstraer al administrador de tener que asignar capacidades a volúmenes o servicios. En Scality, todo el almacenamiento es un pool compartido y, si lo llenamos, simplemente añadimos discos a los servidores o añadimos servidores con más capacidad para seguir creciendo. Así de sencillo.

Sin embargo, veréis que el cliente ve el servidor de ficheros como si tuviese 954TB de almacenamiento. Esto se debe a que algunas aplicaciones comprueban el espacio disponible en el share antes de escribir datos, por lo que Scality asigna una cantidad arbitraria (y muy alta) de capacidad al share solamente para evitar que estas aplicaciones devuelvan errores al escribir. Pero eso no quiere decir que realmente tengamos 954TBs disponibles. La capacidad disponible es simplemente la que tengamos en nuestro anillo, independientemente de lo que el cliente vea en la carpeta compartida.

Provisión de almacenamiento de objetos (S3)

Scality es realmente una solución scale-out de almacenamiento de objetos, que como ya hemos visto puede trabajar tanto con protocolos de objetos como con protocolos de ficheros. Si queremos servir directamente esos objetos con un protocolo pensado específicamente para ello tendremos varias ventajas de resiliencia, escalabilidad e integrabilidad con APIs.

Eso es lo que vamos a hacer ahora: configurar y provisionar almacenamiento con S3, el protocolo de objetos más usado de la industria.

La configuración del anillo de Scality para el servicio S3 y su endpoint ya se hizo durante la instalación del entorno. Lo primero que necesitamos es crear un usuario. Hacemos click en S3 Service y luego en S3 Console.

La consola de S3 es donde se gestionan los usuarios que administrarán el servicio de objetos y aquellos que harán uso del mismo. El browser lo utilizaremos más adelante y es esencialmente un cliente de S3 desde el cual podemos acceder a esos objetos, que ya viene incorporado en Scality (aunque podemos utilizar cualquier otro de los muchos que hay disponibles en internet).

Una vez hagamos click en la consola nos pedirá un usuario. En S3 existe un super administrador para toda la empresa que puede crear los diferentes usuarios. En una instalación nueva hay que loguear como superadmin y crear todos los usuarios que se van a necesitar, típicamente para los administradores de la empresa.

Introducimos el ususario y contraseña que definimos durante el despliegue de S3 en la instalación y veremos una consola como esta:

Sólo tenemos que hacer click en el icono indicado para empezar a crear usuarios.

Una vez creemos un usuario, debemos desloguear y volver a hacer login como ese usuario, para a su vez volver a crear otro que ya sí será el que gestione los buckets. La forma de trabajar es, por tanto, que el super administrator crea los usuarios de los administradores y éstos los usuarios “finales” que tienen los buckets de los clientes.

Ahora necesitamos generar unas claves para este usuario. Haz click en el icono de llave:

Haz click en Generate y luego en Proceed. Verás una pantalla como esta:

Haz click en el botón de Show para ver la contraseña. Copia y pega las keys de acceso y secreta en un lugar seguro. Después de cerrar esta pestaña la clave secreta será irrecuperable. De todas formas si la pierdes siempre puedes volver a generar otro par de keys para este mismo usuario haciendo otra vez click en el icono de la llave.

¡Ya está! Ahora vamos a probar este usuario. Vuelve a la consola de gestión de Scality, haz click en S3 Browser e introduce tus keys recién generadas.

Y ya tenemos acceso al repositorio S3. Lo primero que necesitamos es crear un bucket, que es el contenedor de objetos, más o menos análogo a lo que sería una carpeta en un filesystem tradicional.

El nombre del bucket debe ser único en el entorno y sin mayúsculas.

Con esto ya podríamos empezar a trabajar. Ya puedes darle acceso a cualquier aplicación que utilice S3 con las keys que has generado y que comience a guardar y leer objetos en este bucket.

Y con esto ya tendríamos un entorno plenamente instalado, configurado, con alta disponibilidad y sirviendo ficheros y objetos por NFS y S3, respectivamente.

Si has llegado hasta aquí, espero que te haya parecido interesante y que te sientas con confianza como para montar tu propio laboratorio y probarlo, que al fin y al cabo es como más se aprende.

Comparte este artículo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *