Jak założyć główny system plików przez NFS.
Autor: Andreas Kostyrka, andreas@ag.or.at
v8, 8 Sierpnia 1997
WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii
BB..MMaarruusszzeewwsskkii@@zzssmmeeiiee..ttoorruunn..ppll
v1.1, 4 Listopada 1997
Dokument ten próbuje wyjaśnić jak ustawić bezdyskową stację roboczą,
która montuje swój główny system plików poprzez NFS na Linux-ie.
Dokument ten został napisany w standardzie ISO-8859-2. Najnowsza wer
sja oryginału jest dostępna na SUNSite Polska
.
Odnośnie nowszych wersji tłumaczenia zobacz sekcję ``Od tłumacza.''
______________________________________________________________________
Spis treści
1. Prawa autorskie.
1.1 Współpracownicy.
2. Przegląd ogólny.
3. Ustawienia na serwerze.
3.1 Kompilacja jÄ…dra.
3.2 Tworzenie głównego systemu plików.
3.2.1 Kopiowanie systemu plików.
3.2.2 Zmiany w głównym systemie plików
3.2.3 Exportowanie systemu plików.
3.2.4 Ustawienie RARP.
3.2.5 Ustawianie BOOTP
3.2.6 Odszukiwanie adresu sprzętowego.
4. Startowanie stacji roboczej.
4.1 Używanie "boot rom-u".
4.2 Używanie dysku z surowym jądrem.
4.3 Używanie "bootloader-a" i RARP-a.
4.4 Używanie "bootloader-a" bez RARP-a.
5. Znane problemy.
5.1 /sbin/init nie startuje.
5.2 Problemy z /dev.
6. Inne tematy.
6.1 Od tłumacza.
______________________________________________________________________
11.. PPrraawwaa aauuttoorrsskkiiee..
Prawa autorskie należą do Andreasa Kostyrki
(e9207884@student.tu(-)wien.ac.at lub andreas@ag.or.at)
O ile nie stwierdza siÄ™ inaczej, dokumenty HOWTO sÄ… chronione prawami
autorskimi ich autorów. Mogą one być rozprowadzane w całości lub w
części, w jakiejkolwiek postaci fizycznej czy elektronicznej tak
długo, dopóki znajduje się w nich ta wzmianka. Dystrybucja komercyjna
jest dozwolona, a nawet zachęca się do niej; chociaż autor chciałby
być poinformowany o takowej.
Wszelkie tłumaczenia, prace pochodne, prace zebrane zawierające
dokumenty HOWTO muszą zawierać tę notatkę o prawach autorskich.
Oznacza to, że nie możesz stworzyć pracy pochodzącej z HOWTO i nałożyć
na jej dystrybucję dodatkowych ograniczeń. Wyjątki od tej zasady mogą
być uczynione pod pewnymi warunkami; skontaktuj się z koordynatorem
programu Linux HOWTO pod niżej podanym adresem.
Krótko mówiąc, chcemy promować szerzenie tych dokumentów przez
wszelkie dostępne kanały. Chcielibyśmy także utrzymać prawa autorskie
nałożone na te dokumenty, i być powiadomieni o planach dotyczących
redystrybucji HOWTO.
Jeśli masz jakieś pytania, skontaktuj się z Andreasem Kostyrką pod
adresem <_a_n_d_r_e_a_s_@_a_g_._o_r_._a_t> - autorem tego dokumentu, albo Gregiem
Hankinsem - koordynatorem projektu Linux HOWTO pod adresem
<_g_r_e_g_h_@_s_u_n_s_i_t_e_._u_n_c_._e_d_u>.
11..11.. WWssppóółłpprraaccoowwnniiccyy..
· Avery Pennarun (jak startować bez LILO)
· Ofer Maor (dostarczenie lepszego mini-howto o ustawianiu stacji
bezdyskowych)
· Christian Leutloff (dostarczenie informacji na temat startu przez
sieć)
22.. PPrrzzeegglląądd ooggóóllnnyy..
Ogólnie mówiąc są dwa następujące problemy dla stacji roboczych:
· musi ona znaleźć swój numer IP, a jeÅ›li to konieczne także resztÄ™
konfiguracji ethernet-owej
· musi ona znać serwer NFS oraz Å›cieżkÄ™, z której ma sobie zamontować
swój główny system plików.
Bieżąca implementacja _N_F_S_R_O_O_T w jądrze Linux-a (dotyczy 1.3.7x)
pozwala na następujące rozwiązania:
· Adres IP może być odnaleziony poprzez _R_A_R_P, albo możemy przekazać
do jądra pełną konfigurację poprzez parametry _L_I_L_O albo _L_O_A_D_L_I_N_-_a.
Jeśli tego nie zrobimy, to jądro przyjmuje, że serwer _R_A_R_P jest
także serwerem _N_F_S i używa wkompilowanej, domyślnej ścieżki. W tej
chwili jest to /tftpboot/<_a_d_r_e_s_-_I_P_-_m_a_s_z_y_n_y>/.
· Konfiguracja klienta jest pobierana poprzez _B_O_O_T_P.
Przed rozpoczęciem ustawiania środowiska bezdyskowego, powinieneś
zdecydować czy będziesz startował przez _L_I_L_O, czy przez _L_O_A_D_L_I_N.
Zaletą tego jest elastyczność, wadą natomiast prędkość. Startowanie
przez _L_I_L_O jest szybsze.
33.. UUssttaawwiieenniiaa nnaa sseerrwweerrzzee..
33..11.. KKoommppiillaaccjjaa jjÄ…Ä…ddrraa..
Dobrym pomysłem będzie wkompilowanie obsługi _R_A_R_P w jądro. Musisz ją
mieć jeśli będziesz startował bez parametrów. Z drugiej strony, nie
pomoże ci to, jeśli serwer jest w innej podsieci niż klient.
Jądro na stację musi mieć następujące elemnty wkompilowane w jądro:
· system plików _N_F_S. (ext2 nie musi być wkompilowane, wystarczy
moduł)
· "Root on NFS" musi być wÅ‚Ä…czone.
· sterownik do karty sieciowej zamontowanej na stacji.
· w zależnoÅ›ci od twoich potrzeb możesz wkompilować obsÅ‚ugÄ™ _R_A_R_P lub
_B_O_O_T_P dla "NFS-Root". (Rozumiem przez to pytania zadawane ppoo
pytaniu o "NFS")
Jeśli stacja robocza będzie startowana bez parametrów, musisz także
ustawić urządzenie głównego systemu plików na 0:255. Robi się to
poprzez utworzenie urzÄ…dzenia w katalogu /dev poleceniem
______________________________________________________________________
mknod /dev/nfsroot b 0 255
______________________________________________________________________
Po utworzeniu takiego urządzenia możesz ustawić urządzenie głównego
systemu plików w jądrze poleceniem
______________________________________________________________________
rdev /dev/nfsroot
______________________________________________________________________
33..22.. TTwwoorrzzeenniiee ggłłóówwnneeggoo ssyysstteemmuu pplliikkóóww..
33..22..11.. KKooppiioowwaanniiee ssyysstteemmuu pplliikkóóww..
_U_W_A_G_A_: _i_n_s_t_r_u_k_c_j_a _t_a _m_o_ż_e _d_z_i_a_ł_a_ć _u _c_i_e_b_i_e_, _a_l_e _w_c_a_l_e _n_i_e _m_u_s_i _b_y_ć
_s_e_n_s_o_w_n_a _w _ś_r_o_d_o_w_i_s_k_u _p_r_o_d_u_k_c_y_j_n_y_m_. _L_e_p_s_z_y _s_p_o_s_ó_b _u_s_t_a_w_i_e_n_i_a _g_ł_ó_w_n_e_g_o
_s_y_s_t_e_m_u _p_l_i_k_ó_w _n_a _s_t_a_c_j_i _z_n_a_j_d_u_j_e _s_i_ę _w _N_F_S_-_R_o_o_t_-_C_l_i_e_n_t
_
Jak już zdecydowałeś, gdzie umieścisz główny system plików, stwórz go
np. poleceniem
______________________________________________________________________
mkdir -p
tar cClf / - | tar xpCf -
______________________________________________________________________
Jeśli startujesz jądro bez LILO, wtedy katalogiem głównym musi być
/tftpboot/<_I_P_-_a_d_r_e_s>. Jeśli ci się to nie podoba, możesz go zmienić w
pliku _M_a_k_e_f_i_l_e w żródłach jądra, poszukaj linii podobnej do tej:
NFS_ROOT = -DNFS_ROOT="\"/tftpboot/%s\""
Jeśli to zmienisz musisz przekompilować jądro.
33..22..22.. ZZmmiiaannyy ww ggłłóówwnnyymm ssyysstteemmiiee pplliikkóóww
Teraz wyrzuć niepotrzebne pliki i sprawdź skrypty w /etc/rc.d. Kilka
ważnych wskazówek:
· JednÄ… ważnÄ… rzeczÄ… jest ustawienie _e_t_h_0. Stacja robocza ma już,
przynajmniej częściowo, ustawiony ten interfejs. Ustawienie adresu
IP stacji na adres IP serwera nie jest najmądrzejszym pomysłem.
(jak to się przytrafiło autorowi w początkowych próbach)
· Innym ważnym punktem jest /etc/fstab na stacji. Powinien on być
ustawiony dla systemu plików NFS.
· UUWWAAGGAA:: Nie pomyl głównego systemu plików serwera i stacji roboczej.
(Już poprawiłem rc.inet1 na serwerze i zastanawiałem się dlaczego
stacja dalej nie działa)
33..22..33.. EExxppoorrttoowwaanniiee ssyysstteemmuu pplliikkóóww..
Wyeksportuj główny katalog dla stacji roboczej. Szczegóły są w
podręczniku systemowym (_m_a_n _e_x_p_o_r_t_s). Najprzypuszczalniej po zmianach
będziesz musiał zrestartować _n_f_s_d _i _m_o_u_n_t_d. W dystrybucji RedHat można
to łatwo zrobić:
______________________________________________________________________
/etc/rc.d/init.d/nfs stop
/etc/rc.d/init.d/nfs start
______________________________________________________________________
33..22..44.. UUssttaawwiieenniiee RRAARRPP..
Ustaw gdzieś na sieci _R_A_R_P. Jeśli startujesz stację bez parametru
_n_f_s_r_o_o_t, to serwer _R_A_R_P musi być serwerem _N_F_S. Aby to zrobić
potrzebujesz jądra z obsługą _R_A_R_P.
Robi siÄ™ to poleceniem
______________________________________________________________________
/sbin/rarp -s
______________________________________________________________________
gdzie
aaddrr__iipp
jest adresem IP stacji roboczej a
aaddrr__sspprrzzęęttoowwyy
jest adresem ethernet-owym karty sieciowej stacji roboczej.
Przykład: /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12
Możesz także użyć nazwy symbolicznej zamiast adresu IP, jeśli serwer
może odszukać sobie adres IP. (/etc/hosts lub _D_N_S).
33..22..55.. UUssttaawwiiaanniiee BBOOOOTTPP
Aby ustawić _B_O_O_T_P musisz wyedytować plik /etc/bootptab. Przeczytaj
strony podręcznika systemowego na temat _b_o_o_t_p_d oraz _b_o_o_t_p_t_a_b.
33..22..66.. OOddsszzuukkiiwwaanniiee aaddrreessuu sspprrzzęęttoowweeggoo..
Nie znam adresu sprzętowego !!! Jak mam go odszukać ?
· Wystartuj z dysku z jÄ…drem, które zrobiÅ‚eÅ›, i szukaj linii, w
której jest rozpoznawana karta sieciowa. Zwykle zawiera ona 6 liczb
szesnastkowych, które są adresem sprzętowym karty.
· Wystartuj stacjÄ™ roboczÄ… z jakimÅ› systemem operacyjnym, który
posiada protokół TCP/IP. Uruchom polecenie _p_i_n_g do stacji roboczej
z serwera. Spójrz do cache'u ARP-a poleceniem:
___________________________________________________________________
/sbin/arp -a
___________________________________________________________________
44.. SSttaarrttoowwaanniiee ssttaaccjjii rroobboocczzeejj..
44..11.. UUżżyywwaanniiee ""bboooott rroomm--uu""..
Ponieważ samemu jeszcze tego nie używałem mogę ci dać tylko
nastepujące wskazówki (ukłony w stronę Christiana Leutloffa
):
· Nie możesz używać "normalnych" bootrom-ów.
· W pakiecie _n_e_t_b_o_o_t zrobionym przez Gero Kuhlmanna znajdziesz
informacje na temat bootrom-ów dla Linux-a i wiele innych. Pakiet
ten jest dostępny na SUNSite Polska
pod nazwÄ…
_n_e_t_b_o_o_t_-_*.
· Przeczytaj dokÅ‚adnie dokumentacjÄ™ dostarczonÄ… wraz z twoim bootrom-
em.
· Przypuszczalnie bedziesz musiaÅ‚ wÅ‚Ä…czyć tftpd na serwerze, ale to
zależy od sposobu w jaki twój boot rom ładuje jądro.
· _W_s_z_e_l_k_i_e _i_n_f_o_r_m_a_c_j_e _n_a _t_e_m_a_t _s_p_r_z_e_d_a_w_c_ó_w _b_o_o_t_r_o_m_-_ó_w _d_l_a _L_i_n_u_x_-_a _s_Ä…
_m_i_l_e _w_i_d_z_i_a_n_e_. _P_o_n_i_e_w_a_ż _n_i_e _w_s_z_y_s_c_y _m_a_j_ą _d_o_s_t_ę_p _d_o _p_r_o_g_r_a_m_a_t_o_r_ó_w
_P_R_O_M_-_ó_w _(_s_z_c_z_e_g_ó_l_n_i_e _w _E_u_r_o_p_i_e_, _g_d_z_i_e _j_a _m_i_e_s_z_k_a_m_)_.
44..22.. UUżżyywwaanniiee ddyysskkuu zz ssuurroowwyymm jjąąddrreemm..
Jeśli wyeksportowałeś główny system plików z poprawną domyślną nazwą
oraz twój serwer _N_F_S jest także serwerem _R_A_R_P (z czego wynika, że obie
maszyny są w tej samej podsieci), wtedy możesz wystartować jądro przez
proste "zrzucenie" go na dysk za pomocą polecenia _c_a_t. (Musisz ustawić
urządzenie głównego systemu plików w jądrze na 0:255) Przy takich
ustawieniach, katalog główny na serwerze jest w /tftpboot/_a_d_r_e_s_-_I_P.
(wartość ta może być zmieniona przy kompilacji jądra)
44..33.. UUżżyywwaanniiee ""bboooottllooaaddeerr--aa"" ii RRAARRPP--aa..
Przekaż do jądra podczas startu wszystkie potrzebne parametry oraz
dodaj nfsroot=<_s_e_r_w_e_r_-_I_P>:<_/_ś_c_i_e_ż_k_a_/_d_o_/_z_a_m_o_n_t_.> gdzie _s_e_r_w_e_r_-_I_P jest
adresem IP serwera NFS a _/_ś_c_i_e_ż_k_a_/_d_o_/_z_a_m_o_n_t_. jest ścieżką do głównego
katalogu.
Wskazówki:
· JeÅ›li używasz LLIILLOO rozważ użycie cechy _l_o_c_k: po prostu wpisz raz
wszystkie parametry i _l_o_c_k. Następnym razem jak będziesz startował
LILO poczekaj aż się skończy czas i zacznie samo ładować system.
· Podczas generowania specyficznego dysku startowego dla stacji
możesz użyć polecenia _a_p_p_e_n_d_= w pliku lilo.conf.
44..44.. UUżżyywwaanniiee ""bboooottllooaaddeerr--aa"" bbeezz RRAARRPP--aa..
Dodatkowo oprócz parametru _n_f_s_r_o_o_t użyj jeszcze parametru
nfsaddrs=<_s_t_-_I_P>:<_s_r_w_-_I_P>:<_g_w_-_I_P>:<_n_e_t_m_-_I_P>:<_n_a_z_w_a>. JÄ…dro ustawi
interfejs _e_t_h_0 z podanymi parametrami:
sstt--IIPP
adres IP stacji roboczej
ssrrww--IIPP
adres IP serwera NFS
ggww--IIPP
wrota (gateway)
nneettmm--IIPP
maska podsieci
nnaazzwwaa
nazwa stacji
55.. ZZnnaannee pprroobblleemmyy..
55..11.. //ssbbiinn//iinniitt nniiee ssttaarrttuujjee..
Popularnym problemem jest fakt, że niektóre (przynajmniej) najnowsze
dystrybucje mają program /sbin/init łączony dynamicznie. Musisz więc
udostępnić odpowiednie biblioteki w katalogu /lib u klienta. Prostą
rzeczą jaką można zrobić, to zamiana /sbin/init (u klienta) na
statycznie łączony program typu ``Hello World''. W ten sposób można
sprawdzić czy mamy do czynienia rzeczywiście z problemem z programem
łączonym dynamicznie czy może z czymś prostszym.
55..22.. PPrroobblleemmyy zz //ddeevv..
Jeśli przy starcie pojawiają ci się jakieś pokręcone komunikaty o
"tty", to powinieneś uruchomić skrypt MAKEDEV u klienta w katalogu
/dev. Chodzą słuchy, że nie działa on na systemach serwerowych, które
używają liczb 64-bitowych do numerowania urządzeń. Jeśli zdarzy ci się
taki problem, to napisz do mnie proszÄ™ na jakim systemie ci siÄ™ to
stało. Potencjalnym rozwiązaniem powinno być utworzenie małego
ramdysku z katalogiem /dev i każdorazowa reinstalacja plików urządzeń.
66.. IInnnnee tteemmaattyy..
· Pod adresem ftp.icm.edu.pl
można znaleźć klienta BOOTP. Jest w katalogu
/pub/Linux/sunsite/system/network/admin/ i nazywa siÄ™ bootpc*tgz.
Bezdyskowe stacje można zrobić całkiem prosto posługując się initrd
(który jest dołączony do Linux-a 2.0). initrd jest właściwie
zaawansowaną opcją w większości ustawień.
· Dla rozwiÄ…zaÅ„ opartych tylko na bootpd, nie jest to wÅ‚aÅ›ciwie
potrzebne, ponieważ Linux 2.0 zawiera także opcję użycia BOOTP
zamiast RARP. (A dokładniej, możesz wkompilować obie te usługi w
jądro i wtedy szybsza odpowiedź wygrywa.)
· W katalogu Documentation w źródÅ‚ach jÄ…dra znajduje siÄ™ plik z
opisem systemów NFS-Root.
· Wiem, że jest jakaÅ› Å‚ata, która pozwala na swapowanie poprzez sieć.
Ktoś mi ją przysłał (kiedy byłem akurat bardzo obładowany pracą) i
udało mi się ją jakoś zgubić :(
Przypuszczalnie możesz ją zdobyć z adresu www.huwig.de/linux/mama.
[Od tłumacza: Autor podał tutaj adres www.linuxhq.com, ale niestety
ta wspaniała strona zginęła z Internetu. Ja podałem adres, który
powstał w zastępstwie kilka dni później.]
· Mój publiczny klucz PGP można uzyskać poprzez polecenie finger
andreas@ag.or.at.
Fingerprint to: F1 F7 43 D5 07 C4 6C 87 BF 6B 33 A2 2C EE 5A F9.
66..11.. OOdd ttłłuummaacczzaa..
TÅ‚umaczenie to jest chronione prawami autorskimi © Bartosza
Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na
prawach takich samych jak dokument oryginalny.
Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne,
składniowe, techniczne to pisz do mnie:
B.Maruszewski@zsmeie.torun.pl
Oficjalną stroną tłumaczeń HOWTO jest
http://www.ippt.gov.pl/~ppogorze/Linux/JTZ/
Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże
stronie. Dostępne są także poprzez anonimowe ftp pod adresem
ftp.ippt.gov.pl w katalogu /pub/Linux/JTZ/.
Przetłumaczone przeze mnie dokumenty znajdują się także na mojej
stronie WWW. SÄ…
tam też odwołania do Polskiej Strony Tłumaczeniowej.
Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę
dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to wyślij
list o treści subscribe jtz Imię Nazwisko na adres
listproc@ippt.gov.pl
Wyszukiwarka
Podobne podstrony:
nfs root pl 5
nfs root pl 1
nfs root pl 2
nfs root pl 3
NFS Root pl (2)
nfs root pl 4
nfs root pl 6
nfs root pl
nfs root client pl 1
NFS Root Client pl
NFS Root Client pl (2)
nfs root client pl 4
nfs root client pl 2
nfs root client pl
nfs root client pl 3
nfs root 2 kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcq kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcq
nfs root 3gj7prowkt75rf3asoqka3okydpr477ncbfls6q 3gj7prowkt75rf3asoqka3okydpr477ncbfls6q
nfs root 1 ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmni ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmni
nfs root 6 uogqgciwvqqy2xwohsl743f22gbqqilnr3ubjzi uogqgciwvqqy2xwohsl743f22gbqqilnr3ubjzi
więcej podobnych podstron