Proxmox VMs und Container auf ein ZFS Mirror Storage verschieben


Was ist ein ZFS Mirror?

Ein ZFS Mirror bedeutet vereinfacht gesagt: deine Daten werden gleichzeitig auf zwei Festplatten gespeichert. Wenn eine Platte kaputtgeht, hast du immer noch eine vollständige Kopie auf der zweiten. So bist du vor Datenverlust geschützt, ohne selbst eingreifen zu müssen.

Dahinter steckt das Dateisystem ZFS. ZFS wurde ursprünglich von Sun Microsystems entwickelt und bringt gleich mehrere Vorteile mit:

  • Datensicherheit durch Prüfsummen: Fehlerhafte Daten werden automatisch erkannt.
  • Snapshots: Du kannst den Zustand deiner Daten zu einem bestimmten Zeitpunkt sichern und jederzeit zurückspringen.
  • Einfache Verwaltung: ZFS übernimmt intern die Organisation deiner Platten.

Wenn man also von einem „ZFS Mirror“ spricht, ist damit ein Spiegeln (wie bei einem Spiegelbild) deiner Daten auf zwei Festplatten gemeint. Im Proxmox-Server sorgt das dafür, dass deine virtuellen Maschinen (VMs), Container und Backups sicher sind – auch wenn mal eine SSD den Geist aufgibt.


Warum ein ZFS Mirror in Proxmox?

Standardmäßig packt Proxmox alles auf eine einzige Platte – schnell, praktisch, aber auch ein ziemliches Risiko. Stell dir vor: die NVMe macht einmal Puff! und schon sind VMs, Container und Backups Geschichte. Mit einem ZFS Mirror auf zwei SSDs baust du dir quasi einen Bodyguard fürs Homelab: eine Platte kann jederzeit aussteigen, die andere fängt alles ab. Ergebnis: mehr Sicherheit, solide Performance und ein Speicher, der sich fast schon wie von selbst verwaltet.

Wenn du noch passende SSDs suchst: Empfehlenswert sind zum Beispiel die Samsung 870 EVO (bezahlter Link) oder die Crucial BX500 (bezahlter Link).


Schritt-für-Schritt-Anleitung

1. Platten vorbereiten

Neue SSDs einbauen und prüfen, wie sie heißen (meist /dev/sda, /dev/sdb …):

lsblk

Dieser zeigt alle erkannten Festplatten und Partitionen in einer Baumstruktur an – sehr praktisch, um die Gerätenamen herauszufinden.

Beispielausgabe:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 476.9G 0 disk
sdb 8:16 0 931.5G 0 disk
nvme0n1 259:0 0 238.5G 0 disk
└─nvme0n1p3 259:3 0 237.5G 0 part /

2. Platten säubern (alles wird gelöscht)

wipefs -a /dev/sda
wipefs -a /dev/sdc
sgdisk --zap-all /dev/sda
sgdisk --zap-all /dev/sdc

Erklärung:

  • wipefs -a entfernt vorhandene Dateisystem‑Signaturen/Marker.
  • sgdisk --zap-all löscht die Partitionstabelle vollständig.

Falls du die SSDs vorab an einem anderen PC testen willst, hilft ein USB‑3.0‑auf‑SATA‑Adapter (bezahlter Link).

3. ZFS Mirror erstellen

zpool create -f -o ashift=12 zfs-storage mirror /dev/sda /dev/sdb
zfs set compression=lz4 zfs-storage
zfs set atime=off zfs-storage

Erklärung:

  • zpool create … mirror baut den Spiegel.
  • ashift=12 passt die Blockgröße für SSDs an.
  • compression=lz4 spart Speicher, ist schnell; atime=off vermeidet unnötige Schreibzugriffe.

Prüfen:

zpool status

Beispielausgabe:

  pool: zfs-storage
 state: ONLINE
config:

        NAME         STATE     READ WRITE CKSUM
        zfs-storage  ONLINE       0     0     0
          mirror-0   ONLINE       0     0     0
            sda      ONLINE       0     0     0
            sdb      ONLINE       0     0     0

4. Datasets für VMs und Backups anlegen

zfs create zfs-storage/vmdata
zfs create zfs-storage/backups
zfs list

Erklärung:

  • zfs create … legt sogenannte Datasets an – Unterbereiche deines ZFS‑Pools, die du getrennt verwalten kannst.
  • zfs-storage/vmdata nutzen wir für VM‑ und Container‑Festplatten.
  • zfs-storage/backups reservieren wir für Sicherungen.
  • zfs list zeigt anschließend alle vorhandenen ZFS‑Pools und Datasets mit Größe und Belegung an..

5. In Proxmox einbinden

VM-Speicher (ZFS):

  • Datacenter → Storage → Add → ZFS
  • ID: vmdata
  • Pool: zfs-storage/vmdata
  • Content: Disk image, Container
  • Thin provision: aktivieren

Backups (Directory):

  • Datacenter → Storage → Add → Directory
  • ID: backups
  • Directory: /zfs-storage/backups
  • Content: Backup

Für zusätzliche externe Backups eignet sich eine große USB‑Festplatte wie die WD Elements Desktop 8TB (bezahlter Link).


VMs und Container auf das ZFS Storage verschieben

LXC Container verschieben

WebUI: Container → Resources → Root Disk → Move Volume

Screenshot Proxmox WebUI: LXC Container Volume Move Storage Aktion

Shell-Alternative:

pct move_volume 102 rootfs vmdata --delete

VM Festplatten verschieben

WebUI: VM → Hardware → Hard Disk → Move Disk

Screenshot Proxmox WebUI: Virtuelle Maschine Move Disk Aktion

Shell-Alternative:

qm move_disk 113 scsi0 vmdata --delete

Parameter:

  • 102 bzw. 113 = VM/Container-ID
  • rootfs bzw. scsi0 = Festplattenname
  • --delete = entfernt die alte Disk nach erfolgreichem Kopieren

Tipps

  • Container/VM vor dem Verschieben herunterfahren → schneller und sicherer
  • Backups vorher testen
  • Regelmäßig ZFS Scrubs einplanen: zpool scrub zfs-storage
  • E-Mail-Notifications in Proxmox aktivieren, damit du bei Plattenfehlern informiert wirst

Mehr Wissen zu ZFS gefällig? Das Buch FreeBSD Mastery: ZFS (bezahlter Link) erklärt tiefergehend die Konzepte.


Fazit

Mit einem Proxmox ZFS Mirror kannst du deine virtuellen Maschinen und Container sicher betreiben, ohne Angst vor Datenverlust bei einem SSD-Ausfall zu haben. Die Einrichtung ist unkompliziert, und dank Proxmox-WebUI lassen sich VMs und LXCs komfortabel verschieben. Ein kleiner Schritt in der Konfiguration – ein großer Schritt für die Datensicherheit deines Homelabs.


Nerdige Lese-Empfehlungen zum Schluss

Wenn du jetzt Blut geleckt hast und dein Homelab noch tiefer in die Proxmox-Welt eintauchen soll, hab ich was für dich:

Schreibe einen Kommentar