Virtualisierung

Multipass: VMs, Container, Cluster – einfach wie nie

Mit Multipass hat Canonical wirklich einen großen Wurf gelandet - für Cloud-Interessierte, aber auch normale Desktop-Nutzer!

Multipass ist ein kleines, ziemlich mächtiges Kommandozeilen-Tool von Ubuntu-Mama Canonical für Windows, Mac und Linux. Über super simple Befehle lassen sich komplette virtuelle Maschinen mit Ubuntu als Betriebssystem erstellen – multipass launch genügt im Zweifel! Ihr wollt lieber eine Container-Umgebung samt Portainer-Web-Verwaltung? Gut, dann halt multipass docker und fertig! Mehr? Ihr braucht quasi ein lokales Rechenzentrum, eine lokale „Cloud-Simulation“? multipass minikube erledigt auch das. Multipass macht Komplexes so einfach, dass es daheim aber auch NAS, Raspberry Pi & Co. ersetzen kann! Man kommt um das Wortspiel MultiSpass einfach nicht herum ;)

Was macht Multipass?

Eine virtuelle Maschine aufzusetzen ist relativ simpel, auch ohne Vorwissen – aber mit einigem Aufwand verbunden. Container als schlankere Alternativen sind zumindest für Laien hier und da etwas komplexer in der Einrichtung – einmal verstanden, geht es aber deutlich fixer. Mit Multipass geht es aber noch viel einfacher: Das Tool setzt standardmäßig schlicht und ergreifend eine virtuelle Maschine mit Ubuntu 20.04 LTS auf – ohne jegliche Konfiguration. Im Hintergrund wird dafür entweder Windows‘ nativer Virtualisierungsdienst Hyper-V genutzt oder VirtualBox im Headless-Modus (also ohne grafische Oberfläche). Davon bekommt Ihr aber gar nichts mit. Alternativ lassen sich andere Ubuntu-Versionen nutzen.

Und noch zwei Spezialfälle bietet Multipass: Zum einen lässt sich eine Docker-Umgebung aufsetzen, über die Ihr dann beliebige Docker-Container nutzen könnt, ganz komfortabel über die Web-Verwaltung Portainer. Zum anderen steht mit Minikube auch noch ein komplettes, lokales Kubernetes-Cluster zur Verfügung – die Basis für etliche Cloud-Dienste im WWW. So ein Kubernetes-Cluster besteht im Grunde aus mehreren zusammengeschalteten Rechnern und darauf laufenden Containern, die eben von Kubernetes verwaltet beziehungsweise orchestriert werden, wie es im Container-Zusammenhang heißt. Ein solches Cluster betriebsbereit aufzusetzen ist nun wahrlich nicht mehr ganz trivial – jedenfalls nicht ohne Multipass ;) Beide Spezialfälle sind letztlich übrigens auch nur virtuelle Maschinen, in denen eben die nötige Docker- und Kubernetes-Software läuft. Und auch hier gilt: Es ist keinerlei Konfiguration notwendig, alles läuft Out-of-the-Box.

Für Otto Normal-Desktop-Nutzer klingt das vielleicht noch nicht sooo spannend. Aber das täuscht. Gut, Kubernetes ist daheim im Grunde gar nicht interessant und selbst Container dürften sehr selten im Einsatz sein. Aber ein Linux im Netzwerk hat doch fast jeder irgendwo, oder? Egal ob NAS, Raspberry Pi oder irgendwelche Medienserver, im Grunde sind das alles einfach nur Computer mit Linux und ein paar installierten Tools. Und genau das lässt sich eben wunderbar virtualisieren – ein Gerät, das immer läuft genügt, es müssen nicht Raspi für die Heimautomation, NAS für die Daten, ein Rechner für den Medienserver und noch ein Gerät als Firewall oder so laufen. Mit Virtualisierung könnt Ihr daheim genauso Hardware- und Stromkosten sparen wie es in Rechenzentren gemacht wird.

Das geht natürlich schon seit vielen Jahren, aber Multipass macht einige dieser Schritte nun so einfach, dass es auch für Otto Normalverbraucher interessant wird – letztlich ist es (fast) nur eine neue, simple Schnittstelle für altbekannte Dienste.

Man sollte allerdings noch erwähnen, dass Multipass nicht wirklich dafür gemacht ist. Zielgruppe sind Entwickler und professionelle Nutzer, die mal eben eine Testumgebung aufsetzen wollen – und mit Multipass und ein ganz klein wenig Scripting ließe sich tatsächlich mal eben ein komplettes virtuelles Rechenzentrum realisieren.

Beispiel: Webserver mit Multipass einrichten

Im Folgenden seht Ihr, wie Ihr einen Webserver im Heimnetz mit Multipass aufsetzt, sprich:

  • VM mit Ubuntu aufsetzen
  • IP-Adresse von der Fritzbox beziehen
  • Apache-Webserver installieren

Zunächst mal müsst Ihr wissen, wie Eure lokale Netzwerkverbindung ins LAN heißt – Multipass kann verfügbare Verbindungen auflisten:

multipass networks

Unter Windows kommt dabei zum Beispiel standardmäßig LAN-Verbindung zum Vorschein.

Beim Aufsetzen der Ubuntu-VM gebt Ihr nun schlicht dieses Netzwerk mit an – sowie einen Namen für die VM, etwa meinserver:

multipass launch --name meinserver --network name=LAN-Verbindung

Yep, das ist alles! Das Erstellen dauert hier auf einem betagten Core-i7-Rechner knapp 50 Sekunden. Nun könnt Ihr Euch die laufenden VMs anschauen:

multipass list

gibt dann zum Beispiel sowas hier aus:

Name                    State             IPv4             Image
meinserver              Running           192.168.178.75   Ubuntu 20.04 LTS

Ihr seht schon, der Rechner hat eine ganz normale IP-Adresse aus der Standard-Fritzbox-Range. Ihr könnt die Maschine auch direkt anpingen:

ping 192.168.178.75

Jetzt fehlt noch der Apache-Webserver, damit die VM auch im Browser erreichbar ist. Dafür gibt es nun mehrere Wege. Weg 1 von „außen“:

 multipass exec meinserver -- sudo apt-get install apache2

Über exec lassen sich Kommandos in der angegebenen VM ausführen, hier der Lesbarkeit halber getrennt durch also der Befehl zum Installieren von Apache. Alternativ funktioniert natürlich auch Weg 2 von „innen“:

multipass shell meinserver
ubuntu@meinserver:~$ sudo apt-get install apache2

Über shell landet Ihr einfach direkt in der VM, hier mit dem Standardnutzer „ubuntu“, und könnt dort ganz normal arbeiten. Egal, welchen Weg Ihr beschreitet, anschließend könnt Ihr die vergebene IP-Adresse im Browser eingeben und landet dann auf der Apache-Standardseite.

apache-standardseite.
Ein eigener Webserver mit zwei Befehlen

Mehr Multipass

Multipass bietet einige Befehle zum Stoppen, Suspendieren, Starten, Wiederherstellen und Löschen von VMs – und zu allen Befehlen separate Hilfe über

multipass exec --help
multipass launch --help

und so weiter. Wenn Ihr wirklich praktisch damit arbeiten und zum Beispiel ein NAS als VM nutzen wollt, muss freilich noch etwas mehr gewerkelt werden. Das eigentliche Aufsetzen eines NAS entspricht weitestgehend dem Vorgehen auf echter, separater Hardware, wie wir es hier ausführlich zeigen. Statt eines externen USB-Datenträgers würde es sich bei Multipass anbieten, einfach einen Ordner Eures normalen Rechners einzubinden (multipass mount).

Solch ein virtueller Server lässt sich dann wunderbar einfach und schnell starten und stoppen, er verhält sich im Betrieb genauso wie „echte“ Server etwa auf Raspberry-Pi-Basis und wenn er gerade nicht beansprucht wird, verbraucht so gut wie gar keine Systemressourcen.

Natürlich ist das alles nicht jedermanns Sache und wenn der echte Rechner daheim meist ausgeschaltet ist und Ihr nur per Smartphone/Tablet auf einen Raspi-Medienserver zugreift, macht es keinen Sinn, einen „großen“ Rechner ständig laufen zu lassen. Wenn aber der PC sowieso dauernd läuft, können etwaige Netzwerkdienste auch genauso gut auf virtuellen Rechnern laufen.

Und eigentlich haben wir das Beste sogar noch verschwiegen: In der Praxis besteht etwa ein Medienserver ja nicht bloß aus Ubuntu und Apache, es kommen Nutzer, Rechtekonfigurationen, etliche Software-Pakete, Konfigurationen für Freigaben und so weiter hinzu – da fließen schon mal ein paar Stündchen Arbeit rein. All diese Konfiguriere- und Einrichterei müsst Ihr aber nicht direkt in der VM vornehmen! Ihr könnt all diese Anweisungen in ein separates Textdokument schreiben und dieses beim Anlegen von VMs mit multipass launch angeben – und schon wird keine leere VM erzeugt, sondern eine nach Euren Wünschen! So lässt sich dann mit einem einzigen Befehl zum Beispiel ein komplettes (!), betriebsbereites NAS aufsetzen:

multipass launch --cloud-init meine-konfiguration.txt

Das Zauberwort hier heißt cloud-init – ein Industriestandard, der im professionellen Bereich verwendet wird, also zum Beispiel bei AWS, Azure & Co. Der Vorteil daheim? Nie wieder Backups! Ihr spielt mit dem Server herum und irgendwas geht kaputt? Egal, VM löschen, VM neu erstellen lassen – alles wieder gut! Das Erstellen der eigenen cloud-init-Konfiguration ist dann allerdings nicht immer ganz trivial, es gibt einfach sehr viele Möglichkeiten und das Format ist pingelig, wenn es um die Syntax geht. Aber cloud-init ist wieder ein anderes Thema, unser Punkt war ja einfach nur: Multipass ist super :)

Oder Ihr macht es Euch einfach, die größeren NAS-Modelle bringen fast immer eigene grafische Werkzeuge mit, um Container und VMs zu verwalten:

13% sparen
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"
Schließen

Ooopsi!

Bitte deaktiviere Deinen Adblocker.