Begriff
Virtualisierung
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Virtualisierung ist Inception für Computer. Du hast einen echten Computer (Hardware). Darauf installierst du eine Software, die so tut, als wäre sie noch ein Computer. Du kannst Windows in einem Fenster auf deinem Mac laufen lassen. Der echte Computer heißt Host (Wirt). Der virtuelle Computer heißt Guest (Gast).
Das ist die Basis der gesamten Cloud. Amazon hat keine 10 Millionen physischen Server, sondern Millionen virtueller Server, die sich die Hardware teilen.
Merksatz: Die Erstellung einer virtuellen (software-basierten) Version einer Hardware-Ressource (Server, Speicher, Netzwerk).
Warum macht man das?
- Effizienz: Ein Server langweilt sich oft (5% Auslastung). Mit 10 VMs darauf ist er zu 50% ausgelastet -> Strom gespart.
- Sicherheit: Wenn du Viren testen willst, machst du das in einer VM. Wenn der Virus alles zerstört, löschst du einfach die VM-Datei und startest neu. Dein echter PC bleibt heil (Sandbox).
- Legacy: Deine uralte Buchhaltungs-Software läuft nur auf Windows 98? Installiere Windows 98 in einer VM.
Tools für dich: VirtualBox (gratis) oder VMware.
1. Hypervisor
Die Software, die das alles steuert, heißt Hypervisor.
- Type 1 (Bare Metal): Läuft direkt auf der Hardware (ohne Windows drunter). Extrem schnell. Standard im Rechenzentrum (ESXi, Hyper-V).
- Type 2 (Hosted): Läuft als Programm auf deinem Windows (VirtualBox). Langsamer, aber einfacher.
2. VT-x / AMD-V
Virtualisierung ist so wichtig, dass CPUs (Intel/AMD) spezielle Befehle dafür eingebaut haben. Die Hardware hilft dem Hypervisor, den Gast-Code direkt auszuführen, ohne alles mühsam zu übersetzen. Das macht VMs fast so schnell wie echte Hardware.
1. Ring Ebenen & Ring -1
Der Prozessor hat Schutzstufen (Rings).
- Ring 3: Normale Apps (Browser). Dürfen fast nichts.
- Ring 0: Der Kernel des Betriebssystems. Darf alles. In einer VM glaubt der Gast-Kernel (z. B. Windows), er liefe auf Ring 0. Aber der Hypervisor darf das nicht zulassen, sonst könnte die VM den Host-PC kontrollieren. Moderne CPUs haben daher einen geheimen Ring -1 eingeführt. Hier läuft der Hypervisor und fängt alle kritischen Befehle des Gast-Kernels ab, bevor sie die echte Hardware erreichen. Das nennt man Hardware-assistierte Virtualisierung.
2. Overcommitment (Der Bankraub-Trick)
Provider wie AWS nutzen einen Trick: Sie verkaufen mehr Ressourcen, als sie physisch haben. Stell dir vor, ein Server hat 100 GB RAM. Der Provider verkauft 10 VMs mit je 20 GB RAM. Das geht gut, weil fast nie alle VMs gleichzeitig ihren vollen Speicher nutzen. Kritisch wird es, wenn doch alle gleichzeitig Last haben. Dann muss der Hypervisor anfangen zu "jonglieren" (Memory Ballooning): Er stiehlt einer gelangweilten VM RAM, um ihn einer arbeitenden VM zu geben. Wenn das nicht reicht, wird das System extrem langsam.
3. Paravirtualisierung vs. Full Virtualization
- Full Virtualization: Die VM weiß nicht, dass sie eine VM ist. Der Hypervisor muss alles perfekt vorgaukeln. (Sicher, aber langsamer).
- Paravirtualisierung: Der Gast-Kernel weiß, dass er eine VM ist. Er nutzt spezielle Treiber (virtio), die direkt mit dem Hypervisor reden, statt den Umweg über die Simulation einer echten Festplatte zu gehen. Das ist deutlich schneller und heute der Standard für Linux-Server in der Cloud.
Quick-Check
Kann ich Fortnite in einer VM spielen?
Schwierig. Grafikkarten-Virtualisierung ist komplex. Meistens ruckelt es, weil die VM keinen direkten Zugriff auf die GPU-Power hat. Cloud-Gaming (GeForce Now) löst das anders.Was ist der Unterschied zu Containern (Docker)?
Eine VM virtualisiert die Hardware (eigener Kernel). Ein Container virtualisiert das Betriebssystem (geteilter Kernel). Container sind viel leichter, aber VMs sind stärker isoliert.Kann eine VM ausbrechen?
Sehr selten ("VM Escape"). Wenn der Hypervisor einen Bug hat, könnte der Gast auf den Wirt zugreifen. Das ist der Super-GA für Cloud-Anbieter.