Pxe
De BlaxWiki
Révision datée du 29 mars 2011 à 16:59 par 217.174.199.129 (discussion)
Configuration d'un serveur pxe
Ici le serveur nfs, dhcp, tftp est le meme, il a pour ip 10.253.6.1.
Config dhcpd.conf :
allow booting;
allow bootp;
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;
}
}
---
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
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
- 2
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*)
- 3
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) 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 A creer avec mknod : mknod -m 600 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3 mknod -m 666 /dev/tty c 5 0 mknod dev/zero c 1 5 mkfifo -m600 /dev/initctl