Proxmox
Proxmox bietet drei Lösungen an. Die eine kennen wahrscheinlich die meisten – das Proxmox Virtual Environment. Die andere kennen wahrscheinlich die wenigstens – das Proxmox Mail Gateway. Es gibt aber auch noch passend zum Virtual Environment den Proxmox Backup Server. In diesem Artikel werde ich darauf eingehen, wie ich meinen PBS eingerichtet habe, welche Anleitungen ich verwendet habe, auf welche Hürden ich gestoßen bin und wie ich sie überwunden habe.
Der Backup-Server
Normalerweise installiert man den Proxmox Backup Server auf physische Hardware. Der Server dient dann dazu, inkrementelle Backups von VMs und LXCs des Proxmox-VE-Servers zu verwalten. Die Verbindung der beiden Server ist ganz einfach und das Einrichten des Backup-Intervalls funktioniert komfortabel über den Webhost vom Proxmox Virtual Environment. Bevor ich diesen Backup-Server verwendete, hatte ich eine einfache SMB-Freigabe auf meinem NAS als Backup-Server. Jede Nacht wurden Snapshots der VMs und Container erstellt und die alten Snapshots gelöscht. Mithilfe des Proxmox Backup Servers sollen nun allerdings nur noch die Differenzen, also das, was neu ist, über das Netzwerk kopiert werden. Um ehrlich zu sein, habe ich das bis jetzt noch nie geprüft. PBS bringt aber auch noch andere Vorteile mit sich. Man kann z. B. einfach einzelne Dateien aus einem Backup herunterladen.
Die Containerlösung
Natürlich kann ich, wenn ich Proxmox Backup Server in einem Container laufen lasse, die üblichen Vorteile eines Containers nutzen. Und wenn man sich mit Proxmox etwas auskennt, ist es auch ganz schnell und einfach realisiert. Für mich war der einzige Knackpunkt, dass ich verstehen musste, wie Proxmox mit Containern und Massenspeichern umgeht, vor allem, wenn diese per USB an der Hardware hängen. Anstatt eine externe Festplatte zum Container durchzureichen, musste ich einen Mountpoint für den Container erstellen, denn die Festplatte ist dadurch, dass der Container einen Großteil des Hauptsystems verwendet, schon mit dem Container, einfach gesagt, verbunden. Für die grundsätzliche Installation des PBS in einem Container habe ich dieses Video verwendet.
Installing Proxmox Backup Server in a CT
LXC – Linux Containers
Was nicht nur Vorteile mit sich bringt. Ein Container ist so eine Art isolierter Bereich im Proxmox OS selbst. Er nutzt den Kernel des Hosts und auch noch ein paar andere Systemmodule. Ich wollte mal einen Container bauen, der als eigener NTP-Server, also als einen Zeitserver, dienen sollte. Nach einem Tag Arbeit hatte ich festgestellt, dass der Container, was die Systemzeit angeht, doch sehr in das Debian von Proxmox integriert ist. Nach ein paar Anpassungen in der Container-Konfiguration konnte dann aber auch der Container selbst ein Zeitserver sein.
Beim Aufsetzen des PBS in einem Container war das allerdings nicht so aufwendig. Für meinen Backup-Server nutze ich eine externe Festplatte. Diese Festplatte hängt per USB direkt am Proxmox-Server. Damit sie vom Container verwendet werden kann, musst du in Proxmox selbst einen Mountpoint setzen und den Container dafür konfigurieren. Mit dieser Anleitung habe ich das gemacht.
Proxmox Festplatte an VM und LXC durchreichen HDD Passthrough - Home Server selbst bauen TEIL 16
Im hinteren Teil des Videos wird gezeigt, wie man eine Festplatte zu einem LXC durchreicht. Was die Anleitung dir nicht verrät bzw. hatte ich das in der Anleitung nicht gesehen und hatte dadurch Probleme bei einem Neustart meines Proxmox-Servers, ist, dass du den Mountpoint deiner Festplatte nicht über z. B. „dev/sda1“ festlegen solltest, sondern via „dev/disk/by-id“. So sieht z. B. meine Konfiguration aus.
Mit folgendem Befehl kannst du die ID deiner Festplatte herausfinden.
ls -la /dev/disk/by-id/
Wenn in der Console des Proxmox VE alles erledigt ist, kannst du dann einfach in der Weboberfläche von PBS die Festplatte einhängen. Ich musste einfach nur auf „Add Datastore“ klicken und Folgendes angeben.
Wenn die Festplatte ordentlich in PBS eingebunden ist, kannst du den Backup-Server in Proxmox VE integrieren. Hier ein weiteres Video dazu.
Proxmox Backup Server mit PVE Server verbinden - Backup Server selbst bauen TEIL 3
Ein weiteres Problem, das ich hatte, waren die Berechtigungen. Es sind immer die Berechtigungen. Du musst dir vorstellen, dass die Mountpoints, die du setzt, immer noch im Host-System bestehen. D. H., die Ordner und Dateien haben auch weiterhin die gleichen Berechtigungen. Hast du z. B. Ordner mit dem „root“-Benutzer auf der Festplatte erstellt, die du in deinen Container durchreichst, können diese auch nur mit dem „root“-Benutzer in dem Container bearbeitet werden. Gibt es allerdings keine „root“-Rechte im Container, weil du den Container selbst nicht privilegiert erstellt hast, kannst du auch nichts ändern. Ich muss zugeben, dass ich in dem Thema noch nicht ganz durchblicke. Ich denke, eine Lösung wäre einfach, im Host-System und im Container den gleichen Nutzer anzulegen und diesem Nutzer im Host-System die Schreibrechte für die Festplatte bzw. für die Ordner auf der Festplatte zu geben. So etwas hatte ich schon mal in Kombination mit Mountpoints in einem Docker-Container gemacht. So könnte der Nutzer dann auch im Container Zugriff haben.
Ich habe mich allerdings für die einfachere, aber etwas unsicherere Variante entschieden. Man kann einen Container einfach privilegiert erstellen. Man kann aber auch einen unprivilegierten Container in einen privilegierten Container ändern, indem man ein Backup davon macht und beim Zurückspielen des Backups einfach den Hacken bei unprivilegiert entfernt, und schon ist alles „root“.
Hallo Christian, ich habe das ein bisschen anders gelöst. Ich habe ein 2 Node Cluster mit QDevice (ein RPi4/4GB). Der PBS läuft extern als VM auf ein unRAID Server. Dort hat die PBS-VM ein RAID1 SSD Verbund explizit/exklusiv zugeteilt bekommen. ...klar, ich hätte den PBS auf unRAID auch als LXC laufen lassen können, aber die Einfachheit der Einrichtung der VM hat bei mir gewonnen :)
Hallo Gino, das klingt auch nach einer super Lösung. Das Schöne ist, dass virtuelle Systeme so flexibel sind. Je nach Geschmack kann man alles ausprobieren. Und wenn es einem nicht gefällt, schmeißt man es einfach weg und macht etwas Neues.
...so ist es. :) Mit einem PVE Cluster hat man gleich noch viel mehr Spaß :) ...HA, FO, Live Migration über Shared Storage usw.
Ich weiß, was du meinst. Ich habe vier Nodes. Und solange die VMs und Container unabhängig von spezieller Hardware laufen, macht es einfach nur Spaß, die Dinge hin und her zu migrieren und zu schauen wie man es noch effizienter gestalten kann. :)
Guten Morgen, 4 Nodes im sinne von 3 + 1QDevice? Werde demnächst ein dritten echten Node dem Cluster noch hinzufügen ...dann kann ich u.a. Cepheus auch nutzen.
Meinst du ...vier Nodes > 3 + 1QDevice? Ein dritter echten Node soll demnächst mein Cluster ergänzen ...dann kann ich endlich Cepheus einsetzen.
Hey Gino, meine Nachricht ist irgendwie nicht als Antwort unter deiner aufgetaucht. ich hoffe du findest sie trotzdem. Derzeit ist sie die Längste hier. ;)
Hey Gino, Ich habe wirklich vier Nodes. Wobei einer davon ein alter Laptop ist. Der hier: https://gnulinux.ch/manufacturing-lab-mit-proxmox-und-octoprint-0
Den mache ich nur an, wenn ich ihn brauche. Ich denke aber, du bist schon ein bisschen weiter als ich, was die High-Availability angeht. Ich hatte mal zwei Nodes und ein QDevice, und als Shared Folder mein altes QNap-NAS, welches ich mittlerweile gegen eine Nextcloud auf Proxmox ausgetauscht habe. Auf jeden Fall lief das mit dem NAS ein bisschen unrund und deshalb hatte ich die HA wieder ausgemacht.
Ich kann meine VMs und LXCs hin und her migrieren, und das war mir wichtig. Mit vier Nodes reicht es bei mir auch, wenn zwei an sind, ohne dass etwas ausfällt. Also kann ich auch mal einen von den kleinen Rechnern ausschalten, auch wenn der Laptop aus ist. Hier siehst du meinen Aufbau: https://www.linkedin.com/pulse/work-life-balance-095s-proxmox-meine-hardware-mein-m%C3%BCller-zieroth-pgnkf/?trackingId=gRbhSyFFSZ2PSbJSziyncg%3D%3D
Ich habe allerdings schon wieder ein bisschen umstrukturiert. Also mittlerweile laufen die Hauptserver alle auf dem 4TB-NVME-Rechner. Der Back-Up-Server ist immer noch der Gleiche. Dem habe ich nur ein bisschen RAM weggenommen. Der Laptop ist natürlich gleich geblieben. Nur Zabbix, mit dem ich eigentlich noch ein bisschen herumprobieren wollte, und die Client-VMs sind auf einem eigenen Rechner gelandet, der bei mir im Büro steht, sodass ich z. B. defekte Festplatten anschließen kann. Falls mal was ist. Mittwoch veröffentliche ich den neuen Aufbau.
Ich glaube, für HA und richtiges Clustering ist meine Hardware ein bisschen zu verschieden. Aber Proxmox ist ja flexibel. Vielleicht hole ich mir mal noch zwei oder drei identische Rechner und migriere alles dort hin.