Beim ersten Einrichten von Incus wird automatisch ein Storage Pool erstellt. Viele Administratoren wählen dabei die Standardoption, ohne sich näher mit den verfügbaren Backends zu beschäftigen.
Dabei entscheidet der Storage Pool maßgeblich über:
- Performance
- Speicherverbrauch
- Snapshot-Funktionen
- Backup-Möglichkeiten
- Skalierbarkeit
- Hochverfügbarkeit
Gerade im produktiven Betrieb lohnt es sich daher, das passende Speicher-Backend bewusst auszuwählen.
Was ist ein Storage Pool?
Ein Storage Pool ist der zentrale Speicherbereich von Incus.
Darin werden unter anderem abgelegt:
- Container
- Virtuelle Maschinen
- Images
- Snapshots
- Backups
Jeder Container nutzt einen Storage Pool als Datenträger.
Welche Funktionen zur Verfügung stehen, hängt vom verwendeten Backend ab.
Storage Pools anzeigen
Alle vorhandenen Storage Pools lassen sich anzeigen.
incus storage list
Details zu einem Storage Pool:
incus storage show default
Alle verfügbaren Volumes:
incus storage volume list default
Das "dir"-Backend
Das einfachste Storage-Backend ist dir.
Hier speichert Incus sämtliche Daten in gewöhnlichen Verzeichnissen des Linux-Dateisystems.
Vorteile:
- sehr einfach einzurichten
- keine zusätzliche Software
- leicht verständlich
- ideal für Einsteiger
- funktioniert mit nahezu jedem Dateisystem
Nachteile:
- keine nativen Snapshots
- keine Clones
- geringere Performance bei vielen Containern
- weniger Funktionen
Geeignet für:
- Homelabs
- Testsysteme
- kleine Server
- Lernumgebungen
ZFS – Das leistungsstarke Allround-Backend
ZFS gilt als eines der leistungsfähigsten Storage-Backends für Incus.
Es kombiniert Dateisystem und Volume-Manager in einer Lösung.
Vorteile:
- extrem schnelle Snapshots
- Clones innerhalb weniger Sekunden
- Datenintegrität durch Prüfsummen
- transparente Komprimierung
- hohe Performance
- einfache Replikation
Snapshots benötigen nur wenig zusätzlichen Speicherplatz.
Dadurch eignet sich ZFS hervorragend für:
- Entwicklungsumgebungen
- Produktivsysteme
- Virtualisierung
- Backup-Server
- Homelabs mit vielen Containern
Nachteile:
- höherer Arbeitsspeicherbedarf
- komplexere Verwaltung
- etwas steilere Lernkurve
Btrfs – Moderne Alternative
Auch Btrfs unterstützt Copy-on-Write.
Dadurch lassen sich Snapshots ähnlich effizient erstellen.
Vorteile:
- Snapshots
- Prüfsummen
- Komprimierung
- Subvolumes
- geringer Speicherbedarf
Geeignet für:
- Desktop-Systeme
- Homelabs
- kleinere Server
Nachteile:
- weniger ausgereift als ZFS in einigen Enterprise-Szenarien
- einige Funktionen abhängig von der Kernel-Version
LVM – Der Klassiker
LVM (Logical Volume Manager) ist seit vielen Jahren fester Bestandteil vieler Linux-Systeme.
Incus unterstützt LVM sowohl mit klassischen Logical Volumes als auch mit Thin Provisioning.
Vorteile:
- hohe Performance
- etablierte Technik
- gute Integration in Linux
- zuverlässiger Betrieb
Geeignet für:
- Unternehmensserver
- klassische Virtualisierung
- bestehende LVM-Umgebungen
Nachteile:
- weniger Komfort als ZFS
- Snapshots langsamer und weniger flexibel
- keine integrierte Datenintegrität
Ceph – Für Cluster und Hochverfügbarkeit
Ceph ist ein verteiltes Speichersystem.
Es wurde speziell für große Cluster entwickelt.
Vorteile:
- Hochverfügbarkeit
- Replikation
- automatische Ausfallsicherheit
- gemeinsamer Speicher für mehrere Server
- nahezu unbegrenzte Skalierbarkeit
Geeignet für:
- Incus-Cluster
- Rechenzentren
- Cloud-Plattformen
- große Unternehmensumgebungen
Nachteile:
- sehr komplex
- hoher Ressourcenbedarf
- nicht sinnvoll für Einzelserver
Für kleine Installationen lohnt sich Ceph in der Regel nicht.
Performance der einzelnen Backends
Die Leistung eines Storage Pools hängt stark vom verwendeten Dateisystem und der zugrunde liegenden Hardware ab.
dir
- gute Performance
- abhängig vom Host-Dateisystem
- keine Optimierungen für Snapshots
ZFS
- sehr hohe Performance
- besonders stark bei Snapshots
- ausgezeichnete Cache-Mechanismen
Btrfs
- hohe Performance
- sehr gute Snapshot-Funktionen
- effizient bei vielen kleinen Änderungen
LVM
- hohe Performance
- besonders bei klassischen Workloads
- geringer Verwaltungsaufwand
Ceph
- abhängig vom Netzwerk
- für Cluster optimiert
- nicht für Einzelserver ausgelegt
Snapshots
Snapshots gehören zu den größten Vorteilen moderner Storage-Backends.
Ein Snapshot speichert den Zustand eines Containers oder einer virtuellen Maschine zu einem bestimmten Zeitpunkt.
Dadurch können Änderungen jederzeit rückgängig gemacht werden.
Snapshot erstellen:
incus snapshot create mein-container vor-update
Snapshots anzeigen:
incus info mein-container
Snapshot wiederherstellen:
incus restore mein-container vor-update
Snapshot löschen:
incus delete mein-container/vor-update
Wann sollte man Snapshots verwenden?
Snapshots sind besonders sinnvoll:
- vor Systemupdates
- vor größeren Softwareinstallationen
- vor Konfigurationsänderungen
- vor Datenbankmigrationen
- vor Tests
Bei Problemen kann innerhalb weniger Sekunden zum vorherigen Zustand zurückgekehrt werden.
Einen neuen Storage Pool erstellen
Ein zusätzlicher Storage Pool lässt sich jederzeit anlegen.
Beispiel mit ZFS:
incus storage create zfspool zfs
Mit Btrfs:
incus storage create btrfspool btrfs
Mit LVM:
incus storage create lvmpool lvm
Danach können einzelne Container gezielt auf diesem Storage Pool erstellt werden.
Welches Backend eignet sich wofür?
dir
Empfohlen für:
- Einsteiger
- Testsysteme
- kleine Homelabs
ZFS
Empfohlen für:
- produktive Server
- Virtualisierung
- viele Container
- Snapshots
- Backups
Btrfs
Empfohlen für:
- moderne Linux-Systeme
- private Server
- Entwicklungsumgebungen
LVM
Empfohlen für:
- klassische Unternehmensserver
- bestehende Linux-Infrastrukturen
- stabile Produktivsysteme
Ceph
Empfohlen für:
- Cluster
- Cloud-Plattformen
- Hochverfügbarkeit
- große Rechenzentren
Best Practices
Für den produktiven Einsatz haben sich folgende Empfehlungen bewährt:
- ZFS bevorzugen, wenn ausreichend Arbeitsspeicher vorhanden ist.
- Snapshots regelmäßig vor Änderungen erstellen.
- Nicht benötigte Snapshots wieder löschen.
- Storage Pools sauber dokumentieren.
- SSDs oder NVMe-Laufwerke verwenden.
- Für Cluster Ceph einsetzen.
- Für Lernumgebungen genügt häufig das
dir-Backend.
Die Wahl des richtigen Storage Pools hat großen Einfluss auf Performance, Verwaltung und Datensicherheit einer Incus-Umgebung. Während sich das dir-Backend hervorragend für erste Tests eignet, bietet ZFS den größten Funktionsumfang und ist für die meisten produktiven Installationen die beste Wahl. Btrfs und LVM stellen leistungsfähige Alternativen dar, während Ceph seine Stärken vor allem in Cluster- und Hochverfügbarkeitsumgebungen ausspielt.
Im nächsten Teil der Serie beschäftigen wir uns mit den Netzwerken in Incus. Du lernst die verschiedenen Netzwerktypen wie Bridge, NAT, MacVLAN und OVN kennen und erfährst, wie Container sicher und effizient miteinander sowie mit dem Internet kommunizieren.