_____ _   _ _    _    ___      _
 / ____| \ | | |  | |  / / |    (_)
| |  __|  \| | |  | | / /| |     _ _ __  _   ___  __
| | |_ | . ` | |  | |/ / | |    | | '_ \| | | \ \/ /
| |__| | |\  | |__| / /  | |____| | | | | |_| |>  <
 \_____|_| \_|\____/_/   |______|_|_| |_|\__,_/_/\_\

NFS - Udostępnianie i montowanie udziałów

Wykorzystanie NFS (ang. Network File System), czyli sieciowego systemu plików, jest chyba najbardziej zbliżonym plikowym zasobem sieciowym do katalogów wstępujących klasycznie w systemie, mowa oczywiście o systemach UNIX. Nie chce wdawać się w szczegóły samego protokołu, ponieważ tutaj chciałybm skupić się na samej praktyce, niezbędną teorie przytoczę podczas omawania konkretnych przykładów.

Na początek zajmiemy się serwerem, kiedy będzie gotów przejdziemy wówczas do konfiugracji klienta. Przed przystąpieniem do instalacji oprogramowania NFS, upewnijmy się czy nasz system posiada aktualne źródła repozytorium oraz oprogramowanie. Przytoczę tutaj polecenia dystrybucji opartych na Debianie.

$ sudo apt update
$ sudo apt upgrade

Po zainstalowaniu aktualizacji możemy przejść do instalacji właściwego oprogramowania.

$ sudo apt install nfs-kernel-server

Teraz przejdziemy do utworzenia katalogu udziału oraz nadamy mu odpowiednie uprawnienia.

$ sudo mkdir /example
$ sudo chmod nobody:nogroup /example

/example jest tutaj katalogiem udziału. Kiedy wykonaliśmy powyższe czynności mozemy przejść do udostępnienia katalogu z pomocą protokołu NFS. Otwieramy plik /etc/exports, plik może nie istnieć. Wewnątrz pliku deklarujemy nasz udział.

$ sudo vi /etc/exports
# w /etc/export:
/example        192.168.1.2(rw,sync,no_subtree_check,no_root_squash)

Tutaj:

Pozostała część linii są to opcje udziału, które określają następujące rzeczy: Po zapisaniu zmian w pliku możemy zrestartować naszą usługe NFS.

$ sudo systemctl restart nfs-kernel-server

Konfiguracja na serwerze została juz zakończona, w przypadku NFS widać że nie ma z dużo pracy. Teraz przejdziemy do konfiguracji klienta. Rozpoczynamy ją klasycznie od zainstalowania aktualizacji w systemie.

$ sudo apt update
$ sudo apt upgrade

Kiedy aktualizacje są zainstalowane, możemy przejść do zainstalowania niezbędnego oprogramowania.

$ sudo apt install nfs-common

Po instalacji pakietu możemy sobie przetestować nasz udział NFS, za pomocą poniższego polecenia.

$ sudo mount 192.168.1.3:example /nfs_example

Gdzie:

Montowanie nie jest jakieś trudne, co widać na załączonym wyżej przykładzie. Teraz tak naprawdę możemy korzystać z naszego udziału. Jeśli chcemy sprawdzić czy udział został rzeczywiście zamontowany możemy wydać polecenie mount lub df -h, w wynikach działania tych poleceń powinniśmy odnaleźć adres IP serwera, nazwę udziału oraz punkt montowania. Teraz kiedy już możemy korzysać z naszego udziału to warto wprowadzić do systemu klienta jedną zmianę, ustawić system tak aby sam montował udział podczas startu.

W plik /etc/fstab dopisujemy poniższą linie.

192.168.1.3:example     /nfs_example    nfs     auto,nofail,noatime,nolock,intr,tcp,actimeo=1800    0   0

W przypadku tej linii to:

po montowanym systemie plików występują opcje montowania. Opcje montowania można ze sobą mieszać, dlatego występują tu zarówno opcje ogólne, sterujące pracą samego systemu montowania oraz opcje specyficzne dla konkretnego systemu plików. Poniżej znajduje się objaśnienie opcji wykorzystanych podczas tworzenia powyższego wpisu. Po zapisaniu zmian w pliku możemy zrestartować komputer klienta, aby sprawdzić czy rzeczywiście wpis w pliku /etc/fstab działa. Poprawność monotowania możemy sprawdzić za pomocą tych samych poleceń jakie wykorzystywaliśmy podczas testowania udziału.

NFS jak widać jest natywnym systemem udostępniania plików w UNIX-ach a jego instalacja i konfiguracja nie należy do najtrudniejszych.

~xf0r3m