Herangehensweise für ZFS Fileserver mit virtuellem UCS gemanaged

Hi,

ich bin mir unsicher, was die beste Lösung wäre, um in der Domäne Freigaben (SMB) bereitzustellen. Vielleicht schildere ich erstmal, wie es aktuell ist und welche Möglichkeiten mir vorschweben.

aktueller Stand: Proxmox VE6 mit ZFS Pools (darauf auch die Nutzdaten); Zwei KVM UCS-DCs

Möglichkeit 1: Proxmox der Domäne joinen und die Freigaben händisch über die Samba Config erstellen. Vorteil: vermutlich das flotteste, alle ZFS-Vorteile nutzbar. Nachteil: händischer Aufwand in der smb.conf

Möglichkeit 2: Proxmox irgendwie UCS-managebar machen, dass die Freigaben über UCS erstellt und verwaltet werden können. Nachteil: vermutlich nicht möglich oder nur mit sehr viel Gebastel oder?

Möglichkeit 3: Die ZFS-Datasets per NFS in eine UCS-VM hängen wie hier beschrieben: UCS Samba with ZFS via NFS working!
Ich bin mir aber absolut nicht sicher, wie das funktioniert. Wenn ich per NFS etwas freigebe, habe ich doch keine Kontrolle mehr über das zugrundeliegende Dateisystem. Oder ist das nur möglich weil so auch .zfs/ freigegeben wird. Ist das sicherheitstechnisch sauber? Auch das chmod mit Vollzugriff für alle auf alle Dateien macht mich stutzig. Es sollen zukünftig Windows ACLs genutzt werden und diese auch über die AD-Verwaltung in Gruppen konfiguriert werden.

Möglichkeit 4/5/6: irgendjemand bessere Ideen? So richtig rund kommt mir nichts davon vor.

Viele Grüße
Martin

Hallo Martin

Ich mache mal einen Versuch:

  • Möglichkeit 1: Kannst du prinzipiell, und Proxmox versteht sich dann doch in Teilen als Appliance und SMB gehört nicht zum Teil von Proxmox. Können ja, aber muss nicht zwingend klappen.
  • Möglichkeit 2: Ja, ein Domain join ist nicht so vorgesehen, ja, wäre wohl ein rechtes Gebastel.
  • Möglichkeit 3 ginge sicher auch, aber auch da. Proxmox ist ein virtualisierer, der auf Debian aufsetzt, aber ich würde Proxmox als guten KVM-Virtualisierer so nutzen, wie er daherkommt und Filesharing nicht noch draufmurksen. Es geht sicher, keine Frage, aber , die Frage ist, wie viel du an Proxmox ranflanschen willst.

Was ist wir letztlich wichtig an ZFS insbesondere - willst du auf Snapshots per Samba zugreifen wollen? (das kann FreeNAS z.B.)

Im worst case machst zu ein zVol über Proxmox und reichst das als virtuelle Disk in die UCS-VM rein. UCS sieht dann eine Blockdevice (was du z.B. als ext4 oder XFS formatierst, so muss UCS nichts von ZFS selber wissen. Die Nutzdaten müsstest du natürlich rübertransferieren.

Funktioniert tadellos seit Jahren, halt ohne ACL. Pro Share eine Gruppe, reicht:)

Hi,

d.h. Du kannst bei Deiner Lösung keine ACLs verwenden? Okay, dann scheidet Möglichkeit 3 für mich leider aus.
Dass Möglichkeit 2 nicht funktioniert, dachte ich mir schon, damit ist das ebenfalls raus.
Möglichkeit 1 ist eigentlich kein Hexenwerk, es ist halt nur nicht so komfortabel per GUI zu machen. Wo siehst Du die Schwierigkeit?

Ein ZFS-Volume als RAW an eine VM zu hängen und dort mit einem anderen Filesystem zu arbeiten, entspricht nicht meinem Ansinnen. Ich möchte Checksummen, Snapshots, darüber dann auch Vorgängerversionen etc. haben.

Vierte Möglichkeit wäre, einzelne Platten oder ganze HBAs per vt-d an VMs zu übergeben. Diese VM müsste dann wiederum ZFS drauf legen. UCS ist da aber recht weit hinten dran, d.h. ich müsste wieder ein anderes System nutzen und habe dadurch wenig gewonnen sowie den Nachteil reduzierter Performance und erhöhter Komplexität.

Genau das hatte ich vermutet :wink:

Möglichkeit 1: Nun, du kannst Samba auf Proxmox installieren und dann in die S4 Domäne joinen, wenn du AD/S4 bereits hast. Technisch kein Ding. Man muss es von Hand einrichten, sollte wohl aber gehen. Technisch eigentlich alles i.O.

Wo ich die Schwierigkeit sehe: Proxmox ist ein angepasstes Debian, darauf spezialisiert ein anständiger Virtualisierer zu sein. Genau das und nicht viel mehr. Du kannst da vieles ranflanschen, aber wenn Proxmox eines Tages auf die Idee kommt, Samba selber zu integrieren, wirds Probleme geben. Ich würde selber wohl versuchen, den virtualisierer seinen Job zu machen und SMB anders anzubieten.

Was vielleicht noch eine leichtgewichtigere Variante wäre, in dem du Proxmox eben virtualisierer sein lässt, aber trotzdem die Vorteile von ZFS weiternutzen könntest: LXC Container und darin Samba als Memberserver von S4?

Ganz der erste wärst du vermutlich damit nicht: https://confluence.alitecs.de/display/KB/Samba4+in+LXC

EDIT: Da gibts sogar jemand, das das mit LXC so gelöst hat, wenn auch nicht mit UCS als DC

Das schließt NFS aus. Während NFS Linux-ACLs unterstützt, unterstützt es aber keine Extended Attributes, und die Windows-spezifischen ACLs werden von Samba nun mal in Extended Attributes gespeichert.

Ich habe eine Installation fertig und getestet bei den ersten zwei Kunden Produktiv

LXC Container auf Proxmox auf Installationsbasis von Openmediavault
Integration Datenfreigabe mit zweitem Dataset mittels Mountpoint
Integration zfs-auto-snapshot via Explorer (geht jetzt mit allen Snapshots)
Integration Active Directory, getestet mit UCS und Windows

Ich habe ein Proxmox Backup, wers mal testen möchte
Inbetriebnahme ca 15 min, maximum

Video kommt auf zfs.rocks, also Glocke läuten