Anbindung ZFS Pool an VM

Roxx

New Member
Aug 12, 2021
3
0
1
44
Hallo zusammen,

auch wenn es das Thema schon mehrfach gab, habe ich trotzdem keine richtige Antwort dazu gefunden... Es geht darum einen ZFS Pool vom Hostsystem in VMs verfügbar zu machen. VM, nicht Container, da kann man den Pool ja einfach "anhängen". Man könnte im Pool eine große vdisk erstellen und die an die Maschine hängen, finde ich aber nicht besonders "schick".
Ansonsten wurde empfohlen eine Freigabe, z.B. NFS zu erstellen, und diese in der VM zu mounten. NFS finde ich von der Zugriffssicherung eher schwierig. Da wäre noch CIFS oder SMB, taugt das dazu? Gibt es da in der Perfomanceunterschiede? Auch iSCSI wäre wohl möglich, aber damit habe ich noch nichts gemacht.
Was wäre denn hier der "goldene Weg" das richtig zu machen?

Danke und beste Grüße!
 
Große virtuelle HDD erstellen würde ich auch vermeiden. Dann dauern die Vzdump-Backups ewig und wenn man die virtuelle HDD vom Backup ausschließt und dann irgendwann die VM restoren will, dann wird PVE einem die große virtuelle Disk einfach ungefragt löschen und alle Daten (die man ja gezielt nicht gesichert hat) sind weg.

ISCSI läuft wie eine virtuelle Disk auf Blockebene, daher können sich mehrere VMs nicht die selben Daten teilen.
Will man so etwas wie einen gemeinsamen Ordner geht ja eigentlich nur Dateiebene, also mit SMB oder NFS.

NFS ist schneller und verträgt sich besser mit Linux-VMs da es eben ein natives Linux Dabeisystem ist. Hat dafür aber auch keine Authentifizierung wenn du nicht Kerberos oder so als Domain Controller nutzt. Man könnte aber in PVE viele abgeschottete Bridges erstellen und dann jeder VM eine eigene zusätzliche Bridge mit einem zusätzlichen Subnetz geben. Dann würde NFS intern zwischen Host und VM verbunden sein. Da nichts den Host verlässt läuft dann auch alles mit 10Gbit selbst wenn du nur 1Gbit NICs besitzt. Und da die Bridges alle isoliert sind, kann da auch keine VM den NFS-Share einer anderen VM nutzen. Außer natürlich du willst das, dann packst du halt beide VMs an die selbe Bridge und schon könnten die sich den Share teilen. Da brauchst du dann auch nicht mehr wirklich eine Authentifizierung die ungewollten Zugang verbietet, da die getrennten Netze keinen Fremdzugriff erlauben. Statt vielen Bridges könnte man natürlich auch mit VLANs für die Segmentierung arbeiten. Dann bräuchte man nur eine Bridge die man auf "vlan aware" stelt.

SMB hätte natürlich eingebaute Authentifizierung per Account und Passwort aber dafür auch andere Probleme. Es ist langsamer und nicht 100% kompatibel zu Linux, da es halt nativ von Windows kommt und dann ziemlich viel getrickst werden musste, damit das zu Linux kompatibel wird.
Wenn du aber auch Windows VMs laufen lassen willst, dann ist es vermutlich die bessere Wahl, weil ein Linux deutlich besser mit SMB klarkommt als ein Windows mit NFS.
 
Last edited:
  • Like
Reactions: Roxx
Große virtuelle HDD erstellen würde ich auch vermeiden. Dann dauern die Vzdump-Backups ewig und wenn man die virtuelle HDD vom Backup ausschließt und dann irgendwann die VM restoren will, dann wird PVE einem die große virtuelle Disk einfach ungefragt löschen und alle Daten (die man ja gezielt nicht gesichert hat) sind weg.

ISCSI läuft wie eine virtuelle Disk auf Blockebene, daher können sich mehrere VMs nicht die selben Daten teilen.
Will man so etwas wie einen gemeinsamen Ordner geht ja eigentlich nur Dateiebene, also mit SMB oder NFS.

NFS ist schneller und verträgt sich besser mit Linux-VMs da es eben ein natives Linux Dabeisystem ist. Hat dafür aber auch keine Authentifizierung wenn du nicht Kerberos oder so als Domain Controller nutzt. Man könnte aber in PVE viele abgeschottete Bridges erstellen und dann jeder VM eine eigene zusätzliche Bridge mit einem zusätzlichen Subnetz geben. Dann würde NFS intern zwischen Host und VM verbunden sein. Da nichts den Host verlässt läuft dann auch alles mit 10Gbit selbst wenn du nur 1Gbit NICs besitzt. Und da die Bridges alle isoliert sind, kann da auch keine VM den NFS-Share einer anderen VM nutzen. Außer natürlich du willst das, dann packst du halt beide VMs an die selbe Bridge und schon könnten die sich den Share teilen. Da brauchst du dann auch nicht mehr wirklich eine Authentifizierung die ungewollten Zugang verbietet, da die getrennten Netze keinen Fremdzugriff erlauben. Statt vielen Bridges könnte man natürlich auch mit VLANs für die Segmentierung arbeiten. Dann bräuchte man nur eine Bridge die man auf "vlan aware" stelt.

SMB hätte natürlich eingebaute Authentifizierung per Account und Passwort aber dafür auch andere Probleme. Es ist langsamer und nicht 100% kompatibel zu Linux, da es halt nativ von Windows kommt und dann ziemlich viel getrickst werden musste, damit das zu Linux kompatibel wird.
Wenn du aber auch Windows VMs laufen lassen willst, dann ist es vermutlich die bessere Wahl, weil ein Linux deutlich besser mit SMB klarkommt als ein Windows mit NFS.
Besten Dank für die schnelle Antwort! Stimmt, ISCSI kann ich ja gar nicht mehrfach binden... Völlig dran vorbeigedacht. :rolleyes: Ich habe schon begonnen die Idee mit der geschotteten Bridge umzusetzen, da bin ich ja auf dem rechten Weg. Mangels Erfahrung war es mir dann aber doch wichtig bei dem grundlegend wichtigen Mechanismus nachzufragen. Vielen Dank für die super Erklärung, das hilft mir sehr weiter. Das mit den VLANs ist auch eine sehr schicke Lösung.
Ich habe den NFS Server jetzt in einem Container laufen, nicht direkt auf dem Host. Ich mag die Trennung und versuche immer möglichst wenig im Hostsystem selbst einzubauen. So kann ich die NFS Verbindung auch sehr gut kappen im Zweifelsfall. Gibt es dagegen was einzuwenden?
 
Ich habe den NFS Server jetzt in einem Container laufen, nicht direkt auf dem Host. Ich mag die Trennung und versuche immer möglichst wenig im Hostsystem selbst einzubauen. So kann ich die NFS Verbindung auch sehr gut kappen im Zweifelsfall. Gibt es dagegen was einzuwenden?
Prinzipiell wohl nicht. Beim unprivilegierten LXC musst du halt nur mit den Rechten aufpassen, da dort ja User- und Group-Remapping stattfindet. Würde ich dann eher zum privilegierten LXC greifen.
 
  • Like
Reactions: Roxx
Prinzipiell wohl nicht. Beim unprivilegierten LXC musst du halt nur mit den Rechten aufpassen, da dort ja User- und Group-Remapping stattfindet. Würde ich dann eher zum privilegierten LXC greifen.
Wunderbar. So hab ich das jetzt auch am laufen. Besten Dank! Da kann es weitergehen! :cool:
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!