Zoeken op website

Hoe NFS Server en Client in te stellen op CentOS 8


Netwerkbestandssysteem (NFS), ook bekend als client/server-bestandssysteem, is een populair, platformonafhankelijk en gedistribueerd bestandssysteemprotocol dat wordt gebruikt om lokale bestandssystemen via het netwerk te exporteren dat clients mappen en bestanden via een netwerk met anderen kunnen delen en ermee kunnen communiceren alsof ze lokaal zijn aangekoppeld.

In CentOS/RHEL 8 zijn de ondersteunde NFS-versies NFSv3 en NFSv4 en de standaard NFS-versie is 4.2, die ondersteuning biedt voor toegangscontrolelijsten ( ACL's), kopiëren op de server, beperkte bestanden, ruimtereservering, gelabelde NFS, lay-outverbeteringen en nog veel meer.

In dit artikel leert u hoe u de NFS-server en NFS-client op CentOS/RHEL 8 Linux-distributies installeert en configureert.

Vereisten:

  1. CentOS 8 Installatiehandleiding
  2. RHEL 8 Minimale installatie
  3. RHEL-abonnement inschakelen in RHEL 8
  4. Stel een statisch IP-adres in CentOS/RHEL 8 in

Onze testomgeving:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

NFS-server instellen op CentOS 8

1. Begin eerst met het installeren van de vereiste pakketten op de NFS-server. De pakketten zijn nfs-utils die een daemon leveren voor de kernel NFS-server en gerelateerde tools zoals het showmount programma.

Voer de volgende opdracht uit om het pakket op de NFS-server te installeren (gebruik sudo als u het systeem beheert als niet-rootgebruiker).

dnf install nfs-utils

2. Zodra de installatie is voltooid, start u de service nfs-server, schakelt u deze in om automatisch te starten bij het opstarten van het systeem en verifieert u vervolgens de status ervan met behulp van de systemctl-opdrachten.

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

Houd er rekening mee dat de andere services die nodig zijn voor het draaien van een NFS-server of het aankoppelen van NFS-shares zoals nfsd, nfs-idmapd, rpcbind, rpc.mountd, lockd, rpc.statd, rpc.rquotad en rpc.idmapd > wordt automatisch gestart.

De configuratiebestanden voor de NFS-server zijn:

  • /etc/nfs.conf – hoofdconfiguratiebestand voor de NFS-daemons en tools.
  • /etc/nfsmount.conf – een NFS-mount-configuratiebestand.

3. Maak vervolgens de bestandssystemen aan die u wilt exporteren of delen op de NFS-server. Voor deze handleiding zullen we vier bestandssystemen creëren, waarvan er drie worden gebruikt door personeel van drie afdelingen: personeelszaken, financiën en marketing om bestanden te delen en één voor back-ups van rootgebruikers.

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

4. Exporteer vervolgens de bovenstaande bestandssystemen naar het configuratiebestand /etc/exports van de NFS-server om de lokale fysieke bestandssystemen te bepalen die toegankelijk zijn voor NFS-clients.

/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)

Hier zijn enkele exportopties (lees man exports voor meer informatie en export opties):

  • rw – staat zowel lees- als schrijftoegang toe op het bestandssysteem.
  • sync – vertelt de NFS-server om bewerkingen (informatie naar de schijf schrijven) te schrijven wanneer daarom wordt gevraagd (standaard van toepassing).
  • all_squash – brengt alle UID's en GID's in kaart van klantverzoeken naar de anonieme gebruiker.
  • no_all_squash – gebruikt om alle UID's en GID's van clientverzoeken in kaart te brengen naar identieke UID's en GID's op de NFS-server.
  • root_squash – wijst verzoeken van rootgebruiker of UID/GID 0 van de client toe aan de anonieme UID/GID.

5. Om het bovenstaande bestandssysteem te exporteren, voert u de opdracht exportfs uit met de vlag -a betekent dat alle mappen moeten worden geëxporteerd of gedexporteerd, - r betekent het opnieuw exporteren van alle mappen, waarbij /var/lib/nfs/etab wordt gesynchroniseerd met /etc/exports en bestanden onder /etc/exports.d en -v maken uitgebreide uitvoer mogelijk.

exportfs -arv

6. Voer de volgende opdracht uit om de huidige exportlijst weer te geven. Houd er rekening mee dat de tabel exports ook enkele van de standaard exports-opties toepast die niet expliciet zijn gedefinieerd, zoals weergegeven in de volgende schermafbeelding.

exportfs  -s

7. Vervolgens moet u, als u de firewalld-service actief heeft, verkeer naar de benodigde NFS-services toestaan (mountd, nfs , rpc-bind) via de firewall en laad vervolgens de firewallregels opnieuw om de wijzigingen toe te passen, als volgt.

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

NFS-client instellen op clientsystemen

8. Installeer nu op de clientknooppunt(en) de benodigde pakketten om toegang te krijgen tot NFS-shares op de clientsystemen. Voer de juiste opdracht uit voor uw distributie:

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

9. Voer vervolgens de opdracht showmount uit om mount-informatie voor de NFS-server weer te geven. De opdracht zou het geëxporteerde bestandssysteem op de client moeten uitvoeren, zoals weergegeven in de schermafbeelding.

showmount -e 10.20.20.8

9. Maak vervolgens een lokaal bestandssysteem/map aan voor het koppelen van het externe NFS-bestandssysteem en koppel het als een ntf-bestandssysteem.

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

10. Bevestig vervolgens dat het externe bestandssysteem is aangekoppeld door de opdracht mount uit te voeren en nfs-mounts te filteren.

mount | grep nfs

11. Om ervoor te zorgen dat de mount zelfs na een herstart van het systeem persistent blijft, voert u de volgende opdracht uit om de juiste invoer in /etc/fstab in te voeren.

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

12. Test ten slotte of de NFS-installatie goed werkt door een bestand op de server te maken en controleer of het bestand zichtbaar is in de client.

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

Doe dan het omgekeerde.

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

13. Om het externe bestandssysteem aan de clientzijde te ontkoppelen.

umount /mnt/backups

Houd er rekening mee dat u het externe bestandssysteem niet kunt ontkoppelen als u daarin werkt, zoals weergegeven in de volgende schermafbeelding.

Dat is het! In deze handleiding hebben we laten zien hoe u een NFS server en client installeert en configureert in CentOS/RHEL 8. Als u ideeën heeft om te delen of vragen heeft, gebruik dan het commentaarformulier hieronder om contact met ons op te nemen.