Moose File System ( MooseFS ) es un sistema de archivos distribuido de código abierto , compatible con POSIX, desarrollado por Core Technology. MooseFS busca ser un sistema de archivos distribuido de red de propósito general para centros de datos , que ofrezca tolerancia a fallos , alta disponibilidad, alto rendimiento y escalabilidad . Inicialmente software propietario, se lanzó al público como código abierto el 30 de mayo de 2008.
Actualmente hay dos ediciones de MooseFS disponibles:
- MooseFS - publicado bajo la licencia GPLv2,
- MooseFS Professional Edition (MooseFS Pro): lanzamiento bajo licencia propietaria en formato de paquetes binarios.
Diseño
MooseFS sigue principios de diseño similares a los de Fossil , Google File System , Lustre o Ceph . El sistema de archivos consta de tres componentes:
- Servidor de metadatos (MDS): gestiona la ubicación (estructura) de los archivos, el acceso a ellos y la jerarquía de nombres. La versión actual de MooseFS admite varios servidores de metadatos y conmutación por error automática. Los clientes solo se comunican con el MDS para recuperar o actualizar la estructura y los atributos de un archivo; los datos se transfieren directamente entre los clientes y los servidores de fragmentos. El servidor de metadatos es un demonio en el espacio de usuario ; los metadatos se mantienen en memoria y se almacenan de forma diferida en el disco local.
- Servidor Metalogger: extrae periódicamente los metadatos del MDS para almacenarlos como copia de seguridad. Desde la versión 1.6.5, esta función es opcional.
- Servidores de fragmentos (CSS): almacenan los datos y, opcionalmente, los replican entre sí. Puede haber muchos, aunque no se ha publicado el límite de escalabilidad. El clúster más grande reportado hasta ahora consta de 160 servidores. [ 9 ] El servidor de fragmentos también es un demonio en el espacio de usuario que depende del sistema de archivos local subyacente para administrar el almacenamiento real.
- Los clientes se comunican tanto con el MDS como con el CSS. Los clientes de MooseFS montan el sistema de archivos en el espacio de usuario a través de FUSE .
Características
Para lograr una alta fiabilidad y rendimiento, MooseFS ofrece las siguientes características:
- Tolerancia a fallos : MooseFS utiliza replicación ; los datos se pueden replicar entre servidores de fragmentos, y la relación de replicación ( N ) se establece por archivo/directorio. Si fallan ( N -1) réplicas, los datos seguirán estando disponibles. Por el momento, MooseFS no ofrece ninguna otra técnica para la tolerancia a fallos . La tolerancia a fallos para archivos muy grandes requiere, por lo tanto, una gran cantidad de espacio: N × tamaño del archivo en lugar de tamaño del archivo + ( N × tamaño de la franja), como sería el caso para RAID 4 , RAID 5 o RAID 6. La versión 4.x de MooseFS implementa la codificación de borrado 4+ n y 8+ n . Para la versión PRO, n puede ser un número entre 1 y 9. Para la versión Community, está limitado a n=1.
- Fragmentación : Los archivos grandes se dividen en fragmentos (de hasta 64 megabytes ) que pueden almacenarse en diferentes servidores de fragmentos para lograr un mayor ancho de banda agregado.
- Balanceo de carga : MooseFS intenta utilizar los recursos de almacenamiento de forma equitativa, pero el algoritmo actual parece tener en cuenta únicamente el espacio consumido.
- Seguridad : además de los permisos de archivo POSIX clásicos, desde la versión 1.6 MooseFS ofrece una autenticación / autorización sencilla, similar a la de NFS .
- Instantáneas coherentes : instantáneas rápidas y con bajo consumo de recursos.
- Papelera transparente: los archivos eliminados se conservan durante un período de tiempo configurable.
- Nivelación de datos / clases de almacenamiento: posibilidad de "etiquetar" servidores, crear definiciones de etiquetas llamadas "Clases de almacenamiento" y decidir en qué tipos de servidores se almacenan los datos [ 10 ].
- Apoyo a las cuotas de "proyecto"
- Compatibilidad con bloqueos POSIX y bloqueos flock.
Hardware, software y redes
Al igual que otros sistemas de archivos basados en clústeres, MooseFS utiliza hardware estándar con un sistema operativo compatible con POSIX . Se utiliza TCP/IP como protocolo de interconexión.
MooseFS en cifras
Fuente: [ 11 ]
- El tamaño de almacenamiento es de hasta: 264 bytes = 16 EiB = 16 384 PiB
- El tamaño de un solo archivo es de hasta: 2,57 bytes = 128 PiB
- El número de archivos es de hasta: 2 31 = 2.1 mil millones
- El número de clientes activos es ilimitado; depende del número de descriptores de archivo en el sistema.
Véase también
Referencias
- ↑ Colaboradores de moosefs/moosefs · GitHub
- ↑ "Acerca de nosotros - Tecnología principal - MooseFS: sistema de archivos distribuidos en red tolerante a fallos" . Tecnología principal. Archivado del original el 4 de abril de 2016. Consultado el 26 de marzo de 2016 .
- ↑ "Fecha de la primera publicación pública: 30/05/2008" https://github.com/moosefs/moosefs/blob/master/README.md Archivado el 29/04/2019 en Wayback Machine
- ↑ "MooseFS 1.5 (2008-05-30)" https://github.com/moosefs/moosefs/blob/master/NEWS
- 1 2 "Soporte: documentación, estado y mejores prácticas - MooseFS" . Archivado del original el 12 de abril de 2019. Recuperado el 12 de abril de 2019 .
- 1 2 "moosefs/NEWS en master · moosefs/moosefs" . GitHub . 14 de julio de 2022.
- 1 2 "Versiones · moosefs/moosefs" . GitHub .
- ↑ "También compilamos con éxito MooseFS a partir de fuentes en OpenIndiana Hipster." https://moosefs.com/download.html Archivado el 23/03/2016 en Wayback Machine
- ↑ Mariusz Gądarowski (1 de abril de 2010). "MooseFS: Bezpieczny i rozproszony system plików" (PDF) (en polaco). Revista Linux Polonia .
- ↑ Manual de clases de almacenamiento de MooseFS 3.0 https://moosefs.com/Content/Downloads/moosefs-storage-classes-manual.pdf Archivado el 7 de agosto de 2016 en Wayback Machine
- ↑ "Hoja informativa de MooseFS" . Archivado del original el 10 de septiembre de 2016. Consultado el 1 de julio de 2016 .
Enlaces externos
- Sitio web oficial

- moosefs en GitHub
- MooseFS en SourceForge
- Sistemas de archivos distribuidos
- Sistemas de archivos distribuidos compatibles con el kernel de Linux
- Sistemas de archivos de red
- Sistemas de archivos de espacio de usuario
- Gestión del sistema de archivos