Gastbeitrag von bforpc
Bei mir in der Firma gibt es häufig die Notwendigkeit, einen Proxmox Server auf neue Maschinen aufsetzen zu müssen. Als Grundlage wird jeweils eine aktuelle Debian Version genutzt. Die Aufgaben sind wiederkehrend und somit bestens für ein Script geeignet. Das Klicks in der Überschrift ist natürlich ironisch gemeint – es handelt sich um ein reines Shell Script.
Proxmox per Script
Ein solch neu installierter Proxmox-Node muss in der Regel auch in ein bestehendes Cluster eingebunden werden. Wenn bei dieser Einbindung etwas schiefgeht, ist meistens das Cluster als auch der Host, der hinzugefügt werden soll, unbenutzbar. Für einen solchen Fall bietet das Script ein paar gute Möglichkeiten, das Cluster zu bereinigen und wieder neu zu erstellen. Letztendlich führt das Script bei der Installation nur eine Abfolge von apt install
Befehlen aus.
Vorbereitung
Als Basis dient wie bereits erwähnt ein aktuelles Debian Stable. Am schnellsten geht das Aufsetzen vermutlich mit der Netinstall-Variante. An deren Ende wird gefragt, welche Paketgruppen man installieren möchte. Hier wird alles außer ssh abgewählt.
Vor dem Start
Das Script nutzt das Tool column
, um die Ausgabe hübscher zu machen – es ist zwar nicht notwendig, aber empfohlen. Es ist Teil des Paketes bsdextrautils
, das mit APT installiert werden kann. Das Script muss anschließend mit Root-Rechten per Sudo oder echtem Root ausgeführt werden. Das Script heißt pxinst.sh
, zu finden ist es auf GitHub
Das Script
Ohne Parameter zeigt das Script beim Aufruf folgende Optionen an:
Die Parameter
Parameter | Beschreibung |
basics | Dies installiert alle notwendigen Pakete zur Vorbereitung der Proxmox Installation (siehe auch nächster Punkt „packs“) |
packs | Zeige die zu installierenden Pakete an |
installproxmox | Addiert die Proxmox (bookworm) Repositorys und installiert Proxmox mit allen Abhängigkeiten. Das Vorgehen entspricht dabei exakt den Vorgaben der Proxmox Wiki (keine Sonderlocken) |
sanoid | Installiert alle Abhängigkeiten und das Programm sanoid, welches snapshots eines ZFS verwaltet (→ https://github.com/jimsalterjrs/sanoid ) Es installiert sanoid nach /opt/ und die Konfigs in /etc/sanoid |
Clusteroptionen | |
pml | Versetze Proxmox in den „local“ Mode |
pmn | Versetze Proxmox in den „normal“ Mode |
pma | Restarte alle relevanten Proxmox Cluster Dienste |
pmr | Entferne alle Proxmox Cluster Daten (Vorsicht!) |
pmrestart | Restarte alle Proxmox Dienste |
ip | Zeige meine öffentlich IP |
Aus leidvoller Erfahrung möchte ich ausdrücklich darauf hinweisen, dass vor dem Hinzufügen eines neuen Hostes zu einem Cluster Folgendes geprüft werden sollte:
• Hostnamen und IP des neuen Hostes muss konsistent sein und von allen anderen Hosts im Cluster auflösbar sein.
• SSH Keys sollten bereits vorbereitet (getauscht) sein.
• Ein eigenes, dediziertes Netz für das Cluster wird empfohlen.
Für Fragen oder Verbesserungsvorschläge stehe ich per Mail an repcom@gmail.com gerne zur Verfügung.