Opsætning af NFSv4

Skrevet af: Patrick Kerwood

NFS – Network File System er et netværks filsystem, der mountes lokalt, som en disk eller USB Pen. Du kan tilføje dit NFS mount i fstab, så den automatisk mountes ved hver boot, eller du kan mounte den manuelt.

Installer nfs-kernel-server.
sudo apt-get install nfs-kernel-server

Pseudo filsystem

I NFSv4 kan man lave og exportere et pseudo filsystem. På den måde kan man exporter mapper rundt omkring i systemt, men nøjes med kun at mounte én netværks sti. Et pseudo filsystem er selvfølgelig valgfrit og er egentlig kun beregnet til at gøre det nemmere, ved mount og export.

Hvis du fx. har 4 klienter, der alle har den øverste mappe i pseudo filsystemet mounted, behøver du kun at tilføje en bind mountet mappe til pseudo filsystemet på serveren og alle klienter får automatisk den tilføjede mappe. Hvis ikke man brugte et pseudo filystem, skulle man exporter mappen og mounte den maunuelt, på samtlige klienter.

Hvis du ikke vil bruge pseudo metoden kan du springe ned til “Export” afsnittet.

Opret først den øverste NFS mappe.
sudo mkdir /nfs

Jeg har tre mapper på min server jeg gerne vil exporter, som ligger i /forste/sti-til/mappe1, /anden/sti-til/mappe2 og /tredje/sti-til/mappe3.

Opret 3 mapper i den øverste NFS mappe.
sudo mkdir /nfs/mappe1 && sudo mkdir /nfs/mappe2 && sudo mkdir /nfs/mappe3

Efterfølgende skal de 3 mapper bind-mountes til de nye oprettet mapper. Med bind mount kan man tilgå indholdet af én mappe flere steder i systemet. Man mounter simpelthen én mappe til en anden.

sudo mount --bind /forste/sti-til/mappe1 /nfs/mappe1sudo mount --bind /anden/sti-til/mappe2 /nfs/mappe2sudo mount --bind /tredje/sti-til/mappe3 /nfs/mappe3

Nu er pseudo filsystemet oprettet.

Export

Åben nu /etc/exports og tilføj de mapper der skal exporters.

sudo nano /etc/exports /nfs          192.168.1.0/24(crossmnt,sync,no_root_squash,no_subtree_check,insecure) /nfs – Stien til mappen der skal exporters.

192.168.1.0/24 – Den IP range der har adgang mappen. Kan evt. udskiftets med en enkelt IP adresse. /24 er subnettet, altså 255.255.255.0  

(crossmnt, sync,no_root_squash,no_subtree_check,insecure) – De indstillinger mappen skal deles med. Disse er dem jeg finder bedst, til mit setup.

Bid mærke i at /nfs har crossmnt tilføjet til indstillingerne. For at man kan hoppe fra én bind mountet mappe til en anden, skal den øverste exporterede mappe, i pseudo filsystemet, have denne indstilling. Har man valgt ikke at bruge et pseudo filsystem er den selvfølgelig ikke nødvendig.

Gem og luk exports filen.

Genstart nfs-kernel-server sudo service nfs-kernel-server restart

Dine exports er nu klar til at blive mounted.

Mounting af exports

Installer nfs-common.
sudo apt-get install nfs-common

For at mounte et NFS share manuelt, kører du nedenstående kommando.
sudo mount -t nfs 192.168.1.2:/nfs /sti/til/placering 192.168.1.2 – IP adressen til NFS serveren

/nfs – Mappen der skal mountes. I dette tilfælde er det den øverste mappen i pseudo filsystemet.

/sti/til/placering – Placeringen hvor mappen skal mountes.

Automatisk mount ved boot

For at få din klient til at mounte et NFS share ved boot, skal du tilføje en linje i /etc/fstab.
sudo nano /etc/fstab

Tilføj nedenstående linje.
192.168.1.2:/nfs    /sti/til/placering    nfs    auto    0  0

Mac OSX 10.8+

Fra og med OSX Mountain Lion (mener jeg), har Apple fjernet muligheden for at mounte NFS shares med Disk Utility. Det er stadig dog muligt via command line.

Opret mappen dit share skal mountes til.
mkdir /Users/BRUGERNAVN/nfs

 
Åben og tilføj nedenstående linje i /etc/auto_master. Indsæt din linje over /-   static sudo nano /etc/auto_master /Users/BRUGERNAVN/nfs          auto_nfs

 
Efterfølgende opretter du filen auto_nfs i /etc og tilføjer dine shares til den.
sudo nano /etc/auto_nfs mappe-navn    192.168.1.2:/nfs mappe-navn – Dette er et valgfrit mappe navn.

192.168.1.2 – Dette er IP adressen til NFS serveren.

/nfs – Dette er stien til mappen der er exporteret på serveren.

Fortæl automount at du har ændret konfigurationen, så den mounter dine shares.
sudo automount -vc

Problemer med XBMC og overstående konfiguration

Overstående pseudo konfiguration vil ikke fungere med XBMC’s indbygget NFS share detection, da XBMC bruger libnfs, som er kodet til NFSv3. Opsætningen med et pseudo filsystem blev først muligt med NFSv4, så en klient der ikke understøtter det, kan ikke cross mount og springe fra en bind mounted mappe til en anden.

XBMC’s indbygget NFS share detection tool, er uafhængig af dit OS og om klienten på dit OS understøtter NFS.

Se evt. mere info her. https://github.com/sahlberg/libnfs/issues/37

Der er 2 løsninger til dette problem.
For at bruge pseudo metoden, skal du mount dine shares med dit OS og i XBMC vælge den lokale mappe i sources.

Den anden løsning er ikke at lave pseudo filsystem, men exporter og mount, hver mappe for sig. For dernæst at vælge hver share i XBMC.


5 dec 2013   | Alle · Fildeling

Leave a Reply