NFSv4

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania

Spis treści

NFSv4 - wymagania

Protokół zdalnego udostępniania systemu plików.

Wymagane pakiety

Serwer i Klient:

  1. nfs-utils
  2. rpcbind

Firewall

Warn.png
UWAGA!
Wszystkie opisane operacje wykonujemy jako root.

Przyjąłem następujące oznaczenia:

  • 192.168.1.101 - serwer
  • 192.168.1.102 - klient
  • 192.168.1.100 - sieci (brama sieci)

Musimy zacząć od otworzenia odpowiedniego portu (port: 2049) zarezerwowanego dla protokołu NFSv4. W tym celu możemy skorzystać z "Kofiguracji zapory sieciowej":

  1. Uruchamiamy aplikację: System -> Administarcja -> Zapora sieciowa lub wpisując w terminalu:
    # system-config-firewall 
  2. W zakładce Zaufane usługi zaznaczamy NFS4 i zatwierdzamy zmiany przyciskiem Zastosuj.

Serwer - konfiguracja

Przykładowo utworzymy sobie taką drzewiastą strukturę:

# mkdir -p /media/nfs/folder1
# mkdir -p /media/nfs/folder2

Folder /media/nfs jest korzeniem NFS, a wszystkie katalogi, które będziemy chcieli współdzielić w sieci muszą leżeć poniżej (jak folder1 i folder2).

Udostępnianie danych spoza struktury

Załóżmy, że chcemy udostępnić w sieci folder /home/muzyka. W tym celu montujemy go z opcją --bind do katalogu /media/nfs/folder1:

# mount --bind /home/muzyka /media/nfs/folder1

Aby zasoby były montowane automatycznie należy zrobić odpowiedni wpis w pliku /etc/fstab:

/home/muzyka /media/nfs/folder1 none bind 0 0

Można przemontować wszystkie systemy plików, aby zobaczyć zmiany:

# mount -a

/etc/exports

Plik /etc/exports zawiera informacje o kliencie, udostępnianych katalogach i prawach dostępu:

/media/nfs 192.168.1.102(rw,fsid=0,no_root_squash,no_subtree_check,async)
/media/nfs/files1 192.168.1.102(rw,no_root_squash,no_subtree_check,async)
/media/nfs/files2 192.168.1.100/24(rw,no_root_squash,no_subtree_check,async)

Nazwa hosta (w tym przypadku IP):

  • 192.168.1.102 - dostęp uzyskuje tylko komputer o danym adresie IP,
  • 192.168.1.100/24 - dostęp uzyskują wszyscy klienci (192.168.1.101-192.168.1.255).

Opcje dostępu:

  • fsid=0 - niezbędna do poprawnego działania,
  • rw - odczyt-zapis,
  • ro - tylko odczyt,
  • no_root_squash - root na komputerze klienta otrzymuje pełne prawa na serwerze. Opcja ta obniża bezpieczeństwo, usuń ją jeśli nie jest Ci potrzebna.

Jeśli wcześniej uruchomiliśmy usługi to każdą zmianę w exports musimy zatwierdzić komendą:

# exportfs -rv

/etc/hosts.allow

Aby komputery w sieci uzyskały dostęp do serwera NFS, musimy wyedytować plik /etc/hosts.allow:

ALL: 192.168.1.100/255.255.255.0

Cała sieć ma dostęp do usług serwera (numer 255.255.255.0 nie jest maską sieci).

Usługi

Ostatnim etapem konfiguracji ustawień serwera jest uruchomienie usług (w podanej kolejności):

# /etc/init.d/rpcbind start
# /etc/init.d/nfslock start
# /etc/init.d/nfs start 

Jeśli chcesz, aby usługi były uruchamiane przy starcie systemu włącz je w "Konfiguracji usług" (System -> Administracja) lub w terminalu:

# /sbin/chkconfig --level 345 rpcbind on
# /sbin/chkconfig --level 345 nfslock on
# /sbin/chkconfig --level 345 nfs on

Klient - konfiguracja

Zajmiemy się teraz komputerem, który ma uzyskać dostęp do zasobów serwera. Tworzymy katalogi, do których zamontujemy dane:

# mkdir -p /media/moj_folder1
# mkdir -p /media/moj_folder2

Usługi

Podobnie jak w przypadku serwera uruchamiamy usługi:

# /etc/init.d/rpcbind start
# /etc/init.d/nfslock start

Uruchamianie przy boocie systemu (lub "Konfiguracja usług"):

# /sbin/chkconfig --level 345 rpcbind on
# /sbin/chkconfig --level 345 nfslock on

Montowanie zasobów

Postępujemy podobnie jak w przypadku zwykłych systemów plików:

# mount.nfs4 192.168.1.101:/folder1 /media/moj_folder1
# mount.nfs4 192.168.1.101:/folder2 /media/moj_folder2

Wyjaśnienie:

  • 192.168.1.101 to adres IP serwera,
  •  :/folder1 zapis wynika stąd, że jak napisałem wcześniej na serwerze katalog /media/nfs jest korzeniem (czyli /) i odwołujemy się bezpośrednio do jego podkatalogów,
  • /media/moj_folder1 punkt montowania na komputerze klienta.

Opcjonalnie dodajemy odpowiednie wpisy do pliku /etc/fstab (o opcjach możemy przeczytać w man fstab):

192.168.1.101:/folder1 /media/moj_folder1 nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
192.168.1.101:/folder2 /media/moj_folder2 nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Zatwierdzamy zmiany:

# mount -a

Powinno być ok, o błędach piszcie w "dyskusja".

Osobiste
Przestrzenie nazw

Warianty
Działania
Wiki
Nawigacja
Inne
Narzędzia