ZFS Boot-Verschlüsselung in Proxmox VE (How-To)

In dieser Anleitung erfahren Sie, wie Sie die native ZFS-Verschlüsselung (ZFS Native Boot Encryption) direkt während der Erstinstallation von Proxmox VE über die TTY-Konsole aktivieren, ohne auf zusätzliche Schichten wie LUKS zurückgreifen zu müssen.

Wichtiger Sicherheitshinweis & Haftungsausschluss

Achtung: Die native ZFS-Verschlüsselung schützt Ihre Daten auf Blockebene. Wenn Sie das gewählte Passwort (Passphrase) verlieren oder vergessen, gibt es keine Hintertür oder Wiederherstellungsmöglichkeit – alle Daten auf dem verschlüsselten Root-Dataset sind unwiderruflich verloren. Bewahren Sie Passphrase und Key-Backups an einem sicheren, externen Ort auf.

Haftungsausschluss: Für die Korrektheit, Vollständigkeit und Aktualität dieses Beitrags sowie der bereitgestellten Befehle wird keine Garantie oder Gewährleistung übernommen. Die Durchführung aller Schritte erfolgt ausdrücklich auf eigene Gefahr und eigenes Risiko.

Warum native ZFS-Verschlüsselung bei der Basis-Installation?

Standardmäßig bietet der offizielle Proxmox VE Installer zwar die Auswahl von ZFS als Dateisystem (z. B. RAID1, RAID10 oder RAIDZ), jedoch keine direkte Checkbox im GUI-Assistenten zur Aktivierung der nativen ZFS-Verschlüsselung für das Boot-/Root-Dataset.

Die native ZFS-Verschlüsselung bietet gegenüber klassischen Methoden wie LUKS entscheidende architektonische Vorteile:

  • Dataset-Granularität: Verschlüsselung erfolgt direkt im ZFS-Dateisystem, nicht unterhalb auf Blockgeräte-Ebene.
  • Volle ZFS-Funktionalität: Snapshots, Kompression (LZ4/ZSTD), Checksummen-Scrubbing und zfs send/receive bleiben ohne Performance-Einbußen vollständig erhalten.
  • Geringer Overhead: Direkte Hardware-Beschleunigung (AES-NI) im Kernel-Modul ohne doppelte I/O-Stack-Verarbeitung.

Mit einem einfachen Wechsel in die virtuelle Konsole (TTY) unmittelbar nach dem Kopiervorgang des Installers lässt sich das frisch installierte System vor dem ersten Neustart in ein verschlüsseltes ZFS-Dataset migrieren.


Schritt 1: Proxmox Installer vorbereiten (Autoreboot deaktivieren)

Führen Sie die reguläre Installation von Proxmox VE über das ISO-Installationsmedium durch und wählen Sie als Ziel-Dateisystem das gewünschte ZFS-Layout (z. B. zfs (RAID1) oder zfs (RAID0)).

  1. Navigieren Sie durch den Installationsassistenten bis zum Summary-Bildschirm (Zusammenfassung).
  2. Wichtig: Entfernen Sie den Haken bei der Option „Automatically reboot after successful installation“ am unteren Bildschirmrand.
  3. Klicken Sie unten rechts auf „Install“, um den Schreibvorgang zu starten.

Durch das Deaktivieren des automatischen Neustarts verbleibt das Installationssystem nach Abschluss der Dateikopie im Speicher und erlaubt den direkten Zugriff auf den soeben erstellten ZFS-Pool rpool.


Schritt 2: In die TTY-Konsole wechseln

Sobald der Installer den Abschluss der Installation meldet (Fortschrittsbalken bei 100 %), wechseln Sie auf die parallele Linux-Textkonsole:

Tastenkombination: [Strg] + [Alt] + [F3]   (bzw. [Ctrl] + [Alt] + [F3])

Sie befinden sich nun als root in der Shell der Proxmox-Installationsumgebung und können die ZFS-Befehle direkt ausführen.


Schritt 3: ZFS Root-Dataset verschlüsseln & migrieren

Führen Sie die folgende Befehlssequenz sorgfältig in der Konsole aus. Bei der Erstellung des neuen Datasets werden Sie interaktiv zur Eingabe und Bestätigung Ihrer gewünschten Verschlüsselungs-Passphrase aufgefordert.

# 1. ZFS-Pool rpool forciert importieren
zpool import -f rpool;

# 2. Rekursiven Snapshot des unverschlüsselten ROOT-Datasets anlegen
zfs snapshot -r rpool/ROOT@copy;

# 3. Snapshot via ZFS Stream in temporäres Dataset duplizieren
zfs send -R rpool/ROOT@copy | zfs receive rpool/copyroot;

# 4. Ursprüngliches unverschlüsseltes ROOT-Dataset vollständig entfernen
zfs destroy -r rpool/ROOT;

# 5. Pool-Eigenschaften für automatische Erweiterung und SSD-Trim aktivieren
zpool set autoexpand=on rpool;
zpool set autotrim=on rpool;

# 6. Neues verschlüsseltes ROOT-Dataset mit Passphrase-Abfrage erstellen
zfs create -o compression=lz4 -o checksum=on -o encryption=on -o keyformat=passphrase rpool/ROOT;

# 7. Daten aus dem temporären Dataset verschlüsselt in das neue ROOT einspielen
zfs send -R rpool/copyroot/pve-1@copy | zfs receive -o encryption=on rpool/ROOT/pve-1;

# 8. Temporäres Backup-Dataset löschen
zfs destroy -r rpool/copyroot;

# 9. Verbliebenen Migrations-Snapshot entfernen
zfs destroy rpool/ROOT/pve-1@copy;

# 10. Mountpoint des PVE-Root-Dateisystems wieder auf "/" setzen
zfs set mountpoint=/ rpool/ROOT/pve-1;

# 11. ZFS-Pool sauber exportieren
zpool export rpool;

Erläuterung der Schlüsselparameter:

  • -o encryption=on: Aktiviert AES-256-GCM als Standard-Verschlüsselungsalgorithmus in OpenZFS.
  • -o keyformat=passphrase: Definiert, dass die Entschlüsselung beim Systemstart über eine interaktive Passworteingabe erfolgt.
  • -o compression=lz4 & -o checksum=on: Stellt sicher, dass moderne ZFS-Metadatenprüfung und performante Kompression auf dem neuen verschlüsselten Root aktiv sind.
  • zpool set autotrim=on: Ermöglicht NVMe- und SATA-SSDs, freigegebene Blöcke im laufenden Betrieb automatisch per TRIM freizugeben.

Schritt 4: Zurück zum GUI-Installer & System neustarten

Nachdem der ZFS-Pool mit zpool export rpool ordnungsgemäß ausgehängt wurde, kehren Sie zur grafischen Benutzeroberfläche des Installers zurück:

Tastenkombination: [Strg] + [Alt] + [F4]   (bzw. [Ctrl] + [Alt] + [F4] oder [F1])

Klicken Sie nun unten rechts auf den Button „Reboot“, um den Server neu zu starten und das Installationsmedium zu entfernen.


Schritt 5: Erster Boot-Vorgang & Passphrase-Eingabe

Beim Hochfahren initialisiert Proxmox VE den Linux-Kernel und erkennt den verschlüsselten ZFS-Root-Pool. Vor dem Mounten des Root-Dateisystems stoppt das System und fordert Sie auf der Systemkonsole zur Eingabe der Passphrase auf:

Enter passphrase for 'rpool/ROOT':
Slot 0 [ok]
ZFS: Loaded 1 key(s)
[  OK  ] Mounted /sysroot.

Nach erfolgreicher Eingabe wird der Key geladen, das Dateisystem entschlüsselt und Proxmox VE bootet ganz normal in die Web-GUI und Systemd-Dienste.


Befehlsübersicht (Cheatsheet)

Phase / Schritt CLI-Befehl Funktion
1. Pool-Import zpool import -f rpool; Importiert den neu installierten Root-Pool forciert
2. Snapshot zfs snapshot -r rpool/ROOT@copy; Erzeugt konsistenten Snapshot des unverschlüsselten Systems
3. Zwischenkopie zfs send -R rpool/ROOT@copy | zfs receive rpool/copyroot; Dupliziert das Root-Dateisystem temporär
4. Alt-Root löschen zfs destroy -r rpool/ROOT; Entfernt unverschlüsselte Originalstruktur
5. Pool-Tuning zpool set autoexpand=on rpool;
zpool set autotrim=on rpool;
Aktiviert Auto-Expand und SSD-Trim
6. Crypto-Root anlegen zfs create -o compression=lz4 -o checksum=on -o encryption=on -o keyformat=passphrase rpool/ROOT; Erstellt neues verschlüsseltes Root-Dataset mit Passphrase
7. Daten verschlüsseln zfs send -R rpool/copyroot/pve-1@copy | zfs receive -o encryption=on rpool/ROOT/pve-1; Überträgt pve-1 verschlüsselt in das neue Root-Dataset
8. Bereinigung zfs destroy -r rpool/copyroot;
zfs destroy rpool/ROOT/pve-1@copy;
Löscht temporäres Dataset und Migrations-Snapshot
9. Mountpoint setzen zfs set mountpoint=/ rpool/ROOT/pve-1; Definiert Root-Dateisystem-Einhängepunkt
10. Pool exportieren zpool export rpool; Hängt Pool für sauberen System-Reboot aus

Fazit

Die Aktivierung der nativen ZFS-Verschlüsselung direkt bei der Basis-Installation von Proxmox VE erfordert nur wenige Minuten und bietet maximalen Schutz für ruhende Daten (Data at Rest) ohne den Overhead traditioneller LUKS-Konfigurationen. Durch das einfache Streaming via zfs send | zfs receive -o encryption=on bleibt das Dateisystem sauber strukturiert, hochperformant und update-sicher.

ProxForge Proxmox Experte

Sie benötigen Unterstützung bei Ihrer Proxmox VE & ZFS Infrastruktur?

Direkter Experten-Support, Audits und zertifizierte Trainings für Ihr IT-Team.

Proxmox VE & ZFS Support

Ob maßgeschneiderte Storage-Architekturen, Performance-Optimierung, Backup-Strategien oder die ganzheitliche Absicherung Ihrer Proxmox-Umgebung: Unsere Spezialisten unterstützen Ihr IT-Team schnell, praxisnah und auf Augenhöhe.