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.
ubuntu
storage
cloud-computing
Alegre
fuente
fuente
Respuestas:
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.
fuente
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.
fuente
¿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.
fuente
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.
fuente
¿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.
fuente
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.
fuente
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.
fuente
XtreemFS podría ser una solución para usted. Es bastante simple de instalar y configurar, también hay paquetes para Ubuntu.
fuente
MooseFS (Sistema de archivos distribuido) se ajusta a sus requisitos. Es escalable y funciona bien en Ubuntu. También podría ser útil para usted ver cómo instalar instalar / actualizar MooseFS desde el repositorio oficialmente compatible en Ubuntu .
fuente
No estoy seguro de lo que está haciendo, pero esto suena como una aplicación potencialmente interesante para CouchDB .
fuente
Podrías probar PVFS2 . Es mucho más fácil de configurar que Lustre, y generalmente más rápido que Gluster.
fuente