🗄️ Almacenamiento#
En los clusters conviven diferentes tipos de sistemas de archivos:
/home#
Sistema de archivos remoto
La partición /home contiene los directorios personales de los usuarios del cluster.
Está destinada al almacenamiento permanente de archivos de usuario, incluyendo códigos fuente, scripts, inputs, outputs, etc.
Los archivos almacenados en /home son accesibles desde todos los nodos dentro del clúster,
permitiendo a los usuarios recuperar y gestionar sus archivos
independientemente del nodo de cómputo en el que estén ejecutando sus trabajos.
Esta partición está optimizada para la confiabilidad, capacidad y seguridad más que para operaciones de entrada/salida (I/O) de alta velocidad. Por lo tanto, realizar tareas intensivas en I/O directamente en la partición home puede resultar en un rendimiento subóptimo.
Idealmente, este sistema de archivos debería utilizarse únicamente para guardar los datos que se desean conservar una vez terminado el trabajo de cálculo.
/scratch#
Sistema de archivos local
Cada nodo de cómputo cuenta con una partición local montada en el directorio /scratch,
destinada al almacenamiento temporal durante la ejecución de trabajos.
Este espacio, implementado sobre un volumen lógico con sistema de archivos XFS, está optimizado para operaciones de entrada/salida (I/O) rápidas, lo que lo hace especialmente adecuado para tareas intensivas en lectura y escritura.
Su uso principal es almacenar archivos intermedios, conjuntos de datos temporales y salidas generadas durante el trabajo, evitando el tráfico de red y mejorando el rendimiento.
Advertencia
Todos los archivos almacenados en esta ubicación se eliminan automáticamente al finalizar el trabajo.
Conservar archivos#
Si se desea conservar archivos almacenados en el /scratch,
se debe incluir una instrucción sgather al final del script de submit:
...
srun <comando>
sgather /scratch/archivo_temporario prefijo
Esto copiará cada uno de los archivos llamados archivo_temporario generados en cada nodo
a directorios con el prefijo indicado seguido del nombre del nodo (ej. prefijo/romeXX/archivo_temporario).
El comando también permite copiar directorios de forma recursiva, comprimir los archivos antes de copiarlos, entre otras opciones.
Puede consultar la documentación completa en https://www.mankier.com/1/sgather.
/tmp#
Sistema de archivos local
El directorio /tmp se encuentra accesible en todos los nodos de cómputo.
No se trata de un sistema de archivos en disco sino simplemente de un directorio presente en la imagen del sistema.
Por este motivo, la escritura de archivos en este directorio se desaconseja ya que ocupa espacio en la memoria RAM del nodo.
La escritura de archivos en /tmp está limitada al 50% de la memoria RAM total del nodo.
Este espacio se debe usar únicamente para la escritura de pequeños archivos
(como por ejemplo un archivo de estado o un archivo que indica la ejecución de un programa).
Una vez terminado el trabajo, y si no existen otros trabajos del mismo usuario en el nodo,
los archivos creados en /tmp se eliminan automáticamente.