I am virtualization newbie. Please advise on these questions. Please note using a commercial VM software like Citrix or VMware is not a choice for me.

I have at my disposal a couple of 2x 4 core servers with 32 GB RAM. I need to create 16 VMs on each server to test some web applications.

  1. Can I provision half a core as a virtual CPU for each VM? To my best knowledge I can't do so on Xen. Is it possible on KVM or some other free open source VM solution?

  2. If it's not possible to assign half a core, how do I ensure that uniform processing power is available for all VMs?

  3. Since the job is to create separate instances for hosting 16 web apps in a physical server, do you recommend setting up a private cloud using Ubuntu Enterprise Cloud as a better option?

  4. Is there HA solution under KVM, like Remus for Xen?

  1. To the best of my knowledge, assigning half a vCPU isn't possible on KVM. It's certainly not using something like RHEV, which is based on KVM.

  2. Assign one vCPU to each machine. Since KVM uses the linux scheduler for distributing workload rather than actually assigning physical CPUs to VMs, this should work fine. We currently have more vCPUs than physical CPUs running on our hosts.

  3. UEC might be a simpler option than KVM, especially if you start to introduce a level of complexity like configurating HA for KVM. If you don't have much experience with KVM or linux, UEC is a viable option.

  4. It's possible to implement HA for KVM through libvirt, although this is something I haven't personally tried yet (we use RHEV which does it through a GUI). I would refer to http://www.linux-ha.org/doc/re-ra-VirtualDomain.html

  • 1
    Like Beerey said, there should not be a 1 core to 1 VM ratio. If you're not overcommitting using today's amazing virtualization software, and CPU's, you're doing it wrong. The average virtualized server has 2-3:1 CPU overcommit ratio, and runs like a top. – B. Riley Feb 17 '11 at 21:49

I've no experience using KVM on RHEL, but if you want to use Xen[1] you can tune the distribution of you vCPU using weight and cap (aka, cpu scheduling :)). Also, you can "pin" a vCPU to a certain virtual machine. This means that the desire virtual machine will use the vCPU you pinned.

  1. You can use Xen over RHEL or you can try XCP (http://www.xen.org/products/cloudxen.html) who is very similar to Citrix XenServer.

If you are an absolute newbie (once I was)

1) Use a machine which supports virtualization check in BIOS for virtualization support.
2) Use a 64 bit machine.That will save you a lot of frustration.Since you are new so if I explain the technical jargons it will confuse but once you are comfortable you will understand why I am saying so.

3) On Linux use CentOS. CentOS is nothing but RHEL but with logo and properietary things removed it has a very nice GUI to use with Xen the GUI is called virt-manager on a non VT machine you might not be able to have certain features which can make your life difficult.

4) If you plan to use Debian/Ubuntu system you necessarily need a hardware which supports virtualization and in it KVM is a solution.It has a nice GUI known as virt-manager which you will see in CentOS also if you use it.

I run a cloud with Ubuntu and KVM.Eucalyptus has nothing to do if you want to run VMs.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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