Wyszukiwanie w witrynie

Jak zainstalować serwer i klienta NFS w dystrybucjach RHEL


W systemie Linux istnieje kilka protokołów udostępniania plików używanych do współdzielenia pamięci i plików w sieci. Najpopularniejsze z nich to Samba i NFS.

Samba to popularny pakiet aplikacji typu open source, który działa w architekturze klient-serwer. Oferuje kompatybilność między platformami, umożliwiając bezproblemowe udostępnianie plików w systemach operacyjnych Linux, Windows i macOS. Dostęp do udziału plików hostowanego w systemie Linux można uzyskać z różnych platform, co sprzyja współpracy.

Innym szeroko stosowanym protokołem udostępniania plików jest NFS, skrót od Network File Share. Podobnie jak Samba, działa w modelu klient-serwer i umożliwia użytkownikowi udostępnianie katalogów i plików w sieci wielu zdalnym użytkownikom klientów.

W tym przewodniku sprawdzimy, jak zainstalować serwer i klienta NFS w dystrybucjach opartych na RHEL, takich jak Fedora, CentOS Stream, Rocky Linux i AlmaLinux.

Usługi NFS

Obecnie dostępne są 3 wersje systemu NFS, najnowsza to NFSv4, która obejmuje takie funkcje, jak możliwość pracy przez Internet i zaporę sieciową. Ponadto istnieje najstarszy protokół NFSv3 i NFSv2.

Usługa NFS składa się z serwera NFS i klienta. Serwer NFS składa się z następujących plików kluczy:

  • serwer nfs – umożliwia systemom klienckim dostęp do plików współdzielonych przez NFS.
  • rpcbind – konwertuje programy RPC na adresy uniwersalne.
  • nfs-idmap – Wykonuje tłumaczenie identyfikatorów użytkowników i grup na nazwy oraz nazw użytkowników i grup na identyfikatory.
  • portmap – Jest to serwer konwertujący numery programów RPC na numery portów IP.
  • nfslock – w przypadku awarii serwera NFS, nfslock uruchamia wymagane procesy RPC.

Usługi konfiguracyjne NFS

Oto niektóre z kluczowych plików konfiguracyjnych dla NFS:

  • /etc/exports – główny plik konfiguracyjny, który określa systemy plików lub katalogi, które mają być eksportowane i dostępne dla użytkowników zdalnych.
  • /etc/fstab – jest to plik zawierający wpisy zamontowanych partycji. W systemie NFS plik zawiera wpisy współdzielonych katalogów lub systemów plików NFS, które są zamontowane na stałe i mogą wytrzymać ponowne uruchomienie.
  • /etc/sysconfig/nfs – definiuje porty potrzebne podczas uruchamiania usług RPC.

Konfiguracja serwera i klienta NFS

Aby skonfigurować udziały NFS, będziemy potrzebować co najmniej dwóch komputerów Linux/Unix. W tym samouczku będę używać dwóch serwerów.

  • Serwer NFSRHEL 9 z adresem IP 10.128.15.213
  • Klient NFSRHEL 9 z adresem IP 10.128.15.214

Zainstaluj NFS na serwerze i kliencie

Aby rozpocząć, musisz zalogować się do obu węzłów (serwera i klienta NFS) i zainstalować usługi NFS. Najpierw zaktualizuj informacje o pakiecie, jak pokazano. Następujące polecenie dnf zaktualizuje również wszystkie ekscytujące pakiety do ich najnowszych wersji.

sudo dnf update 

Po zakończeniu aktualizacji kontynuuj i zainstaluj wymagane usługi NFS.

sudo dnf install rpcbind nfs-utils -y

Następnym krokiem jest włączenie usług NFS, jak pokazano.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Pamiętaj także o uruchomieniu usług NFS.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Bardzo ważne jest sprawdzenie, czy wszystkie usługi NFS działają.

sudo systemctl status nfs-server
sudo systemctl status rpcbind

Pamiętaj, aby skonfigurować zaporę sieciową tak, aby zezwalała na przychodzące usługi NFS w następujący sposób.

sudo firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd}
sudo firewall-cmd --reload

Utwórz katalog udostępniania NFS

Po zainstalowaniu i uruchomieniu wszystkich usług NFS zgodnie z oczekiwaniami czas utworzyć katalog współdzielony NFS, czyli katalog zawierający pliki, do których będą mieli dostęp klienci NFS w sieci.

W takim przypadku utworzymy w naszym katalogu domowym katalog udziałów NFS o nazwie my_nfsshare.

mkdir -p /home/tecmint/my_nfsshare

Następnie przypisz uprawnienia do katalogu. W celach demonstracyjnych przypiszemy uprawnienia globalne, które zapewnią klientom NFS uprawnienia do odczytu, zapisu i wykonywania.

sudo chmod 777 -R /home/tecmint/my_nfsshare

Eksportuj katalog udostępniony NFS

Następnym krokiem jest wyeksportowanie katalogu udziałów NFS. Aby to osiągnąć musimy dokonać wpisu w pliku /etc/exports. Dlatego uzyskaj dostęp do pliku za pomocą preferowanego edytora tekstu. W tym przypadku użyjemy edytora Vima.

sudo vim /etc/exports

Dodaj następujący wpis. Pamiętaj, aby zastąpić adres IP serwera adresem IP serwera NFS.

/home/tecmint/my_nfsshare server-ip/24(rw,no_root_squash)

Na koniec wyeksportuj katalog współdzielony NFS lub system plików.

sudo exportfs -rv

Uruchom następujące polecenie, aby wyświetlić udziały NFS.

showmount -e localhost

Skonfiguruj klienta NFS

Pozostała faza tego ćwiczenia polega na skonfigurowaniu klienta NFS w celu uzyskania dostępu do katalogu współdzielonego. Najpierw potwierdź, że możesz wyświetlić listę eksportu lub udziały NFS na serwerze NFS.

showmount -e 10.128.15.213

Następnym krokiem jest zamontowanie udziału NFS z serwera do klienta. Aby to zrobić, musimy najpierw utworzyć katalog montowania. W takim przypadku utworzymy katalog o nazwie nfs_backup.

mkdir nfs_backup

Następnie zamontujemy udział NFS w katalogu montowania, który właśnie utworzyliśmy w głównym katalogu domowym

mount -t nfs 10.128.15.213:/home/tecmint/my_nfsshare  ~/nfs_backup 

Aby zachować udział NFS, edytuj plik /etc/fstab.

vim /etc/fstab

Następnie dodaj następujący wpis.

10.128.15.213:/home/tecmint/my_nfsshare    /root/nfs_backup  nfs     defaults 0 0

Zapisz i wyjdź z pliku konfiguracyjnego.

Testowanie konfiguracji NFS

Ostatnim krokiem jest sprawdzenie, czy konfiguracja NFS działa zgodnie z oczekiwaniami. Utworzymy kilka plików na serwerze i sprawdzimy ich dostępność po stronie klienta NFS.

Po stronie serwera utworzymy pliki w katalogu udostępnionym NFS.

sudo touch my_nfsshare/file{1..4}.txt

Aby sprawdzić, czy pliki zostały utworzone, wykonamy polecenie ls:

ls -l my_nfsshare/

Wracając do strony klienta, sprawdź, czy pliki są dostępne w katalogu montowania bez odświeżania usług lub ponownego uruchamiania jakichkolwiek usług, jak widać na poniższych wynikach.

ls -l nfs_backup/

Usuwanie uchwytu NFS

Jeśli nie potrzebujesz już zamontowanego katalogu w swoim systemie, możesz odmontować go po stronie klienta za pomocą następującego polecenia umount:

umount ~/nfs_backup

Polecenia udostępniania NFS

Kilka ważniejszych poleceń dla NFS.

  • showmount -e – pokazuje dostępne udziały na Twoim komputerze lokalnym
  • showmount -e adres ip – wyświetla listę dostępnych udziałów na zdalnym serwerze
  • showmount -d – wyświetla listę wszystkich podkatalogów
  • exportfs -v – Wyświetla listę udostępnionych plików i opcji na serwerze
  • exportfs -a – Eksportuje wszystkie udziały wymienione w /etc/exports lub imię
  • exportfs -u – cofa eksport wszystkich udziałów wymienionych w /etc/exports lub podanych imion
  • exportfs -r – Odśwież listę serwerów po modyfikacji /etc/exports
Wniosek

Na tym kończy się nasz przewodnik dotyczący instalacji serwera i klienta NFS w dystrybucjach opartych na RedHat. Zainstalowaliśmy usługi NFS na serwerze, utworzyliśmy katalog współdzielony NFS i na koniec zamontowaliśmy katalog współdzielony na kliencie. Na koniec zweryfikowaliśmy konfigurację NFS, uzyskując dostęp do pliku utworzonego na serwerze po stronie klienta.