next book(s): FreeBSD storage

I’m writing about FreeBSD disk and storage management. (The folks on my mailing list already knew this.) For the last few months, I’ve been trying to assimilate and internalize GEOM.

I’ve always used GEOM in a pretty straightforward: decide what I want to achieve, read a couple man pages, find an archived discussion where someone achieved my goal, blindly copy their commands, and poof! I have deployed an advanced GEOM feature. GEOM was mostly for developers who invented cool new features.

Turns out that GEOM is for systems administrators. It lets us do all sorts of cool things.

GEOM is complicated because the world is complicated. It lets you configure your storage any way you like, which is grand. But in general, I’ve approached GEOM like I would any other harmless-looking but deadly thing. Now I’m using a big multi-drive desktop from iX Systems to fearlessly test GEOM to destruction.

I’m learning a lot. The GEOM book will be quite useful. But it’s taking longer than I thought. Everything else flows out of GEOM. I’ve written some non-GEOM parts, but I’m holding off writing anything built on top of GEOM. Writing without understanding means rewriting, and rewriting leads to fewer books.

My GEOM comprehension is expanding, and many developers are giving me very good insight into the system. GEOM is an underrated feature, and I think my work will help people understand just how powerful it is and what a good selling point it is for FreeBSD.

My research has gone as far as the man pages can take me. Now I need to start pestering the mailing lists for answers. Apparently my innocuous questions can blow up mailing lists. I would apologize, but an apology might imply that I won’t do it again.

FreeBSD storage is a big topic. I suspect it’s going to wind up as three books: one on GEOM and UFS, one on ZFS, and one on networked storage. I wouldn’t be shocked if I can get it into two. I would be very surprised if it takes four. (I’m assuming each book is roughly the size of SSH Mastery — people appear to like that length and price point.) I will adjust book lengths and prices as needed to make them a good value.

The good thing with releasing multiple books is that you only need buy the ones you need. You need to learn about iSCSI and NFS? Buy the third book. You want everything but ZFS? Skip that one. And so on.

As I don’t know the final number of books or how they will be designed, I’m not planning an advance purchase program.

I am planning to release all the books almost simultaneously, or at least very close together.

So, a mini-FAQ:

  • When will they be released?
    When I’m done writing them.

  • How much will they cost?
    Dunno.

  • How many will there be?
    “Five.” “Three, sir.” Or four. Or two. Definitely a positive integer.

  • Do you know anything?
    I like pie.

    I’m pondering how to give back to FreeBSD on this project.

    I auctioned off the first copy of Absolute FreeBSD to support the FreeBSD Foundation. That raised $600 and was rather fun. These books will be print-on-demand, though, so “first print” is a little more ambiguous. It also has a ceiling, where OpenBSD’s ongoing SSH Mastery sales keep giving.

    I’ve had tentative discussions with Ed Maste over at the FreeBSD Foundation about using those books as fundraisers. I’d let the FF have the books at my cost, and they could include them as rewards for larger donations. A million and ten things could go wrong with that, so it might not work out. If nothing else, shipping stuff is a lot of work, and the FF folks might decide that their time is better spent knocking on big corporate doors than playing PBS. I couldn’t blame them — that’s why I don’t ship paper books.

    If that fails for whatever reason, I’ll sponsor a FreeBSD devsummit or something.

  • 10 comments to next book(s): FreeBSD storage

    • Thomas

      please include info on FreeNAS when covering ZFS. Thanks!

    • Thomas, FreeNAS is certainly out of scope for this. That would be a separate book, one which I’m very unlikely to write.

      I don’t like writing books with pictures. The pictures take far longer to prepare than the words.

    • Ade

      This is really good news and I look forward to your book on GEOM.

    • Awww at FreeNAS. ;)

      I know a thing or two about iSCSI and ZFS on FreeBSD. Feel free to reach out to me when you get to those points.

    • Mojo Jojo

      LOL at blowing up mailing lists! Either I’m seeking info to document something and causing multiple simultaneous head explosions, or people are seeking me out and then I want to fix bugs rather than have them document stupidity. It’s one of the reasons I’d have a hard time writing a book… I’d end up fixing stuff instead. :)

      Holler when you get to networked storage.

    • Tessio

      I hope this is a starting point for a new Absolute FreeBSD.. :D

    • If the first edition isn’t special, and you don’t want to worry about shipping multiple units, make a special edition. Not necessarily the ‘first’ print, but a vanity hardcover.

      It’s probably possible to get a special hardcover version with, say, an embossed picture of yourself smoking a pipe and wearing a fez on the back cover, and with those swirly endpapers older books have, etc., etc. There is probably a local letterpress place that will put something like that together. It will cost a bit more, but if a previous auction hit $600, it will still make money.

    • sean

      Give us an update! We’re dying–it’s been one month!

    • Update? I’m actively untangling the spaghetti knowledge of disk management, so I can lay it all out nice and neat for you.

    • Juan Madrigal

      Can you please cover the following?

      – Fibre Channel (isp, mpt drivers, target and initiator setup)
      – Multipath/LUNS (creating luns, gmultipath, camcontrol, ctladm etc…)
      – ZFS + pNFS (shared storage filesystem)
      – Clustering and Failover
      – HAST
      – CARP

      Thanks!

    Leave a Reply

      

      

      

    You can use these HTML tags

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>