Fünf Tage Linux – Tag 3: Proxmox

Wird eine in den allermeisten Fällen notwendige
IT-Infrastruktur betrieben, so stellt sich mittlerweile die Frage: Wie mache
ich das denn jetzt? Das Angebot ist vielfältig (um nicht zu sagen
unübersichtlich), es muss auf moderne Arbeitsweisen eingegangen werden (Home
Office, mehr als eine Person pro Arbeitsplatz etc.) und es sollte jetzt nicht
die eigene Firma in die roten Zahlen stürzen. Diesem Umstand sehen sich aber mittlerweile mehrere
mittelständische Unternehmen ausgesetzt, die zu Beginn der Covid-19 Pandemie
freudig auf den Microsoft Zug aufgesprungen sind. Oder aber auch Benutzer:innen
von VMWare, die jahrelang gut mit der Software gearbeitet haben, sich jetzt
aber bei den gestiegenen Preisen verwundert die Augen reiben. Und wer kennt es nicht: Man möchte, entweder lokal oder im Rechenzentrum, eine Armada virtueller Maschinen aufsetzen, überlegt aber
aufgrund von Kosten oder Kontrollierbarkeit (AWS, Azure, GCP) auf eine eigens
aufgebaute Infrastruktur zurückzugreifen. Dann hat man die Wahl…. Bis vor kurzem lief Proxmox noch unter Virtualisierung für Nerds, langsam, aber sicher wird es zu einer echten Alternative zu VMware, nicht
zuletzt aufgrund der neuen Preispolitik des Inhabers der Virtualisierungssoftware. Mehrere Rechenzentren berichten zudem, dass aufgrund von Broadcoms Abonnementsystem mittlerweile schon wieder die Installation
direkt auf Blech Einzug hält. Dies muss nicht sein. Und da ich mich mit KVM /
Qemu und der Virtualisierung unter Debian basierten Linuxsystemen eh schon
auskannte, war der Sprung zu Proxmox eh schon angedacht, aber die Einbindung
von Ceph zur Handhabung größerer Datenmengen war dann doch ausschlaggebend sich
mal näher mit der Virtualisierungsumgebung auseinanderzusetzen.

Es bestehen zwei Möglichkeiten, Proxmox zu installieren: Die
erste beinhaltet die geradlinige Installation der ISO, d.h. ISO herunterladen,
ggf. noch einen USB-Boot-Stick draus basteln, und dann durch den Installationsprozess.
Es gibt ehrlich gesagt nicht viel zu tun. Platte auswählen (Es gibt noch die
Möglichkeit diese zu Partitionieren), root-Passwort (Admin-Passwort, für alle
nicht initiierten) setzen, dem Rechner eine feste IP geben (braucht er),
Hostnamen festlegen, und dann läuft die Installation schon durch. Beim Neustart
10-15 Minuten später landet man dann auf dem Login-Prompt, über dem die IP mit
dem Port 8006 angezeigt wird, auf dem die Weboberfläche zur Steuerung dann auch
erscheinen wird.

Nach der Eingabe der IP-Adresse mit dem dazugehörigen Port
im Browser kommt man dann auch zum Login. So weit, so, einfach. Die andere, lustigere Methode beinhaltet die Installation eines Debiansystems, dem sich ein Systemumbau mit Kerneltausch anschließt. Und
welcher Kernel wird installiert? Der von Proxmox bereitgestellte natürlich. Die Frage, die sich da aufdrängt: wenn ich erst Debian aufsetze, um es dann in Proxmox umzuwandeln, kann ich dann nicht gleich Proxmox
nehmen? Eigentlich ja, es sei denn ich möchte die extra Features eines
Debian-Installers nutzen. Diese umfassen im Expert-Modus das Erstellen eines
Software-Raids, das Zusammenfassen der Datenträger mittels des Logical Volume
Managers (LVM) und nicht zuletzt die Option, die Datenträger auch noch zu
verschlüsseln. Letzteres ergibt besonders viel Sinn, wenn ich die Datenträger
in einem externen Datencenter liegen habe. Auch auf dieses Szenario bin ich mal angegangen. Der
Installationsprozess ist in dem Fall nicht zu verachten, und er zieht sich.
Aber er lohnt sich. Also habe ich folgendes Szenario mal konzipiert:

1 x Proxmox Controller (direkte Installation, 2 Kerne, 4 GB
RAM, 50-GB-Festplatte)

2x Proxmox Nodes (direkte Installation, 2 Kerne, 16 GB RAM,
200-GB-Festplatte)

1x Proxmox on Debian (Debian Installation, 4 Kerne, 16 GB
RAM, 2x 200-GB-Festplatte im Raidverbund, dazu LVM und verschlüsselt)

1x Linuxmint, um ein Gerät mit Browser zum Navgieren zu
haben (ich benötige eigentlich nur den Browser, und wollte es nach dem C‘T 3003
Video mal testen).

Diese vier Maschinen sollen sich nachher in einem Cluster
befinden, in dem ich dann probeweise VMs installiere und Ceph nutze. Proxmox on
Debian läuft deswegen, weil ich wissen möchte, ob es auf dieser Maschine trotz
besseren Hardwarevoraussetzungen zu längeren Arbeits- und Ladezeiten aufgrund
der Verschlüsselung kommt. Nach einigen Stunden Arbeit kommt dann folgendes bei herum:

Diese Nachricht erscheint jedes Mal beim Einloggen, egal,
auf welchem Server. Wer mag, darf Scripte und Hooks ergooglen, um diese
Nachricht loszuwerden. Proxmox ist aber zu 100% kostenlos, sofern man keinen
Support benötigt. Anschließend geht es dann daran, die einzelnen Rechner zu
einem Cluster zusammenzufügen. Dazu loggt man sich in die Oberfläche des
Cluster Controllers ein, klickt links in der Leiste auf Cluster, und dann auf
Create Cluster. Das Cluster wird dann erstellt. Anscheinend gibt es einen
Button mit Clusterinformation, welcher auch den Zugangskey enthält.  Diesen kopiert man am besten gen Cloud oder
auf einen USB-Stick. Anschließend geht es an die anderen Maschinen im Cluster, wo
man ebenfalls auf Cluster klickt, allerdings dann auf ‚Join Cluster‘ klickt, um
dann den Key einzufügen, was die Maschinen dazu veranlasst, sich dem Cluster
anschließen zu wollen (die Route zu dem Cluster Controller sollte zu diesem
Zeitpunkt bereits stehen). Zum Abschluss wird man noch aufgefordert, das
‚root‘-Passwort des ClusterControllers einzugeben, um dann die zusätzlichen
Maschinen ins Cluster einzufügen. Hat man alle Maschinen zum Cluster
hinzugefügt, dann ergibt sich folgendes Bild:

Alle Nodes werden im Cluster angezeigt, und auf jedem können
nun Storage oder VMs laufen. Anmerkung: Den Maschinen reicht zur Installation eine
einzelne Netzwerkkarte, es wird nicht überprüft, ob mehr als eine Karte
eingebaut ist, VLANs oder Bridges existieren. Das ist besonders relevant, wenn
man Debian als Grundinstallationsoption wählt: während bei den aktuellen
Proxmox Installationen ifupdown2 bereits integriert ist, muss man es bei der
Debian-basierten Installation via apt hinterher installieren. Dies wird zum
einen bei den erstellen der Bridges relevant (die VMs brauchen ja auch
Netzwerkarten und -anschlüsse), da Proxmox ein hook hat um diese direkt
einzubinden, und dieses Hook ifupdown2 voraussetzt. Das Schöne an ifupdown2:
Man kann die Netzwerkkonfiguration ändern, ohne die Maschinen neu starten zu
müssen. Relevant bei 24/7 erreichbaren Maschinen. Man kann die bridges und vlans dann entweder via CLI auf
den einzelnen Maschinen eintragen, oder aber das über das Interface
reglementieren. Allerdings müssen diese Einstellungen für die einzelnen Nodes
jeweils vorgenommen werden, es gibt keine Netzwerkkonfiguration für alle.

Fazit: Man sieht die Möglichkeiten, die sich mit Proxmox bieten. Selbst paravirtualisiert macht die Oberfläche noch zügig, das was Sie soll. Nun können neue VMs installiert und Ceph getestet werden!

Tag 4: HomeAssistant und LocalAI