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.

2. Przegląd ogólny.

Ogólnie mówiąc są dwa nastêpujące problemy dla stacji roboczych:

Bieżąca implementacja NFSROOT w jądrze Linux-a (dotyczy 1.3.7x) pozwala na nastêpujące rozwiązania:

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:

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:

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_ip

jest adresem IP stacji roboczej a

adr_sprzêtowy

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 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æ ?

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>):

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:

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-IP

adres IP stacji roboczej

srw-IP

adres IP serwera NFS

gw-IP

wrota (gateway)

netm-IP

maska podsieci

nazwa

nazwa 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.

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.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