Yesterday I wrote an entry regarding ESXi. More precisely I described how to try VMware ESXi in VMware Workstation. My argument was on one side to try ESXi out (I've never installed nor tried it) and on the other side investigate whether it was a product I would use.
The case is that I have a server on which I want to run some sort of virtualization - I don't think it's appropriate to discuss why virtualization is a go (if you think so, search the web for articles regarding this subject - there are more than plenty discussing this matter). I need at least to host a web server and a mail server - and it would be great to be able to have some sort of playground, too. My mind's almost made up in regards to the software for the web server and mail server: Ubuntu Server (or maybe FreeBSD - time will show
). But what about the virtualization software?
Besides ESXi I'm comtemplating Xen and VMware Server. Why those three - why not Microsoft's new software, Hyper-V? Well, I'm not going to use Microsoft servers so I don't really want to mix this into the environment. Besides that, Hyper-V is quite new compared to the others and still misses some features (and testing, I guess - but it's a statement without proof).
Since this server with virtualization is a hobby-project I don't want to spend too much money on software - preferably none. On top of this I like the idea of open source software. Because of this, my interest for ESXi came the moment I read that I would become free (as in money, not beer).
My server is hosted at a Hetzner (http://www.hetzner.de/), so in order to install ESXi I need to order something called LARA at a price of 25€ (it's a way of making it possible to install custom software like ESXi since they "only" provides recoverbility of different Linux flavours). As mentioned this is needed to install ESXi, whereas both Xen and VMware Server run on ordinary server software, e.g. Ubuntu Server, which doesn't require a LARA-setup (and hence not the 25€).
Comparison
The already mentioned arguments are just practical matter - what about the software? I have certain requirements such as mirroring of my data (raid 1), but this would yield an expend of several euro each month as it would cost if it should be done in real hardware raid. Because of that I'm willing to offer CPU-time and instead use software raid, i.e. mdadm in the world of Linux and FreeBSD.
Well, they all have both advantages and disadvantages in regards to my requirements:
- VMware ESXi, see [1]
- Advantages
- Only a 32 MB footprint ought to yield a good performance
- The technology (ESX) is widely used and mature (but refer to the disadvantages to view this in perspective)
- Disadvantages
- Not open source
- Would require a LARA-setup to install on a hosted server
- Doesn't support software raid
- To quote [1]:
VMware states that the ESX Server product runs on "bare metal". In contrast to other VMware products, it does not run atop a third-party operating system, but instead includes its own kernel. In ESX version 3 and older, a Linux kernel is started first and is used to load a variety of specialized virtualization components, including VMware's 'vmkernel' component.
- The full virtualization technique is ancient [2] - or to quote [2] for some of the explanation:
Of course, those with the most market share will continue to sell their solutions as "more mature" and/or "enterprise ready" while continuing to improve their tools. Unfortunately, they will continue to lean on an outdated, albeit refined technology core. The core may continue to evolve, but the approach is fundamentally less efficient, and will therefore never achieve the performance of the more logical solution. It reminds me of the ice farmers' response to the refrigerator - rather than evolving their business, they tried to find better, more efficient ways to make ice, and ultimately went out of business because the technology simply wasn’t as good.
- Advantages
- VMware Server
- Advantages
- Looks easy and straight-forward with the flashy tools and wizards - seems very user friendly
- The technology is widely used and mature (but refer to the disadvantages to view this in perspective)
- Disadvantages
- The same as for VMware ESXi (quotes inclusive), exept for the LARA-requirement
- Requires an underlaying operating system (but if this doesn't run other services this doesn't seem to be a huge problem)
- Advantages
- Xen, see [3]
- Advantages
- Open source
- The virtualization technique is called integrated virtualization or paravirtualization. This means that unlike with VMware ESXi and Server, the virtualized operating systems are aware that they are being virtualized. This means that there's no need for a SBE-mechanism (Scan-Before-Execution) to handle special or privileged CPU instructions. This is an expensive operation because every instruction has to be scanned before the execution of it, and making that expensive scan unnecessary yields greater performance
- Disadvantages
- As far as I've experienced, the learning-curve can seem more steep than both the one of VMware ESXi and Server (but I've also used VMware Workstation for some time). But that something is harder doesn't mean that it isn't as good
. But I mainly think it's because of quite a lot new concepts - after getting my hands dirty, I'm actually very impressed of the simplicity of Xen! For reference, navigate to [4] and review the installtion process - it's not that complex after all. - Requires an underlaying operating system (but if this doesn't run other services this doesn't seem to be a huge problem)
- As far as I've experienced, the learning-curve can seem more steep than both the one of VMware ESXi and Server (but I've also used VMware Workstation for some time). But that something is harder doesn't mean that it isn't as good
- Advantages
Conclusion
After quite a lot reading on the web (much more than refered to in this blog entry), I've finally decided!
If I had hardware raid, the battle between ESXi and Xen was very, very close! I would not be able to distinctly answer whether I would use ESXi or Xen. In this regard I see ESXi as an old, experienced giant and Xen as a new actor (although they in no ways are inmature!). If the short-term period is weighted the most, I'd go with ESXi, but if I should you think a on the future, I'd pick Xen.
With software raid there's really no doubt after this reseach: Xen is here to stay - and I look forward to join this field of evolution!
Disclaimer: virtualization is a huge area, and I've not nearly said enough about it, nor did I compared the products in-depth for this to be a complete comparison! But besides the points in this entry, I've read a lot on the web and had a lecture in virtualization. Altogether I've been convienced to go for it with Xen, based on my requirements and needs. Maybe yours a different or have read other sites saying something else. After all there is not a definte right answer for which virtualization software to use, but the least you can do is some research on the basis of your requirements, needs, hardware etc. (and since you're reading this, you've probably already started
).
Within a week I'll post a detailed guide of how to install Xen on Ubuntu Server 8.04 with Ubuntu Server 8.04, FreeBSD, and Windows as guests - with a complex disk setup including software raid mirroring (raid 1) and LVM.
Once again: if I've missed or misunderstood something, please make me aware of it by leaving a comment!
Sources
[1]: http://en.wikipedia.org/wiki/ESXi
[2]: http://servervirtualization.blogs.techtarget.com/.../is-xen-ready-.../
[3]: http://en.wikipedia.org/wiki/Xen
[4]: http://www.howtoforge.com/high-performance-xen-on-ubuntu-8.04-amd64

January 31st, 2009 at 17:52 (UTC)
Dear Mikkel,
thanks very much for this article. I have ordered a DS8000 at Hetzer to replace my old root-server. I also have tested various virtualization techniques (Xen / Citrix XenServer, VMware Server & Workstation) and I would like to use ESXi (setup with LARA).
I would be very happy if you had an idea for my problem: Hetzer uses a routed setup for the additional IP-Addresses (subnet routed to the first IP attached to the ESXi management intterface). This is no problem with Xen and VMWare Server but with ESXi, I did not find any possibility to set up. How have you made the trick?
Thanks a lot!
Bye,
Golo
February 1st, 2009 at 09:02 (UTC)
Hi Golo.
Thanks a lot for your comment!
Unfortunately, I haven't any solution for your problem, but have a look at this page:
http://communities.vmware.com/thread/177842
It might help you. Have a nice day.
Regards,
Mikkel.
April 24th, 2009 at 21:34 (UTC)
What is LARA setup? I tried to google, nothing useful came up.
May 11th, 2009 at 12:44 (UTC)
Roy:
http://supportcentre.hetzner.co.za/index.php/Glossary_of_terms/JKL/LARA
May 17th, 2009 at 21:27 (UTC)
Has anyone managed to get ESXi installed and running on a Hetzner DS-8000?
I am keen to do this as I want to run about 7 vm's of various functions but Im not sure VMWare Server (running on a minimal Gentoo host OS) will be up to the task on this particular server.
What about firewalling? Im not sure it would be a good idea having ESXi management interface open to the net..
August 25th, 2009 at 06:57 (UTC)
You can use any server but its good to have managed hosted server for your site or business.
June 11th, 2010 at 05:21 (UTC)
Thanks for your bill !
I'm about to Consolidate 5 WindowsServer2003 on a X86 machine (not sure if it suppports Intel-vt Technology)
so, my problem is :
If Intel-VT is enabled on my processor, what product is the best choice (in terms of IO, Networking peroformance)Xen, ESXi, VmWareServer, KVM...?
If it's not enabled what product fits the best with my case ESXi, VirtualBox,VirtualPC...?
Thank you in advance !
July 6th, 2010 at 13:39 (UTC)
First of all, thanks for your comment. I'm sorry the approval process was so slow. I'm unfortunately not able to give you any advices on your problem; I simply don't know enough to do so. Try to find a forum inhabited by clever minds
. But I would say that you should have a CPU supporting either Intel VT-x or AMD-V if your project should be successful.
September 21st, 2010 at 21:45 (UTC)
Hey Mikkel thanks for all your infos about ESXi on this particular provider, I'll get a server from them asap !
September 22nd, 2010 at 07:07 (UTC)
Hi Gonzague. You're welcome. Remember that this post now two years old, so things might have changed
.
September 15th, 2011 at 08:27 (UTC)
I use xen + Cloudmin as web interface GPL version and i think it's best choice.