NFSv4
Z Fedora Wiki
Spis treści |
NFSv4 - wymagania
Protokół zdalnego udostępniania systemu plików.
Wymagane pakiety
Serwer i Klient:
- nfs-utils
- rpcbind
Firewall
Musimy zacząć od otworzenia odpowiedniego portu (port: 2049) zarezerwowanego dla protokołu NFSv4. W tym celu możemy skorzystać z "Kofiguracji zapory sieciowej":
- Uruchamiamy aplikację: System -> Administarcja -> Zapora sieciowa lub wpisując w terminalu:
# system-config-firewall
- 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".
