Stacja robocza z głównym systemem plików z sieci.
Autor: Ofer Maor, ofer@hadar.co.il
v3, 5 Grudnia 1996
WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii
BB..MMaarruusszzeewwsskkii@@zzssmmeeiiee..ttoorruunn..ppll
v1.02, 26 Lipca 1997
Celem tego dokumentu jest wyjaśnienie jak stworzyć główne katalogi na
serwerze, który obsługuje klientów z montowanym głównym systemem
plików. Najnowszą wersję oryginału możesz znaleźć pod adresem
www.hadar.co.il
. Doku
ment ten został napisany w standardzie ISO-8859-2. Odnośnie nowszych
wersji tłumaczenia zobacz sekcję ``Od tłumacza''.
______________________________________________________________________
Spis treści
1. Prawa autorskie.
1.1 Podziękowania.
2. Przedmowa.
2.1 Przegląd ogólny.
3. Tworzenie głównego katalogu klienta.
3.1 Tworzenie drzewa katalogów.
3.2 Tworzenie minimalnego systemu plików potrzebnego do startu.
3.2.1 Tworzenie katalogu dev.
3.2.2 Kopiowanie potrzebnych binariów.
3.2.3 Katalog var.
3.2.4 Reszta katalogów.
3.3 Tworzenie katalogu etc oraz konfiguracja klienta.
3.3.1 Tworzenie katalogu dla wszystkich klientów.
3.3.2 Tworzenie katalogu etc dla klienta.
3.4 Startowanie.
4. Tworzenie większej ilości klientów.
4.1 Od tłumacza.
______________________________________________________________________
11.. PPrraawwaa aauuttoorrsskkiiee..
Prawa autorskie należą do Ofera Maora
.
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 Oferem Maorem pod adresem
<_o_f_e_r_@_h_a_d_a_r_._c_o_._i_l> - 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>.
Jeśli masz coś do dodania, skontaktuj się proszę z autorem (Ofer Maor
). Szczególnie mile widziane są informacje o
pojawieniu się nowszych narzędzi.
11..11.. PPooddzziięękkoowwaanniiaa..
Chciałbym wyrazić podziękowania autorowi NFS-Root Howto, Andreasowi
Kostyrce (htmlurl url="mailto:andreas@medman.ag.or.at"
name="andreas@medman.ag.or.at"). Jego dokument pomógł mi w pierwszych
krokach przy tworzeniu stacji bezdyskowych. Moje mini-howto nie
próbuje w żaden sposób zamienić jego pracy, ale rozszerzyć ją
posługując się moimi doświadczeniami.
Chciałbym także podziękować Markowi Kushinsky (htmlurl
url="mailto:mark026@ibm.net" name="mark026@ibm.net") za
"wypolerowanie" stylu i sprawdzenie poprawności językowej tego Howto,
co znacznie poprawiło jego czytelność.
22.. PPrrzzeeddmmoowwaa..
Dokument ten został napisany, aby pomagać ludziom, którzy chcą używać
montowania głównego systemu plików z sieci, żeby stworzyć katalogi
klienta. Zauważ, że jest wiele sposobów na zrobienie tego, zależnie od
twoich potrzeb i intencji. Jeśli klienci są indywidualni a każdy z
nich ma własnych użytkowników i administratora konieczne będzie, aby
znaczące katalogi klienta nie były współdzielone z innymi klientami. Z
drugiej strony, jeśli klient jest przeznaczony dla wielu użytkowników
i wszystkie są administrowane przez tę samą osobę (na przykład, klasa
komputerowa), tyle plików ile się tylko da musi być wspołdzielone, aby
uczynić zarządzanie prostszym. Dokument ten skupi się na tym drugim
zagadnieniu.
22..11.. PPrrzzeegglląądd ooggóóllnnyy..
Podczas tworzenia katalogu głównego dla klienta oraz prób limitowania
do minimum rozmiaru tego katalogu, głównie skupiamy się na tym, które
pliki możemy współdzielić albo montować z serwera. W tym Howto będę
zalecał konfigurację klienta na podstawie moich doświadczeń. Ale zanim
zaczniemy zapamiętaj:
· Dokument ten nie wyjaÅ›nia jak wÅ‚aÅ›ciwie zamontować główny system
plików. Jeśli chcesz więcej informacji, to odwołaj się do NFS-Root
mini-howto .
· WiÄ™kszość mojej konfiguracji jest zrobiona poprzez montowanie i
symboliczne dołączenia. Wiele z tym dołączeń może zostać zastąpiona
dołączeniami stałymi. Wybierz w zależności od własnych upodobań.
Robienie dołączenia stałego poprzez montowanie czy dołączenie
symboliczne ma swoje zalety, ale może też powodować problemy. Plik
nie zostanie skasowany dopóki wszystkie stałe dołączenia do niego
nie zostaną zlikwidowane. Przez to, jeśli będziesz uaktualniał
jakiś plik, dowiązania będą ciągle wskazywały na stary plik. Musisz
więc sprawdzać za każdym razem wszystkie dołączenia, które
zrobiłeś.
· Podczas montowania informacji z serwera można użyć dwóch sposobów.
Pierwszy (bardziej popularny), to zamontować cały katalog główny
serwera pod jakiś lokalny katalog a następnie zmienić ścieżkę albo
dołączyć tam odpowiednie katalogi. Osobiście nie lubię montowania
katalogu głównego serwera na stacji roboczej. Dlatego, poniższy
dokument sugeruje montowanie odpowiednich podkatalogów z serwera na
odpowiadajÄ…ce im katalogi na stacji.
· Dokument ten jest zrobiony na podstawie moich doÅ›wiadczeÅ„
dotyczących robienia katalogów klienta na dystrybucji Slackware
3.1. Poszczególne pliki mogą się różnić (szczególnie rc.*), ale
ogólna idea powinna pozostać ta sama.
33.. TTwwoorrzzeenniiee ggłłóówwnneeggoo kkaattaalloogguu kklliieennttaa..
33..11.. TTwwoorrzzeenniiee ddrrzzeewwaa kkaattaallooggóóww..
Przede wszystkim musisz stworzyć strukturę katalogów. Ja stworzyłem
wszystkie katalogi w /clients/hostname i będę używał tego katalogu do
przykładów. Chociaż jeśli chcesz, to możesz sobie zmienić ten katalog
na inny. Pierwszym krokiem jest zrobienie odpowiednich katalogów.
Powinny to być następujące:
bin, dev, etc, home, lib, mnt, proc, sbin, server, tmp, usr, var
i wszelkie inne katalogi jakie chcesz mieć na stacji.
Katalogi _l_o_c_a_l_, _p_r_o_c _i _d_e_v będą użyte oddzielnie dla każdej stacji, a
reszta będzie współdzielona.
33..22.. TTwwoorrzzeenniiee mmiinniimmaallnneeggoo ssyysstteemmuu pplliikkóóww ppoottrrzzeebbnneeggoo ddoo ssttaarrttuu..
33..22..11.. TTwwoorrzzeenniiee kkaattaalloogguu ddeevv..
Właściwie katalog _d_e_v może być współdzielony, ale lepiej jeśli nie
jest. Zawartość tego katalogu możesz stworzyć odpowiednim skryptem,
chcociaż prościej jest go po prostu skopiować z serwera:
______________________________________________________________________
cp -a /dev /clients/hostname
______________________________________________________________________
Musisz pamiętać, że /dev/mouse, /dev/cdrom i /dev/modem są
symbolicznymi dowiązaniami to właściwych urządzeń, i dlatego
powinieneś się upewnić, że wskazują one na poprawne urządzenia zgodnie
ze sprzętem w stacji.
33..22..22.. KKooppiioowwaanniiee ppoottrrzzeebbnnyycchh bbiinnaarriióóww..
Pomimo, iż montujemy wszystko z serwera jest pewna minimalna ilość
plików, które musimy skopiować do każdego klienta. Przede wszystkim
potrzebujemy _i_n_i_t_-_a, nasz system nie będzie w stanie uruchomić
czegokolwiek przed uruchomieniem _i_n_i_t_-_a (czego autor doświadczył na
własnej skórze ;) ). Tak więc najpierw skopiuj /sbin/init do katalogu
_s_b_i_n klienta, potem skopiuj /bin/sh do katalogu _b_i_n klienta, żeby
skrypt rc.S mógł się wykonać. Żeby wszystko zamontować potrzebujesz
także programu _m_o_u_n_t - skopiuj go do katalogu _s_b_i_n klienta. To jest
zupełne minimum zakładając, że pierwszą linijką w _r_c_._S jest
mount -av
Zalecam jednak skopiowanie jeszcze kilku plików: _u_p_d_a_t_e_, _l_s_, _r_m_, _c_p
_o_r_a_z _u_m_o_u_n_t, tak żebyś miał podstawowe narzędzia w razie gdyby
klientowi nie powiodło się montowanie. Jeśli zostawisz linię
właczającą swap przed linią montującą katalogi, to musisz także
skopiować program _s_w_a_p_o_n.
Ponieważ większość z tych programów jest dynamicznie łączona z
bibliotekami, będziesz też potrzebował sporej części katalogu /lib:
______________________________________________________________________
cp -a /lib/ld.* /lib/libc.* /lib/libcursses.* /client/hostname/lib
______________________________________________________________________
Rozważ też możliowość stałego dowiązania zamiast kopiowania.
Przeczytaj mój komentarz na ten temat w sekcji ``Przegląd ogólny''.
Zauważ, że powyższe informacje zakładają, że parametry sieciowe
zostały przekazane do jądra podczas startu. Jeśli masz zamiar użyć
RARP lub BOOTP, będziesz także potrzebował odpowiednich binariów.
Ogólnie potrzebujesz minimum te programy, które pozwolą ci
skonfigurować sieć i uruchomić skrypt _r_c_._S do momentu zamontowania
wszystkich katalogów z serwera.
33..22..33.. KKaattaalloogg vvaarr..
W większości przypadków katalog _v_a_r powinien być osobny dla każdego
klienta. Chociaż wiele danych może być współdzielonych. Stwórz w
katalogu głównym stacji katalog _v_a_r. Zamontujemy tam katalog _v_a_r z
serwera. Aby stworzyć katalog _v_a_r napisz:
______________________________________________________________________
cp -a /var /clients/hostname/
______________________________________________________________________
Teraz możesz wybrać co chcesz współdzielić, a co chcesz mieć osobne
dla każdego klienta. Każdy plik/katalog, który chcesz współdzielić
usuń i stwórz symboliczne dołączenie do /serwer/var. Zauważ, że musisz
dołączyć go albo do katalogu /serwer/var albo do ../serwer/var, ale
NNIIEE do /clients/hostname/serwer/var ponieważ nie będzie to działało
kiedy zmieni się katalog główny.
Ogólnie polecałbym oddzielić katalogi /var/run, /var/lock, /var/spool,
oraz /var/log.
33..22..44.. RReesszzttaa kkaattaallooggóóww..
· _e_t_c jest wyjaÅ›niony dokÅ‚adnie w nastÄ™pnej sekcji
· _m_n_t _i _p_r_o_c sÄ… przeznaczone do celów lokalnych
· _u_s_r _i _h_o_m_e sÄ… tylko katalogami do zamontowania
· _t_m_p zależy od ciebie. Możesz stworzyć różne katalogi _t_m_p dla
klientów, albo stworzyć kilka katalogów /clients/tmp i zamontować
je dla każdego klienta pod /tmp. Ja zalecałbym osobne katalogi _t_m_p
dla każdego klienta.
33..33.. TTwwoorrzzeenniiee kkaattaalloogguu eettcc oorraazz kkoonnffiigguurraaccjjaa kklliieennttaa..
Zapamiętaj - sekcja ta odnosi się do tworzenia katalogu _e_t_c, który w
większości przypadków jest współdzielony między klientami. Jeśli twoi
klienci mają osobnych administratorów, najlepiej zrobić osobne
katalogi _e_t_c dla każdego klienta.
33..33..11.. TTwwoorrzzeenniiee kkaattaalloogguu ddllaa wwsszzyyssttkkiicchh kklliieennttóóww..
Pomimo, iż oddzielamy katalogi _e_t_c, to i tak większą część stamtąd
chcemy współdzielić. Ogólnie sądzę, że współdzielenie katalogu _e_t_c z
serwerem nie jest dobrym pomysłem, dlatego zalecam stworzenie katalogu
/clients/etc, w którym będą przechowywane informacje dla klientów. Na
poczÄ…tek po prostu skopiuj katalog _e_t_c serwera do katalogu dla
klientów.
Powinieneś dodać do tego katalogu wszystkie pliki konfiguracyjne nie
zwiÄ…zane z konkretnym komputerem, np.: _m_o_t_d_, _i_s_s_u_e itp., ale nie
specyficzne dla komputera (_f_s_t_a_b _c_z_y _i_n_i_t_t_a_b).
Najważniejsze zmiany będą w katalogu _r_c_._d. Najpierw powinieneś zmienić
_r_c_._i_n_e_t_1, tak aby odzwierciedlał twoją lokalną sytuację. Ja przekazuję
parametry sieciowe do jądra podczas startu, dlatego wyrzuciłem prawie
wszystko z tego pliku. Jedynymi poleceniami jakie tam zostawiłem, to
_i_f_c_o_n_f_i_g _i _r_o_u_t_e konfigurujące urządzenie loopback (localhost). Jeśli
używasz RARP-a albo BOOTP, to będziesz musiał je stosowanie zrobić.
Po drugie powinieneś wyedytować swój plik _r_c_._S. Najpierw wyrzuć
stamtÄ…d wszystko co dotyczy sprawdzania dysku (polecenia _f_s_c_k)
ponieważ będzie to robione przy starcie serwera. Potem powinieneś
znaleźć linię, która montuje twoje katalogi; powinna wyglądać mniej
więcej tak:
mount -avt nonfs
Parametr _-_t _n_o_n_f_s jest dlatego, że normalne stacje robocze najpierw
wykonują skrypt _r_c_._S a potem _r_c_._i_n_e_t_1, aby skonfigurować Ethernet.
Ponieważ to spowodowałoby, że żaden system NFS nie zamontowałby sie
linia ta powinna zostać usunięta. Zmień ją na:
mount -av
Jeśli musisz uruchomić RARP/BOOTP, aby skonfigurować swoją sieć, zrób
to w _r_c_._S (albo wywołaj odpowiedni skrypt z _r_c_._S) przed montowaniem i
upewnij siÄ™, ze twoje fizyczne katalogu _b_i_n _i _s_b_i_n zawierajÄ… potrzebne
programy.
Po poleceniu _m_o_u_n_t _-_a_v będziesz miał działający system plików. Stwórz
ogólny plik _f_s_t_a_b, tak żebyś mógł go skopiować dla każdego klienta.
Powinien on wyglądać mniej więcej tak:
server/nfs default 1 1
server:/bin /bin nfs default 1 1
server:/usr /usr nfs default 1 1
server:/sbin /sbin nfs default 1 1
server:/home /home nfs default 1 1
server:/lib /lib nfs default 1 1
server:/clients/etc /server/etc nfs default 1 1
server:/clients/var /server/var nfs default 1 1
none /proc proc default 1 1
Upewnij się także, że plik /etc/exports na serwerze wygląda tak:
/clients/hostname hostname.domainname(rw,no_root_squash)
/clients/etc hostname.domainname(ro,no_root_squash)
/clients/var hostname.domainname(ro,no_root_squash)
/usr hostname.domainname(ro,no_root_squash)
/sbin hostname.domainname(ro,no_root_squash)
/bin hostname.domainname(ro,no_root_squash)
/lib hostname.domainname(ro,no_root_squash)
/home hostname.domainname(rw,no_root_squash)
We wszystkich liniach oprócz pierwszej powinieneś wstawić jakąś maskę,
do której pasują wszystkie komputery będące klientami (np.
pc*.twoja.domena). Sugeruję, żeby większość katalogów była tylko-do-
odczytu, ale to zależy od ciebie. Parametr _n_o___r_o_o_t___s_q_u_a_s_h spowoduje,
że użytkownicy "root" na kliencie będą także mieli przywileje "root-a"
na serwerze. Sprawdź _m_a_n _e_x_p_o_r_t_s. Jeśli chcesz, żeby użytkownicy na
klientach mogli uruchamiać _p_a_s_s_w_d , to sprawdź czy katalog _e_t_c jest
zamontowany z prawem zapisu, chociaż osobiście tego nie polecam.
Zauważ jeszcze jedno dotyczące skryptu _r_c_._S. Domyślnie w Slackware
pliki /etc/issue i /etc/motd są tworzone od nowa po każdym resetwoaniu
serwera. Jeśli pliki te są montowane bez zapisu, to funkcja ta MMUUSSII
zostać wyłączona a ja zalecałbym wyłączyć ją na zapas.
I ostatnia sprawa. Jeśli chcesz mieć tę samą bazę użytkowników na
kliencie i na serwerze, to musisz wybrać między:
1. używaniem NIS-a (Yellow Pages, sprawdź NIS-HOWTO
, a
potem każdy klient będzie miał osobne pliki /etc/passwd i
/etc/group jak je otrzyma od serwera.
2. w większośći wypadków, proste symboliczne dołączenie wystarczy.
Dlatego będziesz musiał, albo dołączyć na stałe /clients/etc/passwd
do /etc/passwd, albo jeśli wolisz dołączenia symboliczne to
dołączyć /etc/passwd do /clients/etc/passwd (nie w drugą stronę,
ponieważ klienci nie montują katalogu _e_t_c serwera). To samo dla
/etc/group.
33..33..22.. TTwwoorrzzeenniiee kkaattaalloogguu eettcc ddllaa kklliieennttaa..
Ogólnie, większość plików w katalogu _e_t_c klienta powinna być dołączona
symbolicznie do plików z katalogu _e_t_c serwera. Ale niektóre z nich są
różne dla każdej maszyny, a niektóre po prostu muszą się tam znajdować
kiedy ładuje się jądro. Oto minimalna zawartość katalogu _e_t_c:
resolv.conf
hosts
inittab
rc.d/rc.S
fstab
Ponieważ te pięć plików może być identyczne dla każdego klienta,
możesz je skopiować, albo dołączyć na stałe. Chociaż zaleca się żeby
pliki _r_c_._S i _f_s_t_a_b były osobne dla każdego klienta. Będziesz także
potrzebował osobnego pliku _H_O_S_T_N_A_M_E dla każdego klienta. Osobiście
uważam, że cały podkatalog _r_c_._d powinien być osobny dla każdego
klienta ponieważ konfiguracja i sprzęt mogą się różnić.
Dla każdego klienta dodaj do _f_s_t_a_b odpowiednią linię dla swapa:
/dev/swap_prttn swap swap default 1 1
Reszta plików z _e_t_c klienta może być albo dołączona na stałe do plików
/clients/etc/* albo podłączona symbolicznie do /serwer/etc (który jest
punktem do montowaina dla /clients/etc).
Upewnij się, że twój klient umie poprawnie rozwiązywać nazwy
kanoniczne poprzez _n_a_m_e_d albo etc/hosts. Nie jest złym pomysłem
trzymanie IP serwera w pliku etc/hosts, zamiast liczyć na
rozwiązywanie nazw. Jeśli będziesz liczyć tylko na to, to problem z
_n_a_m_e_d_-_e_m spowoduje, że twoi klienci nie będą mogli wystartować.
33..44.. SSttaarrttoowwaanniiee..
Teraz wszystko, co musisz zrobić to zrestartować komputer, trzymać
kciuki i mieć nadzieję, że wszystko pójdzie gładko. :)
44.. TTwwoorrzzeenniiee wwiięękksszzeejj iilloośśccii kklliieennttóóww..
Jeśli przestrzegałeś moich instrukcji, to powinno to być proste:
cd /clients/
cp -a hostname1 hostname2
a potem upewnij się, że sprawdziłeś to:
· pliki rc.d/* odpowiadajÄ… sprzÄ™towi i konfiguracji oprogramowania
· linia dotyczÄ…ca swap-a w _f_s_t_a_b jest poprawna
· symboliczne dowiÄ…zania _d_e_v_/_m_o_u_s_e_, _d_e_v_/_m_o_d_e_m _o_r_a_z _d_e_v_/_c_d_r_o_m sÄ…
poprawne.
PPoowwooddzzeenniiaa ......
44..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.jtz.org.pl/
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 client pl 1
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 client jb7d4ijeoxt5nsr4tjqjyxetxaxhgew6fsuywfi jb7d4ijeoxt5nsr4tjqjyxetxaxhgew6fsuywfi
nfs root pl 5
NFS Root pl
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 2 kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcq kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcq
nfs root 3gj7prowkt75rf3asoqka3okydpr477ncbfls6q 3gj7prowkt75rf3asoqka3okydpr477ncbfls6q
nfs root 1 ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmni ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmni
więcej podobnych podstron