Solution 1:

I'm running Debian with software RAID1 and LVM as XEN dom0 without any problems for some time now. Installing new domU's couldn't be easier with xen-tools, and plain "xm" gives me all the management power I need. Based on my experience, I suggest you save some money and go software raid + your linux distro of choice.

As for SW raid vs HW raid, there's already a great discussion on serverfault: RAID - software vs. hardware

Solution 2:

This isn't really an answer to your question as it's a bit subjective and depends on your comfort level with the technologies involved. But here are a few things to think about.

If you need to be able to do live migration then I think this becomes more a mute point. To support live migration you'll need some sort of shared storage that all the XEN host machines can see. You can use NFS or iSCSI for this.

Both Ubuntu and RedHat/CentOS are unfortunately currently moving towards KVM. Ubuntu's support for Xen as a Dom0 has been phased out in the newest version of Ubuntu Server in favor of KVM and CentOS's Xen is behind the Xen development by a couple of versions. Both OS's have decent support for running as a DomU.

That said currently our virtualization is done on Xen running on CentOS and it works well. Although I would love to have a few of the features available in the newer versions of Xen.

I know of a lot of people in the Xen community are running Dom0's in Debian and Gentoo as well so there are other choices. A lot of people will compile their own Xen kernels rather than use the ones from their distro's as well to stay in step with Xen's development.

The beauty of virtualization is that you can try different Xen hosts and figure out what works best for you without necessarily having to do anything to the guests. However if you're using file based DomU's I do believe that Xen Server uses VHD image format by default where the open source version uses raw image files and qcow files. So some care needs to be taken when picking a format to use for your images. There are utilities that can convert between these formats out there as well.

EDIT: After doing some reading it does appear that Ubuntu has decent support for Xen still. Xen 3.3 hypervisor and Xen kernels are in the repository. For more info see https://help.ubuntu.com/community/Xen

Solution 3:

Debian 6.0 Squeeze ships with Xen 4.0.1.

The introduction of pvops to the linux kernel solves some issues that led to distros like Ubuntu dropping support for Xen dom0.

Virtual host providers like Amazon are still using Xen and I think we'll see a revival in its popularity.

Solution 4:

Personally I wasn't impressed with the management tools available in XenServer and would much prefer the customizability that's possible with a full blown Linux distribution. Of course, this depends entirely on your comfort level.

As far as software vs. hardware RAID, I think it really depends on what kind of RAID you are doing. I think software RAID is more flexible and in my experience has worked extremely well in a RAID1 or RAID0 configuration.

I'd be more hesitant to use software RAID in a RAID 5 or RAID 6 because both of those configurations rely on a battery-backed cache to achieve suitable performance and data integrity.

Solution 5:

The options for deploying Xen have increased and are continuing to improve. First, one important consideration is the Xen Cloud Platform (XCP), which is an open source version of Citrix XenServer. XCP is "enterprise-ready server virtualization and cloud computing platform, delivering the Xen Hypervisor with support for a range of guest operating systems including Windows® and Linux® network and storage support, management tools in a single, tested installable image, which is also called XCP appliance." (For details see: http://xen.org/products/cloudxen.html)

The Xen management domain has also been integrated into the mainline Linux kernel and distro support for Xen is improving Ubuntu 11.10 and Fedora 15 ( http://blog.xen.org/index.php/2011/09/14/fedora-16-virtualization-test-day/ ) are adding distro support for Xen.

As a middle ground to both of these options (on that let's you get the enterprise features of XCP/XenServer and let's you have a custom Linux platform) is Project Kronos ( http://blog.xen.org/index.php/2011/07/22/project-kronos/)

So there are great options and the options are only getting better.

See also: http://wiki.xensource.com/xenwiki/XCP/XenServer_Feature_Matrix

http://blog.xen.org/index.php/2011/06/14/linux-3-0-how-did-we-get-initial-domain-dom0-support-there/