CentOS (Community ENTerprise Operating System) is the most popular Linux distribution used for web servers, running around 30% of the world’s Linux-based websites, according to a survey by W3Techs. CentOS is built from the freely available sources for Red Hat Enterprise Linux 5.6 (RHEL) and supports 32- and 64-bit x86 architectures. Since it depends on Red Hat releasing the sources, CentOS is always behind the current Red Hat release. RHEL 5.6 was released in January 2011, and CentOS 5.6 followed last month. I downloaded and tested the latest version and found that CentOS remains a trustworthy server solution. System administrators familiar with any of the CentOS 5 releases will feel immediately at home with this release.
CentOS isn’t simply a recompilation of Red Hat’s code with trademarks and copyrights removed. The project also offers a live CD version, which Red Hat doesn’t, and it merges RHEL’s separate client and server versions into a single distribution. CentOS also provides the CentOS Extra repository with a handful of extra packages (such as the Xfce desktop) not provided by Red Hat. For this review, we tested CentOS only as a server.
CentOS 5.6 uses Linux kernel 2.6.18 with a variety of “enterprise” patches, back ports from later kernel versions, and four years of bug fixes. Red Hat released the resultant kernel, known as 2.6.18-238.el5, at the end of 2010. Though the initial release of the 2.6.18 kernel was in 2006, it has been maintained consistently since then, resulting in a mature, stable, and reliable platform – in short, an excellent base for an enterprise operating system.
Features from later kernels that have been back-ported into the 2.6.18 kernel include the ext4 filesystem, eCryptfs (a POSIX-compliant encrypted filesystem), support for Intel’s Virtualization Technology for Directed I/O (VT-d), support for the Intel i7 memory controllers, and various drivers that support newer hardware.
The ext4 filesystem, successor to ext3, boosts large file performance and keeps disk fragmentation in check. Ext4 theoretically supports volumes with sizes up to 1 exabyte (1 million terabytes) and files sizes up to 16 terabytes. Practically, however, you can create only 16TB filesystems due to limitations in the e4fsprogs utilities used for maintaining ext4 filesystems. With those utilities you can convert an ext3 filesystem to ext4, or mount ext2 and ext3 filesystems.