NFS root & diskless - II kolo (delsi)

Miroslav BENES mbenes na tenez.cz
Úterý Červen 25 11:51:18 CEST 2002


> Je treba pouzit maximalni kompresi,

Myslite v nazvech ? No neco pujde zkratit, ale IP adresy bohuzel ne.
Jeste ze jsou ve tvary 10.0.x.xxx.


> loadlin prejmenovat jen na l,
> kernel na k a zbytek pouzit na parametry. :-)

No tak presne takhle to dopadlo :)


> > b) nepripojovaly se NFS svazky - problem se da vyresit / obejit
> > parametrem "nolock" ve fstab. K cemu ten parametr presne slouzi ? V
> > manualu jsou dost strucni :
> > "nolock Do not use locking. Do not start lockd."
>
> Ze klientum se pri zamceni jevi, ze se jim soubor podarilo zamcit
> korekrne, prestoze ve skutecnosti zadne zamykani se nedela.
> Zamykani pres NFS mi v linuxu nikdy korektne neslo, tak ho vypinam.
> Problem by mohl byt, pokud vicero stroju zkusi modifikovat stejny
> soubor. Tohle se snazi zamykani resit.

Muze to vadit pri beznem "uzivatelskem" provozu ? IMHO ne, protoze
BFU si muze zapisovat akorat tak do sveho home adresare. A zbytek
(sdilene veci) by se holt musely resit jinak (napr. nasdilenim pres
sambu ?)


> > d) Proc se neda swapovat do souboru na nfs ? Pripada mi to jako
> > zbytecne omezeni - uz jenom proto, ze se to da stejne obejit.
>
> Ono vam to snad funguje?!? Na 2.2.19 jadre jsem se o to marne
> snazil.

Normalne ne, ale nasel jsem na to figl :

losetup /dev/loop0 /swap.swp
swapon /dev/loop0


> > e) Jak se da klient s NFS rootfs korektne ukoncit / restartovat ? Pri
> > pouziti beznych skritpu z /etc/rc.d (RH 7.3) to dopadne spatne :
>
> Je treba prepsat par skritpu. Urcite jsem menil killall v tomto duchu:
> ...

Jejda :

# file `whereis killall`
/usr/bin/killall: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), dynamically linked (uses shared libs), stripped


> Je nutne timto zabranit shozeni site a portmapperu.

Chapu. Ale tady (RH 7.3) je to binarka. Sakrys.


> U vas bude treba i sahnout do netfs a zabranit odpojeni
> /bin /lib /sbin /etc.

To /etc mam zatim unikatni. Trochu jsem zapasil se sdilenim, takze
jsem to nechal byt a vyresim to doatecne. Ostatni se sdileji.

Jo a zkousel jsem tento skript vyradit (smazat ..../rc6.d/K75netfs),
ale nepomohlo to.


> Ja mam tyto adresare komplet v / slozce,
> vzdyt to zabira jen 50 MB a nestoji to za ty komplikace.

No jo, ale toto reseni ma i nekolik nevyhod :
 - pri vesim poctu stanic je treba zaplacat dost mista stejnymi daty
 - bude se to spatne udrzovat (napr. aktualni /lib/modules/...)


> IMHO ty hlasky pochazi prave od 'netfs stop'.

To nejspis jo. Ale nakonec se na tohle sdileni asi taky vykaslu.
Aspon pro zacatek.

Narazil jsem jeste na jeden problem. Vlastne dva :

I) Kdyz bych pro vice klientu mel stejne soubory (typicky /bin /sbin
/lib), napadlo memit je na disku jen jednou a do prislusnych adresaru
klientu udelat jen hardlink-y. Ale NEJEDE TO !! KLient ohlasi "kernel
panic no init found", na serveru je v logu :

Jun 25 11:14:48 server rpc.mountd: authenticated mount request from
abcd.tenez:800 for /home/client/root/abcd (/home/client/root/abcd)
Jun 25 11:14:48 lin kernel: nfsd Security: lib/ld-linux.so.2 bad
export.


IMHO je soubor a jeho hardlink naprostiö identicky. Nebo ne ?


2) Jak se daji udelat hardlinky rekurzivne ? Tj. pro vsechny adresare
udelat na druhe strane stejnojmenny adresar + hardlink obsahu. Nerad
bych tim neco zkonil a urcite se to da nejak elegantne.



> Apropo, sdilet adresar /tmp neni dobry napad. Ten chce mit kazdy
> klient zvlast (stejne jako /var).

Proc ? Kdyz bude na masine prihlaseno X uzivatelu, budou vsichni taky
"sdilet" jediny /tmp. Kvuli "sticky" bitu si uzivatele stejne
nepolezou do zeli, takze me nenapada duvod proc by to nemelo jit.




Mimochodem mate nekdo nejaky napad, proc muzu bez problemu pripojit
pres NFS spoustu svazku (i rw), ale pritom to tvrdosijne odmita
pripojit /home ? A to ani jako rw ?!?



--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------



Další informace o konferenci Linux