[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fatclient via netboot setup



On Thu, Sep 10, 2009 at 08:24:12PM +0200, Paul van der Vlis wrote:
> Huub Reuver schreef:
> 
> Verder snap ik niet helemaal wat je wel en niet zou willen meesturen via
> tftp, maar als je het filesysteem "uit elkaar haalt", dan wordt het wel
> ingewikkeld.
> 
> > Dan hoef je bij een update "alleen maar" de image te vervangen.
> 
> Alles via NFS lijkt me veel eenvoudiger te maintainen en veel sneller
> booten. Maar het zou kunnen dat in mijn opzet het starten van een groot
> programma zoals OpenOffice de eerste keer wel erg traag gaat, alles moet
> immers over NFS komen.
> 
> > Het vraagt natuurlijk wel dat de clients ruim in hun geheugen zitten.
> 
> Ik denk dat je alles in het geheugen wilt zetten, zoals bij een liveCD,
> dat wou ik niet. Ik wou na het booten alles bereikbaar maken via NFS.
> 
> Je hebt dan niet persee veel geheugen nodig op de client, al helpt het
> natuurlijk.
> 
> > Daar zit natuurlijk wel een stukje zelfwerkzaamheid in. Zelf ben ik niet
> > verder gekomen dan een (normale) debianinstallatie te installeren op een
> > nfsroot-systeem. Maar dat was slechts 1 systeem.
> 
> Ha, die term "nfsroot" kende ik nog niet. Zoiets bedoel ik dus. Als ik
> er op zoek vind ik interessante informatie.
> 
> Had jij een bepaalde handleiding gevolgd?  Kwam je problemen tegen op de
> client?

Jaren geleden was dat de X-terminal HOWTO geloof ik.
Dat is een beetje uitgebreid naar een lichte linux-terminal.
(Doel, alleen X op terminal, rest remote).

Omdat de client echter "sterk genoeg" was heb ik voor een soort 
multimedia-pc zonder schijf eens een debian installatie neergezet.
Eerlijkgezegd weet ik niet exact meer hoe ik begonnen ben, maar ik 
meen dat ik een CD erin had gedrukt en daarna aan NFS-schijf heb 
gemount waarop ik heb geinstalleerd.

Andere mogelijkheid is natuurlijk een minimale distributie kopieren
naar een nfs-share en de 1e client te starten en van daaraf de 
installatie af te maken.

Het uit elkaar trekken van het systeem is nuttig:
/home zet je centraal neer
/usr is de grote hoeveelheid data
De rest is per client verschillend, de grootte hiervan is beperkt. 
Geen swap.

Quick en dirty:
Installeer het systeem 1 keer, zet /usr apart en mount deze read-only
mount / apart en rw (read-only kan maar kost veel werk).
kopieer / voor elke client...
controleer vooral de fstab en de netwerkinstellingen...

NFSroot slaat op de schijfopslag:
De client boot via PXE naar het netwerk (je weet wel tftp-hppa).
Via DHCP/TFTP krijgt het een kernel een netwerkadres toegewezen.
De share wordt gemount als nfs-schijf onder /.

In de kernelconfiguratie zet je deze opties aan:
> CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> CONFIG_NFS_FS=y
> CONFIG_ROOT_NFS=y
> CONFIG_LOCKD=y
> CONFIG_NFS_COMMON=y
> CONFIG_SUNRPC=y

Of via "make menuconfig" bij Network Options:
[*]   IP: kernel level autoconfiguration 
[*]     IP: DHCP support
En bij filesystems/Network File Systems:
<*>   NFS client support
[*]     Root file system on NFS

Uitleg in de X-terminal HOWTO of bij de kernel. Maar als je er vanuit gaat
dat het vergelijkbaar is met het starten van een schijf moet je er ook
zonder wel uit kunnen komen. Ik hoop dat je weet hoe je een werkende
kernel bouwt.

Zelf bouw ik altijd eigen kernels met alle drivers voor het starten van
de pc in de kernel gecompileerd (t/m mounten /). Root-nfs moet in de 
kernel zitten. Als je NFS als onderdeel van de kernel kiest krijg je de 
optie voor Root-nfs pas te zien (als module werkt niet). En dan moet de 
IP_PNP_DHCP optie ook al aktief zijn!

Voor de rest hoef ik je niet uit te leggen hoe je debian moet installeren
lijkt me. Als je een keer een nfs-share rw,no_root_squash gemount hebt 
gaat alles als normaal.

Voor de veiligheid wil je graag de no_root_squash kwijt, maar dan moet je
of richting ramdisk (alleen '/') of naar een ro '/'. Veel werk, omdat je 
da alle services (en fstab) af moet lopen. Dat is de reden dat ik een
lichte voorkeur heb om / in een ramdisk te zetten en de grote hap data
onder /usr via nfs read-only zou willen mounten. Controleer minimaal of
no_root_squash geen te groot risico is voor de server.

Succes,
Huub Reuver


Reply to: