I tested the 64-bit version of RHEL 6 on a dual-core AMD tower server with 4GB of RAM, which I used as a virtualization host, and on a handful of guests running on that machine. I also tested RHEL 6 on a Lenovo ThinkPad, which I used as a desktop system. In all cases, RHEL 6 was easy to install-on my server machine, I was able to choose a "virtualization host" option from one of the installer screens, which took care of installing everything I needed for the headless host role I had in mind for that machine. I've looked for a similar option in my recent tests of RHEL's freely available sibling, Fedora, and haven't found it.I hit my first snag after I'd installed a RHEL guest on my virtualization host and set about registering with Red Hat Network to pull down additional software and updates. I didn't have enough unused RHN entitlements to give my guest its own entitlement, and RHN, apparently, wasn't recognizing my guest as a guest. After more searching than should have been necessary, I found that I had to install a pair of "rhn-virtualization" packages on my host to make the RHN link work. I'd like to see these included among the packages installed through the virtualization host install option. These are the sorts of entitlement-related annoyances that make the freely available CentOS such a great option for testing out (if you're able to self-support, deploying) Red Hat technologies. I outfitted my guest instance as a Mediawiki server, tapping the newly updated PHP 5.3, MySQL 5.1 and Apache 2.2. The current version of Mediawiki will run under the PHP 5.1 version that ships with RHEL 5 but recommends Version 5.2 of higher. My guest server performed as expected, so I turned toward testing some of RHEL's resource management options, starting with the product's new support for Control Groups (cgroups), a means of grouping particular processes together and applying resource limits to them. I created a control group to contain the libvirt daemon that manages virtual instances on RHEL 6 to ensure that virtual instances never consumed more than 3.5GB of the RAM on my host machine to guard against making my host inaccessible by committing too much RAM for my guests. I cloned my guest instance several times, committing a good 2GB beyond the amount of RAM available on my server, and the guests stuck to their overall physical memory allotment, turning instead to swap space for their needs above that amount. This arrangement also gave me a good opportunity to check out the RHEL 6 implementation of Linux's Kernel Samepage Merging, a sort of deduplication for memory. The KSM service in RHEL 6 is switched off by default, with a separate tuning service running to activate KSM if needed. My guest cloning activity triggered KSM, and I watched as the tally of memory pages shared among my guests grew. In future tests, I'll be interested to see how KSM performs with a greater diversity of guest instance types.
From my test client system, I used RHEL's virt-manager tool to connect to my host machine over an ssh tunnel and begin installing some guests instances. For storage, I stuck to the local disks on my test server-I could use RHEL's regular storage tools to hook up to some shared storage, but the process for this is far from the point and click matter it is with VMware's tools. Fortunately, RHEL 6 benefits from excellent documentation, which is available at here.