NFS oznacza Network File System, pomaga udostępniać pliki i foldery między systemami Linux / Unix, opracowany przez SUN Microsystems w 1990 roku. NFS umożliwia zamontowanie zdalnego udziału lokalnie.
ten przewodnik pomaga skonfigurować serwer NFS na CentOS 7 / RHEL 7.
- zalety systemu NFS
- ważne usługi
- ważne pliki konfiguracyjne
- środowisko
- serwer NFS
- Klient NFS
- Skonfiguruj serwer NFS
- Zainstaluj serwer NFS
- Utwórz NFS Share
- Konfiguracja zapory sieciowej
- Konfiguracja klienta NFS
- Instalacja klienta NFS
- Sprawdź udział NFS
- Mount NFS Share
- automatyczne montowanie akcji NFS
- wniosek
zalety systemu NFS
- współdzielenie plików / folderów pomiędzy systemami *nix
- umożliwia lokalne montowanie zdalnych systemów plików
- może działać jako scentralizowany system pamięci masowej
- może być używany jako domena pamięci masowej ( Datastore) dla VMware i innych Platform wirtualizacji.
- umożliwia aplikacjom współdzielenie plików konfiguracyjnych i danych z wieloma węzłami.
- pozwala na aktualizowanie plików w całym udostępnieniu.
ważne usługi
poniżej przedstawiono ważne usługi NFS, zawarte w pakietach NFS-utils.
rpcbind: serwer rpcbind konwertuje numery programów RPC na adresy uniwersalne.
NFS-server: umożliwia Klientom dostęp do akcji NFS.
NFS-lock / RPC-statd: blokowanie plików NFS. Zaimplementuj odzyskiwanie blokad plików, gdy serwer NFS ulegnie awarii i uruchomi się ponownie.
nfs-idmap: tłumaczy identyfikatory użytkowników i grup na nazwy, a aby przetłumaczyć nazwy użytkowników i grup
na identyfikatory
ważne pliki konfiguracyjne
będziesz pracował głównie nad poniższymi plikami konfiguracyjnymi, aby skonfigurować serwer i klientów NFS.
/ etc / exports: Jest to główny plik konfiguracyjny, kontroluje, które systemy plików są eksportowane do zdalnych hostów i określa opcje.
/etc / fstab: ten plik służy do kontrolowania, jakie systemy plików, w tym katalogi NFS, są montowane podczas uruchamiania systemu.
/etc/sysconfig / NFS: ten plik służy do kontrolowania portów, na których uruchamiane są wymagane usługi RPC.
/etc / hosts.allow i/etc / hosts.deny: te pliki są nazywane TCP wrappers, kontroluje dostęp do serwera NFS. Jest on używany przez NFS do decydowania, czy przyjąć połączenie przychodzące z innego adresu IP.
środowisko
tutaj użyję CentOS 7 minimal do tego demo. Ten przewodnik powinien również działać na systemach Oracle Linux i Fedora.
serwer NFS
Nazwa hosta: serwer.itzgeek.lokalny (CentOS 7)
adres IP: 192.168.1.10/24
Klient NFS
Nazwa hosta: klient .itzgeek.lokalny (CentOS 7)
adres IP: 192.168.1.20/24
Skonfiguruj serwer NFS
Zainstaluj serwer NFS
zainstaluj poniższy pakiet dla serwera NFS za pomocą polecenia yum.
yum install -y nfs-utils
po zainstalowaniu pakietów włącz i uruchom usługi NFS.
systemctl start nfs-server rpcbindsystemctl enable nfs-server rpcbind
teraz stwórzmy katalog do udostępnienia klientowi NFS. Tutaj będę tworzyć nowy katalog o nazwie nfsfileshare w partycji/.
Możesz również udostępnić istniejący katalog w NFS.
mkdir /nfsfileshare
Zezwalaj klientowi NFS na odczyt i zapis do utworzonego katalogu.
chmod 777 /nfsfileshare/
musimy zmodyfikować plik /etc/exports, aby utworzyć wpis katalogu /nfsfileshare, który chcesz udostępnić.
vi /etc/exports
Utwórz NFS Udostępnij coś takiego jak poniżej.
/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)
/nfsfileshare: shared directory
192.168.1.20: Adres IP maszyny klienta. Możemy również użyć nazwy hosta zamiast adresu IP. Możliwe jest również zdefiniowanie zakresu klientów z podsiecią jak 192.168.1.0 / 24.
RW: uprawnienia do zapisu do folderu udostępnionego
synchronizacja: wszystkie zmiany w odpowiednim systemie plików są natychmiast usuwane na dysk; odpowiednie operacje zapisu są czekane.
no_root_squash: domyślnie każde żądanie pliku wykonane przez użytkownika root na komputerze klienckim jest traktowane jako przez użytkownika nikt na serwerze. (DokĹ ’ adnie, do ktĂłrego UID jest odwzorowane ĹźÄ … danie, zaleĹźy od UID uĹźytkownika „nikt” na serwerze, a nie od klienta.) Jeśli wybrano no_root_squash, to root na komputerze klienckim będzie miał taki sam poziom dostępu do plików w systemie jak root na serwerze.
możesz zapoznać się z całą opcją na stronie podręcznika man exports lub tutaj.
Eksportuj udostępnione katalogi za pomocą następującego polecenia.
exportfs -r
Dodatki:
exportfs-v: Wyświetla listę udostępnionych plików i opcji eksportu na serwerze.
exportfs-a: eksportuje wszystkie katalogi wymienione w /etc/exports.
exportfs-u: UnExport jeden lub więcej katalogów.
exportfs – r: ponowne eksportowanie wszystkich katalogów po modyfikacji /etc / exports.
po skonfigurowaniu serwera NFS, musimy zamontować ten współdzielony katalog w kliencie NFS.
Konfiguracja zapory sieciowej
musimy skonfigurować zaporę sieciową na serwerze NFS, aby umożliwić klientowi NFS dostęp do udziału NFS. Aby to zrobić, uruchom następujące polecenia na serwerze NFS.
firewall-cmd --permanent --add-service mountdfirewall-cmd --permanent --add-service rpc-bindfirewall-cmd --permanent --add-service nfsfirewall-cmd --reload
Konfiguracja klienta NFS
Instalacja klienta NFS
aby zamontować zdalny udział NFS, musimy zainstalować pakiety NFS na kliencie NFS. Zainstaluj pakiety NFS używając poniższego polecenia.
yum install -y nfs-utils
Sprawdź udział NFS
przed zamontowaniem udziału NFS proszę o sprawdzenie udziałów NFS dostępnych na serwerze NFS, uruchamiając następujące polecenie na kliencie NFS.
showmount -e 192.168.1.10
:
Export list for 192.168.1.10:/nfsfileshare 192.168.1.20
jak wynika z danych wyjściowych, /nfsfileshare jest dostępny na serwerze NFS (192.168.1.10) dla klienta NFS (192.168.1.20).
Dodatki:
showmount-e : pokazuje dostępne udziały na Twojej maszynie lokalnej (serwer NFS).
showmount-e < server-ip lub hostname>: Wyświetla listę dostępnych udziałów na zdalnym serwerze
teraz utwórz katalog na kliencie NFS, aby zamontować NFS share /nfsfileshare, które utworzyliśmy na serwerze NFS.
mkdir /mnt/nfsfileshare
użyj poniższego polecenia, aby zamontować udział NFS /nfsfileshare z serwera NFS 192.168.1.10 w /mnt/nfsfileshare na kliencie NFS.
mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare
Sprawdź zamontowany udział w kliencie NFS za pomocą polecenia mount.
mount | grep nfs
:
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)
możesz również użyć polecenia df-hT, aby sprawdzić zamontowany udział NFS.
df -hT
:
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
Utwórz plik w zamontowanym katalogu, aby zweryfikować dostęp do odczytu i zapisu w NFS share.
touch /mnt/nfsfileshare/test
jeśli powyższe polecenie nie zwróci błędu, masz działającą konfigurację NFS.
automatyczne montowanie akcji NFS
aby automatycznie montować akcje przy każdym ponownym uruchomieniu, musisz zmodyfikować plik /etc/fstab swojego klienta NFS.
vi /etc/fstab
Dodaj wpis tak jak poniżej.
## /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
Zapisz i zamknij plik.
Uruchom ponownie maszynę kliencką i sprawdź, czy udział jest montowany automatycznie, czy nie.
reboot
Sprawdź zamontowany udział w kliencie NFS za pomocą polecenia mount.
mount | grep nfs
:
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)
jeśli chcesz odmontować katalog udostępniony z klienta NFS po zakończeniu udostępniania plików, możesz odmontować ten katalog za pomocą polecenia umount.
umount /mnt/nfsfileshare
wniosek
pomyślnie skonfigurowałeś serwer NFS i klienta NFS na CentOS 7 / RHEL 7. Jeśli nie chcesz używać montowań statycznych, możesz skonfigurować AutoFS na CentOS 7, aby montować NFS share tylko wtedy, gdy użytkownik uzyska do nich dostęp.