Hvordan installere NFS-server og klient på RHEL-distribusjoner


I Linux er det et par fildelingsprotokoller som brukes til å dele lagring og filer på tvers av et nettverk. De mest brukte er Samba og NFS.

Samba er en populær åpen kildekode-programpakke som fungerer i en klient-server-arkitektur. Den tilbyr kompatibilitet på tvers av plattformer som muliggjør sømløs fildeling på tvers av Linux-, Windows- og macOS-operativsystemer. En fildeling som er vert på et Linux-system kan nås fra forskjellige plattformer, og fremmer dermed samarbeid.

En annen mye brukt fildelingsprotokoll er NFS, forkortelse for Network File Share. Akkurat som Samba, fungerer den på en klient-server-modell og lar en bruker dele kataloger og filer på tvers av et nettverk med flere eksterne klientbrukere.

I denne veiledningen vil vi sjekke ut hvordan du installerer NFS-serveren og -klienten på RHEL-baserte distribusjoner som Fedora, CentOS Stream, Rocky Linux og AlmaLinux.

NFS tjenester

For øyeblikket er det 3 versjoner av NFS, den siste er NFSv4 som inkluderer funksjoner som muligheten til å jobbe over internett og på tvers av en brannmur. I tillegg er det NFSv3 og NFSv2 som er den eldste protokollen.

NFS-tjenesten består av NFS-serveren og klienten. NFS-serveren består av følgende nøkkelfiler:

  • nfs-server – Dette lar klientsystemer få tilgang til NFS-delte filer.
  • rpcbind – konverterer RPC-programmer til universelle adresser.
  • nfs-idmap – Utfører oversettelse av bruker- og gruppe-ID-er til navn og bruker- og gruppenavn til ID-er.
  • portmap – Dette er en server som konverterer RPC-programnumre til IP-portnumre.
  • nfslock – I tilfelle en NFS-serverkrasj, starter nfslock de nødvendige RPC-prosessene.

NFS-konfigurasjonstjenester

Her er noen av nøkkelkonfigurasjonsfilene for NFS:

  • /etc/exports – Hovedkonfigurasjonsfilen, som angir filsystemene eller katalogene som skal eksporteres og åpnes av eksterne brukere.
  • /etc/fstab – Dette er en fil som inneholder oppføringer av monterte partisjoner. I NFS inneholder filen oppføringer av NFS-delingskataloger eller filsystemer som er permanent montert og kan vedvare en omstart.
  • /etc/sysconfig/nfs – Den definerer portene som trengs under kjøringen av RPC-tjenester.

NFS-server og klientoppsett

For å sette opp NFS-delinger, trenger vi minst to Linux/Unix-maskiner. Her i denne opplæringen skal jeg bruke to servere.

  • NFS-serverRHEL 9 med IP 10.128.15.213
  • NFS-klientRHEL 9 med IP 10.128.15.214

Installer NFS på server og klient

For å starte, må du logge på begge nodene (NFS-server og klient) og installere NFS-tjenestene. Først oppdaterer du pakkeinformasjonen som vist. Følgende dnf-kommando vil også oppgradere alle de spennende pakkene til deres nyeste versjoner.

sudo dnf update 

Når oppdateringen er fullført, fortsett og installer de nødvendige NFS-tjenestene.

sudo dnf install rpcbind nfs-utils -y

Det neste trinnet er å aktivere NFS-tjenestene som vist.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Pass på å også starte NFS-tjenestene.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Det er avgjørende å bekrefte at alle NFS-tjenestene kjører.

sudo systemctl status nfs-server
sudo systemctl status rpcbind

Sørg for å også konfigurere brannmuren for å tillate innkommende NFS-tjenester som følger.

sudo firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd}
sudo firewall-cmd --reload

Opprett en NFS-delkatalog

Med alle NFS-tjenestene installert og kjører som forventet, er det på tide å opprette NFS-delingskatalogen, som er katalogen som vil inneholde filer som vil få tilgang til NFS-klienter i nettverket.

I dette tilfellet vil vi opprette en NFS-delingskatalog kalt my_nfsshare i hjemmekatalogen vår.

mkdir -p /home/tecmint/my_nfsshare

Deretter tildeler du katalogtillatelser. For demonstrasjonsformål vil vi tildele globale tillatelser som vil gi NFS-klienter lese-, skrive- og utføringstillatelser.

sudo chmod 777 -R /home/tecmint/my_nfsshare

Eksporter en NFS-delkatalog

Det neste trinnet er å eksportere NFS-delingskatalogen. For å oppnå dette må vi skrive inn /etc/exports-filen. Få derfor tilgang til filen med ditt foretrukne tekstredigeringsprogram. I dette tilfellet vil vi bruke Vim-editoren.

sudo vim /etc/exports

Legg til følgende oppføring. Pass på å erstatte server-ip med IP-adressen til NFS-serveren.

/home/tecmint/my_nfsshare server-ip/24(rw,no_root_squash)

Eksporter til slutt NFS-delingskatalogen eller filsystemet.

sudo exportfs -rv

Kjør følgende kommando for å se NFS-aksjene.

showmount -e localhost

Konfigurer NFS-klient

Den gjenværende fasen av denne øvelsen er å konfigurere NFS-klienten for å få tilgang til den delte katalogen. Først må du bekrefte at du kan se eksportlisten eller NFS-aksjene på NFS-serveren.

showmount -e 10.128.15.213

Det neste trinnet er å montere NFS-andelen fra serveren til klienten. For å gjøre dette må vi først lage en monteringskatalog. I dette tilfellet vil vi opprette en katalog som heter nfs_backup.

mkdir nfs_backup

Deretter vil vi montere NFS-andelen til monteringskatalogen som vi nettopp har opprettet i rothjemmekatalogen

mount -t nfs 10.128.15.213:/home/tecmint/my_nfsshare  ~/nfs_backup 

For å fortsette NFS-delingen, rediger /etc/fstab-filen.

vim /etc/fstab

Legg deretter til følgende oppføring.

10.128.15.213:/home/tecmint/my_nfsshare    /root/nfs_backup  nfs     defaults 0 0

Lagre og avslutt konfigurasjonsfilen.

Tester NFS-oppsett

Det siste trinnet er å bekrefte om NFS-oppsettet fungerer som forventet. Vi vil opprette noen få filer på serveren og verifisere deres tilgjengelighet på NFS-klientsiden.

På serversiden vil vi lage filene i NFS-delingsmappen.

sudo touch my_nfsshare/file{1..4}.txt

For å bekrefte at filene er opprettet, vil vi utføre ls-kommandoen:

ls -l my_nfsshare/

Tilbake til klientsiden, kontroller at filene er tilgjengelige i mount-katalogen uten noen tjenesteoppdatering eller omstart av noen tjenester som vist i følgende utdata.

ls -l nfs_backup/

Fjerner NFS-feste

Hvis du ikke lenger trenger den monterte katalogen på systemet ditt, kan du avmontere dem fra klientsiden ved å bruke følgende umount-kommando:

umount ~/nfs_backup

NFS delingskommandoer

Noen viktigere kommandoer for NFS.

  • showmount -e – Viser tilgjengelige shares på din lokale maskin
  • showmount -e ip-adresse – Viser de tilgjengelige delingene på den eksterne serveren
  • showmount -d – Viser alle underkatalogene
  • exportfs -v – Viser en liste over delte filer og alternativer på en server
  • exportfs -a – Eksporterer alle aksjer oppført i /etc/exports, eller gitt navn
  • exportfs -u – Fjerner eksport av alle aksjer oppført i /etc/exports, eller gitt navn
  • exportfs -r – Oppdater serverens liste etter å ha endret /etc/exports
Konklusjon

Dette avslutter veiledningen vår om hvordan du installerer NFS-serveren og -klienten på RedHat-baserte distribusjoner. Vi har installert NFS-tjenestene på serveren, opprettet en NFS-delingsmappe og til slutt montert delingskatalogen på klienten. Til slutt bekreftet vi NFS-oppsettet ved å få tilgang til filen opprettet på serveren fra klientsiden.