HAMMER es un sistema de archivos de 64 bits de alta disponibilidad desarrollado por Matthew Dillon para DragonFly BSD utilizando árboles B + . Sus características principales incluyen instantáneas infinitas exportables a NFS , operación maestro-multiesclavo, retención de historial configurable, fsckless -mount y sumas de verificació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]
Desarrollador (es) | Matthew Dillon |
---|---|
Nombre completo | MARTILLO |
Introducido | 21 de julio de 2008 DragonFly BSD 2.0 [1] [2] | con
Estructuras | |
Contenidos del directorio | Árbol B + modificado [3] |
Limites | |
Max. tamaño del volumen | 1 EiB [3] |
Características | |
tenedores | No |
Permisos del sistema de archivos | Permisos de UNIX |
Compresión transparente | Sí [4] |
Deduplicación de datos | Bajo demanda |
Otro | |
Apoyados sistemas operativos | DragonFly BSD |
Características
El sistema de archivos HAMMER proporciona historiales configurables del sistema de archivos de grano fino y grueso con disponibilidad de instantáneas en línea. Se pueden crear hasta 65536 pseudo sistemas de archivos (PFS) maestro (lectura-escritura) y esclavo (solo lectura), con parámetros de retención individuales independientes y numeración de inodo, para cada sistema de archivos; PFS se puede duplicar en varios 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 un número efectivamente ilimitado de inodos. [8] [11] [12]
Limitaciones
Actualmente [ ¿cuándo? ] , se requiere un mantenimiento regular para mantener limpio el sistema de archivos y recuperar espacio después de la eliminación de archivos. De forma predeterminada, un trabajo cron realiza las acciones necesarias en DragonFly BSD diariamente. HAMMER no admite configuraciones multimaestro. [8] [10]
Actuación
HAMMER está optimizado para reducir el número de operaciones de E / S físicas para cubrir la ruta más probable, [13] asegurando un acceso secuencial para un rendimiento óptimo.
En julio de 2011 se introdujeron las siguientes mejoras relacionadas con el rendimiento : [14]
- Aumento de la velocidad de lectura del disco en ciertos escenarios al implementar un multiplexor de dominio de tiempo modulado por ancho de pulso en la operación del cursor de árbol B
- Se eliminó un problema de estancamiento de interbloqueo
- Rendimiento de lectura mejorado durante operaciones de escritura de archivos concurrentes y pesadas
Desarrollo
HAMMER fue desarrollado específicamente para DragonFly BSD para proporcionar un análogo rico en funciones pero mejor diseñado 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 se declaró estable con DragonFly 5.2 en 2018.
A partir de 2019[actualizar], HAMMER ahora se conoce como HAMMER1 para evitar confusiones con HAMMER2, aunque no se ha realizado un cambio de nombre oficial. Ambos sistemas de archivos son independientes entre sí debido a los diferentes formatos en disco, [15] [16] y continúan recibiendo actualizaciones y mejoras independientes de forma independiente. [17]
Ver también
- Comparación de sistemas de archivos
- Lista de sistemas de archivos
- MARTILLO2
- ZFS
- Btrfs
- OpenZFS
Referencias
- ^ "В состав DragonFlyBSD 2.0 будет включена файловая система HAMMER" . Linux.org.ru (en ruso). 2007-10-14 . Consultado el 21 de agosto de 2019 .
- ^ Larabel, Michael (7 de enero de 2011). "¿Puede HAMMER de DragonFlyBSD competir con Btrfs, ZFS?" . Phoronix . Consultado el 26 de mayo de 2014 .
- ^ a b Dillon, Matthew (21 de junio de 2008). "EL SISTEMA DE ARCHIVO DE HAMMER" (PDF) . Consultado el 2 de marzo de 2009 .
- ^ "El sistema de archivos HAMMER2 ahora usa compresión LZ4 por defecto - Phoronix" . www.phoronix.com .
- ^ a b - Manual de formatos de archivo DragonFly BSD
- ^ Sherrill, Justin (7 de noviembre de 2010). "Llega la deduplicación" . Consultado el 28 de noviembre de 2011 .
- ^ Dillon, Matthew (11 de mayo de 2011). "Anuncio HAMMER2" . usuarios (lista de correo).
- ^ a b c "MARTILLO" . DragonFly BSD . Consultado el 28 de noviembre de 2011 .
- ^ a b Vervloesem, Koen (21 de abril de 2010). "DragonFly BSD 2.6: hacia un sistema operativo de agrupación libre" . LWN.net . Consultado el 26 de mayo de 2014 .
- ^ a b George, Siju (mayo de 2014). "Trabajar con el sistema de archivos Hammer y PFS" (PDF) . Revista BSD . Varsovia, Polonia: Hakin9 Media SK. 8 (5): 18-23. Archivado desde el original (PDF) el 27 de mayo de 2014 . Consultado el 25 de mayo de 2014 .
- ^ - Manual de comandos de operación y mantenimiento del sistema DragonFly BSD
- ^ Kemp, Juliet (4 de agosto de 2008). "Consejo del oficio: Dragonfly BSD y el sistema de archivos Hammer" . ServerWatch . Consultado el 26 de mayo de 2014 .
- ^ Jeremy Andrews (14 de octubre de 2007). "Rendimiento HAMMER" . KernelTrap . Consultado el 21 de agosto de 2019 .
- ^ Dillon, Matthew (22 de julio de 2011). "git: HAMMER VFS - Agregar código para reducir los conflictos de bloqueo frontend vs flusher" . commits (lista de correo).
- ^ Matthew Dillon (23 de septiembre de 2017). "hammer_disk.h" . Referencia cruzada BSD . DragonFly BSD . Consultado el 6 de marzo de 2019 .
- ^ Matthew Dillon (5 de mayo de 2018). "hammer2_disk.h" . Referencia cruzada BSD . DragonFly BSD . Consultado el 6 de marzo de 2019 .
- ^ Matthew Dillon (27 de marzo de 2017). "git: hammer - HAMMER Version 7" . confirma @ DragonFly (lista de correo) . Consultado el 6 de marzo de 2019 .
enlaces externos
- Página web oficial