Nested Virtualization without CPU host

Republicus

Well-Known Member
Aug 7, 2017
137
22
58
41
I have a mixed PVE cluster; most guests are running Windows and Linux. In addition, PVE is running on an Intel MacPro where macOS is a guest. I am also running my VM with VGA passthrough on this system as a triple boot guest to macOS, Windows, and Linux.

Since passthrough and macOS require machine q35 and HA won't be available on those guests, this setup works out nicely for me.

I wanted to virtualize Android in Proxmox so I could avoid using my VM guest resources. So I have been testing Android x86 but it is currently not an ideal setup.
Some reasons include:
1. QEMU USB tablet for VNC only works properly in an old Android x86 (v 4.4 r5) and that old version does not properly handle ARM translation (to include the specific Android app I desire)
2. Android x86 has no Spice guest drivers
3. Proxmox has not implemented the QEMU Audio Extension for VNC

In scratching that pursuit for now, my next desire was to enable nested virtualization in my triple boot VM.
The Proxmox Wiki has good instructions on enabling nesting on the host PVE and for most guests.

In my scenario my macOS guest requires a Penryn CPU personality, whereas the Wiki instructs the user to set the VM CPU to host.

However a host CPU personality is not a requirement for nesting and can be enabled on other CPU personalities.

I have enabled nested virtualization by adding the VMX instruction directly to the CPU personality, editing the VM config and adding args:

Code:
args: -cpu Penryn,+vmx

My specific args for advanced CPU instructions on a working macOS et al. guest:

Code:
args: -cpu Penryn,kvm=on,vendor=GenuineIntel,vmware-cpuid-freq=on,+invtsc,+aes,+vmx

Now my Windows, Linux, and macOS all run smoothly with VGA passthrough and nested virtualization in a triple boot setup. I am running Nox Player emulator and it is running very smoothly.

I do hope more progress is made with Android x86 to allow other hosts in my cluster to utilize their resources for this purpose instead.

P.S. I would accept an invitation to volunteer and propose updates to the wiki article on this topic and others.
 
Just to understand you correctly:

You're running PVE on a Mac Pro with more than one graphics card to be able to passthrough? Everything works fine with 10.13 inside of PVE on that system? I tried that years back with my iMac and failed.

P.S. I would accept an invitation to volunteer and propose updates to the wiki article on this topic and others.

Consider you invited :-D
 
Everything works fine with 10.13 inside of PVE on that system?

I have one graphics card. But otherwise, yes I have had macOS 10.12 and 10.13 working fine in PVE. They also work fine off of the Mac Pro; I suspect even AMD PVE system would run as vanilla without issue (with intel personality). I'd be glad to share my setup.

Concerning the Wiki I see no way of obtaining permissions to edit articles.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!