Lustre, uno de los sistemas de archivos utilizados en clusters y supercomputadoras
Lustre es un sistema de archivos distribuido Open Source, normalmente utilizado en clusters a gran escala. El nombre es una mezcla de Linux y clusters.
El proyecto intenta proporcionar un sistema de archivos para clusters de decenas de miles de nodos con petabytes de capacidad de almacenamiento, sin comprometer la velocidad o la seguridad, y está disponible bajo la GNU GPL.
Cluster File Systems son los diseñadores, desarrolladores y mantenedores de Lustre con colaboraciones de otras compañías y particulares.
Sobre Lustre
Muchos de los superordenadores más rápidos del mundo son clusters que utilizan el sistema de archivos Lustre como almacenamiento, como los sistemas en ORNL, PNNL, LLNL y LANL.
Se considera a cada archivo almacenado en el sistema de archivos Lustre un objeto. Lustre presenta a todos los clientes una semántica POSIX estándar y acceso concurrente lectura y escritura para los objetos compartidos. Un sistema de archivos Lustre tiene cuatro unidades funcionales.
Estas son Meta data server (MDS) para almacenar los metadatos; un Object storage target (OST) para guardar los datos reales; un Object storage server (OSS) para manejar los OSTs; cliente(s) para acceder y utilizar los datos.
Los OSTs son dispositivos de bloques. Un MDS, OSS, y un OST pueden residir en el mismo nodo o en nodos diferentes.
Lustre no administra directamente los OSTs, y delega esta responsabilidad en los OSSs para asegurar la escalabilidad para grandes clusters y supercomputadores.
En un Massively Parallell Processor (MPP), los procesadores pueden acceder al sistema de archivos Lustre redirigiendo sus peticiones I/O hacia el nodo con el servicio lanzador de tareas si está configurado como un cliente Lustre.
Aunque es el método más sencillo, en general proporciona un bajo rendimiento. Una manera ligeramente más complicada de proporcionar un rendimiento global muy bueno consiste en utilizar la biblioteca liblustre.
Liblustre es una biblioteca de nivel de usuario que permite a los procesadores montar y utilizar el sistema de archivos Lustre como un cliente, sorteando la redirección hacia el nodo de servicio.
Utilizando liblustre, los procesadores pueden acceder al sistema de archivos Lustre, incluso si el nodo de servicio en el que se lanzó el trabajo no es un cliente Lustre.
Liblustre proporciona un mecanismo para mover datos directamente entre el espacio de aplicación y los OSSs de Lustre sin necesidad de realizar una copia de datos a través del núcleo ligero, logrando así una baja latencia, y gran ancho de banda en el acceso directo de los procesadores al sistema de archivos Lustre.
Nueva versión de Lustre
Recientemente se lanzó una nueva versión de Lustre 2.12 con la cual se añaden algunas nuevas funciones y sobretodo correcciones de errores para algunos de las diversas distribuciones de Linux que son utilizadas para las supercomputadoras.
Principales novedades de Lustre 2.12
Con este nuevo lanzamiento se agrega la función de espaciar grandes directorios existentes de espacio de nombres distribuido (DNE, espacio de nombres distribuido) de un objeto de almacenamiento de metadatos (MDT, objetivos de metadatos) a varios (espaciado de diferentes segmentos DNE por diferentes MDT).
La nueva característica simplifica la introducción de nuevos MDT para los FS existentes y el reequilibrio manual de la carga en MDT.
Para los repositorios de metadatos (MDT), se implementa el modo ” Lazy Size “, que le permite devolver rápidamente el tamaño aproximado en lugar del tamaño exacto de los archivos al escanear directamente MDT a través del motor de políticas en situaciones donde la velocidad es más importante que la precisión.
Para las configuraciones con múltiples interfaces de red LNet, en esta nueva versión de Lustre 2.12 se agrega la función “LNet Network Health”, que implementa la opción de volver a acceder a RPC a través de otra interfaz de red en caso de falla la primera vez que se envía una solicitud.
Ademas de ello se agregó soporte de servidor para las versiones de RHEL 7.6 (3.10.0-957.el7) y SLES12 SP3 (4.4.162-94.69). Se agregó soporte de cliente para kernels RHEL 7.6 (3.10.0-957.el7) no parcheados, SLES12 SP3 (4.4.162-94.69) y Ubuntu 18.04 (4.15.0-32).
El artículo Lustre, uno de los sistemas de archivos utilizados en clusters y supercomputadoras ha sido originalmente publicado en Linux Adictos.