Seiten

Samstag, 27. Mai 2017

Synology NFS-Freigaben unter (K)Ubuntu einbinden

Freigegebene Verzeichnisse auf Netzwerkgeräten hab ich lange Zeit über Samba in mein (K)Ubuntu-System eingebunden, früher, weil ich noch ein Windowsgerät im Netzwerk hatte, später, weil ich zu faul war meine Skripte anzupassen und einfach den Status quo behielt. Dabei waren die Verzeichnisse direkt via /etc/fstab eingebunden.

Nun brachte das für mich mit dem Upgrade auf 16.04 und damit auf Systemstart systemd folgende Nachteile:
1. Der Rechner fuhr nicht mehr hoch, da die Netzlaufwerke natürlich bei Systemstart noch nicht vorhanden sind.
2. Nach Lösung von 1. fuhr der Rechner anschließend nicht mehr runter, weil die Netzlaufwerke noch in Gebrauch waren.

Es musste also eine Lösung her, und die heißt: Einbinden via NFS!
Leider geht dies nicht so leicht, wie ich vermutet hätte und alle Anleitungen, die ich fand bieten keine holistische Lösung, da alle den ein oder anderen Fallstrick unerwähnt lassen.

Nun also mein Weg zum Erfolg:

1. Eindeutige IP

NFS lebt von eindeutigen IPs, daher müssen die Geräte vom Router eindeutige IPs bekommen, in meinem Fall:
192.168.1.101 = Laptop
192.168.1.102 = NAS

2. NFS am NAS aktivieren

Unter Systemsteuerung -> Dateidienste  NFS aktivieren.


3. Gemeinsame Verzeichnisse am NAS freigeben

In der Systemsteuerung -> Gemeinsamer Ordner auf einem Ordner "Bearbeiten" wählen und dort die Registerkarte "NFS-Berechtigungen" ansteuern. 
Nun eine neue Regel erstellen.


  • Als IP vergebe ich meinen Laptop.
  • Mit Schreib-/Leserechten.
  • Alle Benutzer zu admin zu ordnen [Fallstrick 1: eine andere Auswahl führte bei mir nicht zum Erfolg, obwohl mein Laptop-User auch am NAS bekannt ist].
  • Sicherheit: sys
  • asynchron
  • und Zugriff auf Unterordner erlauben.

4. Freigabe am Laptop prüfen

Auf der Konsole kann man mit 
showmount -e 192.168.1.102
Überprüfen, ob die Freigabe geklappt hat und auch gleich, wie der Freigabepfad ist. Die Ausgabe sieht dann in etwa so aus:
$ Export list for 192.168.1.102:
/volume1/video 192.168.1.101
/volume1/photo 192.168.1.101
/volume1/music 192.168.1.101

5. Autofs am Laptop installieren

sudo apt-get install autofs

6. Autofs einrichten

Dazu müssen zwei Dateien bearbeitet werden

6a) auto.master

sudo nano /etc/auto.master
darin trägt man den Eingehängepunkt und die Datei ein, in der die NFS-Freigaben konfiguriert sind (--ghost gibt an, dass die Verzeichnisse auch sichtbar sind, wenn das Freigabe-Verzeichnis noch nicht gemountet wurde):
/media/NAS /etc/auto.nas --ghost
Anschließend den Einhängepunkt anlegen
sudo mkdir /media/NAS 

6b) auto.nas

Nun die Konfiguration auto.nas bearbeiten
sudo nano /etc/auto.nas
und darin die NFS-Freigaben samt Einhängepunkt festlegen
NAS_Video -fstype=nfs,rw,retry=0 192.168.1.102:/volume1/video
NAS_Bilder -fstype=nfs,rw,retry=0 192.168.1.102:/volume1/photo
NAS_Musik -fstype=nfs,rw,retry=0 192.168.1.102:/volume1/music

Zu erst der Einhängepunkt (z.B. NAS_Video). Folgend von den Optionen:
  • -fstype=nsf (Dateisystemtyp)
  • rw (Schreib- und Leserechte)
  • retry=0 (Mount gibt sofort aus, wenn Server nicht erreichbar ist, ansonsten versucht mount den Server zwei Minuten lang zu erreichen und blockiert eventuell.
Anschließend die Freigabe am NAS
  • <IP des NAS>:<Freigabeverzeichnis>
Fallstrick 2: Ich hatte bei Ubuntuusers gelesen, dass man die Option soft verwenden soll, um ein Einfrieren des Dateimanagers zu verhindern, wenn es zu Unterbrechungen kommt. Bei mir bewirkt die Option eben genau, dass der Dateimanager einfriert statt eine Verbindung herzustellen.

7. Rechte vergeben

Fallstrick 3: Was die Rechte-Zuordnung angeht sind die Anleitungsseiten recht dürftig, ohne gehts nämlich nicht und während ich anfangs noch dachte es müssen die Einhängepunkte gesondert mit Rechten versorgt werden, sind es dagegen doch die Dateien  /etc/auto.master und /etc/auto.nas die Rechte benötigen.
sudo chmod 644 /etc/auto.master
sudo chmod 644 /etc/auto.nas

8. Verküpfungen erstellen

Nun müssen die verbundenen Verzeichnisse einmalig über die Konsole angeredet werden und dann kann man im Dateimanager eine Verknüpfung dazu erstellen.
cd /media/NAS/NAS_Video
cd ..
cd /media/NAS/NAS_Musik
cd ..
cd /media/NAS/NAS_Bilder
Nun sind alle Verzeichnisse einmal verbunden wurden und sind im Dateimanager sichtbar. Es kann nun eine Verknüpfung erzeugt werden.