LizardFS un sistema de archivos distribuido, escalable y de código abierto
LizardFS es un sistema de archivos de clúster distribuido que permite dispersar datos en diferentes servidores, pero proporciona acceso a ellos en forma de una única partición grande, que se realiza por analogía con las particiones de disco tradicionales. La sección montada con LizardFS admite atributos de archivo POSIX, ACL, bloqueos, sockets, canales, archivos de dispositivo, enlaces simbólicos y duros. El sistema no tiene un solo punto de falla, todos los componentes son redundantes.
Este sistema de archivos admite la paralelización de las operaciones de datos (varios clientes pueden acceder a los archivos al mismo tiempo). Por su parte para garantizar la tolerancia a fallas, los datos se dividen en réplicas, que se distribuyen a diferentes nodos con redundancia (se colocan varias copias en diferentes nodos), en caso de falla de nodos o unidades, el sistema continúa funcionando sin pérdida de información y redistribuye automáticamente los datos teniendo en cuenta los nodos restantes.
Sobre LizardFS
El proyecto LizardFS fue fundado en 2013 como una bifurcación de MooseFS y difiere principalmente en la presencia de un modo de replicación basado en códigos de corrección de errores Reed-Solomon (análogo de raidzN), soporte extendido de ACL, la presencia de un cliente para la plataforma Windows, optimizaciones adicionales, un sistema de configuración más flexible, soporte para lectura de datos proactiva, cuotas para directorios y procesamiento interno.
Para expandir el almacenamiento, es suficiente conectarle nuevos nodos sin detener el trabajo de mantenimiento (el sistema mismo replica parte de los datos en nuevos servidores y equilibra el almacenamiento con los nuevos servidores). Se puede hacer lo mismo para reducir el tamaño del clúster: simplemente se puede apagar el equipo que se está retirando del servicio.
Los datos y metadatos se almacenan por separado. Para su funcionamiento, se recomienda instalar dos servidores de metadatos que funcionen en modo maestro-esclavo, así como al menos dos servidores de almacenamiento de datos (servidor de datos).
Además, los servidores de registro se pueden usar para realizar copias de seguridad de metadatos, que almacenan información sobre los cambios en los metadatos y que permiten restaurar el trabajo si todos los servidores de metadatos existentes están dañados.
Cada archivo se divide en bloques (fragmento), hasta 64 MB de tamaño. Los bloques se distribuyen entre los servidores de almacenamiento de acuerdo con el modo de replicación seleccionado: estándar (con ello se determinan de manera explícita del número de copias que se colocarán en diferentes nodos, incluido el enlace a directorios separados, para datos importantes, se puede aumentar el número de copias, pero para los no esenciales), XOR (RAID5 ) y CE (RAID6).
El almacenamiento puede escalar a tamaños de petabytes. De las aplicaciones, se mencionan el archivado, el almacenamiento de imágenes de máquinas virtuales, los datos multimedia, las copias de seguridad, el uso como DRC (Disaster Recovery Center) y como almacenamiento en clústeres informáticos de alto rendimiento.
LizardFS proporciona una velocidad muy alta de lectura de archivos de cualquier tamaño y cuando se escribe muestra un buen rendimiento al escribir archivos enteros grandes y medianos, cuando no hay modificación constante, trabajo intensivo con archivos abiertos y operaciones únicas con un montón de archivos pequeños.
Entre las características de este sistema de archivos también se puede observar la presencia de soporte para copias de seguridad que reflejan el estado de los archivos en un momento determinado y la implementación incorporada (los archivos no se eliminan de inmediato y están disponibles para la recuperación durante algún tiempo).
El acceso a la partición puede estar limitado por la dirección IP o contraseña (similar a NFS). Existen mecanismos de gestión de calidad de servicio y cuotas para limitar el tamaño y el ancho de banda para algunas categorías de usuarios. Es posible crear almacenes distribuidos geográficamente, segmentos de los cuales se encuentran en diferentes centros de datos.
¿Como utilizar LizardFS en Ubuntu?
Para quienes estén interesados en poder utilizar este sistema de archivos pueden consultar el siguiente enlace, en donde podrán encontrar la documentación necesaria. El código del proyecto está escrito en C y C ++ y se distribuye bajo la licencia GPLv3.