When it comes to sysadmin buzzwords Project California: a Data Center Virtualization Server ticks a lot of the boxes, which is a little misleading as half the book is about solid hardware level details that are actually rarely covered. While this makes the first half more than a little dry it does introduce concepts that many of us take for granted, such as why DDR3 is faster than DDR2. The second half takes you through the Cisco UCS stack and where the benefits are. Read on →

Last weekend I joined the hordes and worked my way from London to Seigburg for FrOSCon 2009. Along the way I experienced an airport evacuation due to fire alarm, a delayed flight, four trains (one in the wrong direction) and numerous kindly old German ladies that took pity on me and gradually got me in the right direction. And it was worth every second. I’d never really considered going to FrOSCon before, the percentage of talks given in German is quite high and I don’t speak a word of the language but this year there was an excellent line up of speakers (all presenting in English) in the OpenSQLCamp room. Read on →

We’ve recently been searching for a junior sysadmin to join the team (and I’m very happy to say we’ve now succeeded) so as part of my day to day tasks I had to come up with a dozen simple questions to weed out the people that have never used anything but webmin (and there is a surprising number of them out there). One of the questions seemed to cause a lot of trouble in the general sense and tripped up the few who even made an attempt - “How would you change all occurrences of to in a text file? Read on →

In a conversation with Stuart the subject of cron timings came up, and after a brief discussion the ugly head of @reboot reared. While most people know that you can use the special ‘event’ syntax to trigger cronjobs at specific times I’d guess a very small number of them actually know how it works. For example does cron rerun @reboot jobs when the service is restarted? (hint - no it doesn’t.) After a quick discussion on how cron knew the machine hadn’t really rebooted we had a short list on how it was doing it - tracking uptime, watching run level states, calling the init script only on certain levels… the only problem is that all of those had obvious issues that stopped them being a good choice. Read on →

When it comes to the list of problems ‘our uptimes are too high’ isn’t normally in the top five that sysadmins dread. While having a lengthy uptime used to be a boasting point it can also hide technical issues - such as kernel upgrades you’ve applied but not enabled (unless you’re running something special like ksplice), confidence gaps in high availability systems (when was the last time you did a fail over?) and a general worry that what’s running on a host now may not be when it comes back up. Read on →

I recently headed up to the August NWRug in Manchester, firstly because it’s been a while since I’ve seen Will Jessop, the organiser (and more importantly a mate) and secondly because I was interested in Capistrano. While we use puppet at work for the more strategic stuff, such as ensuring machines start off with a well-defined configuration, I’ve been in need of something to perform sets of tasks against defined groups of servers. Read on →

If you’ve not seen or read much in the way of Scifi then Moon may be an innovative movie that surprises you with its plot twists, (a film with a plot? Quick, change screens, Transformers is on next door) surprises and human/machine interaction. If you’re reading this blog then I’m guessing you’ll find it slow, predictable and a bit meandering. 5⁄10. Very average.

We recently consolidated a number of websites used by one of our brands back down to a sensible number (sensible being one). Which, while only a single action point on an email, turned out to be a large amount of DNS and apache vhost wrangling. In order to give myself a safety net, and an easy to check todo list, I decided to invest ten minutes in writing a small test script. Read on →

Thanks to the enthusiasm I’ve returned from EuroPython with (and the fact I couldn’t make it to OpenTech because of washing machine issues) I decided to spend a little bit of time porting Nagios Webchecks to python. As a use case it covers a lot of the functionality I need in my day to day system scripts. The ability to specify command line arguments, read a config file and interpolate a template file for output. Read on →

At work we both build our own packages and use puppet to manage our servers. While the developers package up their work in the systems team we’ve moved more to deploying programs and their dependencies via Puppet. While it seems easier, and quicker, to do the pushing that way, at least for scripts, you lose the ability to track what’s responsible for putting each file on the system. I’m probably already modelling the more complex parts of what would be in a package (such as services and cronjobs) in the module and thanks to Puppet I’m probably doing it in quite a portable way. Read on →