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?


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.

| improve this answer | |
  • @Chopper3, Why isn't anyone in favor of this? – recampbell Mar 31 '10 at 18:01
  • 1
    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
  • 1
    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 clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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