Linux Administration

Storage Pools in Incus richtig einsetzen – Das passende Speicher-Backend für jeden Einsatzzweck

Der Storage Pool ist das Fundament jeder Incus-Installation. Hier werden Container, virtuelle Maschinen, Images und Snapshots gespeichert. Incus unterstützt verschiedene Speicher-Backends, die sich hinsichtlich Performance, Funktionen und Einsatzgebiet deutlich unterscheiden. In diesem Teil der Serie lernst du die Vor- und Nachteile von dir, ZFS, Btrfs, LVM und Ceph kennen und erfährst, welches Storage-Backend sich für deine Umgebung am besten eignet.

3 min Lesezeit
Grafik: Incus Storage Pools richtig einsetzen

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.