HAMMER es un sistema de archivos de 64 bits de alta disponibilidad desarrollado por Matthew Dillon para DragonFly BSD que utiliza árboles B+ . Sus principales características incluyen instantáneas infinitas exportables a NFS , operación maestro-multiesclavo , retención de historial configurable, fsckless -mount y sumas de comprobación para lidiar con la corrupción de datos . [5] HAMMER también admite la deduplicación de bloques de datos , lo que significa que los bloques de datos idénticos se almacenarán solo una vez en un sistema de archivos. [6] Un sucesor, HAMMER2 , se anunció en 2011 y se convirtió en el predeterminado en Dragonfly 5.2 (abril de 2018). [7]
El sistema de archivos HAMMER proporciona historiales de sistemas de archivos configurables de grano fino y grano grueso con disponibilidad de instantáneas en línea. Se pueden crear hasta 65536 pseudo sistemas de archivos (PFS) maestros (lectura-escritura) y esclavos (solo lectura) , con parámetros de retención individuales independientes y numeración de inodo, para cada sistema de archivos; los PFS se pueden reflejar en múltiples esclavos tanto localmente como a través de una conexión de red con un rendimiento casi en tiempo real. No se requiere verificación del sistema de archivos al volver a montar . [5] [8] [9] [10]
HAMMER admite volúmenes de hasta 1 EiB de capacidad de almacenamiento. El sistema de archivos admite la suma de comprobación CRC de datos y metadatos, la corrección de diseño en línea y la deduplicación de datos , y la asignación dinámica de inodos con una cantidad prácticamente ilimitada de inodos. [8] [11] [12]
A partir de mayo de 2020 [actualizar], se requiere un mantenimiento regular para mantener limpio el sistema de archivos y recuperar espacio después de las eliminaciones de archivos. De forma predeterminada, un trabajo cron realiza las acciones necesarias en DragonFly BSD a diario. HAMMER no admite configuraciones multimaestro. [8] [10]
HAMMER está optimizado para reducir la cantidad de operaciones de E/S físicas para cubrir la ruta más probable, [13] lo que garantiza el acceso secuencial para un rendimiento óptimo.
En julio de 2011 se introdujeron las siguientes mejoras relacionadas con el rendimiento : [14]
HAMMER fue desarrollado específicamente para DragonFly BSD con el fin de proporcionar un análogo [ ¿según quién? ] mejor diseñado y rico en características del entonces cada vez más popular ZFS .
HAMMER fue declarado listo para producción con DragonFly 2.2 en 2009; [9] en 2012, el trabajo a nivel de diseño se trasladó a HAMMER2 , que fue declarado estable con DragonFly 5.2 en 2018.
A partir de 2019 [actualizar], a HAMMER se lo suele denominar HAMMER1 para evitar confusiones con HAMMER2, aunque no se ha producido un cambio de nombre oficial. Ambos sistemas de archivos son independientes entre sí debido a los diferentes formatos en disco, [15] [16] y siguen recibiendo actualizaciones y mejoras independientes. [17]