Proxmox VE inside VirtualBox
General
- 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 PVE 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.
Laptops use usually (only) WLAN connections which can be tricky because their network address continually change, and sometimes disappear, whereas desktops can assign a static ip address on a stable network. This can cause loss of stability unless an extra network is set up.
Network Considerations
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 PVE 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 PVE installation needs to be accessible only from the laptop.
Containers and simple KVM as target
You can run lxc Containers in PVE without any problems. It's also possible to configure KVM (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!
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 PVE
1. Create a new Virtualbox Virtual Machine for Proxmox
Sample settings:
- 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
- Storage:
- IDE - Select Empty - click IDE Secondary - select the disk symbol, pick ISO for Proxmox
- Network:
- 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).