## What is HAMMER? HAMMER is a file system written for DragonFly that provides instant crash recovery, multi-volume file systems, integrity checking, fine grained history, networked mirroring, and historical snapshots. HAMMER is the default file system for DragonFly. ### General details * HAMMER file systems are immediately available after a crash, and do not require fsck. * A single HAMMER file system can be up to 1 exabyte in size, and can encompass up to 256 volumes, of which each can be up to 4 petabytes. * Historical views of all files on the system are saved on each sync to disk. ### Snapshots * Snapshots of the file system can be taken at any time and in any amount. * Snapshots take only the space needed to describe changes to disk, not the actual size of the volume. * Snapshots are "live", and can be accessed at any time. * Snapshot and historical data retention are controlled through a config file kept in meta-data - no manual maintenance is required for historical files. ### Backups and history * HAMMER file systems can be split up into multiple pseudo-file systems, or PFS. * HAMMER volumes can be continually backed up to other HAMMER volumes on a per-PFS basis. * Backup volumes (slaves) are functionally identical to the original (master) and can be promoted to a master volume. * Slave PFSs can retain file history independent of the master volume, saving more or less snapshots as desired. * Backups can be on a local network or over the Internet. No minimum data speed required; the backup will catch up as bandwidth allows. * Data is CRC-checked for integrity. **Note: HAMMER should be used on 50G or larger disks.** For more details, please read the [hammer(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer§ion=5) man page. People interested in porting HAMMER to other operating systems should contact Matthew Dillon at dillon at backplane.com. ## Documentation [[!table data=""" Document|Description [hammer(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer§ion=5)|Hammer starter manual page [hammer(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer§ion=8)|Hammer utility manual page [undo(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=undo§ion=1)|Hammer undo command [hammer.pdf](hammer.pdf)|Hammer major feature document [hammer](http://leaf.dragonflybsd.org/mailarchive/hammer/)|Hammer mailing list - see [[mailing list|mailinglists]] page [NYCBSDCon](/presentations/nycbsdcon08)|Slideshow from NYCBSDCon 11 Oct 2008 """]] More help topics involving HAMMER can be found in the [documentation section](/docs/documentation/) of this website.