Jak założyć główny system plików przez NFS.
Jak założyć główny system plików przez NFS.
Autor: Andreas Kostyrka,
andreas@ag.or.at
v8, 8 Sierpnia 1997
Wersja polska: Bartosz Maruszewski
B.Maruszewski@zsmeie.torun.pl
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 wersja oryginału jest dostępna na
SUNSite Polska. Odnośnie nowszych wersji tłumaczenia zobacz
sekcję
Od tłumacza.
1. Prawa autorskie.
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
<andreas@ag.or.at> - autorem tego dokumentu, albo
Gregiem Hankinsem -
koordynatorem projektu Linux HOWTO pod adresem
<gregh@sunsite.unc.edu>.
1.1 Współpracownicy.
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ć)
2. Przegląd ogólny.
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 NFSROOT w jądrze Linux-a (dotyczy
1.3.7x) pozwala na następujące rozwiązania:
Adres IP może być odnaleziony poprzez RARP, albo możemy
przekazać do jądra pełną konfigurację poprzez parametry LILO
albo LOADLIN-a. Jeśli tego nie zrobimy, to jądro przyjmuje, że
serwer RARP jest także serwerem NFS i używa
wkompilowanej, domyślnej ścieżki. W tej chwili jest to
/tftpboot/<adres-IP-maszyny>/.
Konfiguracja klienta jest pobierana poprzez BOOTP.
Przed rozpoczęciem ustawiania środowiska bezdyskowego, powinieneś
zdecydować czy będziesz startował przez LILO, czy przez
LOADLIN. Zaletą tego jest elastyczność, wadą natomiast
prędkość. Startowanie przez LILO jest szybsze.
3. Ustawienia na serwerze.
3.1 Kompilacja jądra.
Dobrym pomysłem będzie wkompilowanie obsługi RARP 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 NFS. (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ę
RARP lub BOOTP dla "NFS-Root". (Rozumiem przez to pytania
zadawane po 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 <jądro> /dev/nfsroot
3.2 Tworzenie głównego systemu plików.
Kopiowanie systemu plików.
UWAGA: instrukcja ta może działać u ciebie, ale wcale nie musi
być sensowna w środowisku produkcyjnym. Lepszy sposób ustawienia
głównego systemu plików na stacji znajduje się w
NFS-Root-Client
Jak już zdecydowałeś, gdzie umieścisz główny system plików, stwórz
go np. poleceniem
mkdir -p <katalog>
tar cClf / - | tar xpCf <katalog> -
Jeśli startujesz jądro bez LILO, wtedy katalogiem głównym musi być
/tftpboot/<IP-adres>. Jeśli ci się to nie
podoba, możesz go zmienić w pliku Makefile 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.
Zmiany w głównym systemie plików
Teraz wyrzuć niepotrzebne pliki i sprawdź skrypty w /etc/rc.d.
Kilka ważnych wskazówek:
Jedną ważną rzeczą jest ustawienie eth0. 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.
UWAGA: 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)
Exportowanie systemu plików.
Wyeksportuj główny katalog dla stacji roboczej. Szczegóły są w
podręczniku systemowym (man exports). Najprzypuszczalniej
po zmianach będziesz musiał zrestartować nfsd i mountd. W
dystrybucji RedHat można to łatwo zrobić:
/etc/rc.d/init.d/nfs stop
/etc/rc.d/init.d/nfs start
Ustawienie RARP.
Ustaw gdzieś na sieci RARP. Jeśli startujesz stację bez
parametru nfsroot, to serwer RARP musi być serwerem
NFS. Aby to zrobić potrzebujesz jądra z obsługą RARP.
Robi się to poleceniem
/sbin/rarp -s <adr_ip> <adr_sprzętowy>
gdzie
adr_ipjest adresem IP stacji roboczej a
adr_sprzętowyjest 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 DNS).
Ustawianie BOOTP
Aby ustawić BOOTP musisz wyedytować plik /etc/bootptab.
Przeczytaj strony podręcznika systemowego na temat bootpd oraz
bootptab.
Odszukiwanie adresu sprzętowego.
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 ping do stacji
roboczej z serwera. Spójrz do cache'u ARP-a poleceniem:
/sbin/arp -a
4. Startowanie stacji roboczej.
4.1 Używanie "boot rom-u".
Ponieważ samemu jeszcze tego nie używałem mogę ci dać tylko
nastepujące wskazówki (ukłony w stronę Christiana Leutloffa
<leutloff@sundancer.tng.oche.de>):
Nie możesz używać "normalnych" bootrom-ów.
W pakiecie netboot 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ą netboot-*.
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.
Wszelkie informacje na temat sprzedawców bootrom-ów dla
Linux-a są mile widziane. Ponieważ nie wszyscy mają dostęp do
programatorów PROM-ów (szczególnie w Europie, gdzie ja mieszkam).
4.2 Używanie dysku z surowym jądrem.
Jeśli wyeksportowałeś główny system plików z poprawną domyślną
nazwą oraz twój serwer NFS jest także serwerem RARP (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 cat. (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/adres-IP. (wartość ta może być zmieniona
przy kompilacji jądra)
4.3 Używanie "bootloader-a" i RARP-a.
Przekaż do jądra podczas startu wszystkie potrzebne parametry oraz
dodaj
nfsroot=<serwer-IP>:</ścieżka/do/zamont.>
gdzie serwer-IP jest adresem IP serwera NFS a
/ścieżka/do/zamont. jest ścieżką do głównego katalogu.
Wskazówki:
Jeśli używasz LILO rozważ użycie cechy lock: po prostu
wpisz raz wszystkie parametry i lock. 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 append= w pliku lilo.conf.
4.4 Używanie "bootloader-a" bez RARP-a.
Dodatkowo oprócz parametru nfsroot użyj jeszcze parametru
nfsaddrs=<st-IP>:<srw-IP>:<gw-IP>:<netm-IP>:<nazwa>. Jądro
ustawi interfejs eth0 z podanymi parametrami:
st-IPadres IP stacji roboczej
srw-IPadres IP serwera NFS
gw-IPwrota (gateway)
netm-IPmaska podsieci
nazwanazwa stacji
5. Znane problemy.
5.1 /sbin/init nie startuje.
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.
5.2 Problemy z /dev.
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ń.
6. Inne tematy.
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.
6.1 Od tłumacza.
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.plOficjalną 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 5NFS Root plnfs root pl 1nfs root pl 2nfs root pl 3nfs root pl 4nfs root pl 6nfs root plnfs root client pl 1NFS Root Client plNFS Root Client pl (2)nfs root client pl 4nfs root client pl 2nfs root client plnfs root client pl 3nfs root 2 kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcq kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcqnfs root 3gj7prowkt75rf3asoqka3okydpr477ncbfls6q 3gj7prowkt75rf3asoqka3okydpr477ncbfls6qnfs root 1 ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmni ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmninfs root 6 uogqgciwvqqy2xwohsl743f22gbqqilnr3ubjzi uogqgciwvqqy2xwohsl743f22gbqqilnr3ubjziwięcej podobnych podstron