Never reboot again with Ksplice

If you use Linux, you don't reboot very often. In my case, the only time I reboot is when I upgrade a system. But just suppose you didn't have to do even that. Suppose you could make major updates and never have to reboot your system? You don't have to imagine it anymore. Ksplice delivers the goods.

That may not sound like much to those of you who are used to Windows and its 'improvement' to having to be rebooted only every month or so. For IT departments, it's another story. If a desktop has to be rebooted every now again, so what? But if it's a server or several hundred servers, then it's another matter entirely.

Ksplice can't promise zero downtime — nothing on God's Earth can do that. But what they can do is seamlessly merge most major upgrades into CentOS, RHEL (Red Hat Enterprise Linux) Debian or Ubuntu servers without missing a beat.

Ksplice does this by comparing the original and patched kernels and then using a customized kernel module to patch the new code into the running kernel. For most easy code changes, that's not a big deal. Each Ksplice-enabled kernel comes with a special set of flags for each functions that will be patched. The Ksplice process then watches for a moment when the code for the function being patched isn't in use, and zap! The patch is made.

To make this happen, the kernel will run a little slower while Ksplice looks for its chance to make its changes. In my experiences using ksplice with Ubuntu, you'll never notice the slight speed loss.

For more complicated changes, such as dealing with data structure changes, Ksplice developers have to customize the code for each change. That's why Ksplice is available as a service. With each such patch, Ksplice updates the code needed to make more complex patches invisible to server administrators.

If I were in charge of a datacenter or a major IT installation, I wouldn't start switching all my servers over to Ksplice quite yet. I'd want to see more of a track record and wait for it to get more blessings from the various standard organizations. What I would do is start pilot programs with Ksplice. If the program continues to live up to its promise, it will become a core part of every business Linux server. Its potential is that high.

Copyright © 2010 IDG Communications, Inc.

Shop Tech Products at Amazon