"what is hammer" added; page dehtmled, undo link added
authorjustin <justin@web>
Sat, 30 Jan 2010 04:45:42 +0000 (20:45 -0800)
committerCharlie <root@leaf.dragonflybsd.org>
Sat, 30 Jan 2010 04:45:42 +0000 (20:45 -0800)
hammer/index.mdwn

index f350685..ba9e106 100644 (file)
@@ -1,79 +1,43 @@
 # The HAMMER Filesystem
 
-The HAMMER filesystem is a new addition to DragonFly.
-Being a brand-new filesystem we consider HAMMER to be in an early Beta state
-as of the 2.0 release, and production-ready as of the 2.2.1 release.  
-All major features except the mirroring are quite well tested
-as-of the release.  The mirroring was the last big-ticket item to go in
-prior to the 2.0 release and should be considered more in a late-alpha light.
+## What is HAMMER?
 
-If you are interesting in porting HAMMER to another OS, please drop me (Matthew Dillon)
-a line at **dillon at backplane.com**.
-A DragonFly
-mailing list specifically for HAMMER porting exists; see links at end of document.
+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.
 
-I can't stress enough that HAMMER is designed for large storage media.
-The minimum I would be comfortable with would be around a 40G partition,
-though I often create smaller partitions for testing purposes.
-HAMMER can address up to 1-Exabyte of space and the use target is really
-designed for 500G and up.  What does this mean for people who want to
-use HAMMER on a smaller partition?  Well, there are two issues.  First,
-the filesystem needs to reserve several hundred megabytes of media space
-to serve as buffer space for the reblocker.  If you create a small
-filesystem the space efficiency is not going to be all that good.  More
-importantly, HAMMER recovers space via pruning and reblocking cron jobs
-which early adopters must set up manually and are intended to run a few
-minutes every night to incrementally clean up the filesystem.  You don't
-get instant gratification when you 'rm' something, so if the filesystem
-is too small normal use may run you out of space before the pruning and
-reblocking can catch up.
+### 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 every file on the system are saved with every sync to disk.
 
-If you remember only two things about this filesystem, the first should
-be the large-media nature of the filesystem's management functions, and
-the second should be the historical data retention.  Most systems sync
-their mounts every 30-60 seconds.  For HAMMER this means that you effectively
-get a snapshot every 30-60 seconds.  The filesystem's fine-grained nature
-shows up when you use the <strong>hammer</strong> or <strong>undo</strong>
-commands to sift through the history, but the absolute best way to utilize
-the fine-grained nature of the filesystem is to create a cron job 
-which creates a snapshot softlink at the desired interval, for example
-once an hour, using the <strong>hammer snapshot</strong> command.
-Creating an actual softlink via this command guarantees you a consistent
-view of the filesystem state.
+### 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. 
 
-## Documentation:
-<table width="100%" cellpadding="3" cellspacing="0" border="1"
-style="border-style: flat; border-collapse: collapse; border-color: #BEBEBE;">
-<tr bgcolor="#ffcc00">
-<th>Document</th><th>Description</th>
-</tr>
+**Note: HAMMER should be used on 50G or larger disks.** 
 
-<tr>
-<td valign="top"><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=5">hammer(5)</a></td>
-<td valign="top">Hammer starter manual page</td>
+For more details, please read the [hammer(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=5) man page.  People interested in porting HAMMER to other operating systems should contact Matthew Dillon at dillon at backplane.com.
 
-</tr>
+## Documentation
 
-<tr>
-<td valign="top"><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=8">hammer(8)</a></td>
-<td valign="top">Hammer utility manual page</td>
-</tr>
+[[!table  data="""
+Document|Description
+[hammer(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=5)|Hammer starter manual page
+[hammer(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=8)|Hammer utility manual page
+[undo(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=undo&section=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
 
-<tr>
-<td valign="top"><a href="hammer.pdf">hammer.pdf</a></td>
-<td valign="top">Hammer major feature document</td>
-</tr>
-
-<tr>
-<td valign="top"><a href="http://leaf.dragonflybsd.org/mailarchive/hammer/">hammer@dragonflybsd.org</a> (archive link)</td>
-<td valign="top">Hammer mailing list - see [[mailing list|mailinglists]] page</td>
-</tr>
-
-<tr>
-<td valign="top"><a href="/presentations/nycbsdcon08">NYCBSDCon</a></td>
-<td valign="top">Slideshow from NYCBSDCon 11 Oct 2008</td>
-</tr>
-
-</table>
+"""]]
 
+More help topics involving HAMMER can be found in the [documentation section](/docs/documentation/) of this website.