Proxmox VE mit ZFS: Wie ZFS-Pool performant an OMV-VM für Samba/NFS durchreichen?

Honestas

New Member
Jan 30, 2026
2
0
1
Moin,
ich möchte meinen Setup konsolidieren und mehrere Dienste auf einen Proxmox VE (PVE) Host konzentrieren. Bisher lief OpenMediaVault (OMV) für Samba/NFS auf eigener Hardware.

Geplanter Aufbau:
* PVE-Host mit ZFS als Hypervisor und Storage-Management.
* VM für OMV (nur für die Dienste Samba und NFS).
* Hardware: 3x 8 TB SATA HDD, die physisch am PVE-Host hängen.

Mein Ziel:
Die drei Festplatten sollen auf PVE-Ebene zu einem ZFS-Pool (z.B. RAIDZ1) zusammengefasst werden. Diesen Pool möchte ich dann performant der OMV-VM zur Verfügung stellen, damit OMV darauf seine Freigaben (Samba/NFS) einrichten kann.

Mein Problem / Die Verwirrung:
In vielen Anleitungen sehe ich zwei Ansätze, die beide nicht ideal erscheinen:
1. Passthrough der rohen Festplatten an OMV: Die Platten werden dann in OMV formatiert. Das umgeht das zentrale ZFS-Management durch PVE, was ich nicht möchte.
2. Weiterreichen des PVE-ZFS-Pools als Blockdevice (z.B. über LVM-Thin oder eine virtuelle Festplatte): In OMV wird dieses Device dann nochmal mit einem Dateisystem (z.B. ext4) formatiert. Das führt zu einem unnötigen Overhead (Dateisystem-in-Dateisystem).

Meine konkrete Frage:
Wie binde ich einen auf PVE angelegten ZFS-Pool (z.B. `tank/data`) direkt und performant in die OMV-VM ein, sodass OMV darauf Dateisystem-Freigaben erstellen kann, ohne ein zusätzliches Dateisystem darauf legen zu müssen?

Ich bin für jeden Hinweis auf die beste Methode dankbar!
(Vielleicht über `virtiofs`? Oder durch Einbindung als NFS-Share von PVE an die VM? Oder gibt es eine elegante Möglichkeit mit SCSI-Passthrough des gesamten Pools?)
 
Last edited:
Moin,
ich möchte meinen Setup konsolidieren und mehrere Dienste auf einen Proxmox VE (PVE) Host konzentrieren. Bisher lief OpenMediaVault (OMV) für Samba/NFS auf eigener Hardware.

Geplanter Aufbau:
* PVE-Host mit ZFS als Hypervisor und Storage-Management.
* VM für OMV (nur für die Dienste Samba und NFS).
* Hardware: 3x 8 TB SATA HDD, die physisch am PVE-Host hängen.

Mein Ziel:
Die drei Festplatten sollen auf PVE-Ebene zu einem ZFS-Pool (z.B. RAIDZ1) zusammengefasst werden. Diesen Pool möchte ich dann performant der OMV-VM zur Verfügung stellen, damit OMV darauf seine Freigaben (Samba/NFS) einrichten kann.
Da ist schon der erste Fehler. RaidZ mit langsamen HDDs und Performant, das widerspricht sich komplett. Mit 4 HDDs im Mirror wirst du OK Performance haben, aber so eher Schneckentempo.
Mein Problem / Die Verwirrung:
In vielen Anleitungen sehe ich zwei Ansätze, die beide nicht ideal erscheinen:
1. Passthrough der rohen Festplatten an OMV: Die Platten werden dann in OMV formatiert. Das umgeht das zentrale ZFS-Management durch PVE, was ich nicht möchte.
OK
2. Weiterreichen des PVE-ZFS-Pools als Blockdevice (z.B. über LVM-Thin oder eine virtuelle Festplatte): In OMV wird dieses Device dann nochmal mit einem Dateisystem (z.B. ext4) formatiert. Das führt zu einem unnötigen Overhead (Dateisystem-in-Dateisystem).
Wenn du einen LVM Thin-Pool baust, ist das ein Block Pool und kein Dateisystem. Du möchtest aber ZFS nutzen.
ZFS ist Raidmanager, Volume Manager und Dateisystem in einem.
Beim PVE ZFS-Pool nutzt du nur das Raid Feature (wenn gewünscht) und den Volume Manger. Ein Dateisystem hast du erst wenn du ein Dataset anlegst.
Aus dem ZFS Pool schneidest du scheibchen raus, die du als virtuelle Disks an deine VM gibst. Wie wenn du eine Partition auf deiner Disk anlegst.
In der VM auf der virtuellen Disk hast du dann das erste Dateisystem.
Nicht verwechseln mit ESXi oder HyperV wo du immer ein Dateisystem hast und da dann Dateien ablegst, als virtuelle DIsks.
Meine konkrete Frage:
Wie binde ich einen auf PVE angelegten ZFS-Pool (z.B. `tank/data`) direkt und performant in die OMV-VM ein, sodass OMV darauf Dateisystem-Freigaben erstellen kann, ohne ein zusätzliches Dateisystem darauf legen zu müssen?
Wenn du ein deinem Pool "tank" ein Dataset anlegst "data" dann hast du ein ZFS Dateisystem was du so nativ gar nicht in deine VM einbindest.
Nutze einfach den Pool "tank" und wenn du in der GUI deine vDisk in den Pool legst, ist alles Perfekt.
Ich bin für jeden Hinweis auf die beste Methode dankbar!
(Vielleicht über `virtiofs`? Oder durch Einbindung als NFS-Share von PVE an die VM? Oder gibt es eine elegante Möglichkeit mit SCSI-Passthrough des gesamten Pools?)
Du versuchst damit eine simple Sache extrem zu verkomplizieren. Davon würde ich die Finger lassen.
 
Danke Dir, Falk! Der Einstieg in das Thema ist echt nicht trivial – es gibt unheimlich viele Möglichkeiten.

Mich würde wirklich interessieren, wie andere hier im Forum ihr NAS-Setup unter Proxmox konkret umsetzen.

Ich habe in den letzten Tagen verschiedene Konfigurationen ausprobiert und die Übertragungsraten unter Samba gemessen (NFS ist erwartungsgemäß schneller):

Getestet habe ich u. a.:
  • OMV „bare metal“ auf dem Fileserver mit mdadm RAID5 und ext4
  • OMV als VM unter PVE mit 3× HDD per Passthrough, ebenfalls RAID5 + ext4
  • PVE mit ZFS (RAIDZ1) und ZVOL für OMV, in der VM dann ext4
Unterm Strich hätte ich mir die Tests fast sparen können – alle Varianten sind praktisch gleich langsam. :)
Die eigentliche Bremse sind natürlich die HDDs.

Gemessene Werte bei mir:
  • Große Dateien: ca. 75 MB/s
  • Viele kleine Dateien: ca. 35 MB/s
Was mir am ZVOL-Ansatz nicht so gut gefällt, ist das „Schätzen“ der maximalen Größe im Voraus – das empfinde ich als unnötig fehleranfällig und unflexibel.

Aktuell schaue ich mir daher noch folgende Varianten an:
  • OMV als LXC unter PVE mit ZFS-Dataset per Bind-Mount
  • NFS-Export direkt von PVE an OMV als VM
Ein weiteres Thema ist der Kernel:
Der Standard-Debian-Kernel von OMV 8 macht Probleme mit ZFS (DKMS-Kompilierung schlägt fehl bzw. ist instabil).
Deshalb wird dort oft der Proxmox-VE-Kernel mit ZFS genutzt.

Ich habe es bisher allerdings nicht geschafft, ZFS im OMV-Standard-Setup wirklich „out of the box“ stabil zum Laufen zu bringen.

Vielleicht mag ja jemand teilen, wie er OMV + PVE + ZFS im Alltag sinnvoll und wartbar einsetzt.
 
Last edited:
Diese Frage haben schon ganz viele gestellt. Dazu gibts unzählige Threads und da werden auch sehr viele verschiedene Methoden beschrieben.
Lese dir doch die alten Threads durch, da bekommst du viel mehr Info auf einmal, statt kleckerweise in einem neuen Thread.
 
  • OMV als LXC unter PVE mit ZFS-Dataset per Bind-Mount

Davon würde ich die Finger lassen, da die OMV-Entwickler das nicht unterstützen:
https://forum.openmediavault.org/in...ccess-additional-drives-via-proxmox-with-lxc/


  • NFS-Export direkt von PVE an OMV als VM

Auch das würde ich lassen, da man dann auf den Host einen NFS-Server betreiben muss, hat man in dem Setup sich was kaputt gemacht, wirkt sich das gleich auf den ganzen Host aus.

Im Grunde gilt folgende (sehr grobe) Faustregel für die Kombination von NAS-Betriebssystemen (OMV, TrueNAS, UnRAID...):
  • Baremetal betreiben, die gängigen NAS-Systeme haben ja auch alle mehr oder weniger starken Support für Docker-Container VMs (wenn man also das System in erster Linie als NAS betreiben möchte plus vielleicht 1-2 VMS (HomeAssistant wäre der Klassiker plus ein paar Docker-Container) erhält man ein System mit deutlich weniger Flexibilität als ProxmoxVE, aber auch deutlich flacherer Lernkurve. Für typische Homeuser, die eigentlich nur ein NAS plus ein paar selbst-gehostete Dienste und envtl. HASS brauchen, wäre das meine Empfehlung. Aber: Jeder Jeck ist anders, dem muss man nicht folgen ;)
  • Mit dezidierten Storage-Controller als VM:
    https://www.truenas.com/community/r...guide-to-not-completely-losing-your-data.212/

In beiden Varianten stehen die dafür vorgesehenen Laufwerke dann für nichts anderes zur Verfügung. Das soll so, da das NAS-System sonst ja nicht auf die Festplatten fürs Management zugreifen kann (S.M.A.R.T-Werte etc). Wenn man das nicht braucht, wozu dann überhaupt ein NAS-OS?
Wenn man sich diesen Controller nicht anschaffen will und auch keine Bare-Metal Installation des NAS OS möchte, kann man folgendes machen:
- Lieblings-Linux als VM mit virtuellen Festplatten, da richtet man sich dann einen NFS- und/oder Samba-Server ein, ggf. mit Cockpit oder Webmin, falls man eine Managmentoberfläche ala OMV/Truenas braucht.
- Oder als LXC mit Managmentinterface, dafür gibt es genug Container, die genau für den Usecase (Fileserver) gedacht sind, z.B:
https://www.turnkeylinux.org/fileserver oder https://github.com/bashclub/zamba-lxc-toolbox

Wovon ich auf jeden Fall die Finger lassen würde: Helferskripte, man sollte zumindestens grob, selbst wissen, was man bei der Einrichtung gemacht hat, dann weiß man bei Fehlern besser, wo man schauen muss und vermeidet nicht unterstützte Setups (wie OMV in lxcs, das macht ein beliebtes Helferskript, obwohl die OMV-Entwickler das nicht unterstützen).

Vielleicht mag ja jemand teilen, wie er OMV + PVE + ZFS im Alltag sinnvoll und wartbar einsetzt.

Wie Falk geschrieben hat: Zu dieser und anderen Fragen wurde hier schon viel geschrieben ;)

Ich selbst habe nicht OMV, sondern TrueNAS mit eigenen Storage-Controller als VM. TrueNAS unterstützt ZFS nativ, ist aber im Vergleich zu OMV "zugenagelter"/schlechter anpassbar und der eingebaute Container/VM-Support wird gerne mal von Version zu Version umgebaut (hat also Potential für Probleme nach Updates). Mich stört das nicht, weil ich von TrueNAS eh nur den NAS-Teil nutze (der ist rocksolide), ist aber natürlich zu bedenken, wenn man das bare-metal einsetzen möchte.
Den PVE-Kernel mit OMV einzusetzen ist gar keine so blöde Idee, darauf bin ich noch gar nicht gekommen ;) Man sollte sich halt klar sein, dass man keine Garantie hat, dass das nach einen Update noch funktioniert, weil weder die OMV- noch die PVE-Entwickler das testen werden.
 
Last edited: