Almacenamiento S3 en Grid UNAM

En este documento se muestra la infraestructura de almacenamiento masivo con que cuenta Grid UNAM. Asimismo se explica como acceder a ellos desde un nodo "Submit" y desde su interfaz WEB. Finalmente, se muestra el uso de los comandos básicos de manipulación de archivos de esta plataforma.

Introducción

GridUNAM tiene integrado un conjunto de servidores de almacenamiento basados en la tecnología "High Performance Object Storage", que en conjunto tiene la capacidad de almacenar hasta 600 TB TeraBytes de datos. A estos servidores los llamaremos "Servidores-S3". La intención es que usted coloque en los Servidores-S3 los archivos o datos que requiera para la ejecución de su aplicación, así como los archivos de resultados al finalizar su experimento. En la Tabla 1 se muestran los nombres de los Servidores-S3 disponibles en GridUNAM, su capacidad, la liga para acceder a ellos desde un navegador, un identificador del nodo submit necesario en el ambiente de envíos de trabajo y la entidad Grid UNAM a la que pertenecen.

Servidor-S3 Capacidad total Acceso URL Identificador-S3 Entidad Grid UNAM
s3.lamod.unam.mx 50 TB https://s3.lamod.unam.mx:9001/ lamod sumbmit.lamod.unam.mx
atenea.astrosen.unam.mx 50 TB https://atenea.astrosen.unam.mx:9001/ atenea jamatu.astrosen.unam.mx
s3.grid.unam.mx 500 TB https://s3.grid.unam.mx:9001/ dgtic submit.grid.unam.mx

Tabla 1. Servidores-S3 disponibles en Grid UNAM.

Los Servidores-S3 están enlazados con una red de alta velocidad de 10 Gbps y distribuidos en distintas entidades geográficamente distantes. Algunos de ellos están ubicados en las instalaciones de Ciudad Universitaria en la Ciudad de México y uno de ellos en Ensenada, Baja California. La red de alta velocidad, permite que sus datos puedan ser alojados en cualquiera de los Servidores-S3 y el programa que los utiliza resida o pueda ser enviados desde cualquiera de las 4 entidades Grid UNAM. Es así, que los tiempos de transporte de datos no impactarán de forma sustancial el rendimiento de algoritmo.

Los Servidores-S3 de Grid UNAM están basados en el software MinIO Enterprise Object Store, https://min.io/, que es compatible con el protocolo Simple Storage Service (S3) desarrollado por Amazon, disponible para procesos de almacenamiento masivo en la nube. En particular la seguridad está basado en la generación de "Tokens" que es el mecanísmo base de autenticación de nuestra plataforma. Es así, que para operar a los Servidores-S3 es a través de un comando llamado "mcli", https://min.io/docs/minio/linux/reference/minio-mc.html. En este documento solo probaremos con los comandos más sencillos de MinIO.

Adicionalmente, Grid UNAM ha desarrollado una utilería llamada "gridauth.sh" que nos permite:

  1. Generar un "token" de acceso de manera simple.
  2. El "token" tiene una duración de 3 días, equivalente al tiempo máximo de ejecución de cualquier trabajo sometido a nuestra plataforma.
  3. Genera una etiqueta única para un acceso uniforme a los Servidores-S3 desde cualquier nodo de envío. Esta etiqueta es: gridunam

Requerimientos

  1. Tener un proyecto Grid UNAM vigente
  2. Tener una cuenta para acceso a grid UNAM.

De las Cuentas

  1. Cada uno de los proyectos aprobados tienen un directorio raíz único, que en el contexto de almacenamiento S3 lo llamaremos "Bucket-Raiz", y está especificado en el momento de alta del proyecto.
  2. Cada proyecto tiene un espacio almacenamiento total permitido para todo el proyecto.
  3. Cada proyecto tiene un Servidor-S3 asociado. Solo en casos especiales puede tener más de un Servidor-S3, que será especificado en el momento de la aprobación del proyecto o solicitado en el desarrollo del mismo.
  4. Cada proyecto puede tener más de un colaborador.
  5. Cada integrante de un proyecto debe tener su propia cuenta.
  6. Los integrantes de un proyecto pueden leer, escribir y borrar el contenido del Bucket-Raiz.

Acceso a los Servidores-S3 desde un nodo submit

Una buena práctica para los usuarios de Grid UNAM, es tener la información de los accesos de los diferentes componentes de esta plataforma disponibles para su consulta. En la siguiente tabla mostramos el ejemplo del proyecto "Taller Grid UNAM" cuyo nombre corto es "tallergu". En este proyecto se generaron 50 cuentas para acceso al nodo submit, equivalente a 50 colaboradores.

Para el uso del almacenamiento se creo un solo usuario llamado "tallergu" en el servidor atenea.astrosen.unam.mx. Se le asignó 5 TB de espacio de almacenamiento al proyecto. Al Bucket-Raiz se le asignó el nombre "tallergu" y es aquí en donde cada usuario crea y trabaja en su propio directorio. Nótese que el nombre corto del proyecto es igual que el nombre del Bucket-Raiz, esta es una política que mantendrá el grupo de desorrollo Grid UNAM, siempre y cuando no exista una razón para cambiarla.

Descriptor Valor
Nombre del proyecto: Taller Grid UNAM
Nombre Corto: tallergu
Nodo Submit: jamatu.astrosen.unam.mx
Cuenta nodo submit: tgu40
Palabra de acceso: xxxxxx
Servidor-S3: atenea.astrosen.unam.mx
Cuota de almacenamiento: 5 TB
Cuenta de almacenamiento: tallergu
Palabra de acceso almacenamiento: yyyyyy
Bucket-Raiz: tallergu
Identificador-S3: atenea
URL: https://atenea.astrosen.unam.mx:9001/

Tabla 2. Información de accesos a la plataforma Grid UNAM

Acceso a los Servidores-S3 desde el WEB

La interfaz WEB de acceso a los servidores es intuitiva y puede ser visualizada
desde cualquier navegador y desde cualquier punto del Internet.

Es muy útil cuando los trabajos que son enviados a Grid UNAM, guardan información directamenta al Servidor-S3, ya sea parcial, por cada paso o iteracción o bien al término del mismo. Entonces, se puede revisar el progreso desde cualquier sitio. De la misma forma, si los archivos de entrada se encuentran en su servidor o computadora persona y se almacenan en el Servidor-S3 sin hacer uso del nodo submit.

El procedimiento es el siguiente:

  1. Desde cualquier navegador accede al Servidor-S3 que se muestra en la columna "Acceso URL" de la Tabla 1. Seleccione "Other Authentication Methods" → "GridUMAM", vea la Figura 1.

Pantalla de login Figura 1: Pantalla de inicio

  1. Llene los campos de "Username or email" con el nombre de la "Cuenta de almacenamiento:" y de "Password" con "Palabra de acceso almacenamiento:", descritos en la Tabla 2. Seguido presione "Sign In", vea la Figura 2.

Acceso Figura 2: Pantalla de acceso

  1. Seguido le aparecen el o los *Buckets-Raiz" que su proyecto tiene aprobado.

Bucket-Raiz Figura 3: Bucket-Raiz del proyecto

A partir de este momento usted tiene acceso a la sección de almacenamiento S3 de la plataforma Grid UNAM.

Referencias del comando "mcli"

La información completa de los comando "mcli" se puede consultar en la liga:

https://min.io/docs/minio/linux/reference/minio-mc.html

O bien desde la línea de comandos de la forma:

mcli --help
mcli comando --help