Thanks to Michael Neumann, it’s now possible to remove a drive from a Hammer volume. It’s experimental, so all the standard warnings apply.
This can’t be done on a root volume, for hopefully obvious reasons.
Did you know you a Hammer volume can span multiple disks? And that you can add extra disks later on? There’s no RAID-like features – it’s just a straight multiple-disk volume, but it works. The Hammer command to do it is now “hammer volume-add“
Some of the ikiwiki configuration files on dragonflybsd.org were accidentally overwritten during a software upgrade. Normally this would mean some work to locate and replace them from backups, but since it was a Hammer volume, a quick look in /var/hammer/usr/… found them for me.
I want to point out what Hammer does, here. Restoring from backup isn’t new – it is in fact probably one of the most basic and necessary of system administration duties. However, Hammer makes it so easy that the incremental work of using it falls to almost nothing. There’s no extra preparation or syntax to learn for retrieval, which is wonderful. Hammer’s easy fix has helped me out several times now, saving me time that, while probably still successful with any other backup system, would have been taken up just restoring things back to normal.
Matthew Dillon has made version 4 of Hammer the default; the upgrade is a relatively painless ‘hammer upgrade’ command. This new version cuts out a chunk of the disk syncs needed, speeding up Hammer disk operations.
I like linkblogging, especially because there’s been a lot of good stuff floating about:
- Matthew Dillon detailed some of the problems he had using hardlinks to create backups – problems Hammer solves.
- The History of the Internet in a Nutshell: pretty good, though it says Unix “influenced” Linux and FreeBSD. Influenced is right for Linux, but there’s parts of the different BSDs that are from UNIX directly.
- From O’Reilly: The War for the Web. The walled garden that failed in the long run for Compuserve and AOL and so on is being resurrected. (via)
- Along the same lines: The Death of the URL.
Thomas Nikolajsen came up with some ideas for making the configuration files for a given Hammer volume accessible, even when that volume is being presented over NFS. He’s looking for more ideas.
If anyone wants a project, there’s apparently a small undo bug that I’ve encountered. It is a small fix in terms of changes, for any takers.
There’s a status report from Matthew Dillon about his work on version 4 of Hammer, including the always enjoyable stories of tests that involve yanking the SATA cable from the drive.
‘mike’ made this interesting csh script that allows autocompletion of Hammer sub-commands. e.g. type ‘hammer’ and then cycle through the available hammer commands as you would through file names.
This description of a Hammer bug makes for interesting reading, since it delves into the sequence of events where data is actually laid down on disk. Interesting reading for a geek, admittedly…
Version 3 of Hammer is now available in bleeding-edge DragonFly, though it’s still experimental. The biggest reason for this version bump is to move the /snapshots folder to /var for all Hammer filesystems. This means an accidental <tt>rm -rf</tt> won’t destroy snapshots, as I’ve done. The saved data is still on the original partition, as just the metadata is saved to /var. More explication is available.
Jan Lentfer performed some Postgres benchmarks on DragonFly. It’s elaborate enough that it’s in the form of a PDF attached to the message I’ve linked. There’s some additional variations that haven’t been tried yet.
Vigorous file system activity seemed to lower performance in the long term on Hammer, which is certainly something to investigate. More testing please!
If you back up the pseudo-file-systems (PFS) on your Hammer volume to a non-Hammer disk, and then need to restore them to a new Hammer volume, and then realize you forgot to write down the shared-uuid, well, then, YONETANI Tomokazu has a patch for you. I haven’t seen this committed yet, but it appears valuable.
Matthew Dillon’s made some improvements to Hammer’s read and write processes. To quantize this, he’s tested Hammer and UFS with blogbench and written up the results. The tl;dr summary: UFS performs well until the system cache runs out, and then it halts. Hammer has some overhead from saving all history, but doesn’t stop working under a much heavier load.
Dear universe, including DragonFly people: stop doing so much stuff. It’s hard to keep up.
- Git in One Hour, an O’Reilly webcast. You need to register (free) and so on, but what the heck. O’Reilly doesn’t show crap.
- Poul Henning-Kamp is suing to recover the cost of Vista on his Lenovo laptop. (He’s installing FreeBSD.) I hope it comes out in his favor, though it will have little legal effect here in the U.S. (via)
- I didn’t realize this until I chimed in on the mailing lists, but one of the best books about file systems is freely available as a PDF.
- Another benefit of Hammer: you can’t run out of inodes, nor is it possible to have too many hardlinks.
- Some notes on pf usage in DragonFly. I know some parts have been mentioned before, but it’s good to sum up.
Matthew Dillon has a new version of Hammer, which speeds up listings from programs like ‘ls -la’ and ‘find’. This is only in 2.3.1.x code right now, so don’t force an upgrade via hammer version-upgrade if you’re still on DragonFly 2.2. His post includes some benchmarks.
On a side note: sili(4) tests look good.
Matthew Dillon’s made some small changes to Hammer; it should result in a small speedup when copying data.
I recently did a bulk build of pkgsrc on two similar machines; the only significant difference being extra CPU work being done on one system, and Hammer snapshots on the other. However, they’re diverging in speed over time, which is interesting but not yet conclusive. Read my post about it for more details.
A good benchmarking project would be testing Hammer with snapshots on and with snapshots off.
Matthew Dillon is trying to track down a Hammer bug where directory entries (files, usually) are missed, whether it’s with ls or find or similar. Has this happened to you? It’s apparently very hard to duplicate, so please speak up if it has.
Hammer’s ‘undo’ now has the ability to index and automatically diff historical versions of files for you, thanks to a patch from Joel K. Pettersson. (He’s got more ideas, too.
A bunch of links, cause that’s the easiest way to get this all out: