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-server – RHEL 9 med IP 10.128.15.213
- NFS-klient – RHEL 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.