NFS-Konfiguration

Aus Synology Wiki
Version vom 22. Oktober 2014, 20:17 Uhr von Gerega (Diskussion | Beiträge) (Linux Automounter mit autofs)

Wechseln zu: Navigation, Suche

Konfiguration unter Windows XP

ursprünglich erstellt von Benutzer papiga01 im Forum der NFS Teil für Linux ist später separat dazugekommen.

Voraussetzungen

  • Auf der DS ist NFS aktiviert.
  • Es existiert ein User mit Passwort (nennen wir ihn mal "Foo" und dass Passwort "Bar"
  • Auf der DS ist ein Verzeichnis freigegeben d.h. in der Datei /etc/exports existiert ein Eintrag z.b.
/volume1/music  192.168.1.0/255.255.255.0(rw,no_wdelay,root_squash,insecure_locks,anonuid=1024,anongid=100)

Vorbereitung

Von der DS kopiert man sich die Dateien (oder ihren Inhalt): /etc/passwd und /etc/group auf den PC in c:\ Anmerkung: in den kopierten Dateien c:\passwd und c:\group braucht man nicht alle Einträge, sondern nur diejenigen Einträge, die den user "Foo" betreffen. Den Rest kann man entfernen.)

Installation

  • Für Windows XP folgende Datei downloaden: Windows Services for UNIX Version 3.5 von dieser Downloadseite
  • Mit einem Doppelklick wird die Datei entpackt, danach startet man SfuSetup.msi und wählt die Custom Installation.
  • Bei den Komponenten wählt man Client for NFS und User Name Mapping aus, den Rest kann man abwählen.
  • Im nächsten Schritt wählt man password and group files und schreibt dann c:\passwd und c:\group

Benutzung Windows

  • In XP den Explorer öffnen und unter Netzwerkumgebung - Gesamtes Netzwerk müsste nun NFS Network neu hinzugekommen sein.
  • Darunter befindet sich Default LAN und darunter die DiskStation mit den freigegebenen Verzeichnissen (/volume1/music).
  • Mit einem Rechtsklick auf ein freigegebenes Verzeichnis kann man das Verzeichnis auch einem Laufwerksbuchstaben zuweisen (User:Foo Passwort:Bar)

NFS Client Konfiguration bei Benutzung Linux

  • Beispiel Mount unter Linux in der /etc/fstab (diskstation mit der IP-Adresse ersetzen)
diskstation:/volume1/myfiles /myfiles nfs auto,user,defaults,rsize=32768,wsize=32768,tcp,intr 0 0

intr ist wichtig, da man sonst bei einem hängenden Mount z.B. DS wurde ausgeschaltet, keinen umount mehr hinbekommt.

rsize und wsize sind die Buffergrössen und können ruhig Maximal eingestellt werden. Speicher ist nicht mehr sooo teuer, dass man Hamstern muss.

tcp sollte defaultmässig gesetzt sein und ist nur noch mal zur Sicherheit drin. Performance technisch sollte man keinen grösseren Unterschied (Also TCP langsammer) zu UDP merken .

user ermöglich den Mount durch einen Benutzer vorzunehmen.

auto mountet automatisch beim Booten.

defaults sind defaults...


Bei der Nutzung der DS mittels NFS ist es ratsam die UIDs zwischen der Diskstation und den Unix Clients anzupassen, damit die Rechte auf den NFS Laufwerken, welche von mehreren Clients abgefragt werden, nicht durcheinander geraten. Die anpassung der UIDs sollte man auf den NFS Clients machen, da das Webinterface der DS durcheinander kommt, wenn man in der /etc/passwd der Diskstation änderungen an der UID vornimmt. Allgemein sollte man bei einem Unix immer die UIDs der Benutzer gleich halten, sobald man mehrere Unix Maschinen im gleichen Netz laufen lässt.

Am einfachsten ist es, wenn der Nutzer noch nicht existiert. In dem Falle kann man den Nutzer mit der UID der Diskstation anlegen. Die UID ist der 3. Eintrag einer Zeile in der /etc/passwd.

Beispiel Eintrag:

admin:x:1024:100:System default user:/var/services/homes/admin:/bin/sh

Im Beispiel ist die UID die 1024, der Username ist "admin" und auf dem Client sollte die /etc/passwd für den User "admin" ebenfalls die 1024 zeigen.

Falls der Benutzer bereits auf dem/den Client Maschinen existiert, kann die UID angepasst werden, indem der Eintrag in der /etc/passwd verändert wird. Den alten Eintrag sollte man sich aber erst noch Merken, denn mit der änderung ist das Problem verbunden, dass anschliessend die Dateien des Benutzers immer noch mit der alten UID im Dateisystem abgelegt sind und der Benutzer nicht mehr auf seine eigenen Dateien zugreifen kann. Für das ändern der Datei UIDs gibt es ein einfaches Hilfsmittel, um die Rechte wieder dem richtigen User zuzuweisen: "find". Der Benutzer sollte zur Umstellung nicht eingeloggt sein, damit auch tatsächlich alle Dateien umgestellt werden können. Der muss mit "root" Rechten ausgeführt werden.

Verwendung von "find":

find / -user <alte UID> -exec chown <neue UID von der DS> {} \;

Je nach Dateisystem grösse kann das durchsuchen des Filesystems und das anpassen der Rechte eine Weile dauern.


Mediaserver und NFS

Bei Benutzung der Mediendienste, für Music, Fotos und Videos ist derzeit (DSM3.0-1372) leider die Nutzung von NFS etwas eingeschränkt. Im Gegensatz zur Nutzung von CIFS wird der Index der Medien Datenbank nicht automatisch mit neuen Daten zu neuen Dateien gefüllt. Um nicht ständig neue Dateien von Hand über die Weboberfläche indizieren zu müssen, ist folgender Eintrag in der /etc/crontab nützlich. Statt "video" ist es möglich Optionen aus video|music|photo|playlist zu verwenden.

15      1       *       *       *       root    /usr/syno/bin/synoindex -R video

Linux Automounter mit autofs

Da man mit festen einträgen in der fstab für NFS unter umständen hängende NFS Mounts bekommen kann, ist es möglich statt dessen die NFS Mounts über Automounter mounten zu lassen. Dazu muss autofs installiert sein.

Als erstes ein Eintrag in die Datei /etc/auto.master:

/mnt/auto       /etc/auto.misc

Danach ein Beispiel Eintrag in /etc/auto.misc für ein auf der DS freigegebenes NFS Filesystem:

video        -rsize=32768,wsize=32768,intr,tcp,timeo=300,rw      IP-Adresse_der_Diskstation:/volume1/video

Nach Anlegen des Verzeichnisses /mnt/auto z.B. mit "mkdir /mnt/auto" und einem Neustart (Hängt von der Distribution ab z.B. bei gentoo "/etc/init.d/autofs restart") von autofs, werden die Verzeichnisse automatisch gemountet, wenn man z.B. ein "cd /mnt/auto/video" ausführt. Mit einem symbolischen Link z.B. "ln -s /mnt/auto/video /mnt" kann der Mount Punkt dort zugänglich gemacht werden, wo er benötigt wird.

Troubleshooting: Falls das Mounten nicht klappt, installiert man das Paket "nfs-common" in der Distribution nach. Anschließend wird mit dem Befehl "showmount -e IP-Adresse_der_Diskstation" nachgesehen, welche NFS-Mountpunkte die Diskstation anbietet. Diese Mountpunkte müssen mit der IP-Adresse in /etc/auto.misc identisch sein. Die IP-Adressen können jetzt in der Weboberfläche der Diskstation eingestellt werden:

Systemsteuerung > Gemeinsame Ordner > rechte Maustaste auf den zu mountenden Ordner > Bearbeiten > NFS-Berechtigungen

Dort sollten zwei IP-Adressen eingetragen werden: IP-Adresse_der_Diskstation und IP-Adresse_der_Diskstation/24. Beispiel: 192.168.1.110 und 192.168.1.110/24 Anschließend "/etc/init.d/autofs restart" ausführen oder Linux neu starten.

Bemerkungen

  • Unterstützte NFS-Versionen:
NFS 2.0
NFS 3.0

externe Links