Wyszukiwanie w witrynie

Jak skonfigurować serwer i klienta NFS w CentOS 8


Network File System (NFS), znany również jako system plików klient/serwer, to popularny, wieloplatformowy i rozproszony protokół systemu plików używany do eksportowania lokalnych systemów plików przez sieć, dzięki czemu klienci mogą udostępniać katalogi i pliki innym osobom w sieci i wchodzić w interakcję z nimi tak, jakby były zamontowane lokalnie.

W CentOS/RHEL 8 obsługiwane wersje NFS to NFSv3 i NFSv4, a domyślna wersja NFS to 4.2, która obsługuje listy kontroli dostępu ( listy ACL), kopie po stronie serwera, pliki rzadkie, rezerwacja miejsca, oznaczone NFS, ulepszenia układu i wiele więcej.

W tym artykule dowiesz się, jak zainstalować i skonfigurować serwer NFS i klienta NFS w dystrybucjach CentOS/RHEL 8 Linuksa.

Warunki wstępne:

  1. Przewodnik instalacji CentOS 8
  2. Minimalna instalacja RHEL 8
  3. Włącz subskrypcję RHEL w RHEL 8
  4. Ustaw statyczny adres IP w CentOS/RHEL 8

Nasze środowisko testowe:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

Konfigurowanie serwera NFS w CentOS 8

1. Najpierw zacznij od zainstalowania wymaganych pakietów na serwerze NFS. Pakiety to nfs-utils, które udostępniają demona dla serwera jądra NFS i powiązane narzędzia, takie jak program showmount.

Uruchom następujące polecenie, aby zainstalować pakiet na serwerze NFS (użyj sudo, jeśli administrujesz systemem jako użytkownik inny niż root).

dnf install nfs-utils

2. Po zakończeniu instalacji uruchom usługę nfs-server, włącz jej automatyczne uruchamianie przy starcie systemu, a następnie sprawdź jej status za pomocą poleceń systemctl.

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

Należy pamiętać, że inne usługi wymagane do uruchomienia serwera NFS lub zamontowania udziałów NFS, takie jak nfsd, nfs-idmapd, rpcbind, rpc.mountd, lockd, rpc.statd, rpc.rquotad i rpc.idmapd > zostanie uruchomiony automatycznie.

Pliki konfiguracyjne serwera NFS to:

  • /etc/nfs.conf – główny plik konfiguracyjny dla demonów i narzędzi NFS.
  • /etc/nfsmount.conf – plik konfiguracyjny montowania NFS.

3. Następnie utwórz systemy plików do wyeksportowania lub udostępnienia na serwerze NFS. Na potrzeby tego przewodnika utworzymy cztery systemy plików, z których trzy będą używane przez pracowników trzech działów: zasobów ludzkich, finansów i marketingu do udostępniania plików, a jeden będzie używany do tworzenia kopii zapasowych użytkowników root.

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

4. Następnie wyeksportuj powyższe systemy plików do pliku konfiguracyjnego /etc/exports serwera NFS, aby określić lokalne fizyczne systemy plików dostępne dla klientów NFS.

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

Oto niektóre opcje eksportu (przeczytaj eksport człowieka, aby uzyskać więcej informacji i opcje eksportu):

  • rw – umożliwia zarówno odczyt, jak i zapis w systemie plików.
  • sync – nakazuje serwerowi NFS zapisanie operacji (zapisanie informacji na dysk) na żądanie (dotyczy domyślnie).
  • all_squash – mapuje wszystkie UID i GID z żądań klientów na anonimowego użytkownika.
  • no_all_squash – używany do mapowania wszystkich UID i GID z żądań klientów na identyczne UID i GID na serwerze NFS.
  • root_squash – mapuje żądania od użytkownika root lub UID/GID 0 od klienta na anonimowy UID/GID.

5. Aby wyeksportować powyższy system plików, uruchom komendę exportfs z flagą -a, która oznacza eksport lub wycofanie eksportu wszystkich katalogów, - r oznacza ponowny eksport wszystkich katalogów, synchronizację /var/lib/nfs/etab z /etc/exports i plikami w /etc/exports.d , a -v włącza szczegółowe dane wyjściowe.

exportfs -arv

6. Aby wyświetlić bieżącą listę eksportu, uruchom następujące polecenie. Pamiętaj, że tabela eksport stosuje także niektóre domyślne opcje eksportu, które nie są wyraźnie zdefiniowane, jak pokazano na poniższym zrzucie ekranu.

exportfs  -s

7. Następnie, jeśli masz uruchomioną usługę firewalld, musisz zezwolić na ruch do niezbędnych usług NFS (mountd, nfs , rpc-bind) przez zaporę, a następnie załaduj ponownie reguły zapory, aby zastosować zmiany, w następujący sposób.

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

Konfigurowanie klienta NFS w systemach klienckich

8. Teraz na węzłach klienckich zainstaluj niezbędne pakiety, aby uzyskać dostęp do udziałów NFS w systemach klienckich. Uruchom odpowiednie polecenie dla swojej dystrybucji:

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

9. Następnie uruchom polecenie showmount, aby wyświetlić informacje o podłączeniu dla serwera NFS. Polecenie powinno wyprowadzić wyeksportowany system plików na kliencie, jak pokazano na zrzucie ekranu.

showmount -e 10.20.20.8

9. Następnie utwórz lokalny system plików/katalog do zamontowania zdalnego systemu plików NFS i zamontuj go jako system plików NTF.

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

10. Następnie potwierdź, że zdalny system plików został zamontowany, uruchamiając polecenie mount i filtrując podłączenia nfs.

mount | grep nfs

11. Aby podłączenie było trwałe nawet po ponownym uruchomieniu systemu, uruchom następujące polecenie i wprowadź odpowiedni wpis w pliku /etc/fstab.

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

12. Na koniec sprawdź, czy konfiguracja NFS działa prawidłowo, tworząc plik na serwerze i sprawdź, czy plik jest widoczny w kliencie.

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

Następnie wykonaj czynność odwrotną.

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

13. Aby odmontować zdalny system plików po stronie klienta.

umount /mnt/backups

Pamiętaj, że nie możesz odmontować zdalnego systemu plików, jeśli w nim pracujesz, jak pokazano na poniższym zrzucie ekranu.

Otóż to! W tym przewodniku pokazaliśmy, jak zainstalować i skonfigurować serwer i klienta NFS w CentOS/RHEL 8. Jeśli masz jakieś przemyślenia lub pytania, którymi chcesz się podzielić, skorzystaj z formularza komentarza poniżej, aby się z nami skontaktować.