Hvordan sette opp NFS-server og klient på CentOS 8


Nettverksfilsystem (NFS) også kjent som klient/server-filsystem er en populær, tverrplattforms- og distribuert filsystemprotokoll som brukes til å eksportere lokale filsystemer over nettverket. at klienter kan dele kataloger og filer med andre over et nettverk og samhandle med dem som om de er montert lokalt.

I CentOS/RHEL 8 er den støttede NFS-versjonen NFSv3 og NFSv4, og standard NFS-versjon er 4.2 som har støtte for tilgangskontrolllister ( ACL-er), kopi på serversiden, sparsomme filer, plassreservasjon, merket NFS, layoutforbedringer og mye mer.

I denne artikkelen lærer du hvordan du installerer og konfigurerer NFS-serveren og NFS-klientenCentOS/RHEL 8 Linux-distribusjoner.

Forutsetninger:

  1. CentOS 8 installasjonsveiledning
  2. RHEL 8 Minimal installasjon
  3. Aktiver RHEL-abonnement i RHEL 8
  4. Angi en statisk IP-adresse i CentOS/RHEL 8

Vårt testmiljø:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

Sette opp NFS-server på CentOS 8

1. Start først med å installere de nødvendige pakkene på NFS-serveren. Pakkene er nfs-utils som gir en demon for kjernens NFS-server og relaterte verktøy som inneholder showmount-programmet.

Kjør følgende kommando for å installere pakken på NFS-serveren (bruk sudo hvis du administrerer systemet som en ikke-rootbruker).

dnf install nfs-utils

2. Når installasjonen er fullført, start nfs-server-tjenesten, aktiver den til å starte automatisk ved systemoppstart, og kontroller deretter statusen ved hjelp av systemctl-kommandoene.

systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl status nfs-server.service

Merk at de andre tjenestene som kreves for å kjøre en NFS-server eller montere NFS-ressurser som nfsd, nfs-idmapd, rpcbind, >rpc.mountd, lockd, rpc.statd, rpc.rquotad og rpc.idmapd > startes automatisk.

Konfigurasjonsfilene for NFS-serveren er:

  • /etc/nfs.conf – hovedkonfigurasjonsfil for NFS-demonene og verktøyene.
  • /etc/nfsmount.conf – en NFS-monteringskonfigurasjonsfil.

3. Deretter oppretter du filsystemene du vil eksportere eller dele på NFS-serveren. For denne veiledningen vil vi lage fire filsystemer, hvorav tre brukes av ansatte fra tre avdelinger: HR, økonomi og markedsføring for å dele filer og ett er for sikkerhetskopiering av rotbrukere.

mkdir -p  /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
mkdir  -p /mnt/backups
ls -l /mnt/nfs_shares/

4. Eksporter deretter filsystemene ovenfor i NFS-serveren /etc/exports konfigurasjonsfilen for å finne lokale fysiske filsystemer som er tilgjengelige for NFS-klienter.

/mnt/nfs_shares/Human_Resource  	10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance			10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing		10.20.30.0/24(rw,sync)
/mnt/backups				10.20.20.9/24(rw,sync,no_all_squash,root_squash)

Her er noen av eksportalternativene (les man eksport for mer informasjon og eksport alternativer):

  • rw – gir både lese- og skrivetilgang på filsystemet.
  • synkronisering – forteller NFS-serveren om å skrive operasjoner (skrive informasjon til disken) når det blir bedt om det (gjelder som standard).
  • all_squash – kartlegger alle UID-er og GID-er fra klientforespørsler til den anonyme brukeren.
  • no_all_squash – brukes til å kartlegge alle UID-er og GID-er fra klientforespørsler til identiske UID-er og GID-er på NFS-serveren.
  • root_squash – tilordner forespørsler fra root-bruker eller UID/GID 0 fra klienten til den anonyme UID/GID.

5. For å eksportere filsystemet ovenfor, kjør kommandoen exportfs med -a-flagget betyr eksport eller fjern eksport av alle kataloger, - r betyr å eksportere alle kataloger på nytt, synkronisere /var/lib/nfs/etab med /etc/exports og filer under /etc/exports.d , og -v aktiverer detaljerte utdata.

exportfs -arv

6. For å vise gjeldende eksportliste, kjør følgende kommando. Merk at tabellen eksport også bruker noen av standardalternativene for eksport som ikke er eksplisitt definert som vist i følgende skjermbilde.

exportfs  -s

7. Deretter, hvis du kjører brannmur-tjenesten, må du tillate trafikk til de nødvendige NFS-tjenestene (mountd, nfs , rpc-bind) via brannmuren, og last deretter inn brannmurreglene på nytt for å bruke endringene, som følger.

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

Sette opp NFS-klient på klientsystemer

8. Nå på klientnoden(e), installer de nødvendige pakkene for å få tilgang til NFS-aksjer på klientsystemene. Kjør den riktige kommandoen for distribusjonen din:

dnf install nfs-utils nfs4-acl-tools         [On CentOS/RHEL]
sudo apt install nfs-common nfs4-acl-tools   [On Debian/Ubuntu]

9. Kjør deretter kommandoen showmount for å vise monteringsinformasjon for NFS-serveren. Kommandoen skal gi ut det eksporterte filsystemet på klienten som vist på skjermbildet.

showmount -e 10.20.20.8

9. Deretter oppretter du et lokalt filsystem/katalog for montering av det eksterne NFS-filsystemet og monter det som et ntf-filsystem.

mkdir -p /mnt/backups
mount -t nfs  10.20.20.8:/mnt/backups /mnt/backups

10. Bekreft deretter at det eksterne filsystemet er montert ved å kjøre mount-kommandoen og filtrer nfs-monteringer.

mount | grep nfs

11. For å aktivere monteringen til å vedvare selv etter en omstart av systemet, kjør følgende kommando for å angi den aktuelle oppføringen i /etc/fstab.

echo "10.20.20.8:/mnt/backups     /mnt/backups  nfs     defaults 0 0">>/etc/fstab
cat /etc/fstab

12. Til slutt, test om NFS-oppsettet fungerer bra ved å opprette en fil på serveren og sjekk om filen kan sees i klienten.

touch /mnt/backups/file_created_on_server.text     [On NFS Server]
ls -l /mnt/backups/file_created_on_server.text     [On NFS client]

Gjør så det motsatte.

touch /mnt/backups/file_created_on_client.text     [On NFS Client]
ls -l /mnt/backups/file_created_on_client.text     [On NFS Server]

13. For å demontere det eksterne filsystemet på klientsiden.

umount /mnt/backups

Merk at du ikke kan avmontere det eksterne filsystemet hvis du opererer i det som vist i følgende skjermbilde.

Det er det! I denne veiledningen viste vi hvordan du installerer og konfigurerer en NFS-server og -klient i CentOS/RHEL 8. Hvis du har noen tanker å dele eller spørsmål, bruk kommentarskjemaet nedenfor for å komme tilbake til oss.