Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| proxmox:proxmox_grundlagen [03.12.2024] – angelegt kolja | proxmox:proxmox_grundlagen [10.12.2024] (aktuell) – kolja | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Grundlagen ====== | ====== Grundlagen ====== | ||
| + | |||
| + | ====== Virtuelle Maschinen (VM), LXC Container (privilegiert und unprivilegiert) in Proxmox ====== | ||
| + | |||
| + | In diesem Dokument werden die grundlegenden Konzepte von virtuellen Maschinen (VM) sowie privilegierten und unprivilegierten LXC Containern im Kontext der Virtualisierungsplattform [Proxmox](https:// | ||
| + | |||
| + | ===== Was ist eine Virtuelle Maschine (VM)? ===== | ||
| + | Eine Virtuelle Maschine ist eine vollständig isolierte Umgebung, die ein komplettes Betriebssystem inklusive eigener Kernel-Instanz ausführt. Die Virtualisierung erfolgt in der Regel durch einen Hypervisor (bei Proxmox KVM-basiert). VMs erhalten dedizierte virtuelle Hardware (CPU, RAM, virtuelle Festplatten, | ||
| + | |||
| + | **Eigenschaften einer VM:** | ||
| + | * Volle Virtualisierung von Hardware-Ressourcen (CPU, Speicher, Netzwerk, Speichergeräte) | ||
| + | * Läuft in einem isolierten Software-Container, | ||
| + | * Betriebssystemunabhängig (kann verschiedenste OS-Typen nutzen) | ||
| + | * Höherer Overhead, da vollständige virtuelle Hardware emuliert wird | ||
| + | |||
| + | Beispiel: | ||
| + | Auf einem Proxmox-Host wird eine VM mit 4 vCPUs, 8 GB RAM und 100 GB virtuellem Speicherplatz erstellt, auf der ein vollständiges Ubuntu Server OS läuft. | ||
| + | |||
| + | ===== Was ist ein LXC Container? ===== | ||
| + | LXC (Linux Containers) ist eine leichtgewichtige Virtualisierungs- bzw. Containerisierungstechnologie, | ||
| + | |||
| + | **Eigenschaften von LXC Containern: | ||
| + | * Betriebssystem-Ebene-Isolation (kein eigener Kernel im Container) | ||
| + | * Niedriger Overhead, da keine volle Hardwarevirtualisierung stattfindet | ||
| + | * Sehr schnelle Start- und Stoppzeiten | ||
| + | * In Proxmox direkt unterstützt | ||
| + | |||
| + | LXC Container sind in zwei Varianten verfügbar: **privilegiert** und **unprivilegiert**. | ||
| + | |||
| + | ==== Privilegierte LXC Container ==== | ||
| + | Ein privilegierter Container läuft mit root-Rechten im Kontext des Host-Systems (UID 0 im Container entspricht UID 0 auf dem Host). Dies macht ihn konzeptionell einfacher, birgt aber gewisse Sicherheitsrisiken, | ||
| + | |||
| + | **Eigenschaften privilegierter Container: | ||
| + | * Einfachere Verwaltung von Berechtigungen und Ressourcen | ||
| + | * Höheres Sicherheitsrisiko bei Exploits oder Fehlkonfigurationen, | ||
| + | * Noch immer geringerer Overhead als eine VM | ||
| + | |||
| + | ==== Unprivilegierte LXC Container ==== | ||
| + | Unprivilegierte Container verwenden eine UID/GID-Map (Benutzer- und Gruppen-ID-Zuordnungen) im Host, um sicherzustellen, | ||
| + | |||
| + | **Eigenschaften unprivilegierter Container: | ||
| + | * Höhere Sicherheit, da Host-Root-Rechte nicht direkt auf den Container-Root abgebildet werden | ||
| + | * Etwas aufwändigere Einrichtung, | ||
| + | * Sicherheit steht hier klar im Vordergrund | ||
| + | |||
| + | ===== Vergleich zwischen VM und LXC ===== | ||
| + | |||
| + | ^ Technologie ^ Virtualisierungsebene ^ Kernel-Nutzung ^ Overhead ^ Startzeit ^ Anwendungsfälle ^ | ||
| + | | VM (KVM) | Hardware-Ebene | Eigener Kernel im Gast | Höher | Langsamer (Sekunden bis Minuten) | Vollständige OS-Isolation, | ||
| + | | LXC Container (priv./ | ||
| + | |||
| + | ===== Vor- und Nachteile ===== | ||
| + | |||
| + | === Virtuelle Maschinen === | ||
| + | **Vorteile: | ||
| + | * Volle Isolation, vollständige virtuelle Hardwareumgebung | ||
| + | * Beliebige Betriebssysteme können installiert werden | ||
| + | * Stabiler und etablierter Standard für viele Einsatzzwecke | ||
| + | |||
| + | **Nachteile: | ||
| + | * Höherer Ressourcenverbrauch | ||
| + | * Längere Boot-Zeiten | ||
| + | * Komplexere Verwaltung, da eigenes OS gepflegt werden muss | ||
| + | |||
| + | === Privilegierte LXC Container === | ||
| + | **Vorteile: | ||
| + | * Sehr geringe Ressourcenbelastung | ||
| + | * Schnelle Startzeiten | ||
| + | * Einfache Einrichtung im Vergleich zu unprivilegierten Containern | ||
| + | |||
| + | **Nachteile: | ||
| + | * Geringere Sicherheit als unprivilegierte Container | ||
| + | * Risiko von Privilege Escalation, falls Lücken ausgenutzt werden | ||
| + | |||
| + | === Unprivilegierte LXC Container === | ||
| + | **Vorteile: | ||
| + | * Höchste Sicherheit unter den Container-Varianten | ||
| + | * Geringe Ressourcenbelastung, | ||
| + | |||
| + | **Nachteile: | ||
| + | * Etwas komplexere Einrichtung durch UID/ | ||
| + | * Teilweise Einschränkungen bei Zugriffen und Berechtigungen, | ||
| + | |||
| + | ===== Wann was verwenden? ===== | ||
| + | |||
| + | **Virtuelle Maschinen: | ||
| + | Setze VMs ein, wenn | ||
| + | * Verschiedene Betriebssysteme (z. B. Windows und Linux) auf demselben Host laufen sollen | ||
| + | * Eine vollständige Hardwarevirtualisierung und maximale Isolation erforderlich ist | ||
| + | * Eine stabil etablierte und flexible Lösung benötigt wird, unabhängig vom Host-Kernel | ||
| + | |||
| + | **Privilegierte LXC Container: | ||
| + | Setze privilegierte Container ein, wenn | ||
| + | * Du schnell und ressourcensparend Linux-basierte Services bereitstellen willst | ||
| + | * Du weniger Aufwand bei der Verwaltung von UID/ | ||
| + | * Sicherheitsrisiko tolerierbar ist (z. B. interne Entwicklungsumgebung) | ||
| + | |||
| + | **Unprivilegierte LXC Container: | ||
| + | Setze unprivilegierte Container ein, wenn | ||
| + | * Sicherheit oberste Priorität hat | ||
| + | * Du nur Linux-Workloads betreibst, die im gleichen Kernelumfeld funktionieren | ||
| + | * Du die Vorteile der Containerisierung nutzen willst, ohne die Host-Sicherheit zu kompromittieren | ||
| + | |||
| + | ===== Zusammenfassung ===== | ||
| + | Proxmox bietet mit KVM-VMs und LXC-Containern zwei Hauptvirtualisierungsansätze. VMs sind ideal für heterogene, vollständig isolierte Umgebungen und bieten maximale Flexibilität, | ||
| + | |||
| + | Durch die gezielte Wahl der passenden Technologie kannst Du Deine Ressourcen effizient nutzen und Deine Sicherheits- und Performanzanforderungen optimal ausbalancieren. | ||
| + | |||