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@jtz.org.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 wer sja oryginału jest dostępna na SUNSite Polska <ftp://ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/mini/NFS-Root>. 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. ______________________________________________________________________ 1. Prawa autorskie. Prawa autorskie należą do Andreasa Kostyrki (e9207884@student.tuwien.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. 3.2.1. 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 <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/docs/HOWTO/mini/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. 3.2.2. 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) 3.2.3. 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 ______________________________________________________________________ 3.2.4. 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). 3.2.5. Ustawianie BOOTP Aby ustawić BOOTP musisz wyedytować plik /etc/bootptab. Przeczytaj strony podręcznika systemowego na temat bootpd oraz bootptab. 3.2.6. 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 <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/boot/> pod n...
Porozmawiajmy.TV