Proxmox in einer virtuellen Maschine ausprobieren
VMware geht den Bach runter. Ich habe die freie Alternative "Proxmox" getestet.
Beim Testen in einer virtuellen Umgebung muss man allerdings etwas beachten.
Das Ende von VMware
Ich selber verwende VMware und bin damit eigentlich seit Jahren sehr zufrieden. Der Hypervisor, das ESXi, ist gratis und die ganzen Premium-Features, die über das vCenter kommen, brauche ich nicht wirklich.
Und selbst, wenn ich mich entschließe, einen zweiten Server hinzuzufügen, gibt es eine relativ günstige Lizenz "vSphere Essentials", die einmalig knapp 1.000€ (IIRC) kostet und ich kann dann auf bis zu drei Server aufstocken und erhalte die coolen Features wie z. B. "vMotion", um virtuellen Maschinen von einem Host auf den anderen umzuziehen, und zwar im laufenden Betrieb.
… dieser Plan ist jetzt geplatzt. 😟
Wie aus diesem heise-Artikel hervorgeht, hat Broadcom die Firma gekauft und vergrault jetzt fleißig alle Kunden.
"Kunden" wie mich, die bisher gar nix gezahlt haben und nur mit einem Kauf liebäugeln, will der neue Besitzer ja gleich gar nicht haben. Und ich will keine Abo-Software.
Ergo: VMware muss mittelfristig ersetzt werden!
Proxmox
Proxmox, genauer "PVE", kurz für "Proxmox Virtual Environment" ist, genauso wie VMware, ein Hypervisor Typ 1. Er verwendet KVM und wird auf Basis von Debian installiert.
Installation
Die Installation ist wie jede Linux-Installation denkbar einfach. Installer-ISO von der Webseite herunterladen, booten, den Installations-Wizard durchlaufen, der nur minimale Konfiguration (wie z. B. Netzwerk) erfordert. Danach ist eine schicke Web-Oberfläche im Browser verfügbar, über die man alles weiteres macht.
Ich möchte in diesem Artikel gar nicht auf die Installation selber eingehen, sondern auf ein kleines Detail, was nirgendwo steht.
Die Crux in der virtuellen Umgebung
innerhalb VMware
Die Dokumentation schreibt sogar explizit, dass das Betreiben von Proxmox in einer virtuellen Umgebung funktioniert.
Proxmox VE kann als Gast auf allen gängigen Desktop-Virtualisierungs-Lösungen installiert werden, solange Sie [sic!] "Nested Virtualization" erlauben.
Ich habe mir also in VMware eine virtuelle Maschine angelegt und Proxmox installiert. Danach habe ich mir innerhalb Proxmox eine virtuelle Maschine angelegt und versucht, dort ein Debian zu installieren.
Verwundert war ich, dass der Debian-Installer mir bei der Netzwerkkonfiguration gesagt hat, dass er nicht automatisch mit DHCP konfigurieren konnte. Ich hab mir nix groß gedacht und dann sowieso statische IPs zugewiesen.
Doch auch beim Abschluss der Installation gab es Probleme. Der Installer konnte den Spiegelserver für die Paketquellen nicht erreichen. Als ich auf die Konsole bin, konnte ich das Problem erstmals in seiner ganzen Ausprägung sehen: Die VM in der VM hatte keine Internetverbindung. 🙁
Nach vielen Lesen und Rumprobieren hab ich daraufhin erstmal aufgegeben und habe mit es mit VirtualBox probiert.
innerhalb VirtualBox
VirtualBox läuft auf meinem Desktop-PC. Im Gegensatz zu VMware, wo die virtuellen Maschinen quasi allgegenwärtig sind, muss ich bei VirtualBox die ganze Zeit den Desktop-Rechner und das VirtualBox-VM-Fenster offen lassen.
No problem, ich will ja nur testen.
Bei VirtualBox muss man in der Netzwerkkonfiguration auf "Netzwerkbrücke" schalten, damit die erstellte virtuelle Maschine auch im ganzen Netzwerk sichtbar ist, d. h. sie überall hin zugreifen kann und auch alle anderen Teilnehmer im Netzwerk die virtuelle Maschine erreichen können.
Selbes Spielchen: Proxmox installiert, innerhalb von Proxmox eine VM angelegt und darauf versucht, Debian zu installieren. Selbes Ergebnis: Kein Internet.
Um etwas genauer zu sein: Die Debian-Maschine konnte einzig die Proxmox-Maschine erreichen, aber sonst niemanden. D. h. auch weder das Gateway, um ins Internet zu kommen, noch DNS- oder DHCP-Server.
-
Debian-Installer: DHCP-Server konnte nicht erreicht werden -
Netzwerk-Schema mit VirtualBox-PC, Proxmox- und Debian-VMs. Die Debian-VM hat einzig eine Verbindung zur Proxmox-VM, der Rest ist abgeschnitten. -
Konsole während der Debian-Installations: IP-Adresse ist zugewiesen, allerdings kann nur der Proxmox-Host erreicht werden, weder andere Rechner im Netzwerk, noch das Gateway und damit auch nicht das Internet
Routing…?
Ich habe erst Proxmox verdächtig, dass dort irgendwas nicht eingestellt ist. Die Dokumentation schlägt den "Bridge"-Modus vor, genau das, was ich auch möchte: Alle Maschinen im selben Netz. Nix an Routing zu konfigurieren, sondern out-of-the-box muss das einfach gehen.
Tat es aber nicht.
Ich habe dann manuelle Routings erstellt und Teilerfolge verzeichnet, dass bestimmte Rechner
die VM erreicht haben. Aber selbst ein ping
hatte dann merkwürdige Ausgaben à la
Redirect Host(New nexthop: ...)
, dass etwas im Netzwerk nicht stimmt und es einen einfacheren Weg
gibt. Ja klar, nämlich einfach direkt das Paket vom Quell- zum Zielrechner schicken.
Die sind (sollten!) ja im selben Netz sein.
Lösung
Schlussendlich habe ich dann die Lösung gefunden, wie ich bei VirtualBox die VM-Einstellungen durchgeklickt habe: Der Promiscuous-Modus.
Im Default steht der auf "deny". Normal macht das Sinn, dass die VM nicht den gesamten Traffic "ablauschen" darf, sondern nur den Traffic bekommt, der für sie zuständig ist. Im Falle von Proxmox (oder allgemeiner: einer Virtualisierungslösung) ist das aber fatal, weil VirtualBox dann denkt "nur Traffic zu Proxmox darf die Proxmox-VM erreichen". Kommt Traffic für die Debian-VM, wird dieser abgeblockt, obwohl die Debian-VM ja auf der Proxmox-VM läuft (VM in VM).
Nachdem die Einstellung auf "erlauben für allen [sic!] VMs und den Host" gestellt ist, klappt es auch. 😌
Der Debian-Installer erreicht während der Installation den DHCP und bezieht von dort automatisch eine IP-Adresse.
-
Debian-Installer: DHCP-Server konnte erreicht werden -
Netzwerk-Schema mit VirtualBox-PC, Proxmox- und Debian-VMs. Die Debian-VM ist über die Netzwerkbrücke an das gesamte Netzwerk angeschlossen. -
Konsole während der Debian-Installations: IP-Adresse ist vom DHCP bezogen. Andere Rechner im Netzwerk sind erreichbar, so auch das Gateway und damit das Internet.
Mit diesem Wissen konnte ich Proxmox auch auf VMware zum Laufen bringen. Dort muss man in den zugehörigen virtuellen Switch gehen und in diesem den Promiscuous-Modus aktivieren.
Fazit
Eigentlich logisch: Promiscuous-Modus aktivieren, damit alle Pakete zugestellt werden.
Dennoch sehr nervig, weil nirgendwo ein Hint in der Proxmox-Dokumentation steht, dass man an diese kleine Einstellung denken muss.
Hinterlasst gerne einen Kommentar, wenn euch dieser Artikel geholfen hat oder/und ihr eure Erfahrungen mit Proxmox teilen wollt.
Kommentare zu diesem Artikel
Schreib einen Kommentar zum Artikel
Vielen Dank für deinen Kommentar! :-)
Da alle Kommentare von Hand bearbeitet werden,
gedulde dich bitte, bis der Kommentar freigeschaltet wird.
Formular nicht richtig ausgefüllt.
Oops... da ist was schiefgelaufen :-(
Dein Kommentar konnte nicht gespeichert werden.
Bitte probier es später nochmal.