Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d667a145d78a93cee78c5358ca99c039 > files > 87

howto-text-nl-2006-5mdv2010.0.noarch.rpm

  NFS-Root Mini-Howto
  Andreas Kostyrka, andreas@ag.or.at,
  Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org
  V8, 8 augustus 1997

  In deze Mini-HOWTO zal worden geprobeerd een uitleg te geven hoe een
  Linux werkstation zonder harddisk in te stellen, welke zijn rootbe­
  standssysteem via NFS mount. De nieuwste versie van deze Mini-Howto is
  altijd te vinden in ftp://sun­
  site.unc.edu/pub/Linux/docs/HOWTO/mini/NFS-Root of op een sunsite mir­
  ror in de buurt.
  ______________________________________________________________________

  Inhoudsopgave


  1. Copyright

     1.1 Contributors

  2. Algemeen overzicht

  3. Setup van de server

     3.1 De kernels compileren
     3.2 Aanmaak van het rootbestandssysteem
        3.2.1 Kopiëren van het bestandssysteem
        3.2.2 Wijzigingen aan het rootbestandssysteem
        3.2.3 Exporteren van het bestandssysteem
        3.2.4 RARP setup
        3.2.5 BOOTP setup
        3.2.6 Het hardware-adres achterhalen

  4. Het werkstation booten

     4.1 Gebruiken van een bootrom
     4.2 Een raw kerneldisk gebruiken
     4.3 Gebruik van een bootloader &
     4.4 Een bootloader met

  5. Bekende problemen

     5.1 /sbin/init start niet
     5.2 /dev problemen

  6. Andere onderwerpen



  ______________________________________________________________________

  1.  Copyright

  (c) 1996 Andreas Kostyrka (e9207884@student.tuwien.ac.at of
  andreas@ag.or.at)

  Tenzij anders aangegeven, vallen HOWTO-documenten onder het copyright
  van hun respectieve auteurs. Linux HOWTO documenten mogen geheel of
  gedeeltelijk worden gereproduceerd en gedistribueerd, via elk fysiek
  of elektronisch medium, zolang deze copyright-melding op alle kopieën
  behouden blijft.  Commerciële herdistributie is toegestaan en wordt
  aangemoedigd; de auteur zou echter graag van dergelijk distributies op
  de hoogte worden gebracht.

  Alle vertalingen, afgeleide werken, of verzamelde werken aangaande
  enige Linux HOWTO-documenten moeten zijn voorzien van deze copyright-
  melding. Dat wil zeggen dat je geen afgeleide werken van een HOWTO mag
  produceren en aanvullende beperkingen op de distributie ervan mag
  opleggen. Uitzonderingen op deze regels kunnen onder bepaalde
  voorwaarden worden toegestaan; neem alsjeblieft contact op met de
  Linux HOWTO coördinator via het hieronder aangegeven adres.

  In 't kort, we willen verspreiding van deze informatie via zoveel
  mogelijk kanalen bevorderen. We willen echter dat het copyright op de
  HOWTO-documenten behouden blijft, en zouden graag op de hoogte worden
  gesteld van alle plannen om de HOWTO's te herdistribueren.

  Als je vragen hebt, neem dan alsjeblieft contact op met Andreas
  Kostyrka <mailto:andreas@ag.or.at>, de auteur van deze mini-HOWTO, of
  Tim Bynum, de Linux HOWTO coördinator, via email <mailto:linux-
  howto@sunsite.unc.edu>.

  1.1.  Contributors


  ·  Avery Pennarun <apenwarr@foxnet.net> (hoe zonder LILO te booten)

  ·   Ofer Maor <ofer@hadar.co.il> (een betere mini-howto over het
     instellen van een werkstation zonder disk geleverd).

  ·  Christian Leutloff <leutloff@sundancer.tng.oche.de> (info over
     netboot geleverd).

  2.  Algemeen overzicht

  Over het algemeen gesproken komen de volgende problemen bij een
  werkstation om de hoek kijken:

  ·  Het moet achter zijn eigen IP-adres en zonodig ook de rest van de
     Ethernet configuratie zien te komen.

  ·  Het moet bekend zijn met de NFS-server en het mount path naar het
     rootbestandssysteem.

  De huidige implementatie van NFSROOT in de Linux kernel (op 't moment
  1.3.7x) geeft de volgende mogelijke ``oplossingen'':

  ·  Het IP-adres kan worden achterhaald met RARP, of de volledige
     ethernet-configuratie kan aan de kernel worden doorgegeven via
     kernelparameters in LILO of LOADLIN.

  ·  Het te mounten NFS-path kan via kernelparameters worden
     doorgegeven.  Als dit niet wordt gedaan, gaat de kernel zowel uit
     van een RARP-server als ook een NFS-server, en maakt het voor wat
     betreft het path gebruik van de meegecompileerde standaardwaarden.
     (huidige standaardwaarde in de kernel: /tftpboot/<IP-adres van de
     machine>).

  ·  De client configuratie kan worden achterhaald met BOOTP.

  Voor je begint met het instellen van een omgeving zonder disk, zal je
  een beslissing moeten nemen of je via LILO óf LOADLIN zal gaan booten.
  Het voordeel hiervan is flexibliteit, het nadeel is snelheid.  Een
  Linux kernel zonder LILO booten is sneller. Dit kan wel of geen
  overweging zijn.

  3.  Setup van de server

  3.1.  De kernels compileren

  RARP ondersteuning in de kernel van de server zal vermoedelijk wel een
  goed idee zijn. Je moet het hebben als je zonder kernelparameters wilt
  booten. Aan de andere kant helpt het je niet als de client zich niet
  op hetzelfde subnet bevindt als de server.

  De kernel voor het werkstation heeft minimaal het volgende
  meegecompileerd nodig:

  ·  NFS-bestandssysteem meegecompileerd. (Er hoeft geen ondersteuning
     voor ext2 mee te hoeven gecompileerd, een module volstaat).

  ·  ``Root on NFS'' moet worden geactiveerd.

  ·  De Ethernet driver voor de netwerkkaart van het werkstation moet
     mee worden gecompileerd.

  ·  Afhankelijk van wat je nodig hebt, kun je ondersteuning voor RARP
     of BOOTBP voor NFS-Root insluiten.  (Hiermee bedoel ik de vragen
     die worden gesteld na de vraag over NFS in make config).

  Als het werkstation zonder kernelparameters zal worden geboot, moet je
  ook het rootdevice instellen op 0:255. Doe dit door het aanmaken van
  een dummy apparaatbestand met mknod /dev/nfsroot b 0 255. Nadat je een
  dergelijk apparaatbestand hebt aangemaakt, kun je het rootdevice van
  de kernel-image instellen met rdev <kernel-image> /dev/nfsroot.

  3.2.  Aanmaak van het rootbestandssysteem

  3.2.1.  Kopiëren van het bestandssysteem

  Waarschuwing: ondanks dat deze instructies voor je zouden kunnen
  werken, zijn ze in geen enkele betekenis zinvol in een produktie-
  omgeving.  Zie de NSF-Root-Client mini-howto van Ofer Maor
  <ofer@hadar.co.il> voor een betere manier om een rootbestandssysteem
  voor de clients in te stellen.

  Nadat je hebt besloten waar de root-structuur te plaatsen, maak je het
  aan met (b.v.) mkdir -p <directory> en tar cClf / - | tar xpCf
  <directory> -.

  Als je de kernel zonder LILO boot, dan moet de rootdir /tftpboot/<IP-
  adres> zijn. Als je dit niet prettig vindt, kun je het wijzigen in de
  Makefile in de kernel-sources, zoek naar een regel als: NFS_ROOT =
  -DNFS_ROOT="\"/tftpboot/%s\"" Als je dit wijzigt, moet je de kernel
  opnieuw compileren.

  3.2.2.  Wijzigingen aan het rootbestandssysteem

  Trim nu de niet benodigde bestanden, en controleer de /etc/rc.d
  scripts.  Een aantal belangrijke punten:

  ·  Één van de belangrijke zaken is de eth0 setup.  Het werkstation
     bereikt op z'n minst gedeeltelijk een eth0 setup.  In instellen van
     het IP-adres van het werkstation naar het IP-adres van de server
     wordt niet als slim aangemerkt.  (Aangezien het de auteur gebeurde
     bij één van zijn eerste pogingen).

  ·  Een ander punt is /etc/fstab van het werkstation. Het zou moeten
     zijn ingesteld voor nfs bestandssystemen.

  ·  WAARSCHUWING: Verwar het rootbestandssysteem van de server niet met
     het rootbestandssysteem van het werkstation.  (Ik heb reeds eerder
     een rc.inet1 op de server slordig ingesteld en ik vroeg me af
     waarom het werkstation nog steeds niet werkte).




  3.2.3.  Exporteren van het bestandssysteem

  Exporteer de rootdir naar het werkstation. Zie exports(5). Zeer
  waarschijnlijk moet je de nfsd/mountd na deze wijziging opnieuw
  starten.  Onder RedHat kan dit eenvoudig worden bewerkstelligd door
  het typen van /etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start .

  3.2.4.  RARP setup

  Stel RARP ergens op het net in. Als je zonder nfsroot parameter boot,
  moet de RARP-server de NFS-server zijn.  Gewoonlijk zal dit de NFS-
  server worden. Om dit te kunnen doen, moet je een kernel draaien met
  ondersteuning voor RARP.

  Voer het uit (en installeer het ergens in /etc/rc.d op de server!):

  /sbin/rarp -s <ip-addr> <hardware-addr>

  hier is


     ip-addr
        het IP-adres van het werkstation en


     hardware-addr
        het Ethernet-adres van de netwerkkaart van het werkstation.

  voorbeeld: /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12

  Je kunt in plaats van het IP-adres ook een symbolische naam gebruiken,
  zolang de server maar achter het IP-adres kan komen.  (/etc/hosts of
  DNS lookups)

  3.2.5.  BOOTP setup

  Voor een BOOTP setup moet je /etc/bootptab wijzigen. Raadpleeg
  alsjeblieft de manpages van bootpd(8) en bootptab(5).

  3.2.6.  Het hardware-adres achterhalen

  Ik weet het hardware-adres niet! Hoe kom ik daar achter?

  ·  Boot de gemaakte kerneldisk, en kijk naar een regel waar de
     netwerkkaart wordt herkend. Het bevat gewoonlijk 6 hex bytes, dat
     het adres van de kaart zou moeten zijn.

  ·  Boot het werkstation met een OS met waarbij TCP/IP networking is
     geactiveerd. Ping dan het werkstation vanaf de server. Kijk in de
     ARP-cache door het opstarten van: /sbin/arp -a

  4.  Het werkstation booten

  4.1.  Gebruiken van een bootrom

  Aangezien ik iets dergelijks zelf nog niet hebt gebruikt, kan ik je
  slechts de volgende tips geven (Christian Leutloff
  <leutloff@sundancer.tng.oche.de> was zo vriendelijk):

  ·  Je kunt geen gebruik maken van de ``gewone'' bootroms.

  ·  Er is een netboot packet van Gero Kuhlmann, dat voorziet in
     bootroms voor Linux en verdere informatie.  netboot is beschikbaar
     vanaf de lokale Linux mirror, of als het Debian package
     (netboot-0.4).

  ·  Lees de documentatie die met je bootrom wordt geleverd zorgvuldig
     door.

  ·  Je zal waarschijnlijk de tftpd op de server moeten activeren, maar
     dit is afhankelijk van de wijze waarop de bootrom de kernel laadt.

  ·  Alle informatie over bootrom verkopers van deze Linux
     variëteit,hiervoor genoemd, aangezien niet iedereen toegang heeft
     tot een prom brander :( (vooral in Europa, alwaar ik me bevind) is
     welkom, ik zal het hieraan toevoegen.

  4.2.  Een raw kerneldisk gebruiken

  Als je het rootbestandssysteem met de juiste naam gezien de standaard
  benaming hebt geëxporteerd en je NFS-server ook de RARP-server is,
  (wat impliceert dat de boxen zich op hetzelfde subnet bevinden), dan
  kun je de kernel gewoon booten door een cat naar een disk.  (Je moet
  het rootdevice in de kernel op 0:255 instelen).  Hierbij wordt
  verondersteld dat de rootdirectory op de server /tftpboot/IP-adres is
  (deze waarde kan bij het compileren van de kernel worden gewijzigd).

  4.3.  Gebruik van een bootloader & RARP

  Geef de kernel bij het booten alle benodigde parameters en voeg toe
  nfsroot=<server-ip-addr>:</path/to/mount>; hier is server-ip-addr het
  IP-adres van je NFS-server, en /path/to/mount het path naar de
  rootdirectory.

  Tips:

  ·  Overweeg bij gebruik van LILO gebruik te maken van de ``lock''
     feature: Tik gewoonweg éénmaal de juiste parameters in en voeg er
     ``lock'' aan toe. Laat de volgende keer bij het booten de tijd van
     LILO verstrijken.

  ·  Bij het genereren van een bootdisk specifiek voor een werkstation
     kun je ook de append= feature in lilo.conf gebruiken.

  4.4.  Een bootloader met RARP  gebruiken

  Geef in aanvulling op nfsroot een nfsaddrs=<wst-IP>:<srv-IP>:<gw-
  IP>:<netm-IP>:<hostname> commandoregelargument voor de kernel. De
  kernel zal eth0 met de opgegeven parameters instellen:

     wst-IP
        IP-adres van de computer


     srv-IP
        IP-adres van de NFS-server


     gw-IP
        gateway


     netm-IP
        netmask


     hostname
        computernaam




  5.  Bekende problemen

  5.1.  /sbin/init start niet

  Een bekend probleem met /sbin/init, dat bij (tenminste) een aantal
  huidige distributies wordt geleverd, is dat /sbin/init dynamisch is
  gelinkt. Dus je moet voor de client in een juiste /lib setup voorzien.
  Wat eenvoudig is te doen is /sbin/init (voor de client) proberen te
  vervangen door een statisch gelinkt ``Hello World'' programma.  Op
  deze manier weet je of het iets fundamenteels is, of ``gewoon'' een
  probleem dat te maken heeft met het dynamische linken.

  5.2.  /dev problemen


  Als je bij het booten een aantal onjuist weergegeven meldingen krijgt
  over tty's, dan zou je vanaf de client in de /dev directory MAKEDEV
  uit kunnen voeren.  Er gaan geruchten dat dit met bepaalde server
  os'sen die gebruik maken van 64-bit dev nummers niet werkt. Mocht dit
  je overkomen, mail me dan alsjeblieft met welk os je problemen
  ervaart.  Een mogelijke oplossing is het aanmaken van een kleine /dev
  ramdisk aan het begin van het bootproces en het iedere keer
  herinstalleren van de device nodes.

  6.  Andere onderwerpen


  ·  Er is een BOOTP client:
     ftp://sunsite.unc.edu/system/Network/admin/bootpc.v045.tgz Met
     initrd (welk in Linux 2.0 is opgenomen), zou het mogelijk moeten
     zijn het voor stations zonder harddisk heel aardig werkend te
     krijgen.  initrd is eigenlijk altijd een geavanceerde optie voor
     meer aangepaste setups.

  ·  Voor gewone op bootpd gebaseerde boots is dit in feite
     waarschijnlijk niet nodig aangezien Linux 2.0 ook de optie bevat om
     BOOTP te gebruiken in plaats van RARP. (Wat nauwkeuriger, je kunt
     beiden in de kernel compileren, en de snellere response wint).

  ·  In de directory Documentation van de kerelsource komt een bestand
     voor dat NFS-Root systemen bedocumenteert.

  ·  Er is een patch in omloop, waarmee swappen via NFS mogelijk is.
     Het werd me toegezonden, maar ik kreeg het op één of andere manier
     voor elkaar de mail kwijt te raken. :( Je kunt er waarschijnlijk
     aan komen vanaf http://www.linuxhq.com/ in de onofficiële sectie
     met patches.

  ·  Mijn PGP public key kan worden afgevangen door het commando finger
     te geven met als adres andreas@ag.or.at.  De fingerprint is: F1 F7
     43 D5 07 C4 6C 87  BF 6B 33 A2 2C EE 5A F9.