Incus LXD Container Virtualisierung
Incus/LXD Container-Virtualisierung – Leichtgewichtige VMs und Container
Was ist LXD/Incus?
Incus (ehemals LXD – Linux Container Daemon) ist ein System-Container und Hypervisor Manager für Linux. Im Gegensatz zu Docker, das Anwendungs-Container verwaltet, handelt es sich bei Incus um System-Container – das sind leichte, vollständige Linux-Systeme mit eigenem Init-System, SSH-Daemon und allen Tools einer echten Linux-Distribution.
Incus ist eine Weiterentwicklung von LXD und wurde von Canonical (Ubuntu) ursprünglich entwickelt. Incus ist Open Source und wird von der Linux Container Community gepflegt.
Unterschiede: Incus vs Docker vs KVM
| Kriterium | Incus/LXD | Docker | KVM/QEMU |
|---|---|---|---|
| Typ | System-Container | Anwendungs-Container | Vollständiger Hypervisor |
| Kernel | Host-Kernel (Namespaces) | Host-Kernel | Separater Kernel pro VM |
| Boot-Zeit | Millisekunden | Millisekunden | Sekunden bis Minuten |
| Speicher pro Instanz | 50-200 MB | 10-100 MB | 512 MB - mehrere GB |
| VM-ähnlich | Ja (mit systemd, SSH, etc.) | Nein (prozess-basiert) | Ja (echte VMs) |
| Isolation | Namespace-basiert | Namespace/cgroups | Hardware-basiert |
| Anwendungsfall | Entwicklung, Lab, Multi-Tenant Hosting | Microservices, Anwendungen | Production VMs, Legacy-Anwendungen |
| GUI-Integration | Incus Desktop (neu) | Docker Desktop | KVM/virt-manager |
Installation von Incus auf Ubuntu
# Incus via Snap installieren sudo snap install incus # Snap classic instalieren für volle Systemd-Integration sudo snap install incus --classic # Version überprüfen incus --version # Incus Daemon starten und aktivieren sudo systemctl start snap.incus.daemon sudo systemctl enable snap.incus.daemon # Konfiguration initialisieren sudo incus admin init # Bei Prompt auswählen: # Would you like to use YAML to describe the new LXD server: no # Cluster setup: no # Network bridge (yes/no): yes # Bridge name: lxdbr0
Erste Container starten
# Verfügbare Images durchsuchen incus image list images: # Ubuntu 22.04 Container starten incus launch images:ubuntu/22.04 mycontainer # Container Liste incus list # Container Details incus info mycontainer # In Container Shell gehen incus shell mycontainer # Container stoppen incus stop mycontainer # Container starten incus start mycontainer # Container löschen incus delete mycontainer
Virtual Machines mit Incus starten
Neben Containern kann Incus auch echte virtuelle Maschinen mit separaten Kerneln verwalten.
# VM starten incus launch images:ubuntu/22.04 myvm --vm # VM-Konfiguration überprüfen incus info myvm # In VM Shell incus shell myvm # VM Status incus list # VM mit spezifischen Ressourcen incus launch images:ubuntu/22.04 myvm2 --vm \ --config limits.cpu=2 \ --config limits.memory=2GB # VM stoppen/starten incus stop myvm incus start myvm
Snapshots und Backups
# Snapshot eines Containers erstellen incus snapshot create mycontainer snap1 # Snapshots auflisten incus info mycontainer # Zu Snapshot zurückrollen incus restore mycontainer snap1 # Snapshot löschen incus delete mycontainer/snap1 # Container exportieren incus export mycontainer mycontainer-backup.tar.gz # Container aus Backup wiederherstellen incus import mycontainer-backup.tar.gz mycontainer-restored
Networking und Storage
# Netzwerk-Information incus network ls # Netzwerk Details incus network show lxdbr0 # Storage Pools incus storage ls # Storage Details incus storage show default # Neue Storage erstellen (ZFS) incus storage create zfs-pool zfs source=/dev/vdb # Volume erstellen incus storage volume create zfs-pool myvolume # Container mit Volume mounten incus config device add mycontainer mydata disk source=zfs-pool/myvolume path=/mnt/data # File Sharing zwischen Host und Container incus file push /local/file mycontainer/root/ incus file pull mycontainer/root/file /local/
Resource Limits konfigurieren
# CPU Limits incus config set mycontainer limits.cpu=2 # Memory Limits incus config set mycontainer limits.memory=1GB # Disk Limits incus config set mycontainer limits.disk=10GB # Network Limits (Bytes/sec) incus config set mycontainer limits.network.priority=high # Alle Limits ansehen incus config show mycontainer # Limits entfernen incus config unset mycontainer limits.cpu
Container-Klon und Migration zwischen Hosts
# Container klonen (lokale Kopie) incus copy source-container new-container # Container zwischen zwei Hosts migrieren # Auf Quell-Host HTTPS-Port öffnen incus config set core.https_address ":8443" # Auf Ziel-Host: Container migrieren incus copysource-container target-container # Live-Migration (ohne downtime) incus move source-container target-container --mode=pull # Oder Push-Modus incus move source-container --mode=push Weitere Ressourcen
- 📖 Proxmox VE Installation und Anleitung
- 📖 Docker für Anfänger erklärt
- 📖 ZFS Dateisystem Grundlagen und Einrichtung
- 📖 KVM Virtualisierung auf Linux
- 📖 Container Networking Überblick
- 🔧 Sichere Server bei Enjyn mieten
- 🔧 Enjyn Server Monitor – Kostenlose Uptime-Überwachung
Letzte Aktualisierung: April 2026 | Incus 0.1+