Updating date references, mailing list
[ikiwiki.git] / hammer / index.mdwn
1 # The HAMMER Filesystem
2
3 The HAMMER filesystem is a new addition to DragonFly.
4 Being a brand-new filesystem we consider HAMMER to be in an early Beta state
5 as of the 2.0 release, and production-ready as of the 2.2.1 release.  
6 All major features except the mirroring are quite well tested
7 as-of the release.  The mirroring was the last big-ticket item to go in
8 prior to the 2.0 release and should be considered more in a late-alpha light.
9
10 If you are interesting in porting HAMMER to another OS, please drop me (Matthew Dillon)
11 a line at **dillon at backplane.com**.
12 A DragonFly
13 mailing list specifically for HAMMER porting exists; see links at end of document.
14
15 I can't stress enough that HAMMER is designed for large storage media.
16 The minimum I would be comfortable with would be around a 40G partition,
17 though I often create smaller partitions for testing purposes.
18 HAMMER can address up to 1-Exabyte of space and the use target is really
19 designed for 500G and up.  What does this mean for people who want to
20 use HAMMER on a smaller partition?  Well, there are two issues.  First,
21 the filesystem needs to reserve several hundred megabytes of media space
22 to serve as buffer space for the reblocker.  If you create a small
23 filesystem the space efficiency is not going to be all that good.  More
24 importantly, HAMMER recovers space via pruning and reblocking cron jobs
25 which early adopters must set up manually and are intended to run a few
26 minutes every night to incrementally clean up the filesystem.  You don't
27 get instant gratification when you 'rm' something, so if the filesystem
28 is too small normal use may run you out of space before the pruning and
29 reblocking can catch up.
30
31 If you remember only two things about this filesystem, the first should
32 be the large-media nature of the filesystem's management functions, and
33 the second should be the historical data retention.  Most systems sync
34 their mounts every 30-60 seconds.  For HAMMER this means that you effectively
35 get a snapshot every 30-60 seconds.  The filesystem's fine-grained nature
36 shows up when you use the <strong>hammer</strong> or <strong>undo</strong>
37 commands to sift through the history, but the absolute best way to utilize
38 the fine-grained nature of the filesystem is to create a cron job 
39 which creates a snapshot softlink at the desired interval, for example
40 once an hour, using the <strong>hammer snapshot</strong> command.
41 Creating an actual softlink via this command guarantees you a consistent
42 view of the filesystem state.
43
44
45 ## Documentation:
46 <table width="100%" cellpadding="3" cellspacing="0" border="1"
47 style="border-style: flat; border-collapse: collapse; border-color: #BEBEBE;">
48 <tr bgcolor="#ffcc00">
49 <th>Document</th><th>Description</th>
50 </tr>
51
52 <tr>
53 <td valign="top"><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=5">hammer(5)</a></td>
54 <td valign="top">Hammer starter manual page</td>
55
56 </tr>
57
58 <tr>
59 <td valign="top"><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=8">hammer(8)</a></td>
60 <td valign="top">Hammer utility manual page</td>
61 </tr>
62
63 <tr>
64 <td valign="top"><a href="hammer.pdf">hammer.pdf</a></td>
65 <td valign="top">Hammer major feature document</td>
66 </tr>
67
68 <tr>
69 <td valign="top"><a href="http://leaf.dragonflybsd.org/mailarchive/hammer/">hammer@dragonflybsd.org</a> (archive link)</td>
70 <td valign="top">Hammer mailing list - see [[mailing list|mailinglists]] page</td>
71 </tr>
72
73 <tr>
74 <td valign="top"><a href="/presentations/nycbsdcon08">NYCBSDCon</a></td>
75 <td valign="top">Slideshow from NYCBSDCon 11 Oct 2008</td>
76 </tr>
77
78 </table>
79