Zum Inhalt springen

Virtualisierung

Du lernst Linux nicht auf deinem Notebook direkt, sondern in einer virtuellen Maschine (VM). Diese Seite erklärt, was dabei technisch passiert, und endet mit einer Checkliste, mit der du prüfst, ob deine VM für den Rest des Kurses bereit ist. Die konkrete Einrichtung steht unter Lab-Umgebung.

Eine VM ist ein kompletter Computer aus Software: Prozessor, Arbeitsspeicher, Festplatte, Netzwerkkarte, alles simuliert oder vom echten Rechner geliehen. Für das Lernen hat das drei grosse Vorteile:

  • Nichts kann kaputtgehen. Die virtuelle Festplatte ist eine Datei auf deinem Notebook. Wenn du das System zerlegst, löschst du die Datei und fängst neu an. Dein Windows oder macOS bleibt unberührt.
  • Zurückspulen. Mit Snapshots kehrst du in Sekunden zu einem früheren Stand zurück.
  • Mehrere Systeme nebeneinander. Du kannst zwei Linux-VMs gleichzeitig laufen lassen und sie miteinander vernetzen, ohne zweite Hardware.

Der Preis: Dein Rechner muss zwei Betriebssysteme gleichzeitig ausführen. CPU und RAM, die du der VM gibst, fehlen dem Wirt.

Begriff Bedeutung
Wirt (Host) Der physische Rechner und sein Betriebssystem, zum Beispiel dein Notebook mit Windows.
Gast (Guest) Das Betriebssystem in der VM, hier Ubuntu.
Hypervisor Die Software, die VMs erzeugt und ihnen die Hardware zuteilt. Auch Virtual Machine Monitor (VMM) genannt.
Gasterweiterungen Treiber im Gast, die Maus, Zwischenablage, Bildschirmgrösse und Dateiaustausch mit dem Wirt verbessern.

Hypervisoren werden nach ihrer Position im Stapel unterschieden:

flowchart TB
    subgraph T1["Typ 1: Bare Metal"]
        direction TB
        A1[VM Ubuntu] --- A2[VM Windows]
        A1 --- H1[Hypervisor]
        A2 --- H1
        H1 --- HW1[Hardware]
    end
    subgraph T2["Typ 2: Hosted"]
        direction TB
        B1[VM Ubuntu] --- H2[Hypervisor als Programm]
        H2 --- OS2[Wirt-Betriebssystem]
        OS2 --- HW2[Hardware]
    end
  • Typ 1 läuft direkt auf der Hardware, ohne Betriebssystem darunter. Das ist die Form für Server und Rechenzentren: VMware ESXi, Microsoft Hyper-V, Xen und KVM, das als Teil des Linux-Kernels arbeitet. Auch Proxmox VE, auf dem später deine Server-VM läuft, gehört dazu (Linux mit KVM).
  • Typ 2 ist ein normales Programm auf deinem Wirt-Betriebssystem: VirtualBox, VMware Workstation und Fusion, Parallels, UTM auf dem Mac. Einfach zu installieren, etwas langsamer, ideal für ein Notebook.

Die Grenze ist in der Praxis unscharf. Hyper-V auf einem Windows-Notebook ist technisch Typ 1, fühlt sich aber wie Typ 2 an. Und das Windows Subsystem for Linux (WSL 2) ist eine kleine VM unter Hyper-V, die sich wie ein Programm verhält.

Ein Snapshot friert den aktuellen Zustand der VM ein: Festplatte, und bei einer laufenden VM auch Arbeitsspeicher. Danach schreibt der Hypervisor Änderungen in eine separate Datei. Zurücksetzen heisst, diese Datei zu verwerfen.

Regeln, die sich bewährt haben:

  • Vor jedem Modul einen Snapshot mit sprechendem Namen: vor-modul-04.
  • Vor jedem Befehl, bei dem du dir unsicher bist, ob er gut ausgeht.
  • Snapshots sind kein Backup. Sie liegen auf derselben Platte wie die VM und bremsen bei langen Ketten. Alte Snapshots nach Abschluss eines Moduls löschen.

Die VM bekommt nur, was der Wirt entbehren kann:

Ressource Empfehlung Faustregel
CPU 2 Kerne Nie mehr als die Hälfte der physischen Kerne
RAM 4 GB Nie mehr als die Hälfte des physischen Speichers
Disk 25 GB, dynamisch wachsend Dynamische Disks belegen nur den tatsächlich genutzten Platz
Netzwerk NAT Die VM kommt ins Internet, ist aber vom LAN aus nicht erreichbar

Wenn der Wirt zu wenig Speicher übrig hat, wird nicht die VM langsam, sondern alles.

Öffne in der VM ein Terminal (Ctrl+Alt+T auf dem Ubuntu-Desktop) und arbeite die Befehle durch. Überlege dir vor jedem Befehl, was du erwartest.

Terminal-Fenster
cat /etc/os-release

Die Zeile PRETTY_NAME sollte Ubuntu 24.04 oder neuer nennen.

Terminal-Fenster
nproc
free -h
df -h /

nproc zählt die CPU-Kerne (mindestens 2). free -h zeigt den Arbeitsspeicher in lesbaren Einheiten; die Spalte total sollte etwa 4 GB nennen. df -h / zeigt die Grösse und den freien Platz des Wurzeldateisystems, mindestens 10 GB sollten frei sein.

Terminal-Fenster
ip -4 addr
ping -c 3 ubuntu.com

ip -4 addr listet die Netzwerkschnittstellen mit IPv4-Adressen. Neben lo (127.0.0.1, die VM selbst) muss eine zweite Schnittstelle eine Adresse haben, bei NAT oft 10.0.2.15. ping -c 3 schickt drei Pakete ins Internet; drei Antworten heissen, dass Netzwerk und Namensauflösung funktionieren.

Terminal-Fenster
sudo -v

sudo -v fragt dein Passwort ab und prüft, ob du Administratorrechte hast. Keine Fehlermeldung ist die richtige Antwort.

Lösung anzeigen
Terminal-Fenster
mkdir -p ~/labs/01-einstieg
script ~/labs/01-einstieg/vm-check.txt
cat /etc/os-release
nproc
free -h
df -h /
ip -4 addr
ping -c 3 ubuntu.com
sudo -v
# 1. VirtualBox auf Windows 11, Typ 2 (läuft als Programm auf dem Wirt)
# 2. 2 Kerne, 3.8 GB RAM, 18 GB frei auf /
# 3. Ja, Snapshot «vor-modul-01»
exit

Das Protokoll enthält danach alle Befehle, ihre Ausgaben und deine Kommentare.

Selbstcheck · 5 Fragen

1. Was ist der Wirt?
2. Welche Hypervisoren sind Typ 2? (mehrere Antworten möglich)
3. Wozu dient ein Snapshot?
4. Wie viel RAM darf die VM maximal bekommen?
5. Welcher Befehl zeigt die IPv4-Adressen der VM?