Sådan opsættes NFS (Network File System) på RHEL/CentOS/Fedora og Debian/Ubuntu


NFS (Network File System) er grundlæggende udviklet til deling af filer og mapper mellem Linux/Unix-systemer af Sun Microsystems i 1980. Det giver dig mulighed for at montere dine lokale filsystemer over et netværk og fjernværter til at interagere med dem, da de er monteret lokalt på det samme system. Ved hjælp af NFS kan vi konfigurere fildeling mellem Unix til Linux-system og Linux til Unix-system.

  1. NFS giver lokal adgang til eksterne filer.
  2. Den bruger standard klient-/serverarkitektur til fildeling mellem alle * nix-baserede maskiner.
  3. Med NFS er det ikke nødvendigt, at begge maskiner kører på samme operativsystem.
  4. Ved hjælp af NFS kan vi konfigurere centraliserede lagerløsninger.
  5. Brugere får deres data uanset fysisk placering.
  6. Der kræves ingen manuel opdatering til nye filer.
  7. Nyere version af NFS understøtter også acl, pseudo root-monteringer.
  8. Kan sikres med Firewalls og Kerberos.

Det er en System V-lanceret tjeneste. NFS-serverpakken indeholder tre faciliteter, der er inkluderet i pakkerne portmap og nfs-utils.

  1. portmap: Det kortlægger opkald fra andre maskiner til den korrekte RPC-tjeneste (kræves ikke med NFSv4).
  2. nfs: Det oversætter anmodninger om ekstern fildeling til anmodninger på det lokale filsystem.
  3. rpc.mountd: Denne tjeneste er ansvarlig for montering og afmontering af filsystemer.

  1. /etc/eksport: Det er en hovedkonfigurationsfil for NFS, alle eksporterede filer og mapper er defineret i denne fil ved NFS-serverens ende.
  2. /etc/fstab: For at montere en NFS-mappe på dit system på tværs af genstart, er vi nødt til at foretage en post i/etc/fstab.
  3. /etc/sysconfig/nfs: Konfigurationsfil for NFS til at kontrollere, hvilken port rpc og andre tjenester lytter.

Opsæt og konfigurer NFS-monteringer på Linux Server

For at konfigurere NFS-monteringer har vi brug for mindst to Linux/Unix-maskiner. Her i denne vejledning bruger jeg to servere.

  1. NFS-server: nfsserver.example.com med IP-192.168.0.100
  2. NFS-klient: nfsclient.example.com med IP-192.168.0.101

Vi har brug for at installere NFS-pakker på vores NFS-server såvel som på NFS Client-maskinen. Vi kan installere det via “yum” (Red Hat Linux) og “apt-get” (Debian og Ubuntu) pakkeinstallatører.

 yum install nfs-utils nfs-utils-lib
 yum install portmap (not required with NFSv4)
 apt-get install nfs-utils nfs-utils-lib

Start nu tjenesterne på begge maskiner.

 /etc/init.d/portmap start
 /etc/init.d/nfs start
 chkconfig --level 35 portmap on
 chkconfig --level 35 nfs on

Efter installation af pakker og start af tjenester på begge maskiner skal vi konfigurere begge maskiner til fildeling.

Opsætning af NFS-serveren

Først konfigurerer vi NFS-serveren.

For at dele en mappe med NFS er vi nødt til at foretage en post i "/ etc/exports" konfigurationsfilen. Her opretter jeg en ny mappe med navnet "nfsshare" i "/" -partitionen til deling med klientserveren, du kan også dele en allerede eksisterende mappe med NFS.

 mkdir /nfsshare

Nu er vi nødt til at foretage en post i "/ etc/eksport" og genstarte tjenesterne for at gøre vores bibliotek delbar i netværket.

 vi /etc/exports

/nfsshare 192.168.0.101(rw,sync,no_root_squash)

I eksemplet ovenfor er der en mappe i/partition med navnet “nfsshare” deles med klientens IP “192.168.0.101” med læse- og skriveprivilegium, du kan også bruge klientens værtsnavn i stedet for IP i ovenstående eksempel.

Nogle andre muligheder, vi kan bruge i "/ etc/export" -filen til fildeling, er som følger.

  1. ro: Ved hjælp af denne mulighed kan vi give skrivebeskyttet adgang til de delte filer, dvs. klienten kan kun læse.
  2. rw: Denne mulighed giver klientserveren både læsning og skriveadgang i det delte bibliotek.
  3. synkronisering: Synkronisering bekræfter kun anmodninger til det delte bibliotek, når ændringerne er begået.
  4. no_subtree_check: Denne mulighed forhindrer kontrol af undertræet. Når et delt bibliotek er underkataloget til et større filsystem, udfører nfs scanninger af hver mappe over det for at kontrollere dets tilladelser og detaljer. Deaktivering af undertræskontrollen kan øge pålideligheden af NFS, men reducere sikkerheden.
  5. no_root_squash: Denne sætning gør det muligt for root at oprette forbindelse til den valgte mappe.

For flere valgmuligheder med “/ etc/eksport”, anbefales det at læse mandsiderne til eksport.

Opsætning af NFS-klienten

Efter konfiguration af NFS-serveren skal vi montere den delte mappe eller partition i klientserveren.

Nu ved NFS-klientenden er vi nødt til at montere den mappe på vores server for at få adgang til den lokalt. For at gøre det skal vi først finde ud af, at aktier er tilgængelige på fjernserveren eller NFS Server.

 showmount -e 192.168.0.100

Export list for 192.168.0.100:
/nfsshare 192.168.0.101

Ovenstående kommando viser, at en mappe med navnet “nfsshare” er tilgængelig på “192.168.0.100”, der kan deles med din server.

For at montere den delte NFS-mappe kan vi bruge følgende mount-kommando.

 mount -t nfs 192.168.0.100:/nfsshare /mnt/nfsshare

Ovenstående kommando monterer den delte mappe i “/ mnt/nfsshare” på klientserveren. Du kan bekræfte det ved hjælp af kommandoen.

 mount | grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.0.100:/nfsshare on /mnt type nfs (rw,addr=192.168.0.100)

Ovenstående mount-kommando monterede den nfs-delte mappe midlertidigt på nfs-klienten for at montere en NFS-mappe permanent på dit system på tværs af genstart, er vi nødt til at foretage en post i "/ etc/fstab".

 vi /etc/fstab

Tilføj følgende nye linje som vist nedenfor.

192.168.0.100:/nfsshare /mnt  nfs defaults 0 0

Test funktionen af NFS-opsætning

Vi kan teste vores NFS-serveropsætning ved at oprette en testfil i serverenden og kontrollere dens tilgængelighed på nfs-klientsiden eller omvendt.

Jeg har oprettet en ny tekstfil med navnet “nfstest.txt” i den delte bibliotek.

 cat > /nfsshare/nfstest.txt

This is a test file to test the working of NFS server setup.

Gå til det delte bibliotek på klientserveren, og du finder den delte fil uden manuel opdatering eller genstart af tjenesten.

 ll /mnt/nfsshare
total 4
-rw-r--r-- 1 root root 61 Sep 21 21:44 nfstest.txt
[email  ~]# cat /mnt/nfsshare/nfstest.txt
This is a test file to test the working of NFS server setup.

Fjernelse af NFS-holderen

Hvis du vil afmontere den delte mappe fra din server, når du er færdig med fildelingen, kan du blot afmontere den pågældende mappe med kommandoen “umount”. Se dette eksempel nedenfor.

[email  ~]# umount /mnt/nfsshare

Du kan se, at monteringerne blev fjernet ved derefter at se på filsystemet igen.

 df -h -F nfs

Du vil se, at disse delte mapper ikke er tilgængelige mere.

Nogle vigtigere kommandoer til NFS.

  1. showmount -e: Viser de tilgængelige delinger på din lokale maskine
  2. showmount -e : Viser de tilgængelige delinger på fjernserveren
  3. showmount -d: Viser alle underkataloger
  4. exportfs -v: Viser en liste over delingsfiler og indstillinger på en server
  5. exportfs -a: Eksporterer alle aktier, der er anført i/etc/eksport, eller fornavn
  6. exportfs -u: Uporterer alle aktier, der er anført i/etc/eksport, eller fornavn
  7. exportfs -r: Opdater serverens liste efter ændring/etc/eksport

Dette er det med NFS-monteringer for nu, dette var bare en start, jeg kommer med flere muligheder og funktioner i NFS i vores fremtidige artikler. Indtil da skal du forblive forbundet med linux-console.net for mere spændende og interessante tutorials i fremtiden. Efterlad dine kommentarer og forslag nedenfor i kommentarfeltet.