Jump to content

Archived

This topic is now archived and is closed to further replies.

Dark26

Tuto : Installation / utilisation Distrib via NFS

Recommended Posts

Le but :

- Un serveur faisant office de serveur d'OS.

- Le client en diskless ( ou non) va utiliser NFS comme si c'était un disque local.

Avantage : pas besoin de disque sur le client.

Inconvénients : On est limité par les performnces du disque du serveur, et aussi par la connexion réseau entre le serveur et le client.

Prérequis matériel :

Sur le serveur : une carte réseau ( n'importe laquelle ) + un disque dur

Sur le client : une carte réseau compatible pour booter sur le réseau ( voir discussion sur le boot sur le réseau)

Prérequis logiciel :

le serveur : NFS serveur TFTPD , DHCPD

le client : rien si PXE, disquette boot ou cdrom ( si carte réseau sans rom ) , ou disque dur accueillant grub ( à tester)

Discussion pour pour le boot sur le réseau :

Plusieurs méthodes :

1) une carte réseau bootable ( PXE) , le dhcp va lui envoyer directement le noyau.

Pour : Pas de disquette ou de cd de boot

Contre : il faudra patcher le noyau via mknbi ; pas le choix de l'OS

2)une carte réseau bootable ( PXE) , le dhcp va lui renoyer GRUB, et ensuite on aura le choix de choisir l'os que l'on veut charger.

Pour : choix de l'OS

Contre : il faut une carte reseau PXE compatible avec GRUB

3) une carte réseau bootable via etherboot ( avec une disquette / ou cdrom ) , le dhcp va lui envoyer directement le noyau.

Pour : beaucoup de carte réseau supporté.

Contre : il faudra patcher le noyau via mknbi ; pas le choix de l'OS

4) une carte réseau bootable via etherboot ( avec une disquette / ou cdrom ) , le dhcp va lui renoyer GRUB, et ensuite on aura le choix de choisir l'os que l'on veut charger.

Pour : beaucoup de carte réseau supporté / choix de l'OS.

Contre : Il faut une carte réseau compatible etherboot et GRUB

5) ( pas encore tester) une carte réseau compatible GRUB, et il faut GRUB en local ( sur le disque du client )

Pour : pas de disquette ou de cdrom de boot

Contre : obligé d'avoir un boot loader en local

Je vais vous présenter la version 4.

Sur le serveur ( tuto pour derbian) :

il faut installer le daemon NFS

aptitude install  nfs-kernel-server

il faut installer le serveur dhcp

aptitude dhcp3-server

il faut installer le serveur

aptitude install  tftpd-hpa

Configuration :

pour le daemon tftpd, il faut créer un répertoire /tftpboot

mkdir /tftpboot

verifier que l'on as bien cette ligne dans /etc/inetd.conf

tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd tftpd -s /tftpboot

pour le serveur NFS

dans le fichier /etc/exports

/tftpboot/debian 192.168.0.0/24(sync,rw,no_root_squash,no_all_squash)

ou /tftpboot/debian correspond a l'endroit ou se trouve la distribution , 192.168.0.0/24 le réseau local

PS : on ne doit pas être obligé de mettre l'OS dans le répertoire /tftpboot

Configuration dhcpd /etc/dhcp3/dhcpd.conf

host desktop {

hardware ethernet 00:50:fc:9e:e8:c1;
fixed-address 192.168.0.41;
filename "/192.168.0.41/nbgrub";
option grub-config "(nd)/192.168.0.41/menu.lst";
}

un peu d'explication :keskidit:

hardware ethernet 00:50:fc:9e:e8:c1 c'est l'adresse mac de la carte réseau du client

fixed-address 192.168.0.41 c'est l'adresse ip qeu l'on va donner à la carté réseau du client.

filename "/192.168.0.41/nbgrub" dans le répertoire /tftpboot, on va crér un répertoire correspondant à l'adresse ip du client, et on mettre dedans toutes les infos concernany ce PC.

option grub-config "(nd)/192.168.0.41/menu.lst" on va mettre dans ce fichier le fichier de config de grub ( pour le multiboot )

(nd) correspondant donc au répertoire par défaut de TFTPD soit TFTPBOOT

il va donc falloir créer le fameux fichier nbgrub, qui va permettre de booter grub sur le réseau ( et surtout avec le support de la carte réseau.

il faut donc charger les sources de grub :

ftp://alpha.gnu.org/gnu/grub/

les décompresser

 tar -zxvf grub-0.95-i386-pc.tar.gz

ensuite une fois entrer donc le répertoire faire

echo "dhcp" > myprest
./configure --enable-rtl8139 --enable-diskless --enable-preset-menu=mypreset
make
cd stage2

dans le répertoire stage 2 il y a le fameux fichier "nbgrub" pour etherboot, mais aussi "pxegrub" si vous souhaiter utiliser le pxe de votre carte réseau

il faut copier le ficheir au bon endroit

 cp nbgrub /tftpboot/192.168.0.41/

il ne reste plus qu'a créer le fichier de config de grub en créant un fichier menu.lst dans le repertoire /tftpboot/192.168.0.41

dedans on va mettre :

[/code]title Debian

root (nd)

kernel (nd)/debian/vmlinuz nfsroot=192.168.0.1:/tftpboot/debian ip=dhcp


title debian , debian ce'st le nom de la dsitribution cliente
root(nd)  pour spécfié que le root pour grub  se trouve dans le rep par defaut de tftpd 

kernel (nd)/debian/vmlinuz : c'est le kernel à charger via tftp

nfsroot=192.168.0.1:/tftpboot/debian ip=dhcp le répertoire racine ou se trouve la dsitribution à monter (ce que l'on a exporté via nfs)

ip=dhcp pour dire qu'il faut obtenir l'ip via dhcp.

C'est pas encore fini.

il faut encore créer une dsitribution debian.

il faudra donc le faire une fois en local sur un dur ( une distribution de base suffit)

une fois qu'elle est installé, il va fallloir recompiler un noyau en activant dedans :

Networking options  ---> 
  [*]   IP: kernel level autoconfiguration 
  [*]     IP: DHCP support 
Network device support  ---> 
  Ethernet (10 or 100Mbit)  ---> 
    [*] Ethernet (10 or 100Mbit) 
    [*]   3COM cards 
    <*>     3c590/3c900 series (592/595/597) "Vortex/Boomerang" support 
File systems  ---> 
  Network File Systems  ---> 
    <*> NFS file system support 
    [*]   Provide NFSv3 client support 
    [*]   Root file system on NFS

pour la caret réseau il faut mettre le bon driver en dur dasn le noyau , et sussi activer le root file sytem on NFS.

ensuite il faut copier cette dsitribution sur le serveur en montant le dossier partager via nfs

si le serveur a uen ip 192.168.0.1

 mont 192.168.0.1:/tftpboot/debian /mnt/diskless

il faut ensuite copier l'ensemble de la distribution dans le dossier monté

find / -xdev | cpio -pm /mnt/diskless

une fois que c'est fini de copier ( ça peut prendre du temps )

il faut modifier le ficheir /etc/fstab du client et mettre

# /etc/fstab: static file system information.

#

# <file system> <mount point>  <type>  <options>      <dump>  <pass>

proc            /proc          proc    defaults        0      0

192.168.0.1:/tftpboot/debian  /  nfs  defaults  0  0

#/dev/hda1      /              ext3    defaults,errors=remount-ro 0      1

/dev/hdc        /media/cdrom0  iso9660 ro,user,noauto  0      0

/dev/fd0        /media/floppy0  auto    rw,user,noauto  0      0

donc remplacer le disque en dur du root par le répertoire partagé en nfs

et voila ça devrait être bon

Share this post


Link to post
Share on other sites

Comment avoir plusieurs ordinateurs utilisant le même OS, et avoir plusieurs OS à dispostion...

Le but étant d'essayer d'avori exactement le même OS ( soft / bureau / configuration personnnel) depuis n'importe quel ordianteur ....

Il reste le problème du hardware qui n'ets peut être pa sle même, mais on va ver aça par la suite..

la théorie ..

plusieurs PC = plusieurs configuration de grub, ip différente ....

donc

/tftpboot/192.168.0.41

/tftpboot/192.168.0.42

/tftpboot/192.168.0.43

......

sachant que dans chaque répertoir il y aura un nbgrub adapté à la carte réseau du pc, et aussi un menu.lst correspondant à liste des OS disponible pour ce client

/tftpboot/debian

/tftpboot/mandrake

/tftpboot/fedora

...........

un repertoire pour chaque distribution,

il ne faut pas oublier d'exporté ces répertoires via NFS

et aussi de modifier le fichier de config de dhcp pour ajouter chaque client chaque machine

host desktop {

hardware ethernet 00:50:fc:9e:e8:c1;
fixed-address 192.168.0.41;
filename "/192.168.0.41/nbgrub";
option grub-config "(nd)/192.168.0.41/menu.lst";
}

host desktop2 {

hardware ethernet 00:4f:4e:08:fb:19;
fixed-address 192.168.0.42;
filename "/192.168.0.42/nbgrub";
option grub-config "(nd)/192.168.0.42/menu.lst";
}

Share this post


Link to post
Share on other sites

Augmenter les performances réseaux en faisant du bonding de carte réseaux.....

2 cartes réseaux 100 mbs sur le serveur, et on a du 200 mbs :yes:

sur le client, peut être des problèmes, du au net boot :dtc: à confirmer et à tester :keskidit:

Share this post


Link to post
Share on other sites

×
×
  • Create New...