Installing Proxmox (Pxvirt) - sullivaneg/Raspberry-Pi-Proxmox-Lab GitHub Wiki

Overview

Proxmox natively isn't compatible with ARM infrastructure, so we're using a ported version by Jiangcuo: pxvirt. Since we're using Lite we can just install Proxmox right over the Raspberry Pi OS.


Installing Proxmox

  1. sudo curl -L https://mirrors.lierfang.com/pxcloud/lierfang.gpg -o /usr/share/keyrings/lierfang.gpg
  2. echo "deb [arch=arm64 signed-by=/usr/share/keyrings/lierfang.gpg] https://mirrors.lierfang.com/pxcloud/pxvirt bookworm main" | sudo tee /etc/apt/sources.list.d/pxvirt.list deb [arch=arm64 signed by=/usr/share/keyrings/lierfang.gpg] https://mirrors.lierfang.com/pxcloud/pxvirt bookworm main
  3. sudo apt update
  4. sudo apt install --allow-downgrades -y ifupdown2 pxvirt pve-manager=8.3.5-1+port2 qemu-server=8.3.8+port5 postfix open-iscsi
  • **Errors: /etc/pve/local/pve-ssl.key: failed> /etc/pve/local/pve-ssl.key: failed>

Troubleshooting key failure

  1. pvecm updatecerts -f
  1. Check connectivity ping 1.1.1.1 -> Successful
  2. systemctl restart pve-cluster
  1. systemctl status pve-cluster.service
  1. journalctl -xeu pve-cluster.service
  • Failed to start pve-cluster.service
  1. cat /etc/hosts
  2. Tried manually adding IP and hostname to /etc/hosts
  3. systemctl restart pve-cluster
  4. systemctl status pve-cluster.service
  1. Tried to access from browser https//<192.168.x.x:8006 -> Not loading

Troubleshooting web interface not loading

  1. ss -tulpn | grep 8006
  1. sudo iptables -L -n | grep 8006 -> Output: None
  2. sudo iptables -A INPUT -p tcp --dport 8006 -j ACCEPT
  3. sudo iptables -L -n | grep 8006
  1. systemctl status pveproxy
  1. mv /etc/pve/local/pve-ssl.key /etc/pve/local/pve-ssl.key-bak -> Output: mv: cannot stat '/etc/pve/local/pve-ssl.key': No such file or directory
  2. pvecm updatecerts -f
  1. Stop all the Prox services: systemctl stop pve-cluster -> systemctl stop corosync -> systemctl stop pvedaemon -> systemctl stop pveproxy -> systemctl stop pvestatd
  2. I only started these two Prox services, which I think was a mistake on my part: systemctl start pve-cluster -> systemctl start corosync
  3. pvecm updatecerts -f -> Failed
  4. ls -ld /etc/pve -> Output: drwxr-xr-x 2 root www-data 0 Dec 31 1969 /etc/pve
  5. ls -ld /var/lib/pve-cluster -> drwxr-xr-x 2 root root 4096 Nov 20 00:56 /var/lib/pve-cluster
  6. sudo systemctl stop pve-cluster
  7. mount | grep pve -> Output: None
  8. sudo chown root:root /etc/pve
  9. sudo chmod 755 /etc/pve
  10. sudo chown root:www-data /var/lib/pve-cluster
  11. sudo chmod 700 /var/lib/pve-cluster
  12. sudo systemctl start pve-cluster
  13. sudo systemctl restart pvedaemon
  14. sudo systemctl restart pveproxy
  15. mount | grep pve -> Output: /dev/fuse on /etc/pve type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)
  16. sudo systemctl stop pve-cluster
  17. sudo mv /var/lib/pve-cluster/config.db /var/lib/pve-cluster/config.db.bak
  18. sudo systemctl start pve-cluster
  19. sudo pvecm updatecerts -f
  1. sudo systemctl restart pveproxy

Accessing the Web Interface