¿Qué sistema de archivos distribuido como backend para Cloud Computing?


11

Tengo una nube básica ejecutándose en Ubuntu Server (9.04) y Eucalyptus. Walrus (implementación de S3 compatible con API de Eucalyptus) almacena archivos en el controlador de la nube. Sin embargo, cada uno de los otros 4 servidores tiene 1 TB de almacenamiento, que en gran parte no se utiliza. Estoy buscando una forma de agrupar todo el almacenamiento para utilizar todos los recursos disponibles. He estado buscando varias opciones, incluyendo PVFS, Lustre, HDFS (Hadoop).

Mis únicos requisitos son que debe ser escalable y que funciona bien en Ubuntu. Agradecería escuchar a cualquiera que tenga experiencia con tales tecnologías y espero escuchar sus sugerencias.


Si no necesitara ser Ubuntu, diría ZFS.
Brad Gilbert el

3
Excepto que ZFS no es un sistema de archivos en clúster.
MarkR el

Respuestas:


5

Si bien no lo he implementado personalmente en ningún lugar de nuestros sistemas, he analizado ampliamente Gluster . Conozco algunas personas en algunos sitios grandes que usan esto y aparentemente funciona muy bien. Lo usan en producción para algunas aplicaciones de HPC de servicio pesado.


2

GlusterFS me parece la solución ideal. Al tipo que dice que Gluster requiere mucho esfuerzo para configurarlo, debo decir que probablemente nunca lo haya intentado. A partir de Gluster 3.2, las utilidades de configuración son bastante impresionantes y se necesitan 2 o 3 comandos para subir y compartir el volumen de Gluster en la red. El montaje de volúmenes de gluster es igualmente simple.

En el lado positivo, también le brinda mucha más flexibilidad que NFS. Hace rayas, replicación, georeplicación, por supuesto, es compatible con POSIX y así sucesivamente. Hay una extensión llamada HekaFS, que también agrega SSL y mecanismos de autenticación más avanzados, lo que probablemente sea interesante para la computación en la nube. También se escala! Es F / OSS y está siendo desarrollado por RedHat, quien recientemente compró Gluster.


1

¿Alguna vez has mirado a mogileFS? http://danga.com/mogilefs/

No es un sistema de archivos en el sentido tradicional, pero es bueno para distribuir datos de archivos a través de un clúster (teniendo en cuenta la replicación y la redundancia).

Si está sirviendo archivos para una aplicación web, necesitará algo para servir los archivos. Sugeriría un script PHP que use la solicitud HTTP como clave de búsqueda para encontrar el archivo que desea en el FS móvil. Luego puede leer el contenido del archivo en un búfer y hacer eco / imprimirlo.

MogileFS ya es bastante rápido, pero puede combinar mogileFS con memcache para acelerar el acceso a los archivos más utilizados.


Me parece recordar que MogileFS tuvo un único punto de falla, en el caso del nodo de metadatos. HDFS tiene un problema similar.
David Pashley el

MogileFS parece bastante interesante y su replicación y redundancia son ideales, sin embargo, parece no ser adecuado para uso general, ya que las aplicaciones deben tener en cuenta que se están ejecutando en él. Un sistema de archivos más tradicional mediante el cual las aplicaciones pueden ser independientes de FS sería más adecuado.
Jaunty

1
MogileFS puede tener varios rastreadores en ejecución, y puede tener faqver mysql en el backend. De esta manera, puede eliminar todos los puntos únicos de falla.
davidsheldon el

1

Con Lustre, debe tener un núcleo especial en los servidores, y solo tendría que ser servidores y nada más.

Curiosamente, la respuesta más sensata sería NFS. Hemos utilizado NFS en la nube de Amazon. Puede no escalar tan bien como algunos sistemas de archivos, pero la simplicidad no debería pasarse por alto. Un espacio de nombre único probablemente no valga la pena el esfuerzo que llevaría implementarlo.


1

¿Sigues buscando en HDFS? Uno de los chicos de Cloudera dio una charla en VelocityConf este año sobre Hadoop y HDFS centrados en la gestión de grandes grupos de datos, por lo que habló bastante sobre HDFS. Las diapositivas son bastante informativas. No he trabajado personalmente con HDFS, pero hablé con algunas personas aleatorias en Velocity que lo están usando en Ubuntu para hacer varios análisis de datos.


1

Poner algún tipo de sistema de archivos compartido detrás de un entorno de virtualización es bastante común. Tiene muchas opciones, dependiendo de lo que esté buscando lograr.

La solución más simple es probablemente NFS, porque esta será soportada de forma nativa por cualquier distribución que esté ejecutando. NFS puede funcionar razonablemente bien como un sistema de archivos backend de virtualización, aunque no será lo más rápido que existe.

Si está ejecutando un clúster RedHat (o derivado), tendrá un buen soporte inmediato para GFS2, el sistema de archivos del clúster de RedHat. Esto no escala hasta cientos de nodos, pero está bien para grupos más pequeños.

Más allá de eso, está comenzando a ingresar en el rango de cosas como Lustre, Glusterfs, GPFS, etc. Todos estos son sistemas de archivos paralelos de alto rendimiento, pero requieren mucho más trabajo para configurar que las otras opciones aquí. Si tiene un entorno grande, puede valer la pena mirarlos.


1

Estoy de acuerdo con @larsks en que NFS es la mejor opción; configurar algunos objetivos iSCSI, NFS, hecho. esto escalará a unos 5-10 nodos; YMMV basado en E / S, capacidad de red, etc. (alternativamente, configure iSCSI con soporte de E / S de múltiples rutas).

Si necesita algo más de 20 nodos, es posible que desee investigar Ceph . Lustre es prometedor y estable, pero es un producto de Oracle (F / OSS) y tengo aversiones personales contra Oracle. :)

Ceph también es bastante activo; El lanzamiento más reciente fue hace 5 días.


Lustre ya no está bajo el paraguas de Oracle. Ver whamcloud.com
utopiabound

1

XtreemFS podría ser una solución para usted. Es bastante simple de instalar y configurar, también hay paquetes para Ubuntu.



0

No estoy seguro de lo que está haciendo, pero esto suena como una aplicación potencialmente interesante para CouchDB .


0

Podrías probar PVFS2 . Es mucho más fácil de configurar que Lustre, y generalmente más rápido que Gluster.


más rápido que Gluster? ¿Puedes compartir datos sobre el rendimiento?
John-ZFS

No tengo puntos de referencia recientes a la mano. En 2008, Gluster era mucho más lento que Lustre, mientras que PVFS2 era solo un poco más lento. Puede ser diferente hoy en día, tal vez voy a comparar esto.
wazoox

gracias, si haces benchmark, por favor avísame. maruti.j@gmail.com o puede hacer una publicación en serverfault para beneficio de todos
John-ZFS
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.