Appropriate Laziness is the Hallmark of a Great Sysadmin

I think, sometimes, that the truth is quite funny. Take, for instance, the goal of every systems administrator I have ever known (including myself): do nothing. Seriously. For sysadmins, a good day is a day when we get to do absolutely nothing but catch up on personal email, read our favorite magazines and web sites, play some foosball or pinball or even a little ping pong, have a beer or two at lunch out at the pub with some friends, and go home feeling like you didn’t really do anything, and feeling happy about it. It is this vision of the perfect day that drives us to pursue all manner of projects in hopes that we can someday get to have slow days every day.

The other day, I complained about one of the tools we lazy sysadmins use when we have more than, oh, say, three systems to maintain: cfengine. At my last job, we had something like 45 systems, and I was wishing we could get just enough time to put cfengine into place. Where I work now, we manage something north of 40 systems (various flavors of Linux and some Solaris) and I had the fortune of walking into a working cfengine deployment. Hooray, someone else did the hard part! Having had the joy of using cfengine for managing large numbers of systems, I never want to go without it again. It’s an amazing and efficient tool for rapidly and easily distributing all manner of configurations across a huge number of systems. It can also, at times, be an amazing and efficient tool for rapidly and easily distributing all manner of broken configurations across a huge number of systems, but that’s a story for another day.

Another tool we’re using extensively is RedHat’s kickstart. Taken from the much more capable Jumpstart from Sun, kickstart is, really, enough to get a system off the ground and mostly configured for what you want. There’s a bit of work we need to do on our kickstart server yet, and our tools for generating new kickstart configurations aren’t quite up to the quality we’d like, but all in all, it’s a serious time-saver. Instead of having to sit there and answer all the questions and configure a package set, we just boot the system off a CD, tell it to do a kickstart boot, and walk away. Depending on the system and what type of install we’re doing, the system will be ready, all on its own, in twenty minutes to an hour.

The real strengths, however, come into play when you combine the kickstarts with cfengine. In about an hour, not only do you have a new system install, but you’ve got it completely configured, along with optional software installs. How cool is that? Sure, coming up with a totally new configuration for a new class of machines can be a pain, but once that’s done, you can crank out as many of them as you want in very short order indeed. And, not only that, but you can then manage it from that point forward from your central infrastructure and ensure it’s a good citizen.

In case you couldn’t tell, I really like cfengine and kickstart. They make me happy, because they allow me (and my coworkers) to spend more time doing real productive work instead of playing box jockey. If you manage more than five machines or so, you owe it to yourself to check into cfengine. If you build machines more than once a month, you owe it to yourself to check into kickstart (or Jumpstart, if you’re a Sun Solaris shop.) Don’t cheat yourself out of valuable time.

Leave a Reply

You must be logged in to post a comment.