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.
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.
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.
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.
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).
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.
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!
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.
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.
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.
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.
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>