Netzwerk – NFS: Die alternative zur Microsoft-Netzwerk-Freigabe (SMB / Samba)


00-Server.jpgNFS (nein nicht „Need for Speed“, auch wenn der Name für die meisten auch passen dürfte, sondern „Network File System“) ist ein von Sun Microsystems entwickeltes Protokoll für UNIX – genauere Infos auf Wikipedia: Network File System.


Das Protokoll lässt sich aber auch auf anderen Systemen wie Linux, MacOS und Windows nutzen. Gerade unter Linux konnte ich feststellen, dass bei mir der Geschwindigkeitszuwachs gegenüber SMB enorm war. Die QNAP bringt schon alle Voraussetzungen mit um dieses Protokoll nutzen zu können.



1. Die QNAP


Die QNAP ist mit ein paar wenigen Schritten bereit.


1.1. NFS-Dienst aktivieren
Unter:


> Systemsteuerung > Netzwerk- und Dateiservices > Win/Mac/NFS > NFS-Dienst


den NFS-Dienst mit 2 Häkchen aktivieren:


01-NFS-Dienste.png



1.2. Der Freigabe-Ordner
Falls nicht schon vorhanden unter:


> Systemsteuerung > Rechte > Freigabeordner > Freigabeordner


einen oder mehrere Freigabeordner erstellen:


02-Freigabe.png



1.3. Die Berechtigungen
Nun müssen für die Freigabeordner noch die entsprechenden Berechtigungen gesetzt werden.


> Systemsteuerung > Rechte > Freigabeordner > Freigabeordner


02-Freigabe.png



Beim entsprechenden Ordner in der Spalte „Aktion“ das mittlere Icon <Berechtigung für Freigabeordner bearbeiten> klicken.


Beim Berechtigungstyp auf <NFS-Hostzugriff> wechseln:


03-Berechtigungen.png



Bei den entsprechenden Ordnern Haken bei <Zugriffsrechte> setzen und über <Hinzufügen> neue Berechtigungen hinzufügen. In der zweiten Spalte kann mit * für alle Geräte eine Berechtigung erstellt werden. Alternativ kann auch eine Berechtigung per IP-Adresse z.B. 192.168.5.100 oder Host- / Gerätename erstellt werden. In der dritten Spalte lässt sich die Berechtigung entweder auf „nur lesen“ oder „lesen/schreiben“ stellen. Nun noch auf <Übernehmen> klicken und das war es schon auch schon auf Seiten der QNAP.



2. Linux Client einbinden


Je nach Distribution muss zuerst der NFS-Client installierten werden. Dies kann meist aus dem Software-Repository der Distribution nachgeladen werden. Dies geht am Terminal mit dem Befehl:


sudo apt-get install nfs-common



oder mit einem Software-Installationsprogramm wie z.B. Synaptic. Hier nach „nfs-common“ suchen und installieren.


Anschließend muss ein Ordner erstellt werden, in den der Freigabeordner eingebunden werden kann. Dieser Ordner wird im Unterordner /media erstellt. Dies muss mit Root-Rechten erfolgen. Dies muss nur einmalig aber pro Freigabe-Ordner gemacht werden. Im Terminal sieht dies dann folgendermaßen aus:


sudo mkdir /media/“Name-Freigabeordner“



oder in meinem Beispiel würde ich dies so machen:


sudo mkdir /media/NFS-D



Mit dem Befehl:


sudo mount „IP-Adresse“:/“Freigegebner-Ordner-QNAP“ /media/“Name-Freigabeordner-lokal“



z.B.


sudo mount 192.168.5.100:/Download /media/NFS-D



wird das Laufwerk nun eingebunden. Mit diesem Befehl wird das Laufwerk allerdings nur temporär bis zum nächsten Neustart eingebunden. Mit dem Befehl


sudo umount /media/NFS-D



kann das Laufwerk sofort wieder getrennt werden.


Sollte man die Freigabe nicht mehr benötigen, kann man mit dem Befehl:


sudo rmdir /media/NFS-D



den lokalen Einbinde-Ordner unter /media auch wieder löschen. Bei gelegentlichem Verwenden der Freigabe würde ich den Ordner im Verzeichnis /media nicht immer löschen.


Mit dem Befehl


showmount -e „IP-Adresse-QNAP“



z.B.


showmount -e 192.168.5.100



lassen sich alle freigegeben Verzeichnisse dieser QNAP anzeigen.


Wem dies zu umständlich ist, die Befehle immer in der Konsole eintippen zu müssen, der kann dieses Script-Tool verwenden.


forum.qnapclub.de/filebase/file/20/


Die Freigaben können auch permanent eingebunden werden, so dass die Verbindung direkte nach dem Start schon besteht. Da dies für mich aus verschiedenen Gründen – die QNAP läuft nicht permanent bzw. ist nicht immer erreichbar (Notebook), ich benötige die QNAP auch nicht immer sowie aus Sicherheit – nicht in Frage kommt, habe ich dies auch nicht getestet. Dies ist jedoch mit einem Eintrag in der „fstab“, mit „Autofs“ oder durch eintragen des Einbinde-Befehls in einem Startscript möglich.



3. MacOS Client einbinden


Unter MacOS ist der NFS-Client schon installiert.


Die Befehle unter MacOS unterscheiden sich ein wenig von Linux, aber der Ablauf ist der selbe. Auch hier muss ein Ordner erstellt werden, in den der Freigabeordner eingebunden werden kann. Dieser Ordner wird im Unterordner /private erstellt. Dies muss mit Root-Rechten erfolgen. Dies muss nur einmalig aber pro Freigabe-Ordner gemacht werden. Im Terminal sieht dies dann folgendermaßen aus:


sudo mkdir /private/“Name-Freigabeordner“



oder in meinem Beispiel würde ich dies so machen:


sudo mkdir /private/NFS-D



Mit dem Befehl:


sudo mount -t nfs „IP-Adresse“:/“Freigegebner-Ordner-QNAP“ /private/“Name-Freigabeordner-lokal“


z.B.


sudo mount -t nfs 192.168.5.100:/Download /private/NFS-D



wird das Laufwerk nun eingebunden. Mit diesem Befehl wird das Laufwerk allerdings nur temporär bis zum nächsten Neustart eingebunden. Mit dem Befehl


sudo umount /private/NFS-D



kann das Laufwerk sofort wieder getrennt werden.


Sollte man die Freigabe nicht mehr benötigen, kann man mit dem Befehl:


sudo rmdir /private/NFS-D



den lokalen Einbinde-Ordner unter /private auch wieder löschen. Bei gelegentlichem Verwenden der Freigabe würde ich den Ordner im Verzeichnis /private nicht immer löschen.


Mit dem Befehl


showmount -e „IP-Adresse-QNAP“



z.B.


showmount -e 192.168.5.100



lassen sich alle freigegeben Verzeichnisse dieser QNAP anzeigen.


Wem dies zu umständlich ist, die Befehle immer in der Konsole eintippen zu müssen, der kann dieses Script-Tool verwenden.


forum.qnapclub.de/filebase/file/21/


Die Freigaben sollten auch permanent eingebunden werden können, so dass die Verbindung direkte nach dem Start schon besteht. Da dies für mich aus verschiedenen Gründen – die QNAP läuft nicht permanent bzw. ist nicht immer erreichbar (Notebook), ich benötige die QNAP auch nicht immer sowie aus Sicherheit – nicht in Frage kommt, habe ich dies auch nicht getestet. Hier müsste dies mit einem Startscript möglich sein. Ein andere Methode ist mir im Moment nicht bekannt.



4. Windows Client einbinden


Auch unter Windows lassen sich NFS-Freigaben einbinden, von Haus aus allerdings nur bei den Enterprise und Ultimate Versionen. Hier kann der NFS-Client nachträglich installiert werden. Auch gibt es eine Vielzahl von Programmen von Drittherstellern. Die stabiler wirkenden Programme sind jedoch nicht gratis. Davon ausgehend, dass die wenigsten hier im Club eine Ultimate- und erst recht keine Enterprise-Edition von Windows haben, sowie der Umstand, dass die Microsoft-Netzwerk-Freigabe bzw. SMB / Samba unter Windows in Kombination mit der QNAP ganz ordentlich funktioniert, aber vor allem weil mir auch keine Ulimate- oder Enterprise-Edition zur Verfügung steht, verzichte ich auf eine Anleitung und verweise hier auf das Internet.



5. Performance


Bei meinem Ubuntu-Notebook konnte ich mit der Microsoft-Netzwerk-Freigabe / SMB nie mehr als 43 MB/s Schreibgeschwindigkeit auf die QNAP erreichen, trotz direkter Kabelanbindung vom Notebook an die QNAP. Auch das Ausprobieren aller SMB-Versionen brachte keine Besserung. Mit NFS erreiche ich nun knapp 110 MB/s Spitze.
Auch die Geschwindigkeit bei meinem schon etwas betagten MacBook konnte ich mit NFS von ca. 90 MB/s auf 95 MB/s Spitze erhöhen. Nicht viel, aber immerhin.
Mit beiden Notebooks gleichzeitig erreiche ich so ca. 120 MB/s Schreibgeschwindigkeit, beim gleichzeitigen Lesen so knapp 200 MB/s. Dabei sind beide Notebooks per virtuellem Switch direkt mit der QNAP verkabelt.


[entry]325[/entry]


04-Performance.png



6. Fazit


Auch wenn das Einbinden der Clients nicht ganz so einfach und komfortable ist wie beim Microsoft-Netzwerk-Freigabe / SMB ist es dennoch keine Hexerei und auf jeden Fall einen Versuch wert, gerade bei denen die Probleme mit der Performance oder dem Verbindungsaufbau haben.