Proxmox Virtual Environment (VE) is an open source virtualization management software that allows deployment and management of KVM-based virtual machines and LXC containers. The platform itself run on a Debian based distribution and supports filesystems such as ZFS and Ceph.
In terms of functionality, Proxmox VE is similar to VMware ESXi with some overlap with vSphere. You can have a cluster of Proxmox servers controlled and managed through a singular web console, command line tools, or via the provided REST API.
Installation[edit | edit source]
Installation is as simple as installing any other Linux distribution. Download the Proxmox iso image from https://www.proxmox.com/en/downloads. After installation, you should be able to access the web console via HTTPS on port 8006.
Tasks[edit | edit source]
Remove the subscription nag[edit | edit source]
If your Proxmox server has no active subscription, you will be nagged every time you log in to the web interface. This can be disabled by running the following as root in the server's console:
See also, the ansible role at https://github.com/FuzzyMistborn/ansible-role-proxmox-nag-removal/blob/master/tasks/remove-nag.yml
Make a VM automatically start at boot[edit | edit source]
You can enable or disable a VM from starting with the Proxmox host as well as configure the order in which VMs are started.
The setting is located under the VM or container's 'Options' pane.
Adding additional LXC templates[edit | edit source]
Proxmox officially supports about a dozen different Linux distributions and provides up to date LXC templates through their repositories. These LXC templates can be downloaded using the pveam tool or through the Proxmox web interface.
Web interface[edit | edit source]
Go to your local storage and click on CT Templates. Click on the Templates button to see available templates.
pveam tool[edit | edit source]
The Proxmox VE Appliance Manager (pvadm) tool is available to manage container templates from Proxmox's repository. More information at https://pve.proxmox.com/pve-docs/pveam.1.html.
pveam available to list all available templates, then run
pveadm download $storage $template to download a template to a storage pool. For example:
root@server:~# pveam available mail proxmox-mailgateway-6.4-standard_6.4-1_amd64.tar.gz mail proxmox-mailgateway-7.0-standard_7.0-1_amd64.tar.gz system almalinux-8-default_20210928_amd64.tar.xz system alpine-3.12-default_20200823_amd64.tar.xz system alpine-3.13-default_20210419_amd64.tar.xz system alpine-3.14-default_20210623_amd64.tar.xz system alpine-3.15-default_20211202_amd64.tar.xz system archlinux-base_20210420-1_amd64.tar.gz root@server:~# pveam download local fedora-35-default_20211111_amd64.tar.xz downloading http://download.proxmox.com/images/system/fedora-35-default_20211111_amd64.tar.xz to /var/lib/vz/template/cache/fedora-35-default_20211111_amd64.tar.xz --2021-12-29 15:17:28-- http://download.proxmox.com/images/system/fedora-35-default_20211111_amd64.tar.xz Resolving download.proxmox.com (download.proxmox.com)... 184.108.40.206, 2607:5300:203:7dc2::162 Connecting to download.proxmox.com (download.proxmox.com)|220.127.116.11|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 89702020 (86M) [application/octet-stream] Saving to: '/var/lib/vz/template/cache/fedora-35-default_20211111_amd64.tar.xz.tmp.1053836' 0K ........ ........ ........ ........ 37% 2.59M 21s 32768K ........ ........ ........ ........ 74% 13.6M 5s 65536K ........ ........ ..... 100% 20.5M=16s 2021-12-29 15:17:44 (5.42 MB/s) - '/var/lib/vz/template/cache/fedora-35-default_20211111_amd64.tar.xz.tmp.1053836' saved [89702020/89702020] calculating checksum...OK, checksum verified download of 'http://download.proxmox.com/images/system/fedora-35-default_20211111_amd64.tar.xz' to '/var/lib/vz/template/cache/fedora-35-default_20211111_amd64.tar.xz' finished
Integrating Terraform with Proxmox[edit | edit source]
You can use Terraform to manage VMs on Proxmox. More information on how to set this up on the Terraform page.
Troubleshooting[edit | edit source]
LXC containers does not start networking[edit | edit source]
I have a Fedora based LXC container which takes a long time to start up. After the tty does start, the only network adapter isn't up.
systemd-networkd is also in a a failed state with a bad exit code and status
This was resolved by enabling nesting on this container with the following commands:
# pct set $CTID -features nesting=1 # pct reboot $CTID