Einbinden von NFS Freigaben über autofs (z.B. für Synology NAS)

. Bisher habe ich meine NFS Freigaben von meinem Synology NAS immer direkt beim Booten über fstab gemountet. Die Einträge in der fstab sahen dann in etwa so aus:

IP_NAS:/volumeUSB7/usbshare /mnt/NAS/Dokumente nfs rw 0 0
IP_NAS:/volume1/music /mnt/NAS/musik nfs rw 0 0

Das funkioniert im Prinzip auch soweit ganz gut. Allerdings hat es zwei Nachteile:

  • Die NFS Freigaben werden während des Bootens bereits gemountet, je nach Distribution und Konfiguration, geschieht dies in einem Moment wo der Network Manager (oder andere abhängige Dienste) noch nicht gestartet wurden. Hier muss dann manuell an der Konfiguration geschraubt werden. Genauso kann es vorkommen, dass das NAS nicht verfügbar ist und dadurch der Bootvorgang lange dauert oder schlichtweg der Rechner nicht mehr sauber startet, wenn das NAS nicht verfügbar ist. Sowas passiert zum Beispiel gerne mal, wenn man sein Notebook ausserhalb des eigenen Netzes nutzt.
  • Ein weiterer Nachteil ist die Auslastung des eigenen Netzwerkes. Hat man zum Beispiel noch fünf USB Platten am NAS hängen und diese auch in der fstab eingetragen, werden alle Platten des NAS beim Booten des Rechners aus dem „Tiefschlaf“ gerissen und es findet schon jede Menge Traffic statt ohne dass man den Zugriff in diesem Moment überhaupt benötigt. Ganz zu schweigen vom Stromverbrauch.

Vor ein paar Tagen bin ich dann über einen Artikel auf tuxanddroid.de auf autofs aufmerksam geworden. Der Artikel auf tuxanddroid bezieht sich auf SMB Freigaben, ausserdem bin ich noch auf ein, zwei Stolpersteinchen gestoßen, sodass ich hier ebenfalls noch einen Artikel zu dem Thema verfassen möchte.

autofs macht nichts anderes als Freigaben (egal ob NFS, SMB etc.) erst dann zu mounten wenn sie benötigt werden. Die Notwendigkeit wird zum Beispiel durch einen Klick in Nautlius auf den jeweiligen Ordner oder aber auch durch ein „ls“ auf der Console bestimmt. Auch übernimmt autofs das automatische „aushängen“ wenn auf die Laufwerke nicht mehr zugegriffen wird.

autofs ist in jeder Distribution als Paket enthalten. Die Installation ist also sehr einfach.

Für Sabayon:

sudo equo install autofs

Auch die Konfiguration ist recht einfach. Sie wird prinzipiell über zwei Dateien erledigt.

Alle notwendigen Dateien liegen unter:

etc/autofs/

Beginnen wir mit der Datei auto.master. Diese laden wir in einen beliebigen Editor mit root Rechten.

sudo nano /etc/autofs/auto.master

Und ja… ich liebe nano! :-)

Viel gibt es hier nicht zu tun, lediglich eine Zeile ist hinzuzufügen.

/mnt/NAS    /etc/autofs/auto.synology --ghost

Teil 1 gibt den Mount Punkt für die NFS Freigaben an. Dieses Verzeichnis sollte bereits vor der Nutzung von autofs angelegt werden:

sudo mkdir /mnt/NAS

Teil 2 gibt an in welcher Datei die NFS Freigaben konfiguriert sind. Die Datei kann einen beliebigen Namen haben. Noch existiert die Datei nicht, also legen wir sie fix an.

sudo touch /etc/autofs/auto.synology

Teil 3 ist optional. Hier werden Optionsparameter gesetzt. Achtung! auf das doppelte Minus achten! Bei jedem weiteren Optionsparameter ist nur ein minus zu setzen.

-ghost gibt an, dass die mount Punkte sichtbar sind auch wenn die NFS Freigabe noch nicht gemountet wurde. Die Option -ghost ist einer der von mir erwähnten Stolpersteine. Ist diese Option nicht gesetzt, werden die Verzeichnisse wo die NFS Freigaben landen nicht angezeigt. Wenn die Verzeichnisse nicht angezeigt werden, kann man auch nicht darauf klicken, um das automount zu triggern. Typisches „Henne-Ei-Problem“ :-)

Nun tragen wir die Freigaben in die gerade erstellte Datei auto.synology ein.

sudo nano /etc/autofs/auto.synology

Hier wird nun pro Zeile eine NFS (oder SMB, etc) Freigabe eingetragen.

Hier mal drei selbsterklärende Beispiele:

Bilder -fstype=nfs,rw IP_VOM_NAS:/volume1/photo
Web -fstype=nfs,rw IP_VOM_NAS:/volume1/web
Dokumente -fstype=nfs,rw IP_VOM_NAS:/volumeUSB4/usbshare

Über den Namen am Beginn jeder Zeile wird dann ein Verzeichnis unter dem definierten Mount Punkt angelegt.

Die beiden modifizierten Dateien müssen noch mit den entsprechenden Rechten verarztet werden.

sudo chmod 644 /etc/autofs/auto.master
sudo chmod 644 /etc/autofs/auto.synology

Grundsätzlich war es das erstmal. Allerdings gibt es noch einen weiteren Stolperstein. 😉

Wenn ihr eure NFS Freigaben wie ich bisher über die fstab gemountet habt, wird autofs solange nicht funktionieren, bis ihr die Einträge aus der fstab entfernt habt und die Freigaben mit einem

sudo umount -a

gelöst habt. Denn eine NFS Freigabe kann genau nur einmal gemountet werden. Mit den Einträgen in der fstab wird autofs die NFS Laufwerke nicht mounten können. Bei mir gab es sogar nichtmals eine Fehlermeldung in /var/log/messages….

Wenn ihr vorher schon Einträge in der fstab hattet, empfehle ich euch den Rechner einmal durchzustarten.

Unter Sabayon wird der Dienst autofs nicht direkt automatisch gestartet.

Das geschieht über:

sudo /etc/init.d/autofs start | stop | restart

Wenn man möchte das der Dienst auch beim Booten gestartet wird, ist am Beispiel von Sabayon noch folgendes Kommando abzusetzen:

sudo rc-update add autofs default

Das war es schon! Wenn man seine Verzeichnisse auch im home wiederfinden mag, geht das am besten über Links. Beispiel:

ln -s /mnt/NAS/Bilder /home/BENUTZER/Bilder/Bilder_NAS

oder

ln -s /mnt/NAS/Dokumente /home/BENUTZER/Dokumente

Wenn jetzt alles funkitoniert hat, dann solltet ihr beim nächsten Klick auf die Verzeichnisse erst dann die dazugehörige NFS Freigabe gemountet haben.

Und wenn man sich die paar Zeilen Konfiguration anschaut, kann man diese natürlich wieder ganz wunderprächtig in ein Skript gießen um nach dem Neuaufsetzen eines Rechners nicht wieder alles von Hand machen zu müssen. :-)

 

Flattr this!

Einbinden von Cloudstorage über webdav und fstab (owncloud, HiDrive, etc…)

Wer seinen Cloud Storage gerne ins Filesystem seines Linux einbinden will, muss gar nicht so viel machen.

Zuerst muss davfs2 installiert werden, welches in allen Distros verfügbar ist.

Am Beispiel von Sabayon:

sudo equo install davfs2

Als nächstes legen wir unter home ein Verzeichnis, welches als Mountpunkt für unseren Onlinespeicher dient:

mkdir /home/{Benutzername}/cloud

Nun wird ein entsprechender Eintrag in der /etc/fstab erzeugt (Datei muss mit root Rechten geöffnet werden)

Für owncloud:

http://URL_EURER_OWNCLOUD/files/webdav.php  /home/{BENUTZERNAME}/cloud davfs  rw,user,noauto  0  0

Für Strato HiDrive:
n

https://webdav.hidrive.strato.com /home/{BENUTZERNAME}/cloud davfs rw,user, noauto 0 0

Damit davfs weiss wie die jeweiligen Authentifizierungsdaten lauten, müssen diese im Homeverzeichnis abgelegt werden.

mkdir /home/{BENUTZERNAME}/.davfs2
touch /home/{BENUTZERNAME}/.davfs2/secrets

In die frisch erstellte Datei secrets müssen nun die entsprechenden Zugangsdaten für den Cloudstorage hinzugefügt werden.
Schema: URL USER PASSWORD

Für owncloud:

http://URL_EURER_OWNCLOUD/files/webdav.php USER PASSWORD

Für Strato HiDrive:

https://webdav.hidrive.strato.com USER PASSWORD

Damit niemand ausser uns Zugriff auf die Datei secrets bekommt, muss diese noch mit den entsprechenden Rechten verarztet werden:

chmod 600 /home/{BENUTZERNAME}/.davfs2/secrets

Damit unser User nun die Laufwerke mounten kann, muss er der Gruppe davfs2 hinzugefügt werden (das Kommando dafür kann distributionsabhängig abweichen.

Für Sabayon:
n

gpasswd -a ${BENUTZERNAME} davfs2

Fertig! Nun können die Laufwerke direkt ins Filesystem eingehängt werden.

mount /home/{BENUTZERNAME}/cloud

Ihr solltet die Laufwerke aber manuell nach dem Bootvorgang mounten und nicht automatisiert, da dies nur funktioniert wenn auch die Internetverbindung vorhanden ist.

Flattr this!

Einbinden eines FTP Servers über fstab

Leider ist es heutzutage immer noch der Standard, dass Provider für ihren Webspace in der Regel normale FTP Zugänge anbieten. ssh und co bekommt man meistens leider erst dann wenn deutlich mehr an den Hoster gezahlt wird… Die Angebote sind dann mit „Profi.- oder Business-Paket“ betitelt.

Wer öfter mal an seiner Homepage rumbastelt, bzw. häufiger Dateien hoch und runterladen möchte, hat vielleicht nicht immer Lust einen FTP Client für jede Änderung starten zu müssen. Zumal es auch deutlich einfacher ist, Dateien zu modifzieren ohne diese vorher runter.- und danach wieder hochzuladen.

Da würde es sich doch anbieten, den FTP Server des Hosters direkt über den eigenen Datei Browser einzubinden. Und genau das ist recht einfach zu bewerkstelligen!

Installieren muss man sich nur das Paket curlftpfs. Das ist bisher in jeder mir bekannten Distribution verfügbar.

Als weitere Vorbereitung sollte ein entsprechendes Mount Verzeichnis angelegt werden.

sudo mkdir /mnt/ftpdir

nun lädt man sich die Datei etc/fstab in einen Editor seiner Wahl (Rootrechte erforderlich!).

Folgende Zeile (natürlich mit den Account Daten von eurem FTP Zugang) muss aufgenommen werden:

curlftpfs#BENUTZERNAME:PASSWORT@FTP_URL /mnt/ftpdir fuse rw,allow_other,noauto,user 0 0

Das wars auch schon. Ich habe bei mir den Eintrag mit „noauto“ hinzugefügt, da ich nicht unbedingt beim Booten schon den FTP Server mounten möchte, sondern nur bei Bedarf.

Flattr this!