There's always a sense of finally when a new version of Red Hat Enterprise Linux (RHEL) is released. We always know what's coming in the new OS, and generally we know when it'll be available, but we're still working with rapidly aging packages on the previous version and drumming our fingers for the next release.
With RHEL, the longer release cycle is the penalty to be paid for stability. When a new version of RHEL appears, it's been vetted for many moons through the cutting-edge Fedora Linux distribution. Presumably, most of the bugs have been worked out, but that doesn't help when you're busy shoehorning PHP 5.3 and MySQL 5.25 onto an RHEL 5.4 server.
The good news in RHEL 6 is a wealth of new features. These include very significant enhancements, long-awaited updates, and items that have been in place on other nominally less-stable distributions for months, if not years. After all, it's been nearly three years since RHEL 5.0 was released. The net result is that RHEL 6 is easily the best Red Hat Enterprise Linux release yet.
Given that RHEL 6 is composed of more than 2,000 software packages, there's no good way to fully test them all. But you can get a good sense of how an OS comes together simply by jumping in and configuring various services. By that measure, users familiar with Fedora and previous versions of RHEL will feel right at home. RHEL 6 drives much like RHEL 5.x does.
RHEL 6 hardware support First up are the enhancements to the core system. RHEL 6 defaults to the CFS (Completely Fair Scheduler) process scheduler and the usual CFQ (Completely Fair Queueing) I/O scheduler.
For x86_64 CPUs, RHEL 6 can natively support up to 128 cores and 2TB of RAM. Using other kernel extensions, those limits can be stretched to 4,096 cores and 64TB of RAM, if you're really pushing big iron. Naturally, this is thanks to the Linux 2.6.32 kernel.
Red Hat has also done plenty of work in optimizing memory management with NUMA, which can produce significant performance increases on larger systems.
RHEL is now standardized on the ext4 file system, which has been a long time coming. Using ext4, the OS can support volumes as large as 16TB. RHEL 6 also supports XFS and GFS2, which scale up to 100TB.
We finally see support for NFSv4 and a bunch of updates in the high-availability space, including better log file management across clusters and a redesigned Web management interface. In addition, RHEL 6 can take advantage of RAS (reliability, availability, serviceability) features found in newer CPUs such as the Intel Nehalem-EX, which allow it to handle hot-swap CPU and RAM events and deal with bad memory pages marked by hardware.
On the IP storage networking front, booting from iSCSI LUNs is now supported and easily managed at install time. There's now embedded support for Fibre Channel over Ethernet.
Note there is no Itanium version of RHEL 6.
RHEL 6 software updates and upgrades On the software side, you'll find a plethora of updates and new frameworks, such as the new System Security Services Daemon (SSSD) that offers a pluggable interface for authentication, supporting PAM (Pluggable Authentication Modules), NSS (Network Security Services), and offline credential caching.
Awaited updates abound in the LAMP space, with the inclusion of Apache 2.2, PHP 5.3.2, and Perl 5.10.1. Somewhat disappointing is that MySQL 5.5 has been passed over for MySQL 5.1.47, which is based on a release from more than two years ago. On the plus side, Memcached 1.4.4 and Tomcat 6 are present. The base compiler has been updated to GCC 4.4.
Quite a few of the new features revolve around virtualization, not the least of which are WHQL (Windows Hardware Quality Labs)-certified drivers that usher in official Microsoft support for Windows virtual servers. Previous to this certification, Microsoft would tell you to go pound sand if you admitted you were running Windows on an RHEL-driven virtualization platform.
The KVM hypervisor has also been bumped up a notch or two, with features like guest CPU affinity; CPU masking, in which all VMs see the same CPU type no matter what's actually in the box; and KSM (Kernel Samepage Merging), which reduces RAM usage by allowing virtual machines to share memory pages. The new limits for virtual servers are 64 virtual CPUs and 256GB of RAM.
On the virtualization security front, sVirt is included. Based on SELinux, sVirt uses mandatory access controls to isolate virtual machines and prevent them from interfering with each other.
RHEL 6 should also be more power efficient than the previous version. Red Hat claims that by leveraging a tickless kernel and other power-reducing tweaks, a RHEL 6 server can lower idle power consumption by 20% or more. I have not yet tested this in the lab.
As far as interfaces go, the default Gnome desktop is roughly identical to the previous version and is respectably Spartan, as befits a server operating system. However, a new install-time option now makes it easy to lay down the bare minimum of packages for a tighter, more secure server. For any admin who has waded through an RHEL install to remove buckets of spurious packages, this is a significant bonus.
One of the largest love/hate issues with RHEL has always been the RHN (Red Hat Network), which provides software update support for RHEL servers. On the one hand, RHN is a convenient way to control and schedule OS updates across a large number of deployed servers. On the other hand, it can occasionally impede simple tasks, which makes one yearn for the simplicity of open package repositories and Yum. For tightly controlled production systems, RHN provides a guaranteed package update and delivery mechanism, but working within its constraints can feel binding at times. Unfortunately, this doesn't change with RHEL 6.
Pay the cost to be the boss One last significant change in RHEL 6 is the pricing. The base pricing is similar to that of RHEL 5, but as you move up the chain, it gets much more expensive. The RHEL 5 entry-level server was $349, but that price included up to four virtual guests. RHEL 6 allows only a single virtual guest for the same money.
As you move up the support tier, prices increase. A single x86_64 license allowing four virtual guests with standard five-nines support will run $1,199, with 24/7 support hitting $1,949. For unlimited guests at the premium support level, expect to pay $3,249. RHEL 5 offered unlimited guest instances for a single price at the Advanced Server level. In short, it'll cost much more to run RHEL 6 as a virtualization platform.
Also, whereas RHEL 5 Advanced Server license costs covered an entire machine, it's limited to two CPU sockets in RHEL 6. There's no license for GFS2 in RHEL 6, while GFS was included in RHEL 5. It's possible to add GFS2 to RHEL 6, but it requires an additional license.
In fact, there are a pile of additional feature licenses, with the high-availability package costing $399 a year, load balancing $199 a year, and XFS support another $199 a year.
On the HPC side, Red Hat has broken out the costs of head nodes and compute nodes, which is a good idea. Head node add-on licenses start at $199 per year, with $29 per year licenses for compute nodes.
In addition to being the best Red Hat Enterprise Linux release to date, RHEL 6 is also the most expensive. As the pricing climbs, Red Hat may find that many customers have been using the OS long enough to seek out other alternatives -- or to turn to self-support, where they may have purchased support in the past. RHEL 6 is an attractive upgrade, but smaller shops especially will have to weigh the costs.
Read more about open source in InfoWorld's Open Source Channel.
This story, "RHEL 6 is built, and priced, for big shops" was originally published by InfoWorld.