|The factual accuracy of parts of this article (those related to article) may be compromised due to out-of-date information. (February 2013)|
|Introduced||July 21, 2008 (DragonFly BSD 2.0)|
|Directory contents||B+ tree|
|Max. volume size||1 EiB|
|File system permissions||UNIX permissions|
|Data deduplication||on demand|
|Supported operating systems||DragonFly BSD|
HAMMER is a high-availability 64-bit file system developed by Matthew Dillon for DragonFly BSD using B-trees. Its major features include infinite NFS-exportable snapshots, master-multislave operation, configurable history retention, fsckless-mount, and checksums to deal with data corruption. HAMMER also supports data block deduplication, meaning that identical data blocks will be stored only once on a file system.
- configurable fine-grained and coarse-grained filesystem histories
- history and snapshots are accessible online
- near real-time log-less streaming mirroring to slaves or backups
- different retention parameters for slaves
- CRC checksumming of data and metadata
- no fsck required on remount
- 1 EiB maximum storage capacity
- online layout correction
- data deduplication
Requires a pruning/reblocking cron job run a few minutes every night to incrementally clean up and regain space on the filesystem. Deletions do not immediately reclaim space.
Does not yet support multi-master configuration.
The following performance-related improvements were introduced on July 2011:
- Increased disk read speed in certain scenarios by implementing pulse-width modulated time-domain multiplexer on B-Tree cursor operation
- Removed a deadlock stalling issue
- Improved read performance during heavy, concurrent file write operations
It was developed specifically for DragonFly BSD to provide a feature-rich yet better designed analogue of then increasingly popular ZFS.
As of February 2012[update], the next generation HAMMER2 file system was planned to be brought up to minimal working state by July 2012, with the final version expected to ship in 2013; the dedicated development branch in the DragonFly's source code repository has been also created. However, as of March 2014[update] HAMMER2 is actively developed and not yet released.
- Comparison of file systems
- List of file systems
- btrfs (copy-on-write file system for Linux)
- OpenZFS (open source successor to the ZFS project)
- Dillon, Matthew (2008-06-21). "THE HAMMER FILESYSTEM". Retrieved 2009-03-02.
- Wildner, Sascha. "HAMMER(5)". DragonFly File Formats Manual. Retrieved 2009-04-03. "After a non-graceful system shutdown, HAMMER file systems will be brought back into a fully coherent state when mounting the file system, usually within a few seconds."
- Sherrill, Justin (2010-11-07). "Deduplication arrives". Retrieved 2011-11-28.
- Lorch, Daniel. "Porting the HAMMER File System to Linux". Retrieved 2011-11-28.
- "HAMMER". DragonFly BSD. Retrieved 2011-11-28.
- Wildner, Sascha. "HAMMER(8)". DragonFly System Manager's Manual. Retrieved 2011-11-28. "After a non-graceful system shutdown, HAMMER file systems will be brought back into a fully coherent state when mounting the file system, usually within a few seconds."
- Dillon, Matthew (2011-07-22). "git: HAMMER VFS - Add code to reduce frontend vs flusher locking conflicts". commits mailing list. http://leaf.dragonflybsd.org/mailarchive/commits/2011-07/msg00086.html.
- Dillon, Matthew (2012-02-08). "DESIGN document for HAMMER2 (08-Feb-2012 update)". users mailing list. http://leaf.dragonflybsd.org/mailarchive/users/2012-02/msg00020.html.
- Dillon, Matthew (2012-02-08). "hammer2 branch in dragonfly repo created - won't be operational for 6-12 months.". users mailing list. http://leaf.dragonflybsd.org/mailarchive/users/2012-02/msg00019.html.
- "When hammer2 will be ready for use?". Lists.dragonflybsd.org. 2013-11-11. Retrieved 2014-04-16.
- "git: hammer2 - Start adding internal cluster API". Lists.dragonflybsd.org. 2014-03-18. Retrieved 2014-04-16.