Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I am going to set up a high availability hosting server (load balancer, mysql, apache, php, memcached, apc, possibly a distributed/network file system of some kind) with two nodes. I want to isolate the load balancer, database, webserver and file system into separate virtual machines to prevent one part of the system affecting another in case of malfunction, security breach, etc. Also for this reason I ruled out openvz because it does not completely isolate the vm's resources. So far I dug trough a lot of articles and posts on serverfault.com and stackoverflow.com. I am having difficulty finding up-to-date information and advice specific to my situation, hence I am posting the question here. I managed to narrow the choice down to KVM and Xen, though I haven't found any information that makes the decision between the two easier to make. KVM and Xen are favourable because of their established track records and the way they manage the vm's (it has dedicated resources which can't be stolen due to e.g. over selling, as is the case with openvz).

Some things to consider:

  • Performance is not my biggest concern, the performance difference between the two is small and I am willing to pay a bit extra for better hardware if it gives trade-offs in other areas (e.g. ease of management).
  • I would love to have a web interface to manage my virtual machines. Currently I work with AWS EC2 and I have gotten used to its ease-of-use.
  • I only use Ubuntu at the moment, I don't think this will change in the future. So there is no need to account for other OS's.
  • I have a slight preference for things that Just Work(tm).

Which has the advantage in this scenario, KVM or Xen?

share|improve this question

closed as not constructive by mgorven, EEAA, Jeff Ferland, ewwhite, gWaldo Aug 20 '12 at 22:20

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
VMWare has offerings as well... –  ewwhite Aug 20 '12 at 22:16
    
For the sake of being shameless, if you want a whole cloud style thing across multiple machine with web interfaces, provisioning, etc. you can take a look at nimbula.com. The problem with the question here is that overall your question is very subjective. –  Jeff Ferland Aug 20 '12 at 22:36

2 Answers 2

Well in my opinion, I would definitely go for Xen, but then this is what most of my experience is in.

A basic Xen server is incredibly easy to set up and get going with, literally just install Xen Server onto a server and you can be away. Perfomance wise I have never really had an issue.

One of the big advantages of Xen is using a free manager such as Cloudstack. Although this can be tricky to setup it makes managing your environment alot easier and you can even get a plugin for it to work off the same commands as Amazon. Cloudstack and other managers will even give you free high availability and load balancing which for me is a massive plus. WIth cloudstack you can also import a number of templates or make your own to spawn new VM's. For example, recently I needed to setup a number of Dev and Staging servers, I saved alot of time by setting it up in Dev, taking a snapshot and creating an instance of the snapshot.

But to be honest, alot of it comes down to personal preference.

share|improve this answer

If you are looking for something that "Just Works", I believe managing KVM is much simpler than Xen. I have used it in production for about a year.

KVM is also what Ubuntu is banking on, so you have that going for you. Virtual Machine Manager works great with KVM, and provides a nice GUI similar to VMWare Sphere Client (or whatever they are calling it now). You can also easily do everything from a terminal using virsh.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.