Supporting Linux: The Kernel

Keeping the Linux kernel up to date and properly configured for hundreds or thousands of machines can prove to be a daunting task for anyone. Maintaining the kernel across a large number of machines does not have to be as difficult as it sounds though.

Support of the Linux operating system is one of the critical issues that face many organizations that consider deploying Linux in their corporate environments. Support of an operating system typically, over time, turns out to be the most significant cost over the life of the system. However, Linux offers many features that help to reduce this cost. Linux, having been derived from Unix, shares many of the administration tools and utilities that traditional Unix systems have offered for years. Some of these tools can be used to help maintain the Linux kernel itself in the ways illustrated here.

The kernel of an operating system is that portion which actually communicates with the hardware, manages system resources, and controls system processes. The Linux kernel performs all these functions, and is of critical importance to the stable and efficient operation of the overall system. Keeping the Linux kernel up to date and properly configured for hundreds or thousands of machines can prove to be a daunting task for anyone. Maintaining the kernel across a large number of machines does not have to be as difficult as it sounds though. Kernel administration can actually be rather painless when compared to the importance of this duty, and the far-reaching effects that this type of administration can have.

Supporting a large network of computers regardless of the operating system is greatly simplified by creating and adhering to a defined hardware standard. A hardware standard allows an organization to develop a "standard" software configuration for these machines which reduces installation time, and gives the staff the advantage of having a much more narrow range of equipment to support. For Linux, a hardware standard gives you the ability to develop a couple of kernel configurations for each hardware type, and then roll this kernel out to all of these machines. A kernel version is selected and can then be optimized for a specific piece of hardware. This optimization can help to increase performance, provide specific functionality, support specific pieces of hardware, and even help to increase security. Then the support staff can simply decide when to upgrade to a new kernel version for the entire organization and go through the optimization process again.

Kernel optimization is not a difficult task in itself, but to do this for hundreds of machines presents a massive challenge if performed on an individual basis. The beauty of Linux is that once the kernel is optimized and compiled this kernel can then very easily be transferred to any machine with a matching hardware configuration. This compiled kernel can be pushed out to all of the matching machine types by following a few simple steps. First of all, you will want to maintain some kind of hardware database. This database can be as simple as a file listing machine names of a specific hardware type. Then the administrator can run a script that pushes the new kernel to all machines listed in the hardware database. A local script can then detect the new kernel version once uploaded to the machine and then activate this new kernel at a designated time. This entire process can be implemented such that it is completely transparent to the end-user community. This level of administration ease in configuring and maintaining an operating system kernel is difficult to find in most other operating systems.

Maintaining the Linux kernel in a large environment as shown does not have to be a massive task. The process of creating and distributing a kernel image is not very difficult and can be accomplished with relative ease by most Unix administrators. The kernel administration helps to ensure that your systems are stable and secure. Through the use of the tools and utilities built in to Linux, along with the modular nature of the kernel, keeping the kernel of even hundreds of systems is simply not that significant of an issue.

The views, information and opinions provided in this article are expressed and held solely by the author. Neither Sprint Enterprise Network Services nor Sprint Corporation or any of its affiliates assume any responsibility for any opinion or statement of fact presented in this article.

Originally published on Linux.com. Released under the Open Content License unless otherwise stated.
Notify Gareth Watts of any
errors or copyright violations.