Ist es sinnvoll, NFS auf einem Produktionswebserver zu verwenden?
Kann NFS auf Produktionsservern sinnvoll verwendet werden, um einen Computerserver mit einem Speicherserver zu verbinden, vorausgesetzt, die Verbindung erfolgt über eine LAN 1Gbe- oder 10Gbe-Verbindung?
Es gibt offensichtlich einen gewissen Netzwerk-Overhead und NFS scheint beim Schreiben besonders langsam zu sein, wenn Sie den Synchronisierungsmodus aktiviert haben. Ansonsten scheint es einigermaßen leicht und skalierbar zu sein, was ich sagen kann, aber ich habe persönlich wenig Erfahrung damit. Liege ich falsch?
Das Problem ist, dass ich momentan einen Server habe, der sowohl als Speicher- als auch als Webserver fungiert, aber ich werde die beiden wahrscheinlich in Zukunft aufteilen müssen und berücksichtigen, dass einige Anforderungen zur Authentifizierung die Webanwendungsschicht durchlaufen müssen Vor dem Initialisieren der Dateiübertragung wird es mit dieser Software etwas schwierig. Ein Netzwerk-fs-Mount ist die einfachste Option, die ich nur .. weiß nicht, ob das eine gute ist.
Ich habe auch vor, lokales Caching mit NFS zu verwenden, um die Leistung ein wenig zu verbessern, aber ich bin mir nicht sicher, ob das ausreicht.
Was Alternativen angeht, gibt es nur iSCSI, das ich als echten Konkurrenten kenne, und die meisten Leute scheinen NFS gegenüber anderen weniger bekannten zu empfehlen.
Antworten
NFS ist in Ordnung, sofern nicht bestimmte andere Kriterien erfüllt sind, nämlich:
- Die beteiligten Systeme können beide NFS nativ verwenden. Windows zählt nicht hier, es Art von Arbeiten, aber es ist eine Menge Macken bekommt und ist oft ein Schmerz zu arbeiten mit , wenn sie mit NFS in einer plattformübergreifenden Umgebung zu tun (und wenn es nur Windows verwenden SMB3, beseitigt es die meisten der anderen Probleme mit NFS). Beachten Sie, dass dies auf der Clientseite Unterstützung auf Kernelebene bedeutet, da eine Implementierung auf Benutzerebene entweder die Effizienzprobleme lösen muss, die mit der Verwendung von FUSE verbunden sind, oder direkt mit der Anwendung verknüpft werden muss, die auf die Anwendung zugreifen muss Teilen.
- Sie haben ordnungsgemäß überprüft, wie der NFS-Client einen Neustart des NFS-Servers behandelt. Dies umfasst sowohl das Betriebssystem selbst (was in den meisten Fällen in Ordnung sein sollte ) als auch die Software, die auf die Freigabe zugreift. Insbesondere ist auf einigen Clientplattformen besondere Vorsicht geboten, wenn die Software, die die Freigabe verwendet, Dateien über einen längeren Zeitraum geöffnet hält, da nicht alle NFS-Clientimplementierungen Serverneustarts ordnungsgemäß verarbeiten, indem Sperren und Dateihandles explizit neu bereitgestellt und erneut validiert werden, wie sie sollten (welche) führt zu allen möglichen Problemen für die Client-Software). Beachten Sie, dass Sie dies jedes Mal überprüfen sollten, wenn ein Teil des Stapels aktualisiert oder neu konfiguriert wird.
- Sie sind bereit, eine ordnungsgemäße Benutzer- / Gruppen-ID-Zuordnung einzurichten. Dies ist groß, da Sie ohne das System entweder die UID / GID-Zuordnungen zwischen den Systemen spiegeln müssen (machbar, aber ich würde vorsichtig sein, SSO gegen ein internes Netzwerk für ein Internet-System einzurichten), oder Sie haben möglicherweise schwerwiegende Probleme Auswirkungen auf die Sicherheit (dh was Sie auf einem System für Berechtigungen sehen, stimmt nicht mit dem überein, was Sie auf anderen sehen).
- Sie arbeiten über eine gesicherte Netzwerkverbindung oder sind bereit, die Authentifizierung für die Freigabe ordnungsgemäß einzurichten. Ohne Authentifizierung kann jeder auf dem Link darauf zugreifen (und ein böswilliger Client kann die grundlegenden diskretionären UNIX-Zugriffskontrollen leicht umgehen).
Angenommen, Sie erfüllen alle diese Kriterien und verfügen über ein relativ schnelles Netzwerk, sollte es Ihnen gut gehen. Wenn Sie Jumbo-Frames ausführen können, sind diese für jedes Netzwerk-Dateisystem oder jeden Netzwerk-Blockspeicher sehr hilfreich.
NFS ist absolut in Ordnung und wird gegenüber iSCSI bevorzugt, da NFS viel einfacher zu verwalten, freizugeben und zu sichern ist.
Wir verwenden NFS seit Jahren, um unser SAN an unsere VMware ESXi-Server anzuschließen und Hunderte von VMs darauf auszuführen. Überhaupt keine Probleme.
Der Engpass ist eher das Speichersystem als das Netzwerkprotokoll.
Die Netzwerkverbindung sollte natürlich schnell genug sein, dh 10 Gbit Ethernet oder Glasfaser. Wir kümmern uns nicht einmal mehr um ein separates Speichernetzwerk.
iSCSI könnte etwas schneller sein ...
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/storage_protocol_comparison-white-paper.pdf
https://www.hyper-v.io/whos-got-bigger-balls-testing-nfs-vs-iscsi-performance-part-3-test-results/
... aber NFS ermöglicht wie jeder andere Netzwerk-Redirector (SMB3, AFS / AFP usw.) den gleichzeitigen Mehrfachzugriff, was mit iSCSI oder anderen Blockprotokollen schwierig ist.
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392