HAMMER

From Wikipedia, the free encyclopedia
Jump to: navigation, search
HAMMER
Developer Matthew Dillon
Full name HAMMER
Introduced July 21, 2008 (DragonFly BSD 2.0)
Structures
Directory contents B+ tree[1]
Limits
Max. volume size 1 EiB[1]
Features
Forks no
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.[2] HAMMER also supports data block deduplication — identical data blocks will only be stored once on a file system.[3] A port of HAMMER to Linux has been started that supports read-only access.[4]

Contents

Features[edit]

HAMMER file systems provide the following features:[5][6]

  • 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

Limitations[edit]

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.

Performance[edit]

In 02011-07-01July 2011 several performance-related improvements were introduced.[7]

Development[edit]

It was developed specifically for DragonFly BSD to provide a feature-rich yet better designed analogue of then increasingly popular ZFS.

As of 8 February 2012 (2012-02-08) the next generation HAMMER2 file system is planned to be brought up to minimal working state by July 2012 with the final version released in 2013;[8] the dedicated development branch in the DragonFly's source code repository was created.[9]

See also[edit]

References[edit]

  1. ^ a b Dillon, Matthew (2008-06-21). "THE HAMMER FILESYSTEM". Retrieved 2009-03-02. 
  2. ^ 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." 
  3. ^ Sherrill, Justin (2010-11-07). "Deduplication arrives". Retrieved 2011-11-28. 
  4. ^ Lorch, Daniel. "Porting the HAMMER File System to Linux". Retrieved 2011-11-28. 
  5. ^ "HAMMER". DragonFly BSD. Retrieved 2011-11-28. 
  6. ^ 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." 
  7. ^ 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.
  8. ^ 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.
  9. ^ 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.

External links[edit]