Network File System (NFS) ook bekend als client/server file system is een populaire, cross-platform en gedistribueerde bestandssysteem protocol gebruikt om lokale bestandssystemen te exporteren via het netwerk, zodat clients mappen en bestanden kunnen delen met anderen via een netwerk en interactie met hen alsof ze lokaal zijn gekoppeld.
in CentOS / RHEL 8 zijn de ondersteunde NFS-versie NFSv3 en NFSv4 en is de standaard NFS-versie 4.2 met ondersteuning voor ACL ‘ s (Access Control Lists), serverkopie, schaarse bestanden, ruimtereservering, gelabeld 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:
- CentOS 8 installatiegids
- RHEL 8 minimale installatie
- RHEL-abonnement inschakelen in RHEL 8
- een statisch IP-adres instellen in CentOS / RHEL 8
onze testomgeving:
NFS Server IP:10.20.20.8NFS 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 biedt voor de kernel NFS server en gerelateerde tools zoals het bevat het showmount programma.
voer het volgende commando uit om het pakket op de NFS server te installeren (gebruik sudo als u het systeem als een niet-root gebruiker beheert).
# dnf install nfs-utils
2. Zodra de installatie voltooid is, start je de NFS-server service, schakel je het in om automatisch te starten bij het opstarten van het systeem, en controleer je de status met behulp van de systemctl commando ‘ s.
# systemctl start nfs-server.service# systemctl enable nfs-server.service# systemctl status nfs-server.service
merk op dat de andere services die vereist 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-hoofd configuratie bestand voor de NFS daemons en gereedschappen.
- / etc / nfsmount.conf-een NFS mount configuratiebestand.
3. Maak vervolgens de bestandssystemen aan om te exporteren of te delen op de NFS-server. Voor deze handleiding zullen we vier bestandssystemen maken, waarvan er drie worden gebruikt door medewerkers van drie afdelingen: human resource, finance en marketing om bestanden te delen en een is voor root-back-ups van gebruikers.
# mkdir -p /mnt/nfs_shares/{Human_Resource,Finance,Marketing}# mkdir -p /mnt/backups# ls -l /mnt/nfs_shares/
4. Exporteer vervolgens de bovenstaande bestandssystemen in het NFS server /etc/exports configuratiebestand om lokale fysieke bestandssystemen te bepalen die toegankelijk zijn voor NFS clients.
hier zijn enkele exportopties (lees man exports voor meer informatie en exportopties):
- rw-staat zowel lees als schrijf toegang toe op het bestandssysteem.
- synchroniseren-vertelt de NFS-server om bewerkingen (het schrijven van informatie naar de schijf) te schrijven wanneer daarom wordt gevraagd (is standaard van toepassing).
- all_squash-wijst alle UID ’s en GIDs’ s van clientaanvragen toe aan de anonieme gebruiker.
- no_all_squash – wordt gebruikt om alle UID ’s en GIDs’ s van clientaanvragen toe te wijzen aan identieke UID ’s en GIDs’ s op de NFS server.
- root_squash-maps aanvragen van root gebruiker of UID / GID 0 van de client naar de anonieme UID/GID.
5. Om het bovenstaande bestandssysteem te exporteren, voer je het exportfs commando uit met de -a
vlag betekent alle mappen exporteren of unexporteren, -r
betekent alle mappen opnieuw exporteren, waarbij /var/lib/nfs/etab wordt gesynchroniseerd met /etc/exports en bestanden onder /etc/exports.d, en-v maakt uitgebreide uitvoer mogelijk.
# exportfs -arv
6. Voer het volgende commando uit om de huidige exportlijst weer te geven. Merk op dat de exporttabel ook enkele van de standaard exportopties toepast die niet expliciet zijn gedefinieerd zoals weergegeven in de volgende schermafbeelding.
# exportfs -s
7. Vervolgens, als je de firewalld service draait, moet je verkeer toestaan naar de benodigde NFS services (mountd, nfs, rpc-bind) via de firewall, en dan de firewall regels herladen om de wijzigingen toe te passen, als volgt.
NFS-Client instellen op clientsystemen
8. Installeer nu op de client node(s) de benodigde pakketten om toegang te krijgen tot NFS shares op de client systemen. Voer het juiste commando uit voor uw distributie:
# dnf install nfs-utils nfs4-acl-tools $ sudo apt install nfs-common nfs4-acl-tools
9. Voer vervolgens het showmount commando uit om mount informatie te tonen voor de NFS server. Het commando moet het geëxporteerde bestandssysteem op de client uitvoeren zoals getoond in de screenshot.
# showmount -e 10.20.20.8
9. Maak vervolgens een lokaal bestandssysteem / map aan voor het mounten van het externe NFS bestandssysteem en koppel het aan 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 het uitvoeren van het mount commando en filter NFS mounts.
# mount | grep nfs
11. Om de mount naar persistent te activeren, zelfs na een systeemherstart, voer je het volgende commando uit om de juiste regel 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. Tot slot, test of NFS setup werkt prima door het maken van een bestand op de server en controleer of het bestand kan worden gezien in de client.
# touch /mnt/backups/file_created_on_server.text # ls -l /mnt/backups/file_created_on_server.text
en doe het omgekeerde.
# touch /mnt/backups/file_created_on_client.text # ls -l /mnt/backups/file_created_on_client.text
13. Om het externe bestandssysteem aan de clientzijde te ontkoppelen.
# umount /mnt/backups
merk op dat u het externe bestandssysteem niet kunt ontkoppelen als u erin werkt, zoals weergegeven in de volgende schermafbeelding.