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!

Abonnieren
Benachrichtige mich bei
guest
9 Kommentare
Älteste
Neuste Meist Bewerteste
Inline Feedbacks
Zeige alle Kommentare
9
0
Bitte lasse uns an deinen Gedanken teilhaben und kommentier den Beitrag.x
Cookie Consent mit Real Cookie Banner