How to Install Proxmox 8 on a Raspberry Pi Cluster

Proxmox? Proxmox is awesome! Proxmox is the perfect hosting platform for all your VMs! Proxmox lets you easily build and break down full virtual machines and containers. They sell it better themselves. From the proxmox.com website:

Proxmox Virtual Environment is a complete open-source platform for enterprise virtualization. With the built-in web interface you can easily manage VMs and containers, software-defined storage and networking, high-availability clustering, and multiple out-of-the-box tools using a single solution.

I’ve been using Proxmox to host a couple of VMs in my home on my old LINUX servers. Home Assistant, Paperless-ngx, my recipe database, pi-hole, salt, Zabbix, Minecraft, Transmission, this website, etc. It’s rock solid, offers High Availability, it’s fast, and it’s free! If one of the servers crashes, Proxmox takes over and starts serving the application from another node! I haven’t lost Pihole since I made it a HA service! Thanks, Proxmox!

So, I got wondering: maybe I could quit fighting with Kubernetes and find and easier way to run my Raspberry Pi 4 cluster. Someone ported Proxmox to the ARM architecture! I found this project out on Git Hub. Looks like it’s worth a shot! Let’s take a look at installing Proxmox on a couple of Raspberry Pi 4’s! For the sake of this guide, I’m running as root. Login to the Pis and

sudo su -

It’s risky, but it saves a lot of typing. Just remember the power at your fingertips and

exit

once you’re done with the install. Everything on this page needs to be done as root.

Firstly, set up 3 Raspberry Pis with a fresh copy of Raspbian Bookworm, the latest release. I was using some old 8GB thumb drives for this project and the installation took about 3 hours! I went to Amazon and found these 32GB Sandisk thumb drives. The install time is now about 20 minutes! In fact, I got 2 three-packs because I wanted to try introducing “ceph” to my little HA cluster, but more on that later…

Once you have Bookworm installed on all 3 Pis, configure them to use a consecutive range of IP numbers. Not a requirement, but just convenient during setup/troubleshooting. Here’s the host file from one of the Raspberries:

192.168.1.26     pimox1
192.168.1.27     pimox2
192.168.1.28     pimox3

Edit your host files (/etc/hosts) to contain just your 3 Pis and their IP addresses before you go any further. Remove everything else from the files. I also added these IP addresses to dns, so I can browse to them by name but it’s still important to add them to your /etc/hosts file because once we cluster them, they’ll be really chatty.

Next, we’ll need to add the Proxmox port repo. You can use the following commands.

First, add the gpg key for the repo:

curl https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg

Create the pveport.list file and populate with mirror info:

echo "deb [arch=arm64] https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port">/etc/apt/sources.list.d/pveport.list

Then you’ll need to update the repo cache. Let’s run an upgrade, too, just to make sure Bookworm is up to date:

apt update
apt -y upgrade

Now that we’re ready, let’s install the Proxmox port. You can do this on all 3 Pis concurrently.

apt install -y proxmox-ve 

Once the installation is completed, you’ll need to reboot all 3 hosts.

reboot

Once the Pis are back online, try the URL of the first Proxmox node at port 8006:

https://192.168.1.26:8006

The login is root and your root password. Hopefully, you should see the main Proxmox screen being served by your Raspberry!

We did it! One tiny bit of housekeeping while we’re thinking about it. For some reason, the repo definition needs to have the architecture defined. The install changes it back from the one we put in, so you might need to change it back.

vi /etc/apt/sources.list.d/pveport.list

and ensure that the square bracketed part is intact:

deb [arch=arm64] https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port

The next port will look at getting these new Proxmox nodes clustered and talking to each other.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.