Pxe
De BlaxWiki
Révision datée du 3 mars 2012 à 21:29 par 88.183.179.48 (discussion)
Configuration d'un serveur pxe
Ici le serveur nfs, dhcp, tftp est le meme, il a pour ip 10.253.6.1. Il faut donc installer sur ce serveur les services tftp, dhcpd, nfsd. Dans le cas présent, le root du serveur tftp se trouve dans /tftpboot. Installer les images des os sur lesquels les clients vont booter, les fichier nécessaires à pxe
Dhcpd.conf
allow booting;
allow bootp;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.26.15, 172.26.0.15;
option routers 10.253.6.254; # Passerelle par défaut envoyé en dhcp
default-lease-time 604800;
max-lease-time 604800;
subnet 10.253.6.0 netmask 255.255.255.0 {
group {
next-server 10.253.6.1;
host pxe-ins.agarik.com {
hardware ethernet 00:09:6b:8c:11:16;
fixed-address 10.253.6.12;
option host-name "pxe-ins.agarik.com";
filename "pxelinux.0";
next-server 10.253.6.1; # ip du serveur ou tourne pxe
}
}
}
---
Autres
Renseigner le /etc/exports : /tftpboot/nfsroot/centos5_26_x32 10.253.6.0/24(rw,no_root_squash,async,subtree_check) (puis exportfs -r ou -a)
cat /tftpboot/pxelinux.cfg/default :
DEFAULT kernel/vmlinuz-2.6.25.17.x32 ip=dhcp root=/dev/nfs nfsroot=10.253.6.1:/tftpboot/nfsroot/centos5_26_x32,rsize=8192,wsize=8192,retrans=16,v2,intr,tcp
le repertoire kernel se trouve dans /tftpboot
Problématique d'un serveur bootant en pxe
- 1 Spécificité du kernel
Le kernel (kernel qui est dans /tftpboot/kernel) utilisé pour faire booter un serveur en pxe doit comporter les modules suivant : - NFS filesystem support (CONFIG_NFS_FS). - Root file system on NFS (CONFIG_ROOT_NFS). - Ethernet (10 or 100Mbit) (CONFIG_NET_ETHERNET). - The ethernet driver for the clent's network card. - IP: kernel level autoconfiguration (CONFIG_IP_PNP) - BOOTP support (CONFIG_IP_PNP_BOOTP)
- 2 Problème de mount Nfs
Si le client n'arrive pas à faire un mount nfs, essayer de faire un mount nfs en local sur le serveur nfs. Si le serveur n'y arrive pas non plus, rajouter dans le /etc/fstab du serveur nfs : rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0 nfsd /proc/fs/nfsd nfsd defaults 0 0
- 3 Problème de blocage sur udev
Lorsque le client boot en pxe / nfs, si il bloque sur udev, modifier le fichier /tftpboot/nfsroot/centos5_26_x32/etc/sysconfig/network-scripts/net.hotplug avant : ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*) apres : eth*|ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*)
- 4 Modifications générales
Caractéristique de l image de l os sur laquelle boot le client (/tftpboot/nfsroot/centos5_26_x32). c est l image d une centos installé normalement mais : /etc/fstab : 10.253.6.1:/tftpboot/nfsroot/centos5_26_x32 / nfs rw,rsize=8192,wsize=8192,retrans=16 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 le fichier de configuration de eth0 : BOOTPROTO=dhcp ONBOOT=no (si c est à yes il va restarter eth0, donc perdre le reseau , donc il ne boot plus :p) Il faut aussi activer portmap en run-level 3 si l'on veut que le serveur puisse faire le montage nfs le repertoire /dev de l image doit comporter au minimum : crw------- 1 root root 5, 1 Dec 30 15:53 console prw------- 1 root root 0 Dec 30 15:32 initctl crw-rw-rw- 1 root root 1, 3 Dec 30 16:11 null crw-rw---- 1 root root 4, 0 Dec 30 16:09 tty0 crw-rw-rw- 1 root root 1, 5 May 30 13:38 zero crw-rw-rw- 1 root root 1, 8 Dec 8 16:42 random cr--r--r-- 1 root root 1, 9 May 30 13:38 urandom crw-rw-rw- 1 root tty 5, 0 Sep 26 12:28 tty A creer avec mknod : mknod -m 600 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3 mknod -m 660 /dev/tty c 5 0 mknod -m 666 /dev/tty c 5 0 mknod /dev/zero c 1 5 mkfifo -m600 /dev/initctl mknod -m 644 /dev/urandom c 1 9 mknod -m 644 /dev/random c 1 8