Rozdział 43.
NFS
Tim Parker
W tym rozdziale:
* Konfiguracja NFS w systemie Linux
NFS (Network File System, sieciowy system plików), stworzony przez firmę Sun
Microsystems, umożliwia współużytkowanie plików i katalogów pomiędzy systemami
UNIX-owymi. Katalog sieciowy udostępniany poprzez NFS widziany jest w każdym
systemie tak, jakby był katalogiem lokalnym. Przykładowo, jeśli masz dostęp do
systemu linuxowego, w którym zainstalowane jest mnóstwo gier, a nie masz
miejsca, by je wszystkie zainstalować u siebie, możesz za pomocą NFS
skonfigurować swój system tak, aby gry te były widoczne w jakimś katalogu
lokalnym i używać ich bez żadnych problemów. Dzięki NFS proces łączenia się z
innym komputerem i transportu danych za każdym razem, gdy uruchamiasz grę, jest
niewidoczny dla użytkownika (może za wyjątkiem opóźnień wprowadzanych przez
sieć).
NFS może być używany w sieciach różnego typu, choć został zaprojektowany dla
sieci opartych na TCP/IP. Ze względu na jego popularność, pojawiły się
implementacje dla różnych systemów operacyjnych, co pozwala na współużytkowanie
plików i katalogów w sieciach niejednorodnych.
W UNIX-ie i Linuxie NFS działa w trybie peer-to-peer (równy z równym). Oznacza
to, że Twój komputer może zachowywać się zarówno jako klient, jak i serwer
usługi NFS, a nawet spełniać obie te funkcje równocześnie.
Wiele osób używa NFS w pracy, ale boi się skonfigurować go we własnym systemie
linuxowym, ponieważ uważają, że jego konfiguracja jest złożona, trudna, i
wymaga dużej wiedzy o systemie operacyjnym. Z tego powodu wiele osób rezygnuje
z NFS, choć jest to jedna z najbardziej pożytecznych usług oferowanych przez
TCP/IP. Jak jednak przekonasz się czytając ten rozdział, konfigurowanie NFS w
systemie Linux nie jest ani takie skomplikowane, ani długotrwałe, jak się
powszechnie uważa. Oczywiście abyś mógł docenić jego zalety, w skład sieci musi
wchodzić więcej niż jeden komputer...
Niektóre nowsze produkty, takie jak VisionFS, znacznie upraszczają używanie
dysków sieciowych. Wersje tych programów są dostępne również dla Linuxa, ale
niestety są to produkty komercyjne.
Konfiguracja NFS w systemie Linux
NFS intensywnie korzysta z usługi RPC (Remote Procedure Call, zdalne
wywoływanie procedur). Z tego powodu przed uruchomieniem NFS trzeba sprawdzić,
czy program obsługujący RPC działa poprawnie. W niektórych systemach możesz to
zrobić wydając polecenie:
rpcinfo –p
Wynikiem jego działania powinna być lista wszystkich serwerów RPC działających
w Twoim systemie, na przykład:
[root@linux reksio]# rpcinfo –p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
300019 1 udp 737
100001 13 udp 791 rstatd
100001 3 udp 791 rstatd
100001 2 udp 791 rstatd
100001 1 udp 791 rstatd
100001 13 udp 796 rstatd
100001 3 udp 796 rstatd
100001 2 udp 796 rstatd
100001 1 udp 796 rstatd
Jeśli RPC działa prawidłowo, powinieneś zobaczyć przynajmniej pięć pozycji:
dwie dla UDP, dwie dla TCP oraz jedną dla programu pcnfsd, obsługującego NFS. W
powyższym przykładzie nie ma pozycji pcnfsd,więc wiemy, że program obsługi NFS
nie jest aktywny.
Programy obsługujące NFS muszą najpierw zostać zainstalowane: Linux najczęściej
pozwala na to przy instalacji systemu. Jeśli nie zainstalowałeś ich wtedy, zrób
to teraz, używając programu instalacyjnego dołączonego do Twojej wersji Linuxa.
W niektórych systemach (np. Caldera Linux i wiele dystrybucji Slackware)
program obsługi NFS jest domyślnie instalowany i uruchamiany przy starcie
systemu, bez względu na to, czy jest faktycznie używany.
Konfiguracja serwera linuxowego
W większości wersji Linuxa NFS jest uruchamiany i wyłączany za pomocą skryptu
/etc/nfs. Jeśli chcesz uruchamiać go automatycznie, powinieneś utworzyć
dowiązanie do tego skryptu o nazwie /etc/rc2.d/Sname. Aby prawidłowo wyłączać
NFS, powinieneś również stworzyć dowiązanie /etc/rc0.d/Kname. Ręcznie możesz go
uruchomić i zatrzymać poleceniami:
/etc/nfs start
/etc/nfs stop
W niektórych wersjach Linuxa używane są inne nazwy plików i katalogów, na
przykład wspomniany wyżej skrypt /etc/nfs może być zapisany pod nazwą
/etc/rc.d/init.d/nfs albo /etc/init.d/nfs.
Po wydaniu polecenia uruchamiającego NFS na ekranie powinny zostać wyświetlone
komunikaty potwierdzające uruchomienie odpowiednich programów:
$ /etc/nfs start
Starting NFS services: exportfs mountd nfsd pcnfsd biod(x4)
Starting NLM services: statd lockd
natomiast przy wyłączaniu usługi NFS, komunikaty o zakończeniu ich działania:
$ /etc/nfs stop
NFS shutdown: [NFS Shutdown Complete]
Jeśli linuxowy system plików ma być dostępny za pośrednictwem usługi NFS dla
innych komputerów, musi być wymieniony w pliku /etc/exports. W niektórych
systemach NFS uruchamia się automatycznie, jeśli plik /etc/exports istnieje
podczas uruchamiania systemu – wywoływany jest wówczas program exportfs,
pozwalający innym komputerom korzystać z systemu plików za pośrednictwem NFS.
Jeśli zmodyfikujesz plik /etc/exports, powinieneś wydać polecenie exportfs
jeszcze raz albo ponownie uruchomić komputer, aby uaktywnić zmiany. Składnia
wpisów w pliku etc/exportfs jest następująca:
katalog [-opcja, opcja ...]
katalog to ścieżka dostępu do katalogu, który ma być udostępniany
(eksportowany, według terminologii NFS) za pomocą NFS, a opcje mogą przybierać
następujące wartości:
ro eksportowanie w trybie tylko do odczytu (domyślnie: do odczytu i zapisu);
rw=nazwy_komputerów zezwolenie na zapis tylko dla wymienionych komputerów, dla
pozostałych – tylko odczyt;
anon=uid jeśli żądanie NFS pochodzi z nieznanego serwera, używa identyfikatora
użytkownika uid dla określenia praw dostępu;
root=nazwy_komputerów nadaje uprawnienia użytkownika root użytkownikom root
pochodzącym z wyszczególnionych komputerów;
access=klient umożliwia używanie NFS tylko wyszczególnionym klientom. Pole
klient może zawierać nazwę komputera lub całej grupy sieciowej.
Podany niżej przykładowy plik /etc/exports ułatwi zrozumienie zastosowania tych
opcji. Symbol
# oznacza początek komentarza.
/usr/stuff -ro #eksport tylko do odczytu dla wszystkich
/usr -access=clients #eksport dla grupy o nazwie clients
/usr/public #eksport do odczytu i zapisu dla każdego
Jeśli zmodyfikujesz zawartość pliku /etc/exports, powinieneś zrestartować
programy obsługi NFS. Polecenie exportfs wyświetla nazwy wszystkich
eksportowanych systemów plików.
Niektóre systemy automatycznie generują plik o nazwie /etc/xtab, zawierający
informacje o systemach plików. Nie należy modyfikować tego pliku, ponieważ NFS
może przestać działać prawidłowo. Plik ten jest tworzony przez program
exportfs.
W niektórych systemach linuxowych do eksportowania katalogów używa się
polecenia share (wiele wersji Linuxa nie obsługuje tego polecenia, ponieważ
jego funkcje pokrywają się funkcjami pliku /etc/exports). Jego składnia jest
następująca:
share –F nfs –o opcje –d opis ścieżka
Parametr nfs określa, że katalog ma być eksportowany za pośrednictwem usługi
NFS. opcje mogą przyjmować takie same wartości, jak opcje podawane w pliku
/etc/exports. Można również podać opisową nazwę eksportowanego katalogu,
używając opcji -d. Jeśli na przykład chcesz udostępnić do odczytu i zapisu
katalog /usr/public, możesz wydać polecenie:
share –F nfs –d "Server public directory" /usr/public
Można również użyć jednocześnie kilku opcji, na przykład:
share –F nfs –o ro=artemis,anon=200 –d "Book material" /usr/reksio/book
Powyższe polecenie spowoduje udostępnienie katalogu /usr/reksio/book, opisanego
jako Book material, dla każdego w trybie do odczytu i zapisu, za wyjątkiem
komputera artemis, który będzie miał tylko możliwość odczytu. Prawa dostępu
anonimowych użytkowników będą określane na podstawie praw dostępu użytkownika o
identyfikatorze numerycznym 200.
Polecenie share bez parametrów zwykle wyświetla informacje o wszystkich
eksportowanych katalogach.
Konfigurowanie klienta
Eksportowany przez serwer system plików można zamontować bez żadnych problemów
poleceniem mount o następującej składni:
mount –F nfs [–o opcje] serwer:katalog punkt_zamontowania
Opcja –F nfs określa, że chodzi o system plików dostępny przez NFS.
serwer:katalog to nazwa serwera i ścieżka dostępu do katalogu, który ma zostać
zamontowany. punkt_zamontowania określa katalog, w którym zdalny system plików
będzie dostępny w komputerze lokalnym (katalog ten musi istnieć). W niektórych
wersjach Linuxa składnia polecenia mount może być nieco inna, na przykład
czasem zamiast opcji –F nfs należy podać –f NFS. Dokładne informacje o składni
znajdują się w dokumentacji.
Podane niżej przykładowe polecenie montuje system plików znajdujący się w
katalogu /usr/public systemu artemis w katalogu lokalnym /usr/artemis:
mount –F nfs artemis:usr/public /usr/artemis
Katalog /usr/artemis musi zostać wcześniej utworzony.
opcje mogą być kombinacją następujących wartości:
rw montuje system plików do odczytu i zapisu (ustawienie domyślne);
ro montuje system plików tylko do odczytu;
timeo=x określa maksymalny czas, jaki należy odczekać przed daniem za wygraną,
jeśli montowanie się nie powiedzie (w dziesiątych sekundy);
retry=x w razie niepowodzenia powoduje powtórzenie próby montowania x razy;
soft wymusza poddanie się, jeśli od serwera nie przychodzi potwierdzenie
zamontowania;
hard powoduje, że klient kontynuuje próby montowania aż do skutku;
intr pozwala na przerwanie montowania przez naciśnięcie dowolnego klawisza; w
przeciwnym przypadku próby montowania są powtarzane do skutku.
Poniższe polecenie powoduje próbę zamontowania katalogu /usr/public
udostępnianego w systemie artemis w trybie tylko do odczytu, i poddanie się,
jeśli komputer zdalny nie potwierdzi zamontowania systemu plików:
mount –F nfs –o soft,ro artemis:usr/public /usr/artemis
Polecenie mount bez parametrów wyświetla listę wszystkich zamontowanych
systemów plików.
Istnieje jeszcze prostsza metoda montowania często używanych systemów plików.
Jeśli nazwy systemów plików i punkty ich zamontowania wraz z opcjami zostaną
umieszczone w pliku /etc/fstab lub /etc/vfstab (zależnie od wersji Linuxa),
będzie można je zamontować wydając polecenie mount tylko z jednym parametrem –
punktem zamontowania, na przykład
mount /usr/artemis
Podsumowanie
Jak widać, usługa NFS nie jest aż tak trudna w konfiguracji, jak się
powszechnie uważa. W ciągu kilku minut możesz skonfigurować system tak, aby
wygodnie dzielić pliki i katalogi z innymi użytkownikami. NFS to szybki i
wygodny sposób dostępu do aplikacji i plików zapisanych w innych systemach.
Choć szczegóły konfiguracji zależą od wersji systemu, rzut okiem na strony man
pozwoli Ci ustalić odpowiednią składnię poszczególnych poleceń przedstawionych
w tym rozdziale.
NIS oraz YP, pozwalające na łatwiejszy dostęp do systemu z dowolnego komputera
podłączonego do sieci, opisane są w rozdziale 44. „NIS i YP”.
Rozdział 46. „cron i at”, przedstawia sposoby automatyzowania zadań, które
muszą być wykonywane regularnie.
Konfigurowanie serwera internetowego omówione jest w rozdziale 47.
„Konfigurowanie węzła internetowego”
Wyszukiwarka
Podobne podstrony:
43 12 Pażdziernik 1999 Zachód łyka wszystko248 12Biuletyn 01 12 201412 control statementsRzym 5 w 12,14 CZY WIERZYSZ EWOLUCJIwięcej podobnych podstron