Hammer and Hammer2 details

I haven’t been drawing enough attention to it, but there’s been a bunch of HAMMER filesystem activity lately: First, Tomohiro Kusumi has been working on HAMMER – these posts are a small subset of his commits.  Second, Matthew Dillon has been working full steam ahead on HAMMER2.  The HAMMER2 design document has been updated (read this!), and he’s already accomplished master->slave disk syncing.

It’s not ready for production, of course, which you may already realize, so don’t install it unless you want to work on the code.

Slider, for Hammer

John Marino has created something very useful: a graphical tool for Hammer file history.  It’s called ‘Slider’, and it uses curses to work in a terminal.  It shows historic versions of files and can restore those old versions as needed.  This was already possible in Hammer, of course, but it required a sequence of commands that were not straight-forward.  I’ve been slow enough posting it that version 2.0 is already out, offering a way to see files that no longer exist, but are still in history.  (i.e. deleted some time ago)  ‘Time Machine’ sounds like the best name, but that seems to be taken.

Hammer and mirrored disks

A frequent question people ask when trying Hammer is “How can I do software RAID to cover a disk failure?”  Hammer provides for streaming one volume to another, so you can duplicate drives, but there isn’t an automatic failover mechanism as there is with a RAID setup.  The first answer is usually “get hardware RAID“; my preferred solution.   The remaining software solutions are vinum, ccd, and lvm for DragonFly.