Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Oracle mantiene Lustre :)

Acabo de leer que Oracle piensa mantener Lustre. Esto es una noticia muy buena tanto para el mundo de software libre (FLOSS) como para el mundo HPC (High Performance Computing).

HPC es toda aquella computación que requiere una potencia de cálculo superior a la potencia de los ordenadores/computadoras convencionales. Cuando se habla de HPC, se suele pensar en laboratorios de investigación y de diseño de vehículos (en este caso se suele llamar HPTC, High Performance Technical Computing). Pero debemos tener en cuenta que en enotrnos financieros (banca y seguros) también existe el HPC ya que se requiere mucha potencia de cálculo para hacer previsiones bursátiles, cálculo de riesgos, …

Bueno, a lo que íbamos … Lustre.

Voy a simplificar muchísimo todo el tema de Lustre porque:

  • en su propia web podréis encontrar muchísima más info sobre el proyecto (incluyendo código fuente)
  • esto NO es un tutorial de Lustre

Para los que no conozcáis Lustre, es un sistema de ficheros paralalelo, similar a PanFS de Panasas o a pNFS. ¿Qué es un sistema de ficheros paralelo?

Un sistema de ficheros paralelo presenta dos servidores claramente diferenciados y separados, así como almacenamientos separados para dichos servidores:

  • servidor de metadatos (MDS, MetaData Server) con su almacenamiento (sistema de ficheros dedicado llamado MDT, MetaData Target): se encarga d elos metadatos (fechas de modificación, permisos, …)
  • servidor de datos (OSS, Object Storage Server) con su almacenamiento (sistema de ficheros dedicado llamado OST, Object Storage Target): se encarga de almacenar los datos

Un esquema muy sencillo sería este:

Vemos en el esquema al MDS, MDT, OSS y OST, así como el cluster de cálculo que haría uso de Lustre (el cluster sería el cliente Lustre, cada nodo de cómputo sería un cliente Lustre). Es importante tener en cuenta que cada nodo de cálculo del cluster tendría que llevar instalado un agente software o módulo de kernel con soporte para Lustre. Es decir, Lustre usa su propio protocolo de comunicaciones y no usa FTP, HTTP, CIFS ni NFS. La red privada de Lustre es utilizada por los OSS y los MDS para comunicarse entre sí.

Antes de continuar, debo decir que no hay que confundir Lustre con un clustered filesystem como puede ser OCFS (también de Oracle y de código abieto), CXFS (de Silicon Graphics) o GFS (de Red Hat), entre otros. En un sistema de ficheros en cluster hay un único sistema de ficheros en el que se encuentran los datos y los metadatos (físicamente, este sistema de ficheros puede encontrarse en una única cabina de discos o en varias).

El uso que se les da tanto a los sistemas de ficheros paralelos y a los sistemas de fichero en cluster es diferente también. Por ejemplo, un sistema de ficheros paralelo permite un elevado ancho de banda, pero la latencia suele ser alta también. En cambio, los sistemas de ficheros en cluster se suelen utilizar en entornos en los que las latencias son muy importantes, como por ejemplo, en entornos de post-producción (televisión y cine). Los sistemas de ficheros en cluster también se usan para servicios configurados en alta disponibilidad, en este último caso no es importante el ancho de banda ni la latencia, pero sí que los datos servidos por ambos servidores en alta disponibilidad sean los mismos, como es el caso de BBDD y servidores de correo, servidores de ficheros en alta disponibilidad.

Bueno, sigamos con Lustre. Lustre es posiblemente el sistema de ficheros más famoso dentro del mundo HPC. Se utiliza en muchos centros de investigación tanto privados como públicos debido a:

Advertencia, desplázate para continuar leyendo
  • que es de código abierto: esto tiene dos ventajas (según en qué departamentos trabajes), una es que es «barato» y otra es que tienes acceso al código fuente
  • ofrece un elevado ancho de banda: cada vez que añades un OSS (y su correspondiente OST), aumentas el ancho de banda
  • no es específico de un fabricante de hardware de servidores o cabinas de almacenamiento o de interconexión

Posiblmenete esta última ventaja sea la más importante. Da igual el servidor que uses (marca, modelo), da igual el almacenamiento que uses (SAS, SATA, FC, …) y da igual la interconexión (puedes usar Gigabit Ethernet, 10 Gigabit Ethernet, InfiniBand, Myrinet, Quadrics). Incluso puedes mezclar tecnologías … lo cual no significa que sea una buena idea ;) Obviamente, si tenemos todos los servidores, almacenamientos e interconexiones iguales, el rendimiento será constante y no tendremos fluctuaciones ni picos ni dolores de cabeza a la hora de administrar.

A continuación os muestro un diagrama un poco más complejo/completo en el que vemos más OSS, MDS y OST ;)

Históricamente, Lustre lo empezó a desarrollar una empresa llamada ClusterFS. Sun compró dicha empresa y … últimamente estábamos todos con el corazón en un puño ya que Oracle no se dedica al mundo de HPC. Con el comunicado, parece que el futuro del proyecto se garantiza y que tendremos Lustre para rato … ¿Será que Oracle se quiere adentrar en el mundo HPC? Bueno, eso no lo sabemos y no es plan de especular ;)

Como todo en esta vida, Lustre no es perfecto (aun siendo FLOSS ;)

  • sólo soporta Linux … ¿Por qué habré puesto esto como inconveniente? ¿Ah! Ya. Porque no están soportados otros sistemas operativos libres o de código abierto como son la pandilla *BSD ni OpenSolaris. Claro que la respuesta a esto es que no hay demanda por lo que no se ha portado. Es decir, hay poca gente que usa *BSD y/u OpenSolaris en entornos HPC. NO, no he dicho que no se use, he dicho que se usa poco
  • los datos se almacenan como un stripe entre los OSS/OST. Efectivamente, esto es como un RAID 0 a nivel de servidores. ¿Por qué es malo? Vamos a ver esto con el ejemplo del RAID 0. Imaginémonos un RAID 0 de 5 discos, el fichero que se escriba en dicho RAID se dividirá en 5 trozos y cada trozo se almacena en un disco … si se pierde uno de los discos … perdemos los datos ya que no hay disco de paridad, no hay protección de datos. Pues lo mismo ocurre aquí: si perdemos un servidor … perdemos los datos. Bueno, no es tan fácil perder datos porque:
  1. generalemnte los datos están en una cabina de discos con controladoras redundantes
  2. generalmente los discos se configuran como RAID 5/6/10 de forma que hay paridad (protección de datos)
  3. el OSS sólo lleva el sistema operativo. Es decir, si se pierde el servidor de datos, sólo habría que reemplazarlo por otro. Obviamente, habría down-time. Pero eso es lo de menos ;) Para perder TODOS los datos, tendríamos que perder el servidor y las cabinas y los discos. Por poder, puede pasar, pero es más difícil ;)
  • backups … esto no se tuvo en cuenta cuando se diseñó Lustre. Hacer un backup de Lustre tiene una serie de problemas:
  1. el volumen de datos: generalmente hablamos de PetaBytes de datos o, en el mejor de los casos, de varios cientos de TeraBytes de datos. Hacer un backup de ese volumen de datos es muy complicado porque las ventanas de backup tienen que ser muy grandes … necesitas mucho tiempo.
  2. el sw de backup tiene que ir fuera de Lustre por lo que NO es LAN free, es decir, es por red y esto hace que vaya muy lento :(
  • no tiene ni es compatible con sistemas de almacenamiento jerárquicos (HSM). Esto es raro ya que en el mundo HPC se usan bastante los almacenamiento jerárquicos. En el roadmap actual se está teniendo en cuenta y se espera que tenga pronto un HSM y/o compatibilidad con alguno existente
  • no soporta protocolos como NFS y/o CIFS: es necesario instalar un agente software o módulo de kernel en el cliente y dicho módulo sólo existe para Linux
  • no es fácil de configurar ni de administrar

Como véis, los inconvenientes tienen sus soluciones y no son realmente impedimentos. En la web de Lustre encontraréis información detallada de cómo solventar estos inconvenientes. De hecho, se está trabajando en alguno de ellos para que deje de ser un inconveniente en futuras versiones :)

Lustre no es el único sistema de ficheros paralelo. Otros ejemplos de sistemas de ficheros paralelos son:

¿Quién usa Lustre? Lawrence Livermore National Laboratory (LLNL), Oak Ridge National Laboratory, Pacific Northwest National Laboratory, Texas Advanced Computing Center, NASA, Tokyo Institute of Technology, TOTAL y muchos otros.

Como podemos ver, Lustre es un software muy importante en el mundo FLOSS así como en el mundo HPC por lo que la continuidad de Lustre es muy importante para unos (Linuxeros) y para otros (científicos). Me alegra saber que Linux sigue teniendo uno de los sistemas de ficheros más escalables existentes en el mercado y que lo seguirá teniendo :D

Queda ver si Oracle está interesado en mantener el resto de productos FLOSS de Sun como son VirtualBox, OpenOffice, OpenSolaris, ZFS, … En fin, os dejo una serie de enlaces interesantes a Lustre, por si os aburrís ;)

27 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

El progreso hace que algunas tecnologías se queden atrás y terminen siendo marcadas como obsoletas tras pasar un tiempo. Ese es el caso del...

Actualidad

Red Hat ha anunciado a través de las listas de correo del kernel Linux la creación de Nova, un nuevo driver dirigido a las...

Actualidad

Si hace poco más de un año que Elon Musk prometía liberar el algoritmo de Twitter «en una semana» y tardaba algo más en...

Actualidad

OpenELA vuelve a ser actualidad, esta vez con motivo de un proyecto de carácter independiente, el «kernel-lts Project«, con el que ampliar el soporte de...