Monday, April 23, 2007

CentOS 5 is a solid enterprise OS (Distribution Reviews)

Last week, two years since its last major release, the CentOS project released version 5 of its enterprise-focused Linux distribution. I downloaded it and put it to the test, and found that CentOS 5 has maintained its tradition of robustness and reliability while adding new features like virtualization.

The latest CentOS (Community ENTerprise Operating System) distribution is built from the freely available (under the GPL and similar licenses) sources for Red Hat Enterprise Linux 5. The initial platforms supported are x86 (i586 and i686) and x86_64 (AMD64 and Intel EMT64) with planned support for IA64 and others soon.

The key advantages of CentOS over other server-type distributions, apart from its free nature (as in both speech and beer), is its rock-solid reliability and the long lifecycle of the product. The CentOS project expects to supply maintenance updates for Centos 3 until 2010 and for CentOS 4 until 2012. Projecting this forward, maintenance for CentOS 5 should be active until at least 2014.

CentOS 5 comes as a 6-CD set (a 7-CD for the 64-bit version) or as a single-layer DVD. I downloaded the DVD version and used it to boot my server. Installation is straightforward (similar to that of previous versions of CentOS and similar to Fedora Core) and shouldn't be difficult, especially if you are used to installing Linux. The installation process uses a graphical interface with on-screen instructions, but you will need as least 512MB of memory to use it; there is a text installer for those with at least 128MB. If you are installing on a new server and you are happy to have all the disks reformatted, use the "automatically partition" option for the disk partitioning setup, as this will save you lots of time. If you need a more complicated setup with RAID, then you will need to customize the disk partitioning. As my test server is a dual boot machine, I used the customised disk partitioning to install CentOS on a free partition. The installation went without hitch. The installer correctly recognized the presence of the other OS on the machine and configured the bootloader accordingly.

One big difference between Red Hat Enterprise Linux 5 and CentOS 5 is that CentOS 5 includes packages from different RHEL variants, including the server and client varieties. All the Red Hat repositories have been combined into one to make it easier for end users to work with packages.

CentOS 5 comes with all the usual suspects in terms of server and application software. At its heart is Linux kernel 2.6.18 with some enterprise tweaks to support large amounts of memory and data. Also bundled are Apache 2.2.3 (with built-in support for file sizes larger than 2GB on 32-bit hardware platforms), MySQL 5.0.22, and PHP 5.1.6. Other server components include PostgreSQL 8.1.4, Samba 3.0 (for file sharing with Windows machines), and Bind 9.3.3. For messaging there is Postfix 2.3.3 or Sendmail 8.13.8 coupled with the Cyrus 2.3.7 IMAP/POP3 daemon, or alternatively Dovecot 1.0.

For the desktop, CentOS offers GNOME 2.16 and KDE 3.5.4. Also included is OpenOffice.org 2.0.4, Firefox 1.5.0.10 for Web surfing, and Thunderbird 1.5.0.10 for email. CentOS bundles a whole range of other desktop applications, for functions from CD burning to photo and image manipulation. Although bleeding-edge applications aren't included, the older versions reflect the philosophy of CentOS 5, which is to use mature packages with a proven track record rather than rely on newer and sometimes less reliable versions.

Virtualization

One of the biggest changes in CentOS 5 is the inclusion of the Xen virtualization technology. Virtualization allows multiple operating systems (known as guests) to run on a single server at the same time. Essentially it lets you run a virtual PC or server on your host server that shares its CPU and memory. You can choose whether to include the virtualization packages during the installation.

Using Xen, a server can run multiple copies of CentOS 5 on the same hardware. If your CPU supports hardware virtualization (with Intel VT or AMD SVM technologies), then you can also host arbitrary, unmodified guest operating systems, such as Windows.

CentOS 5 supplies two tools for installing and managing guest operating systems: virt-install, a simple command-line program to set up and install a virtual machine, and virt-manager, a graphical program that lets you monitor and manage the virtual machines you have running. It reports details about CPU and memory usage and lets you halt active virtual machines.

One thing to note is that virtual machines can't be installed from a physical DVD; unlike VMware and SUSE Linux Enterprise Server, CentOS supports only network installations, either from the Internet (via HTTP) or via an NFS-mounted DVD, due to lack of support for physical devices in the installation tools. CentOS needs to resolve this to if it wants to lead the pack in terms of Linux virtualization.

The CentOS developers have put a lot of work into making Xen reliable and workable on CentOS 5, but of course Xen isn't the only virtualization technology available for Linux. Virtualization products from VMware and InnoTek, among others, should also work.

Clustering and SELinux

In addition to virtualization, CentOS 5 includes enterprise features for clustering and security. A cluster is a group of connected computers (called nodes or members) that work together to provide a common service, such as file sharing using the GFS file system or for high-availability services.

You can install clustering support when you install the operating system, or at any time afterward by using the system-config-packages program. The clustering packages are grouped together as Clustering and Cluster Storage.

For enhanced security, you can implement SELinux, which is a set of modifications to the standard Linux sources that confine user programs and system servers to the minimum amount of privilege they require to do their jobs. It stops applications from misbehaving and prevents them from increasing their privileges beyond what you allow. This reduces or eliminates the harm a hacker can do to a system.

SELinux was developed primarily by the US National Security Agency (NSA), and was released to the open source development community in 2000. SELinux first appeared in CentOS at version 4.

SELinux has often been more trouble than it is worth, especially if your server was in a secure LAN environment protected by a good firewall. CentOS 5 aims to make using SELinux easier. It includes the SELinux Troubleshooting Tool (setroubleshoot), which is a user-friendly tool for notification and diagnosis of access denials. SELinux normally reports policy violations in the logging system as access vector cache entries. With the SELinux Trouble Shooting Tool, alerts are also generated to the desktop with clearer information about the problem.

Technology previews

CentOS 5 includes several new technologies that the developers don't consider production-ready, but which are included to allow you to preview and plan for their arrival. They include:

  • Stateless Linux, a system to allow for diskless clients.
  • GFS2, an updated version of the Global File System.
  • AIGLX and Compiz, which are updated X11 components with OpenGL enhancements to bring 3-D effects to the desktop.
  • Systemtap, an infrastructure tool to help developers and system administrators gather information about working systems.

During my test drive, CentOS 5 proved (as did previous versions) to be stable and robust. If you need support, there are many free ways to get it, including IRC, mailing lists, forums, and a good FAQ.

CentOS 5 has many improvements in its latest release. If you are already running CentOS 4 and are looking to upgrade your systems to newer versions of key server services like PHP 5 and MySQL 5, or if you are just looking for a solid general-purpose Linux operating system, CentOS 5 is a good choice. It will be my Linux distribution of choice for servers.

based on Gary Sims

Gary Sims has a degree in Business Information Systems from a British university. He worked for 10 years as a software engineer and is now a freelance Linux writer and consultant.

No comments: