Proxmox auf Raspberry Pi 4 installieren

Moin!

Lange Zeit habe ich darauf gewartet, dass es möglich wird und heute ist es soweit.
Das Projekt nennt Pimox und ist auf Github unter dem Entwickler Tim Wilkinson entstanden. Es ist im Prizip lediglich eine Portierung von der Plattform x86_64 und amd64 auf arm64. Allerdings ist Tim der Einzige der es bis jetzt sehr gut lauffähig portieren konnte.

Ich verwende einen Raspberry Pi 4B mit 8GB RAM. Dazu ist über einen USB3.0 auf M.2 SATA Adapter eine 128GB WD Green SSD angeklemmt. Gekühlt wird die Kasperbude mit einem Top Blower Kühler für den Raspberry Pi. Damit ein bisschen mehr Leistung zur Verfügung steht habe ich den Rechenknecht auf 2 GHz übertaktet.

Wir benötigen zum Start das RaspiOS Lite als arm64 Variante, bedeutet wir verwenden eine auf 64 Bit basierende Variante des RaspiOS. Ihr sucht euch die aktuellste Version aus dem Link.

Als nächstes flashen wir das RaspiOS auf die USB SSD bzw. SD Karte. Ist das erledigt legen wir eine leere Datei mit dem Namen „SSH“ auf die Boot Partition des Mediums. Damit aktivieren wir den SSH Zugang. Sollte euch keine Boot Partition angezeigt werden müsst ihr die SSD einmal vom USB trennen, damit ein Laufwerksbuchstabe zugewiesen wird.

Wir suchen uns die IP vom Raspberry im Router oder über einen IP Scanner raus. Per SSH verbinden wir uns. Dort angekommen führen wir erst einmal ein Update aus und ändern das standart Passwort.

sudo apt update && sudo apt upgrade -y
sudo passwd pi

Anschließend rufen wir die Raspi-config auf und konfigurieren einige Einstellungen.

sudo raspi-config

3 Interfaces Options -> Camera, VNC, SPI, I2C, Serial Port, 1-Wire, GPIO = disable
5 Localisation Options -> Locale -> de_DE.UTF8 UTF8 anwählen
5 Localisation Options -> Timezone -> Timezone -> Europe/Berlin auswählen
5 Localisation Options -> Keyboard -> Skript läuft
6 Advanced Options -> Expand Filesystem

<Finish>

Would you like to reboot now?

<Yes>

Nachdem reboot konfigurieren wir die Netzwerkeinstellungen.

sudo nano /etc/hostname

EuerHostname

sudo nano /etc/dhcpcd.conf

interface eth0
static ip_address=192.168.xxx.xxx/24
static routers=192.168.xxx.1
static domain_name_servers=192.168.xxx.1

sudo nano /etc/hosts

127.0.0.1         localhost
192.168.xxx.xxx   EuerHostname.EureDomain EuerHostname

::1               ip6-localhost ip6-loopback
ff02::1           ip6-allnodes
ff02::2           ip6-allrouters

Danach führen wir einen reboot durch. Wieder im SSH Tunnel angekommen starten wir mit der Installation von Proxmox. Wir erlangen Zugriff auf den Root User, ändern das Root Passwort und fügen das Repo von Tim hinzu.

sudo -s
passwd root
curl https://gitlab.com/minkebox/pimox/-/raw/master/dev/KEY.gpg | apt-key add -
curl https://gitlab.com/minkebox/pimox/-/raw/master/dev/pimox.list > /etc/apt/sources.list.d/pimox.list

Nun aktualisieren wir die Paketlisten und installieren Proxmox.

apt update
apt install proxmox-ve -y

Ist Proxmox installiert starten wir den Rechenknecht neu. Ihr könnt nun das WebUI über https://192.168.xxx.xxx:8006 aufrufen.

Damit wir nun in der WebUI eine Linux Bridge erstellen können müssen wir noch ein zusätzliches Paket installieren.

sudo apt install ifupdown2

Nun kann in der WebUI unter Netzwerk zusätzliche Linux Bridges angelegt werden. Ist die Bridge angelegt führen wir erneut einen reboot durch.

Der Raspberry Pi erstellt bei der Installation von Raspbian eine Swapfile, diese Swapfile dient dazu, bei vollem Arbeitsspeicher Daten vom RAM auf eine Datei im Filesystem auszulagern. Dies wollen wir aufgrund der Performance Einbuße verhindern. Also deaktivieren wir den Bums einfach.

sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo update-rc.d dphys-swapfile remove

Damit Proxmox ohne Fehlermeldung die Paketlisten updaten kann schalten wir das Subscription Repository ab. Des Weiteren bringt uns das Repo nichts, da es eh für amd64 ausgelegt ist.

sudo nano /etc/apt/sources.list.d/pve-enterprise.list

#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise

Da der Raspberry Pi 4 auf arm bzw. arm64 basiert müssen wir auf die Plattform angepasste Container Images verwenden. Dazu bedienen wir uns eines öffentlichen Downloadservers.
Wir springen in das Templateverzeichnis und laden per Curl den Bums runter.

cd /var/lib/vz/template/cache/
curl https://us.images.linuxcontainers.org/images/debian/buster/arm64/default/20210617_05:24/rootfs.tar.xz -o debian-10.9-standard_arm64_2021.06.17.tar.xz

Dies kann für diverse Distributionen wiederholt werden. Nun könnt ihr das Template nutzen um Container anzulegen.

Die Konfiguration von VLANs gestalltet sich leider nicht ganz so einfach. Anbei findet ihr eine Konfig die bei mir nach einiger Bastelei funktioniert hat. Solltet ihr Ubiquiti UniFi nutzen ist es wichtig beide VLAN’s an Tagged Netz an den Pi zuschicken, keins der Netze darf als Natives Netz gesetzt sein!

auto lo
iface lo inet loopback

iface eth0 inet manual

auto vmbr100
iface vmbr100 inet static
address 10.0.1.110/24
gateway 10.0.1.1
bridge-ports eth0.VLANID1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
up brctl addif vmbr100 eth0.VLANID1
up ip link set eth0.VLANID1 up

auto vmbr110
iface vmbr110 inet manual
bridge-ports eth0.VLANID2
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
up brctl addif vmbr110 eth0.VLANID2
up ip link set eth0.VLANID2 up

Anschließend müsst ihr noch den DHCPCD Service abschalten und dafür sorgen, dass das Kernel Modul für die VLAN Funktion früh genug lädt.

sudo systemctl disable dhcpcd.service
echo 8021q >> /etc/modules

Anschließend muss ein Neustart erfolgen.

Grüße gehen aus dem Archiv!

4 Kommentare zu „Proxmox auf Raspberry Pi 4 installieren“

  1. Hallo Lucas,

    schön das jemand (Du bist inzwischen nicht allein) sich mit dem PROXMOX auf dem Raspberries beschäftigt.

    Die regnerischen Tage haben sich geradezu angeboten, das auf meinen 2 Raspberry Pi 4 (8GB) zu installieren.

    Und was soll ich sagen.. ich bin total geflashed, wie stabil dieser Port funktioniert.

    ich war erst am überlegen ob ich mich mit dem VMWare Supervisor auf dem ARM64 Plattformen beschäftigen sollte. Aber da mich VMWare in meinem Firmennetz inzwischen eher langweilt und sich meine Kollegen hauptsächlich darum kümmern… waren neue Herausforderungen fällig.

    Im Moment habe ich 3 LXC Container permanent laufen. Alle mit arm64 zum Teil mit Ubuntu und Debian.

    – pihole mit unbound
    – tvheadend (tvhProxy kommt noch drauf)
    – plex mediaserver

    und als Fazit kann ich vermelden. Die LXC Container laufen gefühlt deutlich geschmeidiger als auf dem direkten Blech, wobei ich bisher nur das 32 Bit Raspbian genutzt hatte, was offensichtlich überholt ist.

    mit den VLAN’s werde ich auch mal noch sobald Zeit ist rumexperimentieren. Zumindest hat eine Bridge die ich auf ein VLAN getagged habe wo nur die beiden Cluster Mitglieder drauf zugreifen auf Anhieb funktioniert.

    1. Moin!
      Es werden zu dem Thema auch noch weitere Tutorials folgen.
      Was mich noch reizen würde wäre OpenVPN auf dem Pimox, dass hat bei mir aber eider noch ganz geklappt.
      Schön das du mit Pimox so frieden bist!

      Grüße Lucas

  2. Hallo Lucas,
    vielen Dank für die Anleitung!
    Frage zum VLAN: ist die von dir beschriebene Konfig in der Datei /etc/network/interfaces einzutragen? Die IP in der Config ist dann von der Raspberry und Gateway z.b. von meiner Fritzbox?

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.