Proxmox ZFS Pools
ZFS in Proxmox: ZVOLs vs. dateibasierte Speicherung
Grundprinzip von ZFS in Proxmox
Proxmox unterstützt ZFS nativ. Wenn ein ZFS-Pool als Speicher eingebunden ist, können virtuelle Maschinen (VMs) ihre Festplatten als ZFS-Volumes (ZVOLs) nutzen. Diese verhalten sich wie Blockgeräte und sind kein klassisches Dateiformat wie .qcow2 oder .raw.
Speicherort von VM-Festplatten auf ZFS
Wenn ein ZFS-Pool (z. B. rpool) als ZFS-Blockspeicher in Proxmox eingebunden ist, erscheinen die VM-Disks als ZVOLs:
- Gerätedateien unter:
/dev/zvol/rpool/vm-100-disk-0
- ZFS-Name:
rpool/vm-100-disk-0
- Auflistung mit:
zfs list
- Konfiguration der VM:
/etc/pve/qemu-server/100.conf
Auf dem eigentlichen Mountpoint des Pools (z. B. /rpool) sind diese Disks **nicht sichtbar**, da es sich nicht um normale Dateien, sondern um Blockgeräte handelt.
VM-Disks als Datei statt ZVOL
Für bestimmte Anwendungsfälle, wie z. B. Container (LXC), Backups oder ISO-Dateien, kann ein ZFS-Dateisystem als Verzeichnis-Storage genutzt werden. Dieses muss zuerst angelegt und dann in Proxmox eingebunden werden.
Dataset auf der Konsole anlegen
zfs create rpool/containers
Als Verzeichnis-Speicher in Proxmox einbinden
- Webinterface → Rechenzentrum → Speicher → Hinzufügen → Verzeichnis
- ID: containers
- Verzeichnis: /rpool/containers
- Haken bei gewünschten Inhaltstypen setzen (Container, Backup, ISO usw.)
- Als aktiv markieren
ZFS-Speicher über die Oberfläche einrichten
Beim Einrichten eines neuen Speichers in Proxmox kann direkt ausgewählt werden, ob der ZFS-Pool als ZFS-Blockgerät (ZVOL) oder als Verzeichnis genutzt wird:
ZFS-Blockgerät für VM-Disks
- Rechenzentrum → Speicher → Hinzufügen → ZFS
- ID z. B. zfspool
- ZFS-Pool: rpool
- Als 'ZFS-Blockgerät' markieren
- Inhaltstyp: Disk-Image
- Jetzt können VM-Disks auf diesem Speicher erstellt werden, sie werden als ZVOLs gespeichert.
Unterschiede zwischen ZVOL und Dataset
| Merkmal | ZVOL (Block) | Dataset (Datei) |
|---|---|---|
| Typ | Blockgerät | Dateisystem |
| Sichtbarkeit im Dateisystem | Nicht sichtbar | Im Mountpoint sichtbar (z. B. /rpool/containers) |
| Nutzung | VM-Festplatten | Container, ISOs, Backups |
| Snapshot-Fähigkeit | Ja | Ja |
| Cloning | Ja (zfs clone) | Ja (zfs clone) |
Hinweise
- ZVOLs sind optimal für VMs mit KVM/QEMU, da sie direkt als Blockgerät eingebunden werden können.
- Datasets eignen sich besser für LXC-Container oder wenn dateibasierte Verwaltung (z. B. mit rsync) benötigt wird.
- Backups können sowohl von ZVOLs als auch von Datasets gemacht werden, aber je nach Ziel muss das Tool ZFS-spezifisch umgehen können.