Ersteinrichtung Homeserver Unterstützung / Umstieg von Raspberry Pi

Shadowmaster

New Member
Dec 1, 2024
3
1
3
Hallo zusammen,

ich möchte mein bisheriges System, einen Raspberry Pi 4 (8GB) umstellen auf dem diverse Docker Container laufen. Als Ablöse würde ich auf einen gebrauchten HP EliteDesk 800 G5 (i5-9500T 16GB 256GB) umsteigen.
Vor einigen Jahren hatte ich mal ESXi für eine Fileserver VM und Win7/10 VM eingerichtet (Dell Poweredge T30).

Was läuft aktuell auf dem Raspberry Pi?
Ich nutze ihn v. a. für Smarthome. Hierfür läuft Docker (Administration über Portainer) mit folgenden Containern (Auszug):
NodeRed
InfluxDB
Grafana
Homebridge
Mosquitto
Paperless
PiHole

Zum Testen habe ich auch Frigate am Laufen, wobei dem Raspberry Pi allmählich auch die Ressourcen ausgehen, weshalb ich auf den HP Eliktedesk 800 G5 umsteigen möchte (wird noch geliefert). Den Arbeitsspeicher würde ich pauschal auf 32GB oder 64GB umrüsten und als Speicher 2x2TB SSDs verwenden.

Momentan hänge ich gerade leider noch an wahrscheinlich etwas sehr banalem fest, dem auszuwählenden Dateisystem mit den beiden SSDs.
Wenn ich es richtig gelesen habe, installiere ich Proxmox auf der 1. SSD und lege dort z. B. eine Partition mit 40GB für das Proxmox System an. Da würde ich ext4 wählen (zfs würde ich für meinen Privatserver übertrieben halten).
Formatiere ich dann den Rest der 1. SSD und die gesamte 2. SSD dann auch einfach als ext4 und nutze sie als Speicher für die Disks für die VMs und LXCs? So sah es für mich zumindest in der Doku / Hilfen im Internet aus. Da bin ich mir aber nicht sicher.

Wie gehe ich am besten mit dem Einrichten eines kleinen Fileservers (z. B. Austausch zwischen den VMs) um? Lege ich da auch einfach eine Disk auf eine der beiden SSDs an und gebe es dann z. B. einer Ubuntu VM / LXC für die anderen VMs frei oder macht man das anders? Bei meinem ESXi Fileserver hatte ich das Thema nicht, weil ich dort die HDDs direkt in die VM durchgereicht habe. Das würde ich hier mit nur 2 SSDs und nicht als Haupteinsatz eines Fileserver nicht machen.

Für Frigate würde ich noch eine Coral TPU kaufen. Wenn ich es richtig gelesen habe, kann ich die dann an Frigate in einer VM / LXC durchreichen, am besten noch inkl. der GPU. Das werden aber erst die nächsten Schritte, wenn ich erst mal Proxmox eingerichtet habe.

Danke.

Gruß
Michael
 
Was läuft aktuell auf dem Raspberry Pi?
Ich nutze ihn v. a. für Smarthome. Hierfür läuft Docker (Administration über Portainer) mit folgenden Containern (Auszug):
NodeRed
InfluxDB
Grafana
Homebridge
Mosquitto
Paperless
PiHole

Das wird auch alles prima mit ProxmoxVE laufen, allerdings solltest du diese dann NICHT in LXC-Containern laufen lassen, wenn du Docker verwenden willst, das macht mitunter Probleme (einfach mal hier im Forum suchen) und wird auch nicht empfohlen:
"If you want to run application containers, for example, Docker images, it is recommended that you run them inside a Proxmox QEMU VM. This will give you all the advantages of application containerization, while also providing the benefits that VMs offer, such as strong isolation from the host and the ability to live-migrate, which otherwise isn’t possible with containers."
( Quelle: https://pve.proxmox.com/wiki/Linux_Container )
Stattdessen würdest du dir eine VM mit der Linux-Distribution deiner Wahl aufsetzen und dort dann Portainer plus deine Docker-Container (und ggf. weitere Dienste, z.B. NFS oder SAMBA als Dateiserver) einrichten.
Eine andere Frage ist, ob ProxmoxVE überhaupt dafür das richtige Werkzeug ist. Du wirst dort zwangsläufig Aufwand für Administration einplanen müssen, je mehr du auf einzelne LXC oder VM aufteilst, desto schlimmer wird es. Unter Umständen könnte es also am Ende einfacher sein, etwas wie OpenMediaVault, unRAID o.ä. mit Docker-Support zu nehmen und damit dann deine Container auf dem HP PC laufen zu lassen, ohne noch den administrativen Overhead von ProxmoxVE dazu zu bekommen. Zumindestens OMV kannst du auch direkt als VM aufsetzen, falls du trotzdem ProxmoxVE benutzen willst. Für TrueNAS und UnRAID wird das eher nicht empfohlen, solange man keinen dezidierten SATA-Controller an sie durchreicht (was die Grundidee hinter Virtualisierung etwas ins absurde verschiebt)

Momentan hänge ich gerade leider noch an wahrscheinlich etwas sehr banalem fest, dem auszuwählenden Dateisystem mit den beiden SSDs.
Wenn ich es richtig gelesen habe, installiere ich Proxmox auf der 1. SSD und lege dort z. B. eine Partition mit 40GB für das Proxmox System an. Da würde ich ext4 wählen (zfs würde ich für meinen Privatserver übertrieben halten).
Formatiere ich dann den Rest der 1. SSD und die gesamte 2. SSD dann auch einfach als ext4 und nutze sie als Speicher für die Disks für die VMs und LXCs? So sah es für mich zumindest in der Doku / Hilfen im Internet aus. Da bin ich mir aber nicht sicher.

Naja, mit ext4 oder xfs ist es nicht möglich, die beiden SSDs in einen Software-RAID-Mirror zu betreiben, mit ZFS und Btrfs (da ist der Support aber experimental) schon. Generell kann man bei ProxmoxVE VM und LXC-Discs auf ein Dateisystem packen (oder eine NFS/CIFS-Freigabe von einen NAS), im Normalfall nimmt man dafür aber stattdessen einen LVM-Thin oder ZFS-Blockspeicher. Da man damit sich den Overhead eines Dateisystems spart, sollte das im Regelfall mehr Performance bringen und man spart sich das Doppelgemoppel, wenn sowohl Proxmox VE als auch das installierte Betriebssystem ein Dateisystem haben.

ZFS ist dabei mit Abstand am Flexibelsten und hat andere nette Features (Kompression auf Dateisystemebene, Absicherung gegen bitrot, Möglichkeit zur Replikation auf andere Hosts), aber das hat seinen Preis (Performance, höhere Schreiblast auf die SSDs).

Wenn du noch keine SSDs hast, würde ich mich bei ebay oder geizhals nach gebrauchten Enterprise-SSDs mit Powerlossprotection zu suchen.
Die beiden kannst du dann bei der Proxmox-Installation zu einen Mirror zusammenführen und hast damit dann auch eine RAID.

Wenn dir dagegen die Features von ZFS nicht so wichtig sind und du lieber mehr Speicherplatz haben willst, würde ich auf beiden LVM-Thin einrichten.

Zum einlesen in die verschiedenen Optionen und ihre Vor- und Nachteile: https://pve.proxmox.com/wiki/Storage

Wie gehe ich am besten mit dem Einrichten eines kleinen Fileservers (z. B. Austausch zwischen den VMs) um? Lege ich da auch einfach eine Disk auf eine der beiden SSDs an und gebe es dann z. B. einer Ubuntu VM / LXC für die anderen VMs frei oder macht man das anders? Bei meinem ESXi Fileserver hatte ich das Thema nicht, weil ich dort die HDDs direkt in die VM durchgereicht habe. Das würde ich hier mit nur 2 SSDs und nicht als Haupteinsatz eines Fileserver nicht machen.

Man kann das auf verschiedene Weise realisieren, Netzwerkfreigabe ist nur eine davon. Bei LXC-Containern würde ich für den Datentausch eher mit bind-mounds arbeiten. Für VMs würden sich NFS- oder CIFS-Freigaben anbieten. Da du allerdings ja oben schreibst, dass du hauptsächlich Docker-Container betreiben willst, wäre eine andere Variante ein NAS OS (ohne Proxmox!) mit Docker-Support zu nehmen und dann direkt dadrin die gemeinsamen Verzeichnisse/Datensetzs den Containern zuzuweisen. Aber natürlich kann man OpenMediaVault und Co auch direkt als VM in Proxmox betreiben.

Für Frigate würde ich noch eine Coral TPU kaufen. Wenn ich es richtig gelesen habe, kann ich die dann an Frigate in einer VM / LXC durchreichen, am besten noch inkl. der GPU. Das werden aber erst die nächsten Schritte, wenn ich erst mal Proxmox eingerichtet habe.
Solche Fragen kann die Frigate-Community sicher besser beantworten ;)

Was ganz anderes: Egal für welche Varianten du dich entscheidest, solltest du dir noch Gedanken um ein Backupkonzept machen
 
Last edited:
  • Like
Reactions: UdoB
An ein von dir erwähntes Backup wird gedacht. Aktuell sichere ich die InfluxDB und NodeRed (Volumes der Container). Damit bin ich immer wieder einsatzbereit, wenn mal etwas kaputt geht. Wie ich das ganze noch etwas automatisiere, ist aber noch offen.

Proxmox habe ich auch gewählt, weil ich eine VM mit Windows 10/11 brauche. Dann brauche ich nicht mehr auf den ESXi zurückgreifen (der Fileserber darauf ist immer nur bei Bedarf an). Das hatte ich gar nicht geschrieben …

Das mit lvm bzw. lvm thin hatte ich auch schon über Proxmox gelesen, aber vermutlich bisher falsch verstanden.

Ist folgendes Verständnis korrekt?
Die 2 SSDs (z. B sda und sdb) erstelle ich als 2 PVs und fasse sie dann als 1 VG zusammen (z. B. aus 2 x 2TB SSDs habe ich dann einen 4 TB Gesamtspeicher). Darauf erstelle ich dann 1 LV für die Proxmox Installation bzw. später beliebige LVs als Disks für die VM. Die LV erhalten dann auch erst das eigentliche Dateisystem (z. B. ext4).
Wenn dann natürlich eine SSD kaputt geht, ist alles hinüber (das wäre mein tragbares Risiko im Privatbereich mit Backup der wichtigen Daten), im unterschied zum zfs als Mirror (dann hätte ich aber auch nur 2 TB anstatt 4 zur Verfügung).

ZFS würde ich gerade eher nicht vorsehen, weil ich dann eher die professionellen SSDs brauche, den Arbeitsspeicher vorsehen muss und sinnvollerweise im Mirror arbeite. Das ist natürlich etwas riskanter, jedoch durch das Backup für mich persönlich tragbar.

Mein „Backupwiederherstellungskonzept“:
Ich kann wieder den Radperry Pi anschließen, den Node red Container starten und die Backupvolumes verwenden. Dann geht die Hausautomatisierung wieder zu 100% (Node Red ist mir hier am wichtigsten, da darüber die „Komfortfunktionen“, die nicht nativ in Knx sind, umgesetzt werden, großer WAF).
Dann kann ich in Ruhe schauen, was kaputt ging und dann z. B. eine neue SSD kaufen und aus den Backups wieder zum Laufen zu bringen (z. B. Influx, Homebridge etc.).
Wahrscheinlich ist das für viele hier eher etwas Low Level, für mich würde es aber reichen bzw. hat das bisher (2. Rasperry Pi liegt vorbereitet in der Schublade).

Danke.
 
An ein von dir erwähntes Backup wird gedacht. Aktuell sichere ich die InfluxDB und NodeRed (Volumes der Container). Damit bin ich immer wieder einsatzbereit, wenn mal etwas kaputt geht. Wie ich das ganze noch etwas automatisiere, ist aber noch offen.

Naja, da Proxmox ja eingebaute Funktionen fürs Backup hat, würde es sich ja anbieten, diese zu nutzen, soweit diese deinen Ansprüchen genügen. Am Komfortabelsten wäre die Nutzung des ProxmoxBackupServers, der sollte dann aber auf einen eigenen Gerät (Mini-PC o.ä., VM in einer NAS, offsite in einen vserver oder einen Cloudanbieter wie tuxis.nl) laufen. Darüber hättest du dann auch deine Windows-VM abgesichert. Wo genau sicherst du denn deine Container? Externe Festplatte? Auf einen Cloudspeicher? Daraus ergibt sich, welche Optionen mit vertretbaren Aufwand umgesetzt werden können. Nicht ganz so viele Funktionen aber für ein simples restore auf jeden Fall ausreichend ist das native Backup von proxmox ve, dafür kann man auch eine externe Festplatte oder eine Netzwerkfreigabe auf einen Raspberry nehmen. Man sollte sich dann aber noch etwas überlegen, wo man die Daten sichert,falls das erste Backup nicht mehr wiederherstellbar ist (weil z.B. die externe Platte mit allen Backups kaputt gegangen ist/die Wohnung einen Feuer-/Wasserschaden hatte etc...). Wenn deine Home-Automatisierung dran hängt, überlege dir gut, wieviel es dir wert ist, sie in Fall der Fälle wieder repariert zu kriegen, selbst wenn deine bevorzugte Restoreoption ausfällt.

Ist folgendes Verständnis korrekt?
Die 2 SSDs (z. B sda und sdb) erstelle ich als 2 PVs und fasse sie dann als 1 VG zusammen (z. B. aus 2 x 2TB SSDs habe ich dann einen 4 TB Gesamtspeicher). Darauf erstelle ich dann 1 LV für die Proxmox Installation bzw. später beliebige LVs als Disks für die VM. Die LV erhalten dann auch erst das eigentliche Dateisystem (z. B. ext4).

Prinzipiell müsste man sie nicht mal zu einer LV zusammenfassen, ich selbst würde das auch definitiv nicht tun, wenn es mir darum geht möglichst viel Speicherplatz rauszuholen. Eher würde ich dann auf eine SSD (bzw. envtl. sogar eine NVME oder HDD als Bootdisk) eine kleine Partition für das Betriebssystem erstellen und aus dem Rest einen Thin-Pool machen und aus den 2. Device einen anderen.
Davon abgesehen hast du das richtig verstanden, welches Dateisystem es dann wird, entscheidet sich dann halt durch die VM (bei Windows als NTFS, bei FreeBSD bietet sich ZFS an und bei Linuxen je nach Usecase ext4, xfs, btrfs oder ganz was anderes...)

Der Punkt ist, dass man es der VM überlässt, damit es nicht den doppelten Overhead von Dateisystem in Dateisystem gibt. Weil rein theoretisch könnte man statt mit dem LVM-Thinpool oder ZFS-Volumes auch direkt ein Dateisystem auf LVM anlegen und das als sogenannten Directory-Storage nutzen. Dann liegen die VM-Platten als raw- oder qcow2-Images direkt im Dateisystem. Das entspricht eher dem, was man vom Heim-PC oder Vmware kennt, frisst aber durch den Overhead halt Performance. Mit qcow2 hat man dann wenigstens thin-provisioning und Snapshots, die man mit raw-Images im Directory-Space nicht hätte. NFS, glusterfs und NFS funktionieren im Grunde genauso, nur dass die noch eher ihre Berechtigung haben. Ich saß vor einigen Monaten in einen Vortrag, wo der Referent verschiedene Alternativen zu Vmware vorstellte. Seine Präferenz für Proxmox in größeren Umgebungen war ganz klar Ceph, was aber im Homelab und in bei für Mittelständlern und Kleinunternehmen üblichen kleineren Clustern (zwei Knoten+qdevice) Overkill ist. Dafür würde er seinen Kunden NFS auf einer NAS oder ZFS-Replizierung (je nach usecase) zwischen den Cluster-Knoten empfehlen.

ZFS würde ich gerade eher nicht vorsehen, weil ich dann eher die professionellen SSDs brauche, den Arbeitsspeicher vorsehen muss und sinnvollerweise im Mirror arbeite. Das ist natürlich etwas riskanter, jedoch durch das Backup für mich persönlich tragbar.

Naja, man kann ZFS selbstverständlich auch mit Nicht-Enterprise-Hardware betreiben, sie ist dann halt ggf. eher hinüber ;) Andererseits kriegt man das da auch eher mit als bei anderen Dateisystemen (software-RAID mit zwei Platten vorausgesetzt) und hat die ganzen Konfortfeatures. Man muss sich also überlegen, was das kleinere Übel ist. Egal in welcher Preisklasse: Festplatten und SSDs sind am Ende des Tages Verbrauchsmaterial, das früher oder später ausgetauscht werden muss. Und Enterprise-SSDs (auch gebrauchte) halten deutlich länger als Consumer-Hardware, das wird dann eine Glaubensfrage, ob einen häufigeres Austauschen billigerer Consumerplatten oder die längere Einsatzdauer der Enterprisehardware günstiger kommt ;)
 
Für den eigenen Backup Server von Proxmox fehlt mit der passende Rechner. Auf dem "freigewordenen" Raspberry Pi läuft er aufgrund der ARM Architektur nicht.
Beim Backup für die Container gehe ich aktuell recht banal ran. Alle paar Monate ziehe ich mir die auf meinen Rechner / USB Platte und speichere es noch in Onedrive ab. Die Smarthomeabhängigkeit ist am Ende dann nur eine JSON mit den Flows für NodeRed. Die sichere ich immer, sobald ich daran was mache, sowohl lokal als auch in Onedrive (nach der Ersteinrichtung ist das auch was, wo ich nur noch ein paar Mal im Jahr dran bin).
Wenn ich mal den neuen MiniPC mit Proxmox am laufen habe, werde ich mich etwas genauer damit beschäftigen. Ich wollte prüfen, wie ich automatisch die Backups in Onedrive bekomme. Bisher hat mir nur die Zeit gefehlt und das manuelle Kopieren ist für mich immer gut möglich gewesen.

Ich werde auf jeden Fall erst mal etwas mit Proxmox "spielen", bevor ich es sauber einrichte.
Im Rechner ist eine 256GB NVME eingebaut. Da lege ich mir eine OS Partition und LVM Thin-Pool an, erstelle VMs und LXCs, um für alles ein Gefühl zubekommen. Dann kann ich auch mal pauschal meine Docker umziehen und schauen, ob ich etwas vergessen habe. Falls ich dabei etwas kaputt mache, ärgere ich mich auch nicht so, weil noch nichts davon produktiv ist.
Dabei schaue ich mir auch die von dir angesprochene interne Backupfunktion von Proxmox VE an. Außerdem will ich schauen, wie Snapshots gehen. Ich nutze zwar schon lange VMware / Hyper-V VMs, habe aber bisher noch keine Snapshotfunktionen gebraucht (und mich damit auch noch nie damit auseinandergesetzt).

Danke.
 
  • Like
Reactions: Johannes S
Für den eigenen Backup Server von Proxmox fehlt mit der passende Rechner. Auf dem "freigewordenen" Raspberry Pi läuft er aufgrund der ARM Architektur nicht.

Du könntest den Raspberry aber als Fileserver nutzen (via NFS oder Samba) und dann als Backupziel in Proxmox VE einbinden. Alternativ klappt es natürlich genauso gut, die externe Platte direkt an den ProxmoxVE Host anzustecken ;)

Beim Backup für die Container gehe ich aktuell recht banal ran. Alle paar Monate ziehe ich mir die auf meinen Rechner / USB Platte und speichere es noch in Onedrive ab. Die Smarthomeabhängigkeit ist am Ende dann nur eine JSON mit den Flows für NodeRed. Die sichere ich immer, sobald ich daran was mache, sowohl lokal als auch in Onedrive (nach der Ersteinrichtung ist das auch was, wo ich nur noch ein paar Mal im Jahr dran bin).
Manuelle Backups sind schlechte Backups, da man dazu neigt sie zu vergessen. Ein Großteil meines Setups (inklusive Backups) ist automatisiert, zusätzlich habe ich eine externe Platte per USB. Das Sichern darauf ist natürlich manuell (weil sie ja erst angesteckt werden muss), das mache ich deutlich seltener, als ich sollte.

Ich werde auf jeden Fall erst mal etwas mit Proxmox "spielen", bevor ich es sauber einrichte.
Im Rechner ist eine 256GB NVME eingebaut. Da lege ich mir eine OS Partition und LVM Thin-Pool an, erstelle VMs und LXCs, um für alles ein Gefühl zubekommen. Dann kann ich auch mal pauschal meine Docker umziehen und schauen, ob ich etwas vergessen habe. Falls ich dabei etwas kaputt mache, ärgere ich mich auch nicht so, weil noch nichts davon produktiv ist.

Guter Plan ;)

Dabei schaue ich mir auch die von dir angesprochene interne Backupfunktion von Proxmox VE an. Außerdem will ich schauen, wie Snapshots gehen. Ich nutze zwar schon lange VMware / Hyper-V VMs, habe aber bisher noch keine Snapshotfunktionen gebraucht (und mich damit auch noch nie damit auseinandergesetzt).

Naja, Snapshots sind im Grunde dafür da, dass man vor Änderungen den aktuellen Stand speichern kann und dann später (falls was schief läuft) wieder darauf zurückzuwechseln. Backupprogramme erzeugen auch oft erstmal einen Snapshot, von dem dann das eigentliche Backup gemacht wird, weil das die Datenkonsistenz verbessert (kein Chaos/Probleme durch neu dazugekommene Daten, während das Backup läuft). Man kann auch statt Snapshots "nur" Backups machen, je nach Szenario (falls z.B. der Storage keine Snapshots unterstützt) ist das eine gute Alternative. Es gibt auch Stimmen, die das bevorzugen, weil man aus Backups (anders als bei Snapshots) auch einzelne Dateien zurückholen kann, wenn der Rest das Update problemlos überstanden hat. Was an der nativen Backupfunktion (ob mit PBS oder ohne) halt praktisch ist: Man kann da automatische Schedules einstellen, die nicht nur regelmäßig Backups machen, sondern auch regelmäßig aufräumen. Dann kann man das nicht mehr vergessen ;) Der PBS (kannst ja in einer VM ausprobieren, um ein Gefühl dafür zu kriegen, das richtige Backup sollte dann aber außerhalb liegen) braucht dafür dank Deduplizierung aber weniger Platz, als die native Funktion mit vzdump, dafür sind die nativen Backups auch ohne PBS wieder herstellbar. Ich mache darum beides: Tägliches Backup auf lokalen und PBS auf einen Netcup-Vserver als Hauptbackups und zusätzlich wöchentliches vzdump-Backups, die ich mir mit restic in eine hetzner-storagebox wegsichere. Kosten sind da überschaubar und man muss natürlich nicht diese Anbieter nehmen, es gibt ja noch mehr als Hetzner und Netcup.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!