Sistemas de almacenamiento


El clúster de modelización científica tiene disponibles varios espacios en los que los usuarios pueden almacenar sus datos. Estos espacios tienen distintas capacidades y características de manera que, el usuario debe determinar en cual de los espacios se deben colocar sus ficheros para un uso óptimo del clúster. Estos espacios, denominados por su punto de montaje, se describen a continuación.

Comunes a todo los equipos instalados en el clúster
Comunes a subclústeres (cmq, cmd, cmi)
Locales de cada nodo del cluster

/home

Descripción física

El volumen inicial de este sistema de archivos es de 4.0 TB y está localizado físicamente en un sistema de almacenamiento compuesto de una cabina HP EVA4400 y de dos servidores DL380 para exportación NFS, optimizada mediante el software Polyserve. La cabina contiene exclusivamente discos de altas prestaciones (300GB SAS 15k Fibre Channel) y está configurada en nivel RAID5 que tolera el fallo de un disco duro sin pérdida de información.

Descripción lógica

El directorio /home está destinado a contener los ficheros de los usuarios y es visible por todos los nodos del clúster. Cada uno de los usuarios tiene un directorio con su propio nombre en este sistema de ficheros y debe utilizarse para almacenar datos, códigos, checkpoints,logs, etc. Los trabajos que requieren el acceso a muchos datos (o los generen) deben diseñarse para que la escritura/lectura de los ficheros de datos o ficheros intermedios se haga preferentemente en el disco local de los nodos de cálculo o en las particiones /msa exportadas por los nodos de control de cmq y cmd (véase más abajo).

Cuotas

El directorio /home tiene definida cuota máxima de ocupación de 425Gb por grupo de usuarios. Para chequear la cuota, debe emplearse el correspondiente comando:

[user@jaula04 ~]$ quota -g
Disk quotas for group gr1 (gid 9999): 
Filesystem blocks quota limit grace files quota limit grace
192.168.4.152:/polyhome
321922 445644800 524288000 0 0 0

En el ejemplo se destaca la información del sistema de archivos /polyhome en el que se localiza el /home. La primera cifra (321922) nos informa de la ocupacion real en kb de todo el grupo de usuarios; la segunda cifra (445644800) nos informa del limite de ocupación permitido que puede superarse temporalmente hasta alcanzar el limite estricto definido por la tercera cifra. Se recomienda a aquellos grupos de usuarios que demanden más espacio ponerse en contacto con el administrador.

Backup

El Clúster realiza una copia de seguridad con periodicidad semanal de los contenidos del /home haciendo una copia exacta con la utilidad rsync de los ficheros existentes en el momento en el que se realiza el backup.

/msa

Descripción física

La cabina MSA1500, que controla en configuración RAID5 un array de discos SATA de 500GB a 7.5k, tiene un volumen total de unos 8.0 TB: Este espacio se encuentra dividido en varias particiones en RAID 1 y RAID 5 que son presentadas a los nodos de control cmq (jaula01) y cmd (jaula02). Estos nodos, a su vez, exportan por NFS estas particiones a todos los nodos del clúster.

¿Por qué hay dos tipos de RAID?

En este sistema de almacenamiento, se encuentran implementados dos distintos tipos de RAID:

Inicialmente, el sistema de almacenamiento se encontraba completamente configurado como RAID5 que, en principio, permite una mayor aprovechamiento del disco. Con la llegada de el nuevo hardware de almacenamiento (EVA 4400), se ha desplazado el espacio de almacenamiento de los usuarios a este nuevo espacio y ha permitido habilitar este sistema como almacenamiento alternativo.

Al realizar esta migración, parte de este espacio se ha utilizado pare realizar pruebas de rendimiento de las distintas posibilidades de RAID que el sistema ofrece. Para ello se ha utilizado Iozone sobre las diversas posiblidades de sistemas de ficheros.

En el gráfico se puede ver un resúmen de los resultados. En una escala arbitraria se representa la ganacia (suavizada) de velocidad promedio de la configuración en RAID 1+0 frente al RAID 5. Para el promedio se han utilizado 13 medidas de lectura, relectura, lecturas aleatorias, escritura, reescritura... sobre ficheros de hasta 50Gb y usando distintos tamaños de lectura.

Se puede ver en el gráfico que la configuración RAID 1 siempre posee una velocidad claramente mayor que el RAID 5. Los descensos (relativos) de rendimiento que se pueden observar en ciertos puntos corresponden con los "números mágicos" que son múltiplos de los tamaños de búfferes.

Descripción lógica

El espacio se encuentra en el directorio /msa y se encuentra dividido en tres particiones distintas. Cada grupo de usuarios tiene en cada una de ellas un directorio donde puede almacenar sus ficheros. Los grupos de usuarios pueden usar este espacio para diversos propósitos. Por ejemplo, para almacenar grandes ficheros de datos cuyo backup no sea necesario o para ejecutar múltiples trabajos de análisis de los datos almacenados en las particiones de datos /msa.

jaula02:/mnt/cmd1     1.6T  1.4T  178G  89% /msa/cmd1
jaula02:/mnt/cmd2     2.0T  768K  2.0T   1% /msa/cmd2
jaula01:/mnt/cmq1     1.9T  544K  1.9T   1% /msa/cmq1
jaula01:/mnt/cmq2     1.5T  528K  1.5T   1% /mnt/cmq2

No hay cuotas actualmente definidas ni tampoco se hacen copias de seguridad de los datos localizados en las particiones /msa.

/opt/apps

Descripción física

En cada nodo de control, cmi, cmq y cmd, se encuentra un directorio /opt controlado por el sistema operativo de cada nodo, y que es exportado vía NFS a través de la red de administración hacia los correspondientes nodos de cálculo gestionados por los distintos nodos. En este directorio se sitúan las aplicaciones de uso común. Aunque los contenidos de los respectivos /opt son muy semejantes, existen diferencias debidas a las características de los distintos nodos de cálculo y/o a las distintas versiones o aplicaciones instaladas para cada subclúster. No obstante, a medio plazo es previsible la unificación de los tres /opt en un único sistema de archivos.

Descripción lógica

El directorio /opt tiene la finalidad de almacenar el software común a todos los usuarios. Adicionalmente, se ha habilitado un espacio /opt/apps en cada uno de los nodos de control para que cada grupo pueda almacenar software o datos comunes a todos lo miembros del grupo. Este directorio no es accesible a personas que pertenezcan a un grupo distinto.

Cuotas

El directorio tiene implementado un sistema de colas por grupo de unos 5Gb en cada uno de los distintos nodos de control.

/data

Descripción física

El segundo disco duro de cada nodo de cálculo del subclúster CMD soporta el directorio /data cuya finalidad es albergar aquellos ficheros de datos que deban permanecer en el sistema con el propósito de ejecutar trabajos de análisis de datos.

Descripción lógica

Aquellos usuarios que realicen análisis masivos de datos serán incluidos en un grupo con acceso al directorio /data de los distintos nodos. El acceso a los datos distribuidos por el conjunto de servidores de cálculo se facilita por el servicio automount, configurado en todos los nodos de cálculo, de modo que todos los discos constituyen un único sistema de archivos /pool. De esta manera, un nodo de cálculo, yed26 por ejemplo, puede acceder a los datos situados en otro nodo (yed40) sin más que apuntar al correspondiente directorio localizado en /pool como se indica en el ejemplo:

[usuario@yed26 ~]$ ls -l /pool/yed40
lrwxrwxrwx 1 root root 15 Jun 6 21:48 /pool/yed40 -> /mnt_pool/yed40

Así, pues, es posible preparar scripts de trabajos para el sistema colas que empleen datos distribuidos entre los distintos nodos.

No hay cuotas actualmente definidas.

/scratch

Descripción física

Todos los nodos de cálculo disponen de un espacio de almacenamiento local accesible en su totalidad al trabajo que se esté ejecutando en cada momento. La siguiente tabla resume las características de los /scratch de cada tipo de nodo de cálculo:

/scratch yei[01-32] cola32 yeq[01-10]
cola8
yed[01-50]  cola2/cola2_express
Volumen accesible 233Gb x 4 discos 202Gb 187Gb
Tipo de disco 2 x SAS 15k 143Gb RAID0 4 x SCSI 10K 73Gb RAID0 SATA 7.5k 250Gb

Descripción lógica

Este espacio está montado como directorio /scratch, y su propósito es acoger los ficheros temporales de los trabajos. La variable de entorno $SCRATCH apunta siempre al subdirectorio temporal creado al efecto en cada trabajo. Los trabajos ejecutados en la cola32 (CMI) tienen acceso a cuatro discos de scratch distintos (uno por cada nodo BL485c) que son accesibles mediante las variables $SCRATCH1, $SCRATCH2, $SCRATCH3 y $SCRATCH4. Estos cuatro directorios son visibles a los cuatro nodos mediante exportación vía NFS por el servicio automount.

La entrada/salida de datos es siempre mucho más rápida en los discos locales de cada nodo de cálculo que en las particiones /home o /msa

Por supuesto, no hay cuotas definidas en los directorios /scratch. Los directorios temporales asociados a cada trabajo ejecutado por el sistema de colas se borran automáticamente al finalizar los trabajos.

Última actualización: 10 junio 2011