Multithreaded Solaris/Illumos SMB-Server mit NFS4 ACL und Windows SID vs SAMBA
ZFS
Solaris Unix ist der Ursprung von ZFS und bietet immer noch die beste Integration in das Betriebssystem mit dem geringsten Ressourcenbedarf für ZFS. Während ZFS unter Linux nur ein weiteres Dateisystem unter vielen anderen ist, hat Sun OpenSolaris zusammen mit ZFS als primäres Dateisystem entwickelt (Oracle Solaris 11.4 und Illumos/OI/OmniOS sind Nachkommen) mit vielen erweiterten Funktionen wie Drace, Service Management oder Container-basierten VMs . Alle diese Funktionen und Ideen fanden Eingang in BSD oder Linux, ohne dass NFS oder SMB so tief in ZFS integriert wurde. Insbesondere der Multithread-SMB-Server, der Teil von Solaris-basierten Systemen ist der häufigste Grund für die Verwendung dieses Unix.
SMB und ACL
Der wichtigste Anwendungsfall von Storage ist SMB, das File-Sharing-Protokoll von Microsoft. Dadurch wurden überlegene, feingranulare ACL-Berechtigungen mit Vererbung in das NTFS-Dateisystem und in SMB-Freigaben eingeführt. Während herkömmliche Linux/Unix-Berechtigungen oder Posix-ACL nur einfaches Lesen/Schreiben/Ausführen auf einer Benutzer-ID wie 101 zu bieten hat, erlauben die NTFS-ACL zusätzliche Berechtigungen zum Erstellen/Erweitern von Dateien oder Ordnern, zum Ändern oder Lesen von Attributen oder zum Übernehmen von Eigentümer Rechten basierend auf einer eindeutigen Windows SID wie S-1-5-21-3623811015-3361044348-30300820-1013
NFS4-Berechtigungen
Der Kernel-basierte Solaris/Illumos-SMB-Server ist der einzige, der NFS4-ACL (eine Obermenge von Windows NTFS-ACL, Posix ACL und einfachen Unix-Berechtigungen) vollständig in das OS uns SMB integriert hat mit Windows-SID (Eigentümer-/Benutzerreferenz) als ZFS-Attribut - dies obwohl das Unix-ZFS-Dateisystem normalerweise nur Unix-UID/GID als Benutzer-/Eigentümerreferenz akzeptiert. Der Hauptvorteil besteht darin, dass man ein ZFS-Dateisystem mit intakten Windows-Berechtigungen verschieben/wiederherstellen kann. Wenn man stattdessen SAMBA verwendet, das nur auf Unix-UID/GID basiert, muss man komplizierte ID-Zuordnungen verwenden, um einer Windows-SID eine Unix-UID zuzuweisen, die dazu von Server zu Server unterschiedlich ist.
This book is intended for anyone responsible for setting up and administering Oracle ZFS file systems. Topics are described for both SPARC and x86 based systems, where appropriate.
docs.oracle.com
en.wikipedia.org
en.wikipedia.org
wiki.linux-nfs.org
wiki.samba.org
SMB-Gruppen
Der Kernel-basierte Solaris/Illumos-SMB-Server ist der einzige, der zusätzliche lokale SMB-Gruppen bietet. Im Gegensatz zu Unix-Gruppen erlauben Windows-artige SMB-Gruppen in den ACL-Einstellungen die Verwendung von Gruppen in Gruppen. Die Gruppen-ID ist eine Windows-SID, genau wie eine Benutzer-ID.
Vorherige-Versionen
Der Kernel-basierte Solaris/Illumos SMB-Server ist der einzige mit einer strikten Beziehung zwischen einem ZFS-Dateisystem und einer Freigabe. Dies ist wichtig, wenn Sie ZFS-Snaps als Windows-„Vorgängerversionen“ verwenden möchten. Da ZFS-Snaps einem Dateisystem zugewiesen sind, kann es ziemlich verwirrend sein, wenn man stattdessen SAMBA verwendet. Da SAMBA nur Datenordner sieht und nichts über ZFS weiß, muss man Freigaben sorgfältig konfigurieren und organisieren, damit dies insbesondere mit verschachtelten ZFS-Dateisystemen funktioniert, während unter Solaris „frühere Versionen“ einfach ohne weitere Einstellungen funktionieren.
Einrichtung
Im Allgemeinen ist der Solaris/Illumos-SMB-Server viel einfacher zu konfigurieren und einzurichten als SAMBA, das auch unter Solaris eine Option ist. Keine smb.conf mit Servereinstellungen, einfach smb share eines ZFS-Dateisystems aktivieren. SMB-Serververhalten kann mit dem Admin-Tool smbadm,
smbadm – Manpages Abschnitt 1M: Systemadministrationsbefehle festgelegt oder angezeigt werden oder es sind ZFS-Eigenschaften wie aclmode, aclinherit oder NFS4-Datei- oder Freigabe-ACL im Allgemeinen.
Multithreaded
Während der Singlethreaded SMB Server SAMBA die beste Singlecore-CPU-Leistung benötigt, ist der Kernel-basierte SMB-Server besser für Multicore-CPUs und viele parallele Anforderungen optimiert.
Nachteile
Der Kernel-basierte SMB-Server bietet weniger Optionen als SAMBA und unterstützt nur den Windows AD-Membermodus (standardmäßig).