NFS staat voor Network File System, helpt u om bestanden en mappen te delen tussen Linux / Unix systemen, ontwikkeld door SUN Microsystems in 1990. NFS stelt u in staat om een externe share lokaal aan te koppelen.
deze gids helpt u bij het instellen van de NFS-server op CentOS 7 / RHEL 7.
voordelen van NFS
- Delen van bestanden / mappen tussen * nix-systemen
- maakt het mogelijk om externe bestandssystemen lokaal aan te koppelen
- kan worden gebruikt als gecentraliseerd opslagsysteem
- het kan worden gebruikt als een Opslagdomein ( Datastore) voor VMware en ander virtualisatieplatform.
- staat toe dat toepassingen configuratie-en gegevensbestanden delen met meerdere knooppunten.
- maakt het mogelijk om bijgewerkte bestanden over de share te hebben.
belangrijke diensten
de volgende belangrijke NFS-diensten zijn opgenomen in NFS-utils-pakketten.
rpcbind: de rpcbind-server converteert RPC-programmanummers naar universele adressen.
nfs-server: hiermee kunnen clients toegang krijgen tot NFS-shares.
nfs-lock / rpc-statd: vergrendeling van NFS-bestanden. Implementeer file lock recovery wanneer een NFS-server crasht en opnieuw opstart.
nfs-idmap: het vertaalt gebruiker-en groep-ID ’s naar namen, en om gebruiker-en groepsnamen
te vertalen naar id’ s
belangrijke configuratiebestanden
zou u voornamelijk aan onderstaande configuratiebestanden werken om NFS-server en-Clients in te stellen.
/ etc / exports: Het is het belangrijkste configuratiebestand, controleert welke bestandssystemen worden geëxporteerd naar externe hosts en specificeert opties.
/etc / fstab: dit bestand wordt gebruikt om te bepalen welke bestandssystemen inclusief NFS mappen aangekoppeld worden wanneer het systeem opstart.
/etc/sysconfig / nfs: dit bestand wordt gebruikt om te bepalen op welke poorten de vereiste rpc services draaien.
/ etc / hosts.allow en/etc / hosts.weigeren: deze bestanden worden TCP wrappers genoemd, en bepalen de toegang tot de NFS server. Het wordt gebruikt door NFS om te beslissen of een verbinding die vanuit een ander IP-adres binnenkomt wel of niet wordt geaccepteerd.
omgeving
hier zal ik CentOS 7 minimal gebruiken voor deze demo. Deze gids zou ook moeten werken op Oracle Linux en Fedora systemen.
NFS-Server
hostnaam: server.itzgeek.lokaal (CentOS 7)
IP-adres: 192.168.1.10/24
NFS-Client
hostnaam: client.itzgeek.lokaal (CentOS 7)
IP-adres: 192.168.1.20/24
configureer NFS Server
NFS Server
installeer het onderstaande pakket voor NFS server met de opdracht yum.
yum install -y nfs-utils
zodra de pakketten zijn geïnstalleerd, activeer en start NFS services.
systemctl start nfs-server rpcbindsystemctl enable nfs-server rpcbind
nu maken we een map om te delen met de NFS-client. Hier zal ik een nieuwe directory aanmaken met de naam nfsfileshare in de / partitie.
u kunt uw bestaande map ook delen met NFS.
mkdir /nfsfileshare
laat NFS-client lezen en schrijven naar de aangemaakte map.
chmod 777 /nfsfileshare/
we moeten het bestand /etc/exports wijzigen om een item te maken van de map /nfsfileshare die u wilt delen.
vi /etc/exports
Maak een NFS-share aan zoals hieronder.
/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)
/nfsfileshare: gedeelde map
192.168.1.20: IP-adres van de client machine. We kunnen ook de hostnaam gebruiken in plaats van een IP-adres. Het is ook mogelijk om het bereik van clients met subnet zoals 192.168.1.0/24 te definiëren.
rw: schrijfbare rechten voor gedeelde map
sync: alle wijzigingen in het bestandssysteem worden onmiddellijk doorgespoeld naar de schijf; de respectievelijke schrijfbewerkingen worden gewacht.
no_root_squash: standaard wordt elke bestandsaanvraag die door gebruiker root op de clientmachine wordt gedaan, behandeld als door gebruiker nobody op de server. (Precies aan welke UID het verzoek is toegewezen hangt af van de UID van gebruiker “nobody” op de server, niet de client.) Als no_root_squash is geselecteerd, dan zal root op de client machine hetzelfde niveau van toegang tot de bestanden op het systeem hebben als root op de server.
u kunt alle opties in de man page Man exports of hier leren kennen.
Exporteer de gedeelde mappen met het volgende commando.
exportfs -r
Extra ‘ s:
exportfs-v: toont een lijst met gedeelde bestanden en exportopties op een server.
exportfs-a: exporteert alle mappen in /etc/exports.
exportfs – u: een of meer mappen negeren.
exportfs-r: alle mappen opnieuw exporteren na het wijzigen van /etc/exports.
na het configureren van de NFS-server, moeten we die gedeelde map in de NFS-client aankoppelen.
Firewall
we moeten de firewall op de NFS-server configureren om NFS-client toegang te geven tot de NFS-share. Om dat te doen, voer je de volgende commando ‘ s uit op de NFS server.
firewall-cmd --permanent --add-service mountdfirewall-cmd --permanent --add-service rpc-bindfirewall-cmd --permanent --add-service nfsfirewall-cmd --reload
NFS-client
NFS-Client
installeren we moeten NFS-pakketten op NFS-client installeren om een externe NFS-share aan te koppelen. Installeer NFS pakketten met het onderstaande commando.
yum install -y nfs-utils
voordat u de NFS share aankoppelt, verzoek ik u om de NFS-shares die beschikbaar zijn op de NFS-server te controleren door het volgende commando op de NFS-client uit te voeren.
showmount -e 192.168.1.10
Output:
Export list for 192.168.1.10:/nfsfileshare 192.168.1.20
volgens de uitvoer is /nfsfileshare beschikbaar op de NFS server (192.168.1.10) voor de NFS client (192.168.1.20).
Extra ‘ s:
showmount-e: toont de beschikbare shares op uw lokale machine (NFS-Server).
showmount-e <server-ip of hostnaam>: toont de beschikbare shares op de externe server
Maak nu een map op NFS client om de NFS share /nfsfileshare die we hebben gemaakt in de NFS server aan te koppelen.
mkdir /mnt/nfsfileshare
gebruik onderstaande opdracht om een NFS share /nfsfileshare aan te koppelen vanaf NFS server 192.168.1.10 in /mnt/nfsfileshare op NFS client.
mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare
controleer de aangekoppelde share op de NFS-client met het mount-Commando.
mount | grep nfs
Output:
ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)nfsd on /proc/fs/nfsd type nfsd (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)
je kunt ook het DF-hT commando gebruiken om de gemount NFS share te controleren.
df -hT
Output:
Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 1.2G 49G 3% /devtmpfs devtmpfs 485M 0 485M 0% /devtmpfs tmpfs 496M 0 496M 0% /dev/shmtmpfs tmpfs 496M 6.7M 490M 2% /runtmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup/dev/mapper/centos-home xfs 47G 33M 47G 1% /home/dev/sda1 xfs 1014M 154M 861M 16% /boottmpfs tmpfs 100M 0 100M 0% /run/user/0192.168.1.10:/nfsfileshare nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare
Maak een bestand aan in de aangekoppelde map om de lees-en schrijftoegang op NFS-share te verifiëren.
touch /mnt/nfsfileshare/test
als het bovenstaande commando geen fout retourneert, hebt u werkende NFS-instellingen.
om de shares automatisch aan te koppelen bij elke herstart, moet u het /etc/fstab bestand van uw NFS client wijzigen.
vi /etc/fstab
voeg een item toe zoals hieronder.
## /etc/fstab# Created by anaconda on Wed Jan 17 12:04:02 2018## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults 0 0UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0192.168.1.10:/nfsfileshare /mnt/nfsfileshare nfs nosuid,rw,sync,hard,intr 0 0
het bestand opslaan en sluiten.
Herstart de client en controleer of de share al dan niet automatisch is aangekoppeld.
reboot
controleer de aangekoppelde share op de NFS-client met het mount-Commando.
mount | grep nfs
Output:
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)
als je die gedeelde map wilt unmounten van je NFS client nadat je klaar bent met het delen van bestanden, kun je die specifieke map unmounten met het umount Commando.
umount /mnt/nfsfileshare
conclusie
u hebt de NFS-Server en NFS-Client met succes ingesteld op CentOS 7 / RHEL 7. Als u geen statische aankoppelingen wilt gebruiken, kunt u AutoFS op CentOS 7 configureren om NFS share alleen aan te koppelen als een gebruiker ze opent.