Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to subdivide EC2 (or perhaps other cloud provider) instances. I know you cannot run a full virtualization stack on another. For instance a Xen guest cannot host a VirtualBox guest. So this means I am left with operating system-level virtualization.

EC2 kernels are only publishable by select vendors, so you cannot upload the custom kernels required for OpenVZ or Vserver.

For Linux, I think this leaves me with lxc (on Ubuntu 9.10), User Mode Linux, or qemu. I'm having a hard time finding comparisons between them. Performance is a concern, as is the ability to provide SMP to the guests. I would also like to use COW/sparse roots to reduce guest provisioning.

My question is, what are the trade-offs between these options?

share|improve this question

I think this is a bad idea, I'm not aware of anyone even remotely in favour of routinely VMing inside a VM, it should be a test/dev thing if done at all - I suggest you think of getting another instance, running your services inside one VM or similar.

share|improve this answer
@Chopper3, Why isn't anyone in favor of this? – recampbell Mar 31 '10 at 18:01
You already have a time-sliced, private-memory-spaced VM with access to real resources via virtual stubs, to then sit another hypervisor on top of this and ask it to sub-divide itself, time-slice again, memory manage again, present it's devices via a secondary virtual API and manage these secondary VMs either just plain doesn't work or if it does it introduces pretty large inefficiencies/overheads and instability that most people think it's rather overegging the pudding. Can be useful for very short periods or where performance REALLY doesn't matter. – Chopper3 Mar 31 '10 at 18:18
+1 to @Chopper3's comment. @recampbell, can you give some details on why you want to do this ? – gareth_bowles Apr 1 '10 at 1:17
Placing a VM inside a VM is a guaranteed recipe for disaster. You're in for kernel soft lockups, panics, and general unwanted nastiness. Don't Do It. – Tom O'Connor May 5 '10 at 12:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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