[[start|zurück]]====== Virtualisierung – Grundlagen (Hypervisor, VMs, Snapshots, Container) ====== Virtualisierung ermöglicht es, mehrere Betriebssysteme oder Dienste gleichzeitig auf derselben Hardware zu betreiben. Sie trennt Hardware und Software logisch voneinander und sorgt für Flexibilität, Ausfallsicherheit und bessere Ressourcennutzung. --- ====== 1. Warum Virtualisierung? ====== * mehrere Systeme auf einer Hardware * bessere Auslastung (CPU, RAM) * hohe Flexibilität * schnelle Wiederherstellung (Snapshots) * leichter Umzug (Migration) * Isolation von Anwendungen * Kostenersparnis (weniger Server) Beispiele aus der Praxis: * Proxmox-Cluster * VMware ESXi * Hyper-V * Virtuelle Testumgebungen * Docker-Container --- ====== 2. Hypervisor – Typ 1 und Typ 2 ====== Ein Hypervisor ist eine Software, die virtuelle Maschinen betreibt. ==== Typ 1 – Bare-Metal Hypervisor ==== läuft direkt auf der Hardware: * Proxmox VE * VMware ESXi * Microsoft Hyper-V (Server) * XCP-ng Vorteile: * hohe Performance * stabil und sicher * ideal für Server ASCII: .--------------------------------. | Hardware | |.------------------------------.| || Hypervisor (Typ 1). || ||.------+------+--------------.|| ||| VM-1 | VM-2 | ... ||| ||'------+------+--------------'|| |'------------------------------'| '--------------------------------' ==== Typ 2 – Hosted Hypervisor ==== läuft auf einem bestehenden Betriebssystem: * VirtualBox * VMware Workstation * Parallels Vorteile: * gut für Tests & Schulung * einfacher zu bedienen .------------------------------------. | Hardware | | .--------------------------------. | | |OS (Host-Betriebssystem) | | | | .----------------------------. | | | | |Hypervisor | | | | | | .------+------+----------. | | | | | | | VM-1 | VM-2 | ... | | | | | | | '------+------+----------' | | | | | '----------------------------' | | | '--------------------------------' | '------------------------------------' --- ====== 3. Virtuelle Maschinen (VMs) ====== Eine VM ist ein vollständiges Betriebssystem innerhalb eines Hypervisors. Enthält: * virtuelle CPU(s) * RAM * virtuelle Festplatte (z. B. qcow2, vmdk, vhdx) * virtuelle Netzwerkkarte * BIOS/UEFI * eigene Treiber Beispiele: * Windows Server 2022 * Debian / Ubuntu Linux * Firewall-VM (OPNsense) * Datenbankserver Vorteile: * komplett isoliert * beliebig duplizierbar * portabel --- ====== 4. Snapshots ====== Snapshots speichern den Zustand einer VM zu einem Zeitpunkt. Beinhalten: * RAM (optional) * Festplattenzustand * Konfiguration Nutzen: * schnelle Rückkehr bei Fehlern * ideal für Updates * Test-Umgebungen Wichtiger Hinweis: * Snapshots sind **kein Backup** * Snapshots können Speicher fressen, wenn sie lange existieren ASCII: Snapshot A → Snapshot B → Snapshot C --- ====== 5. Live Migration / HA ====== Moderne Hypervisoren erlauben: ==== Live Migration ==== VM läuft weiter, während sie auf einen anderen Host verschoben wird. ==== HA – High Availability ==== Wenn ein Hypervisor ausfällt, übernimmt ein anderer. Voraussetzung: * Shared Storage * Cluster * funktionierendes Netzwerk --- ====== 6. Storage in Virtualisierung ====== Virtuelle Maschinen können verschiedene Datenträger nutzen: * lokale SSD/NVMe * ZFS-Pools * Ceph (Cluster Storage) * NFS/SMB Storage * iSCSI-SAN * LVM-Thin In Unternehmensumgebungen: * Storage redundant * Snapshots & Backups automatisiert --- ====== 7. Container vs Virtuelle Maschinen ====== Viele verwechseln Container mit VMs. ===== Virtuelle Maschinen ===== * vollständiges Betriebssystem * hohe Isolation * Ressourcen sind „schwer“ * ideal für Server, AD, Datenbanken ===== Container ===== * teilen den Kernel mit dem Host * leichtgewichtig * sehr schnell * ideal für Microservices & Webapps Beispiele: * Docker * Podman * Kubernetes ASCII: VM: Host → Hypervisor → vollständiges OS → App Container: Host → Kernel → Container → App ===== Vorteile von Containern ===== * starten in Sekunden * minimaler Ressourcenverbrauch * perfekt für DevOps und Microservices * ideal für Traefik, Nextcloud, Vaultwarden, Mailserver etc. ===== Nachteile ===== * keine vollständige Isolation * Kernel wird geteilt * nicht ideal für klassische Windows-Dienste --- ====== 8. Orchestrierung – Kubernetes, Docker Swarm ====== Bei vielen Containern wird ein Orchestrierer benötigt. Kubernetes bietet: * automatische Skalierung * Load Balancing * Self-Healing * Rolling Updates * Secret Management Docker Swarm: * einfachere Alternative * weniger komplex --- ====== 9. Virtualisierung in der Praxis ====== Typische Einsatzszenarien: * Proxmox-Cluster im Unternehmen * Windows AD Domain Controller in VMs * Web- & Datenbank-Server * Firewall-VM wie OPNsense * Entwicklungsumgebungen * Testumgebungen * Home-Lab (z. B. bei dir: Proxmox + Docker) --- ====== 10. Sicherheit in der Virtualisierung ====== * Aktualisierte Hypervisor-Software * Netzwerktrennung (VLANs) * VM-Firewalls * Container nicht als root laufen lassen * Backups regelmäßig testen * Snapshots sparsam verwenden * Unnötige virtuelle Hardware entfernen --- ====== Zusammenfassung ====== * Virtualisierung trennt Hardware von Software * Typ 1 Hypervisor = direkt auf Hardware (Proxmox, ESXi) * Typ 2 Hypervisor = auf Betriebssystem (VirtualBox) * VMs = vollständige Systeme * Container = leichtgewichtige Prozesse * Snapshots sind NICHT Backups * Orchestrierung (Kubernetes) für viele Container * Virtualisierung ist Grundlage moderner IT