Ten przewodnik wyjaśni, jak zainstalować serwer NFS na serwerze RHEL 8 / CentOS 8 Linux. NFS oznacza system plików sieciowych. Umożliwia systemom klienckim dostęp do plików przechowywanych na zdalnym serwerze współdzielonym w sieci i korzystanie z tych systemów plików tak, jakby były one montowane lokalnie. NFS jest systemem plików typu klient-serwer(FS).
używając współdzielonej pamięci masowej NFS, administratorzy systemów mogą konsolidować zasoby na scentralizowanych serwerach w sieci. Pliki są łatwo współdzielone między wieloma systemami w tej samej sieci. System kliencki może uzyskać dostęp do zdalnego udziału z uprawnieniami (Odczyt, Zapis) i nie ma dostępu do bazowej pamięci blokowej.
Dla Ubuntu/Debiana sprawdź: Zainstaluj i skonfiguruj serwer NFS na Ubuntu& Debian Linux
obsługiwane wersje NFS
Poniżej znajdują się wersje NFS obsługiwane przez RHEL 8.
NFS w wersji 3 (NFSv3)
- ma wsparcie dla bezpiecznych asynchronicznych zapisów i jest bardziej niezawodny w obsłudze błędów niż poprzedni NFSv2
- obsługuje 64-bitowe rozmiary plików i przesunięcia, umożliwiając klientom dostęp do ponad 2 GB danych plików.
NFS w wersji 4 (NFSv4)
- działa poprzez zapory sieciowe i w Internecie
- nie wymaga już usługi rpcbind
- obsługuje listy kontroli dostępu (ACLs)
- wykorzystuje operacje stateful.
w tym przewodniku skonfigurujemy NFSv4.2 na naszym systemie RHEL / CentOS. Oto mój projekt instalacji.
Server Type | OS | IP | Hostname |
NFS Server | RHEL/CentOS 8 | 172.16.54.136 | server.example.com |
NFS Client 1 | RHEL/CentOS 8 | 172.16.54.136 | client1.example.com |
NFS Client 2 | RHEL/CentOS 8 | 172.16.54.131 | client2.example.com |
ale należy pamiętać, że konfiguracja klienta NFS zostanie omówiona w oddzielnym przewodniku. Wykonaj poniższe czynności, aby zainstalować serwer NFS na systemie CentOS 8 / RHEL 8 Linux.
Krok 1: Zaktualizuj serwer i ustaw nazwę hosta
Twój serwer powinien mieć statyczny adres IP i statyczną nazwę hosta, która nadal uruchamia się ponownie. Sprawdź nasze przewodniki, jak ustawić statyczny adres IP na RHEL / CentOS 8.
sudo yum -y updatesudo hostnamectl set-hostname server.example.com --static
Krok 2: Zainstaluj serwer NFS na CentOS 8/RHEL 8
Następna jest instalacja pakietów serwera NFS na systemie RHEL / CentOS 8.
sudo yum -y install nfs-utils
Po instalacji Uruchom i włącz usługę NFS-server.
sudo systemctl enable --now nfs-server rpcbind
status powinien pokazywać „uruchomiony”.
Krok 3: eksportowanie udziałów NFS na RHEL 8/CentOS 8
istnieją dwa sposoby konfigurowania eksportu na serwerze NFS.
- ręczna edycja pliku konfiguracyjnego
/etc/exports
za pomocą narzędziaexportfs
w wierszu poleceń
plik /etc/exports
kontroluje, które systemy plików są eksportowane do zdalnych hostów i określa opcje. Postępuje zgodnie z następującymi regułami składni:
- puste linie są ignorowane.
- aby dodać komentarz, rozpocznij linię od znaku skrótu (#).
- możesz owinąć długie linie odwrotnym ukośnikiem (\).
- każdy eksportowany system plików powinien znajdować się w osobnej linii.
- wszystkie listy autoryzowanych hostów umieszczone po wyeksportowanym systemie plików muszą być oddzielone spacjami.
- dla każdego z hostów muszą być umieszczone w nawiasach bezpośrednio po identyfikatorze hosta, bez spacji oddzielających hosta od pierwszego nawiasu.
opcje
do tej konfiguracji dodałem dodatkowy dysk do mojego serwera o pojemności 20 GB. Podzielimy ten dysk i utworzymy na nim system plików do użytku jako NFS share.
$ lsblk | grep sdbsdb 8:16 0 20G 0 disk # Create partition and file systemsudo parted -s -a optimal -- /dev/sdb mklabel gptsudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%sudo parted -s -- /dev/sdb align-check optimal 1sudo mkfs.xfs /dev/sdb1
zamontujemy go w katalogu / data.
sudo mkdir /dataecho "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstabsudo mount -a
sprawdźmy ustawienia, aby potwierdzić.
$ df -hT | grep /data/dev/sdb1 xfs 20G 176M 20G 1% /data
tworzę katalog na/data / nfshare, który będzie eksportowany do klientów NFS.
sudo mkdir /data/nfshare
teraz musimy zmodyfikować/etc / exports, aby skonfigurować udział NFS. Struktura jest następująca:
export host(options)
możliwe jest również określenie wielu hostów, wraz z określonymi opcjami dla każdego hosta, jak poniżej.
export host1(options1) host2(options2) host3(options3)
gdzie:
- eksport to eksportowany katalog
- host to host lub sieć, do której eksport jest współdzielony
- opcje lista opcji, które mają być używane dla hosta
w mojej konfiguracji Dam wyeksportowany system plików jest odczytywany& uprawnienia do zapisu, aby umożliwić zdalnym hostom wprowadzanie zmian w danych udostępnionych w systemie plików. Moim hostem będzie sieć 172.16.54.0 / 24.
więc moja linia w pliku/etc / exports będzie.
/data/nfshare 172.16.54.0/24(rw,no_root_squash)
opcja no_root_squash wyłącza root squashing – pozwala zdalnemu użytkownikowi root mieć uprawnienia roota. Jest to zwykle wymagane w przypadku instalacji maszyn wirtualnych na udziale NFS.
aby dowiedzieć się więcej o dostępnych opcjach, użyj:
$ man exports
Po zakończeniu ustawień użyj narzędzia exportfs, aby selektywnie eksportować katalogi bez ponownego uruchamiania usługi NFS.
$ sudo exportfs -ravexporting 172.16.54.0/24:/data/nfshare
- r – powoduje eksport wszystkich katalogów wymienionych w /etc/exports poprzez utworzenie nowej listy eksportu w /etc/lib/nfs/xtab
- a – wszystkie katalogi są eksportowane lub nie są eksportowane, w zależności od tego, jakie inne opcje zostaną przekazane do exportfs
- v – obszerna operacja – pokazuje, co się dzieje
jeśli firewalld jest uruchomiony, Zezwól na usługę NFS.
sudo firewall-cmd --add-service=nfs --permanentsudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent sudo firewall-cmd --reload
SELinux boolean może wymagać włączenia.
sudo setsebool -P nfs_export_all_rw 1
Krok 4: Montowanie udziałów NFS na komputerach klienckich
teraz, gdy skończyliśmy konfigurację serwera NFS, pozostała część to montowanie udziałów NFS na systemie klienckim. Klientem może być zdalny system, maszyna wirtualna na tym samym serwerze lub sam serwer.
zapoznaj się z naszym następnym przewodnikiem: Jak skonfigurować klienta NFS na CentOS/RHEL 8
Więcej przewodników związanych z pamięcią masową:
Jak skonfigurować inicjator iSCSI na CentOS 8/RHEL 8
Jak skonfigurować cel iSCSI i inicjator na CentOS 8/RHEL 8