Categories
Linux

NFS und symbolische Links (symlinks)

Ein NFS-Client interpretiert auf dem NFS-Server erstellte symbolische Links wie lokale Links: Er wendet sie auf das lokale Dateisystem an. Möchte man auf dem Server z.B. per Symlink bestimmte Verzeichnisse über eine einzige Freigabe exportierten, funktioniert diese Methode also u.U. nicht.

Ein Workaround ist es, die Verzeichnisse auf dem Server per “mount –bind /quelle /ziel” zu “verlinken” bzw. zu mounten. Damit diese Mounts permanent sind, müssen sie in die /etc/fstab eingetragen werden:

/mnt/capture /data/video/capture bind bind 0 0

Allerdings exportiert der NFS-Server (Ubuntu/Debian Paket nfs-kernel-server) nicht die gemounteten Verzeichnisse von sich aus – man muss diese noch zusätzlich in der Datei /etc/exports angeben. Diesmal mit der Option “nohide” (detaillierte Erklärung hier):

/data/video/ 192.168.23.10(rw,async,no_subtree_check,no_root_squash)
/data/video/capture 192.168.23.10(rw,async,no_subtree_check,no_root_squash,nohide)
/data/video/movies 192.168.23.10(rw,async,no_subtree_check,no_root_squash,nohide)

Insgesamt eine etwas umständliche Lösung. Leider ist mit nichts besseres eingefallen…