Proxmox VE

Proxmox VE is an open source virtualization platform with support for OpenVZ (up to v3.4), KVM and as of version 4.0 for Linux Containers (LXC). Furthermore, since Proxmox 4.0 there is also full support for IPv6. For a more detailed changelog please visit the official Roadmap in the Proxmox VE Wiki.

The installation is generally considered uncomplicated, since OpenVZ already does a lot of prepatory work, and only a few more things need to be configured.

Warning: As of version 4.0, support for OpenVZ has been removed and completely replaced with LXC. Please take note of this before you upgrade! For more information about converting OpenVZ containers to LXC, see the Proxmox Wiki: Convert OpenVZ to LXC

Before the Installation

First, some suggestions and advice before starting to setup the new environment:

Are only linux machines going to be used? Then under certain circumstances OpenVZ would be sufficient.

Should OpenVZ/LXC or KVM be used? Both have their advantages as well as disadvantages. A thoughtful decision and good research can provide less work/trouble in the future.

OpenVZ/LXC has somewhat better performance, but also support for only UNIXes and migration to other formats such as KVM/ESXi is more complex.

Although KVM is not as performant as OpenVZ/LXC, it provides a complete hardware virtualization and enables the operation of all of the most common operating systems (including Windows). A conversion of the virtual disks in formats such as VMDK is simple.

If the module has not been loaded, then this will need to be done manually.

For Intel CPUs:

modprobe kvm
modprobe kvm_intel

For AMD CPUs:

modprobe kvm
modprobe kvm_amd

Note: The kernel modules are required for the "KVM hardware virtualization". If these are not present, no KVM guests can be started.

Network Configuration

First of all, it is important to decide which virtualization solution (LXC and/or KVM) and which variant (bridged/routed) will be used.

LXC

Advantages: Lightweight. Fast. Lower RAM requirement.

Disadvantages: The kernel of the host system is used. Only Linux distributions can be used

KVM

Advantages: Almost any operating systems can be installed. No modification to the VM needed.

Routed

Advantages: Several IP addresses can be used on one VM. IPv6 can be used in all VMs.

Disadvantages: IP configuration cannot be obtained via DHCP for single IPs. Point-to-point setup is required for IP addresses from different networks.

Bridged

Advantages: "Easier" configuration for novices.

Disadvantages: Additional MAC addresses must be requested via the Hetzner Robot. Only possible for single IPs. Multiple IP addresses can not be used in a VM. IPv6 can only be used on the host or in a single VM.

With a routed setup the vmbr0 is not connected with the physical interface. IP forwarding needs to be activated on the host system. This can be done automatically through /etc/sysctl.conf at boot time. (Please note that forwarding is disabled for the default Hetzner installation. This setting can be found in either /etc/sysctl.conf or in /etc/sysctl.d/99-hetzner.conf)

sysctl -w net.ipv4.ip_forward=1

Forwarding for IPv6 needs to be activated as well. This is also available in the Hetzner standard installation and only needs to be activated.

sysctl -w net.ipv6.conf.all.forwarding=1

Administration

Network Configuration Host System Routed

When using a routed setup, it is necessary to manually add the route to a virtual machine. Additionally, existing virtual MAC addresses should be removed from the respective IP addresses. Since a host route is set, IP addresses from other subnets are easily possible. So for example: