<
Proxmox STRATO Server
01 Vorbereitung Server und VM 02 Netzwerk und SSH 03 Firewall 04 Serielle Konsole 05 Installation Kleine Themen
>

Proxmox Server auf einem STRATO Server

Vorbereitungen des Servers und aufsetzen einer VM

Wie auf der Intro Seite zu sehen, bedarf es bei der Installation eines eigenen OS auf einem Server bei STRATO einiger überlegungen. Hier soll zusätzlich ein Proxmox installiert werden, welcher aufgrund seines Installationsweges und offener Ports besonderheiten birgt.

Der Weg der Installation von Proxmox

Die meisten OS werden vom Entwickler als ISO zum Download angeboten. Hat man dieses herruntergeladen, könnte man es altmodisch auf CD / DVD brennen und den Rechner davon starten. Für virtuelle Maschinen Praktisch, denn dort wird die ISO Datei geladen und als virtuelles Laufwerk verwendet. Zum installieren auf einem Rechner wird heute aber gewöhnlich das ISO auf einem USB Stick "gebrannt" und dieser zum davon starten an den Rechner gesteckt.
Beim Proxmox gibt es auch eine ISO Datei. Linux Distributionen, wie Ubuntu, OpenSUSE oder Fedora kommen bei ISO Versionen für den Desktop Einsatz mit einem sog. Live-System daher. Für die Server Variante auch ohne Maus GUI. Man hat so aber zunächst die Möglichkeit den Rechner ohne Installation zu verwenden. Meistens befindet sich dort ein sog. "SquashFS", welches vom Loader in den RAM entpackt wird und von dem die Live Umgebung gestartet wird.
Bei Proxmox ist das etwas spezieller. Auf dem ISO befindet sich auch eine Live Umgebung. Mir war aber unklar, wo da das SquashFS liegt und ob man dieses hätte auf einen Datenträger entpacken können. Außerdem ist bei dem Installer des Proxmox scheinbar keine "Unbeaufsichtigte Installation" oder eine Text-Modus installation vorgesehen (bis Proxmox 7.x).
Für gewöhnlich fragt der Installer nur grundsätzliche Informationen ab und Installiert dann nach relativ vorgegebenem Konzept. Bei anderen Distros kann man wärend der Eingabe einige Dinge einstellen, wie Partitioniert werden soll, Platten Verschlüsselung, Volumen oder gewünschtes Dateisystem. Das gibt es beim Proxmox nicht.
Das erste Problem ist also die grundsätzliche Installation des Proxmox, ohne CD / USB Laufwerk, ohne Maus und grafischen Bildschirm. Weiter wichtig ist, dass der Proxmox die System Platte vollständig neu Partitioniert. Hatte man vorher etwas drauf, ist es danach weg.
Nach erfolgter Installation startet ein Proxmox ohne GUI auf dem Server und bietet eine Websteuerung auf dem Port 8006 an, sowie den Login per SSH. Das ist für die Installation auf einem Server im Internet fast ok, bis auf, dass der Port 8006 nicht für jedermann offen sein sollte. Mit SSH ist es auch nicht viel besser, aber da kann man noch etwas verbessern dran. Ist also wegen der eigentlichen Installation und den hinterher offenen Ports die Installation auf einem Server im Internet nicht ganz einfach. Bei dem Server von STRATO kommt das Fehlen von "KVM"-Konsole hinzu.

Einfacherer Installationsweg und Probleme

Es gibt einen Alternativen Weg, der einfacher ist, als der, den ich hier gewählt habe.
Der Proxmox basiert auf Debian. Das bedeutet, er kann auch in eine vorhandene Debian installation integriert werden. Das ist zwar auch Handarbeit, aber etwas weniger aufwendig.
Der Vorteil: Man kann sich vom Server-Login bei STRATO den Server mit dem Debian installieren lassen, welches von STRATO und dem Proxmox unterstützt wird. Hinterher baut man dann das von STRATO installierte Debian um zu einem Proxmox. Den link zu der Anleitung von den Proxmox Entwicklern packe ich mal hier hin.
Jedoch weiß ich nicht, wie gut alles zusammenspielt. Ferner wird eventuell in dem Debian etwas installiert, was nicht benötigt wird. Das kann man selbstverständlich deinstallieren. Aber die Mühe das zu suchen ist mir zu anstrengend. Nachher kommt es zu Wechselwirkungen. Außerdem nutzt Proxmox eigene Software Komponenten, welche auch nach installiert werden sollen. Aber ist das dann alles so, wie bei der original Installation?
Daher habe ich lieber eine original Installation gewollt, mit der Konsequenz, dass ich mir Gedanken über den Weg dorthin machen musste. So kam ich gleich in die Gelegenheit, die Installation eines nicht unterstützten OS auszuprobieren. Ich erstelle hier eine vorbereitete Installation zu Hause in einer VM und verschiebe sie später auf den Server bei STRATO. Dieser Weg lässt sich prinzipiell für jedes OS (x86 Vorrausgesetzt) anwenden.

Vorbedingungen um Proxmox auf einem STRATO Server zu installieren

Initiales Einrichten des Servers

Jeder Server muss nach dem er bereitgestellt wurde durch das Rechenzentrum zunächst mit einem STRATO Image installiert werden. Daran führt kein weg vorbei. Daher loggt man sich in den Kunden Login ein und wählt dann seinen Server aus. Dies bringt einem zum Server Login, wo man sich einloggen kann, wenn man vorher diesen Eingerichtet hat.
Da ich einen Server mit Proxmox haben möchte und dieser auf Debian basiert, macht eine Einrichtung als Debian Server Sinn. Auf der Seite für die Installation wählt man rechts bei Debian unter der kleinen Auswahl eine Debian Version.
Die Spracheinstellung wird am STRATO Image zwar eingestellt, ist aber wegen dem späteren überschreiben der Installation nur von kurzer Relevanz.
Weiter unten wird nach der gewünschten Partitionierung gefragt. Hierbei ist die Wahl ebenfalls frei.
Unten wird noch ein Passwort angegeben. Mit diesem loggt man sich in den Benutzer "root" des Linux Systems ein. Entweder per Serieller Konsole oder per SSH Verbindung. Die SSH Methode einen Public-Key zu übergeben, gibt es hier nicht. Der Login in den STRATO Server sollte man während der Vorbereitung zum kopieren von Einstellungen auch verwenden können.
Am Ende muss man mit dem Haken die Installation noch bestätigen. Dann wird der Server mit diesen Einstellungen installiert. Ist das abgeschlossen, bekommt man eine E-Mail, die einen darüber informiert. HINWEIS: Ab dem Moment der abgeschlossenen Installation ist ein SSH Server auf der Serverhardware installiert, lauscht auf dem Standartport und man kann sich dort mit dem von uns in der Installationsseite eingegebenen "root"-Passwort anmelden. Aber jeder Angreifer kann ebenfalls ab dann versuchen den Server per SSH zu übernehmen.
Ist man soweit, hat man den Teil der Vorbereitung auf dem Server bei STRATO abgeschlossen. Das installierte OS kann man als Quelle für die Konfiguration des eigenen OS noch gebrauchen.

Zum Zoomen klicken.

Installation einer VM zu Hause

Die Installation von Proxmox erfolgt zu Hause auf einer VM. Ganz recht, ich installiere eine VM Umgebung "nested" in einer VM auf meinem Host zu Hause. Dies geschieht aber nur, um ein "Provisionierungs-Image" zusammen zu bauen und bearbeiten zu können. Vorteil: Da wir das Vorbereiten innerhalb einer VM machen, können wir zwischen allen Schritten Snapshots erstellen. Dann ist es ggf. möglich zurück zu springen, wenn wir einen Fehler machen.
Für das Erstellen der VM nutze ich hier VirtualBox. Es ist Grundsätzlich auch möglich VMware Software dafür zu verwenden, welche kostenlos zu bekommen ist (unter kostenlos angelegten Benutzer bei Broadcom).

VirtualBox Vorbereiten

In VirtualBox habe ich mir ein eigenes Virtuelles Netzwerk erstellt, mit der die Provisionierungs VM verbunden wird (Bild 1). Die Normale "NAT" Funktion, welche pro VM eingestellt wird, würde auch gehn, aber ich hatte vor zu Testzwecken eine weitere VM in das Netzwerk einzubinden. Die Verwendung des NAT Netwerk hat den Zweck, dass ich nicht den in Vorbereitung befindlichen Proxmox in meinem Netzwerk haben möchte. Zum einen, soll dieser sich nicht an mein Heimnetzwerk einstellen und zum anderen dies nicht beeinflussen.
Die Kehrseite davon ist, dass ich für die Zugriffe auf den Proxmox die Ports weiterleiten lassen muss. Das sind SSH und der Port der Weboberfläche (8006). Dies zeigt Bild 2. Allerdings kommt das Freigeben von bestimmten Ports der späteren Einstellung sehr nahe.

Bild 1: VirtualBox angelegtes NAT Network

Bild 2: Virtual Box - Portfreigaben am NAT Network

Mit dieser Voreinstellung wird dann in VirtualBox eine neue VM erstellt. Diese bekommt CPU Zugriff zu 100% und zwei Kernen. RAM bekommt sie 4GB, das reicht für die Vorbereitung. WICHTIG: Bei der Festplatte wähle ich 8GB Größe aus. Das hat den Hintergrund, dass aus dieser virtuellen Festplatte ein Image werden muss, welches ich später per Upload auf den Server bei STRATO transferieren muss. Die Größe der daraus resultierenden Partitionen kann man später ändern (und das gehört auch hier zum Plan). Für das virtuelle CD Laufwerk gibt man der VM das Installations ISO von Proxmox an, was man natürlich vorher herunter laden muss. Bei den Netzwerkeinstellungen habe ich dann das NAT Netzwerk eingestellt. Ist das fertig eingestellt, kann die VM gestartet werden und sollte nun die Proxmox Installationsumgebung von dem ISO laden.

Proxmox in VM installieren und Einstellungen übernehmen

Nachdem die VM in VirtualBox erstellt ist und sie mit der ISO Datei gestartet wurde (pve >= 8.0; Graphical Installer), wird ein Installationsassistent gestartet, der einige initiale Informationen abfragt. Diese Informationen hängen zwar eigentlich mit dem Einsatz als Server bei STRATO zusammen, können aber nicht hier gesetzt werden. Es muss einiges erstmal für die VM angepasst werden und später auf dem echten Server angepasst werden.
Einige Dialoge des Assistenten sind nicht so wichtig für dieses Szenario, wie z.B. dass man die Lizenz von Proxmox presentiert bekommt und diese per Klick als einverstanden erklären muss. Andere Dialoge spielen hier eine wichtige Rolle. Daher Zeige ich sie hier mit ein paar Erwähnungen zu den Einstellungen.
Hinweis: Der Assistent fragt nicht wenn auf der Platte etwas drauf ist, sondern nimmt an, dass alles daruf gelöscht werden kann!

Platten Auswahl und Größen

In dem Bild zusehen ist der Screenshot von der Seite des Assistenten für die Wahl der Festplatte und der Partitionierung. Der drüber liegende "Harddisk Options" Dialog habe ich per klick auf den Button "Options" weiter unten neben der Plattenauswahl bekommen.
Der Server bei STRATO hat sicher ein paar Hundert Gigabyte platz. STRATO stellt Server mit 2xHDD zur Verfügung oder 2xSSD. Diese sind jeweils mit Softraid Level 1 versehen. Es gibt auch Exoten mit Uraltem Hardware RAID Controller. Einerseits für die Verwendung von RAID und Proxmox besser, andererseits sind diese sehr alt und haben alte Treiber. Weitere Exoten Server sind solche wie mein erster, mit 1xSSD und 2xHDD. Das OS kommt dabei auf die SSD und die Platten stehen für Daten zur Verfügung, wie z.B. VMs.
Abgesehen davon wie viel Platz man auf dem Zielserver hat, muss die Installation von Proxmox in diesem Fall von der VM später auf den Server. Daher bekam die VM auch nur eine kleine 8GB Platte. Das es eine ist, stört auch nicht. Man könnte aber, falls der Server nur 2xHDD hat auch gleich zwei Platten in die VM tun. Wichtig ist der geöffnete Dialog (s. Bild). Man kann oben noch z.B. ZFS auswählen, was bei Installation des OS auf Softraid zu empfehlen ist. Ganz wichtig ist jedoch die letzte Zeile, in der ich 0 eingetragen habe. Sie sagt, dass das Setup keinen Platz für VMs anlegen soll. Das macht in der Vorbereitung keinen Sinn und sonst würden die 8GB aufgeteilt werden in so ~30% Root und den Rest LVM-Thin für VMs. Das würde wahrscheinlich nicht funktionieren. Der Verzicht auf Platz für Proxmox VMs soll aber auch nur zur Vorbereitung reichen.

Sprach Einstellung und Zeitzone

Der Proxmox Intallationsassistent fragt nach den regionalen Einstellungen, wie Sprache und Zeitzone. Dies betrifft lediglich das Linux Backend des Proxmox. Die Sprache würde z.B. bei auswahl von Deutsch Ausgaben von Programmen oder Manpages auf der Konsole in der Deutschen Version anzeigen. Wer Tastatur Einstellung und Sprache in Englisch bevorzugt, kann auch Englisch einstellen. Die Zeitzone ist die Zeiteinstellung für den Proxmox Host, nicht jedoch für Container / VMs. Diese können das für sich festlegen. Das Thema Computer und Zeitzonen ist riesig. Ich habe jedenfalls "Europe/Berlin" eingestellt.

Passwort und Email

Der Setup Assistent fragt nach Passwort und E-Mail Einstellung. Diese Einstellungen gelten für den Linux Nutzer "root", der sich per Konsole, per SSH und per Weboberfläche mit dem Passwort anmelden kann, welches in der Anzeige festgelegt wird. Später können weitere Linux Benutzer und Proxmox interne Nutzer eingestellt werden. Hier geht es zunächst nur um "root".
Da der Proxmox im Internet für jeden erreichbar ist, sollte das Passwort sehr sicher gewählt werden. Abgesehen davon, wird für SSH auch noch eine andere Methode gewählt, um die Sicherheit zu erhöhen. Das wird später erklärt.
Jedoch bei der Installation zur Vorbereitung wird der Proxmox zunächst gut geschützt in der VM installiert. Ferner muss sich öfters angemeldet werden. Es kann hier also ein sehr einfaches Passwort verwendet werden. Das muss dann später geändert werden. Anders gesagt, ich habe in dem Assistenten zunächst ein super einfaches Passwort eingegeben und nach erster Anmeldung über die Weboberfläche das Passwort in ein Komplexeres geändert, da ich dann Copy & Paste hatte.
Das Passwort würde ich mit einem Passwortmanager generieren und verwalten lassen, wenn man nicht bereits ein sicheres Passwort hat.
Die E-Mail Adresse ist die, an die System Mails und ggf. Zusammenfassungen von Proxmox Prozessen, wie dem Backup gesendet werden. Hier kann die Adresse des eigenen Mail Anbieters angegeben werden oder man hat eine E-Mail Adresse von STRATO bekommen. Die Angabe des eigenen Hostnamen (siehe nächste Einstellung) führt zur lokalen Zustellung der Mails.

Primäres Netzwerk (Management Netzwerk)

Der Assistent fragt nun nach dem primären Netzwerk zum Management des Proxmox Servers. Dazu muss man mehrere Dinge wissen.
Proxmox erstellt aus dieser Setup Routine herraus eine virtuelle "Bridge" ("vmbr0"), welche mit der Voreinstellung wie ein Netzwerk Switch alles transparent durchleitet. Das Netzwerk, an dem der Proxmox angeschlossen ist, sieht den Proxmox Host und seine Container / VMs transparent. In Linux sieht man dass das "reale Interface" kein IP Einstellungen erhält, sondern diese auf der Bridge landen.
Der Server bei STRATO hat oftmals zwei physikalische Schnittstellen. Eine ist dabei zum Internet gerouted, die andere kann über die zusatzfunktion "ProNet VLAN" zusätlich angeschlossen werden, um den Server privat mit einem anderen zu Verbinden innerhalb des Rechenzentrums. Man könnte also als Management Interface das private Netzwerk vorsehen.
Es kann für die öffentliche Schnittstelle allerdings nur die eine von STRATO vergebene IP Adresse verwendet werden (IPv4). Daher und weil mein Server nur die eine Verbindung besitzt, wird das mit der virtuellen Brücke später noch geändert.
Da in der Vorbereitung der Proxmox in einer VirtualBox VM installiert wird, macht es keinen sinn, hier die Netzwerkeinstellungen des Servers bei Strato einzustellen. Diese müssen nach dem Transfer zum Server geändert werden (wird hier gezeigt). Der Setup Assistent zeigt IP Einstellungen an, die er per DHCP ermittelt hat, wird diese aber später statisch übernehmen. Die VM hat nur eine Netzwerkschnittstelle. Daher braucht man oben nichts zu ändern. Auch die CIDR (IP+Subnetz Maske), Gateway und DNS Server müssen nicht geändert werden. Ich habe nur den FQDN des Proxmox auf den Hostnamen meines Servers bei STRATO eingestellt. Der Hostname steht zwar in dem Prompt der Shell, wenn man auf den Server bei STRATO sich per SSH einloggt. Jedoch der FQDN ist noch länger. Am besten erfährt man ihn mit einem cat /etc/hosts und sucht hinter der IP nach eben den Hostnamen + restlicher Domain. Das trägt man in den Assistenten ein.

Fertigstellung der Installation

Nachdem man die vorher genannten Seiten des Assistenten eingestellt hat, zeigt der Assistent zuletzt noch eine Zusammenfassung an. Unter dessen Tabelle befindet sich noch eine Checkbox, die steuert, ob die VM automatisch neu startet, wenn die Installation durch ist.
Man bestätigt diese Anzeige und die Installation wird ausgeführt. Ab jetzt wird wie oben hingewiesen die Festplatte gelöscht und neu eingerichtet. Die Installation sollte ~5min dauern. Danach, sofern man an der Checkbox nichts geändert hat, wird die VM neu gestartet. Das ISO Image wird dabei ganz aus der VM entfernt. Das ist so auch ok.
Nach dem Neustart sollte der virtuelle Proxmox starten und relativ bald nach dem Grub Bootmanager einem sagen, dass man die Weboberfläche über eine IP Adresse oder dem FQDN erreichen könnte. Ferner wird einem eine Login Abfrage angeboten. Man kann nun root und das Passwort (s. oben) eingeben um den Login zu testen.
Die oben gezeigten Portfreigaben lassen aber auch das Aufrufen von SSH und der Weboberfläche auf den Proxmox zu. Aber Achtung: Jeh nachdem muss man etwas kleines beachten. Zuerst, dass der im "Bildschirm" der VM angezeigt Hostname nicht verwendet werden kann. Denn dieser führt zu dem echten STRATO Server. Bei SSH habe ich (siehe Bild 1 oben) eingestellt das auf meinem Rechner der Port 2224 weitergeleitet werden soll an den SSH Port des Proxmox. Also muss man für eine SSH Verbindung eingeben

ssh -p 2224 root@<Host-Rechner-IP>

Für die Weboberfläche kann ich den Port 8006 wie Proxmox üblich verwenden, aber auch hier die Host-Rechner-IP in den Webbrowser eingeben. Dann sollte sich die Webanmeldung für den Proxmox zeigen.
Gibt man in der Weboberfläche als Nutzer "root" ein, ferner (beide Varianten) das Passwort, welches man im Setup Assistenten eingegeben hat, sollte man auf dem Proxmox eingeloggt werden.
Ist man an dem Schritt, ist der erste Teil der Installation von Proxmox in der VM abgeschlossen. Die VM habe ich dann heruntergefahren und einen Snapshot in VirtualBox angelegt. Den Server bei STRATO braucht man noch um weitere Daten übernehmen zu können.