Proxmox VE inside VirtualBox
- Instructions assume VirtualBox 4.3.16 or higher
- The article refers to Proxmox VE 4.x (i.e. for lxc containers only, OpenVz is not supported any more)
Running Proxmox VE as productive environment is not really possible, but for development and testing purposes, it can be useful to install Proxmox VE inside a virtual machine on e.g. a laptop. Wanting to use Virtualbox as a host for Proxmox on a laptop is a common wish but can be tricky to get right.
For accessing the internet use NAT - an address would be assigned by VirtualBox's DHCP service, usually something like 10.0.x.x, totally independent from host's network access (works as a small LAN which connects just the VBox virtual Proxmox and the NAT service).
Since the "main" Proxmox network address should be under user's control it's recommended to use a vitual HostOnly LAN; but it depends of the currecnt situation you may have.
Prerequisites / Assumptions
For Proxmox VE inside Virtualbox to work well it's strongly recommended (otherwise it may work but can be extremely slow) that
- your laptop needs to support HW acceleration (to be activated in BIOS, but check if your CPU supports it)
- in virtual machine's settings the above is activated by System > Acceleration > Hardware Virtualization: Enable VT-x/AMD-V
It has to be run as Linux Debian (64-bit) guest.
- The assumption of this article is that the Proxmox VE installation needs to be accessible only from the laptop.
Nested Containers and simple Virtual Machines
You can run LXC Containers in the virtualized Proxmox VE without any problems. It's also possible to create and configure VMs (Virtual Machines). You can run these as well if they don't have any graphical interface and don't consume to much CPU resources (tested e.g. with slax-router); be careful: in all other cases the Virtual Machine will freeze and can block your guest system too!
Also, some VirtIO drivers are known to make problems if nested in a VirtualBox environment. For example, it's recommend to always use e1000 for the nested VMs network adapters. Further, KVM hardware virtualization does not work and must not be set! The reason is that with VirtualBox nested hardware virtualization support is not possible.
Install and Run Proxmox VE
1. Create a new Virtualbox Virtual Machine for Proxmox
- Name: Proxmox-vm
- OS Type: Linux
- Version: Debian (64 bit)
- Memory: 6GB
- Disk: Use a SSD if possible. Preallocated might provide faster access.
2. Edit the settings
- Audio: disable
- IDE - Select Empty - click IDE Secondary - select the disk symbol, pick ISO for Proxmox
- Adapter 1: Host-only Adapter, vboxnet0; recommended leave the advanced settings as they are (Paravirtualized Network (virtio-net)).
- Adapter 2: NAT (attention: NOT NAT-network!!)
Do not use (it's not reliable!)
- "NAT network" (note the additional word "network"!), nor
- "Bridged Adapter" (to WLAN)
Then start the newly created Virtual Machine and Proxmox VE will be installed and can be used as any hardware installed Proxmox VE (but note the limitations mentioned above).