Stacja robocza z głównym systemem plików z sieci.: Tworzenie głównego katalogu klienta.
Następna strona
Poprzednia strona
Spis treści
3. Tworzenie głównego katalogu klienta.
3.1 Tworzenie drzewa katalogów.
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 local, proc i dev bêdą użyte oddzielnie dla każdej
stacji, a reszta bêdzie współdzielona.
3.2 Tworzenie minimalnego systemu plików potrzebnego do startu.
Tworzenie katalogu dev.
Właściwie katalog dev 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.
Kopiowanie potrzebnych binariów.
Pomimo, iż montujemy wszystko z serwera jest pewna minimalna ilośæ
plików, które musimy skopiowaæ do każdego klienta. Przede wszystkim
potrzebujemy init-a, nasz system nie bêdzie w stanie uruchomiæ
czegokolwiek przed uruchomieniem init-a (czego autor
doświadczył na własnej skórze ;) ). Tak wiêc najpierw skopiuj
/sbin/init do katalogu sbin klienta, potem skopiuj
/bin/sh do katalogu bin klienta, żeby skrypt rc.S
mógł siê wykonaæ. Żeby wszystko zamontowaæ potrzebujesz także
programu mount - skopiuj go do katalogu sbin klienta. To
jest zupełne minimum zakładając, że pierwszą linijką w rc.S
jest
mount -av
Zalecam jednak skopiowanie jeszcze kilku plików: update, ls,
rm, cp oraz umount, 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 swapon.
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 rc.S do momentu
zamontowania wszystkich katalogów z serwera.
Katalog var.
W wiêkszości przypadków katalog var powinien byæ osobny dla
każdego klienta. Chociaż wiele danych może byæ
współdzielonych. Stwórz w katalogu głównym stacji katalog var.
Zamontujemy tam katalog var z serwera. Aby stworzyæ katalog
var 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 NIE 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.
Reszta katalogów.
etc jest wyjaśniony dokładnie w nastêpnej sekcji
mnt i proc są przeznaczone do celów lokalnych
usr i home są tylko katalogami do zamontowania
tmp zależy od ciebie. Możesz stworzyæ różne katalogi
tmp dla klientów, albo stworzyæ kilka katalogów
/clients/tmp i zamontowaæ je dla każdego klienta pod
/tmp. Ja zalecałbym osobne katalogi tmp dla każdego
klienta.
3.3 Tworzenie katalogu etc oraz konfiguracja klienta.
Zapamiêtaj - sekcja ta odnosi siê do tworzenia katalogu etc,
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 etc dla każdego klienta.
Tworzenie katalogu dla wszystkich klientów.
Pomimo, iż oddzielamy katalogi etc, to i tak wiêkszą czêśæ
stamtąd chcemy współdzieliæ. Ogólnie sądzê, że współdzielenie
katalogu etc 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 etc serwera do katalogu dla klientów.
Powinieneś dodaæ do tego katalogu wszystkie pliki konfiguracyjne
nie związane z konkretnym komputerem, np.: motd, issue itp.,
ale nie specyficzne dla komputera (fstab czy inittab).
Najważniejsze zmiany bêdą w katalogu rc.d. Najpierw powinieneś
zmieniæ rc.inet1, 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 ifconfig i route
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 rc.S. Najpierw
wyrzuæ stamtąd wszystko co dotyczy sprawdzania dysku (polecenia
fsck) 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 nonfs jest dlatego, że normalne stacje robocze
najpierw wykonują skrypt rc.S a potem rc.inet1, 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 rc.S (albo wywołaj odpowiedni skrypt z rc.S)
przed montowaniem i upewnij siê, ze twoje fizyczne katalogu bin
i sbin zawierają potrzebne programy.
Po poleceniu mount -av bêdziesz miał działający system
plików. Stwórz ogólny plik fstab, 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
no_root_squash spowoduje, że użytkownicy "root" na kliencie
bêdą także mieli przywileje "root-a" na serwerze. Sprawdź man
exports. Jeśli chcesz, żeby użytkownicy na klientach mogli
uruchamiaæ passwd , to sprawdź czy katalog etc jest
zamontowany z prawem zapisu, chociaż osobiście tego nie polecam.
Zauważ jeszcze jedno dotyczące skryptu rc.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 MUSI 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:
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.
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 etc serwera). To samo dla /etc/group.
Tworzenie katalogu etc dla klienta.
Ogólnie, wiêkszośæ plików w katalogu etc klienta powinna byæ
dołączona symbolicznie do plików z katalogu etc 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 etc:
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 rc.S i fstab były osobne dla każdego
klienta. Bêdziesz także potrzebował osobnego pliku HOSTNAME
dla każdego klienta. Osobiście uważam, że cały podkatalog rc.d
powinien byæ osobny dla każdego klienta ponieważ konfiguracja i
sprzêt mogą siê różniæ.
Dla każdego klienta dodaj do fstab odpowiednią liniê dla
swapa:
/dev/swap_prttn swap swap default 1 1
Reszta plików z etc 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 named 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 named-em spowoduje, że twoi klienci nie bêdą mogli
wystartowaæ.
3.4 Startowanie.
Teraz wszystko, co musisz zrobiæ to zrestartowaæ komputer, trzymaæ
kciuki i mieæ nadziejê, że wszystko pójdzie gładko. :)
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
nfs 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 jb7d4ijeoxt5nsr4tjqjyxetxaxhgew6fsuywfi jb7d4ijeoxt5nsr4tjqjyxetxaxhgew6fsuywfinfs root pl 5NFS Root plnfs root pl 1nfs root pl 2nfs root pl 3NFS Root pl (2)nfs root pl 4nfs root pl 6nfs root plnfs root 2 kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcq kz5wszui24iee4hdudlvapjuh2nz4jthzoaolcqnfs root 3gj7prowkt75rf3asoqka3okydpr477ncbfls6q 3gj7prowkt75rf3asoqka3okydpr477ncbfls6qnfs root 1 ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmni ho5t4yj5mrzjojtc5uuwo5s52i6ri5stkwobmniwięcej podobnych podstron