Testing and Virtualization
CentOS 5.3 Has Keen Focus on Virtualization
CentOS, the popular community-supported clone of Red Hat Enterprise Linux, reached Version 5.3 in March, some three months after its parent distribution, RHEL 5.3, began shipping.
CentOS is based on Red Hat's freely available Enterprise Linux source packages. The CentOS project strips trademarked logos and other branding from the packages before building them into a free, Linux-based operating system that boasts binary compatibility with its parent.
CentOS 5.3 shares in RHEL's recent improvements in the areas of virtualization, application development, security and storage. Unlike RHEL, CentOS may be had without any subscription fees, which makes CentOS a popular operating system option for many hosting providers and cloud computing vendors.
Applications designed and tested to work with RHEL should work just the same on CentOS, and security and bug-fix patches from Red Hat flow downstream to CentOS as well. However, the distribution lacks direct support from Red Hat, and CentOS systems can't be managed through the Red Hat Network service.
That said, with its roots in RHEL, CentOS is very stable distribution with a relatively long support term and a generous catalog of compatible hardware and software. In addition, the free, community-oriented status of CentOS results in plenty of regional mirrors from which to download updates (about 80 in the United States) as well as an active community that provides many software packages beyond those that Red Hat ships as part of its official distribution.
Server and desktop roles
CentOS is a great fit for server deployments, and can serve well as either a host or guest for virtualization. As a virtualization host, CentOS defaults to the Xen hypervisor, with Red Hat's Virt-manager utility for graphical management. CentOS isn't as full-featured a virtualization host as VMware's ESX Server, but I found the process of configuring a Xen host and spinning up guest instances smoother on CentOS than on SUSE Linux Enterprise Server 11 in my recent tests of that distribution.
CentOS 5.3 can also work well in a desktop role, although the software packages that ship with CentOS trail those that ship with the faster-moving Fedora and Ubuntu Linux by a couple of years on average. For example, where the soon-to-ship versions of Fedora and Ubuntu will include Version 2.26 of the GNOME desktop environment, CentOS offers GNOME Version 2.16.
Testing and Virtualization
CentOS 5.3 is available as a free download from the CentOS project or from one of its mirrors via www.centos.org. The CentOS project doesn't offer support beyond community resources, although the project maintains a directory of companies offering support services. What's more, because of CentOS' closeness to Red Hat's supported enterprise Linux product, migration barriers from CentOS to the Red Hat platform would be low if an organization decided to purchase Red Hat's support.
The CentOS distribution spans six CDs or one DVD, and is available in versions for the x86 and x86_64 processor architectures. The distribution is also available in a slim, 8.3MB network install image. I used this image in some of my tests to boot a new system before pulling down the packages I needed from one of the CentOS mirror sites.
I tested the 32-bit version of CentOS 5.3 from a virtual machine with 1GB of RAM hosted by Sun Microsystems' VirtualBox desktop virtualization application. I tested the x86_64 version of CentOS on a dual-core AMD Athlon 64 server with 4GB of RAM, as well as on a paravirtualized virtual machine hosted under CentOS's Xen hypervisor.
As a reflection of Red Hat's Linux development efforts, it isn't a surprise to see that many of the enhancements in CentOS 5.3 focus on virtualization. These improvements are targeted largely at scalability on large host machines, including support for host systems with as many as 126 processors and 1TB of RAM, and support for guest instances with as many as 32 processors and 80GB of RAM.
CentOS 5.3 taps Xen 3.0.3 as its default hypervisor, but I could opt for KVM as a virtualization option by installing packages from the CentOS project's "extra" repository.
As with the Xen implementation that ships with Novell's SLES 11, CentOS offers a more Spartan feature set compared with purpose-built virtualization products such as VMware's ESX Server. Still, I was able to roll out new, fully virtualized Linux or Windows guest instances very easily, as well as install Linux guests in higher-performance paravirtualized mode.
CentOS 5.3 ships with a Linux alternative to Sun's DTrace system-tracing framework called SystemTap. I've found SystemTap rougher around the edges than DTrace, particularly on CentOS. Right from the start, SystemTap requires more setup steps than DTrace, including installing additional packages. One of these packages, containing kernel debug info, wasn't available in the regular CentOS repositories.
After following the instructions for CentOS at the SystemTap project site, I was able to run the example scripts provided at the site to tease out information about the workings of my test machine. I was able to pipe the output of one script, which tracked disk and CPU utilization, to the data-and-function-plotting Gnuplot to visualize the information.
Elsewhere on the development front, CentOS 5.3 ships with OpenJDK, the fully open-source release of Sun's Java Platform, Standard Edition.
I was also pleased to see that CentOS 5.3 now offers support for block-level disk encryption as an install-time option-an important option for notebook deployments because it can keep data inaccessible in case of lost or stolen machines.
Executive Editor Jason Brooks can be reached at firstname.lastname@example.org.