diskless kliens -- not root-path

Fórumok

Sziasztok!

Egy Centos 5.4 hoston probalok diskless klienst eletre kelteni de a kovetkezo hibauzenetet kapom:

ERROR! No root-path. Check your DHCP configuration, to make
sure that the 'option root-path' is specified

Vagyis a vmlinuz es az initrd.img betoltodik, de a root particiot nem tudja csatolni.

A beallitofajlok a kovetkezok. Dhcpd.conf

default-lease-time 86400;
max-lease-time 604800;
ddns-update-style none;
ignore client-updates;
authoritative;

subnet 10.128.0.0 netmask 255.255.255.0 {
range 10.128.0.100 10.128.0.200;
option broadcast-address 10.128.0.255;
use-host-decl-names on;
option routers 10.128.0.1;
option domain-name "attila.local";
option domain-name-servers 10.128.0.1;
option subnet-mask 255.255.255.0;
allow bootp;
allow booting;

host xena {
hardware ethernet 00:02:55:f7:2d:79;
fixed-address 10.128.0.18;
server-name "10.128.0.1";
next-server 10.128.0.1;
filename "pxelinux.0";
option root-path "10.128.0.1:/tftpboot/centos/root";
}
}

Az /etc/exports

/tftpboot/centos/root *(rw,insecure,sync,no_root_squash)

A betolteni kivant rendszer a hoston (IP-je 10.128.0.1) /tftpboot/centos/root konyvtarban van letrehozva. A /tftpboot/centos/root/etc/fstab

# /etc/fstab for diskless clients, written by system-config-netboot
10.128.0.1:/tftpboot/centos/root / nfs rw 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /tmp tmpfs defaults 0 0
/dev/cdrom /media/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /media/floppy auto noauto,owner,kudzu 0 0

A tcpdump-ban a kovetkezo lathato:

16:09:31.593073 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:02:55:f7:2d:79 (oui Unknown), length: 300
16:09:31.593450 IP 10.128.0.1.bootps > 10.128.0.18.bootpc: BOOTP/DHCP, Reply, length: 334

Van valami otlet mi lehet a hiba?

Hozzászólások

ha a subnet 10.128.0.0, a netmask 255.255.255.0, akkor a 10.128.0.0 nem valid ip címe az nfs szervernek. ilyen címen gép nem üzemelhet.

Igazat kell adjak vl-nek.

Ebben a felállásban a 10.128.0.0 és a 10.128.0.255 speciális címek. Az első a hálózat címe, a második pedig a broadcast cím. Jelenlegi tudásom szerint a maszk-kal levágott címek első és utolsó címét használni nem ajánlott ( Point-To-Point az más tészta, de ott a 255.255.255.255 maszk-ot használják ), mert furcsa dolgokat eredményezhet.

Ha a centos-os gép ip címét átírod 1-es végűre és a configban a megfelelő helyeken átírod, közelebb kerülsz egy működő rendszerhez.

Viccen kivul, kerlek vilagosits mar fel arrol mert nem kell. Az initrd ugye adot kernelbol gyartom le ha abban nem kell nfs root akkor mire van szugseg? Amugy a legfrisebb hivatalos kernel rpm CentOS alatt 2.6.18-as. Amugy a konfig fajlot mindentol fuggetlenul megkoszonnem.

Viccen kivul, kerlek vilagosits mar fel arrol mert nem kell.

azért nem kell, mert az nfs root ahhoz kellene, ha a kernel maga akarna root=... paraméterrel mountolni a root fájlrendszert. ahogy ez a pre-initrd-s időszakban volt - de ma már szinte mindenki initrd-t használ.

"sima" initrd (init ramdisk) esetén a gép az igazi root fájlrendszer helyett az initrd fájlrendszerét mountolja, root=/dev/ram meg hasonlókat kell megadni, és maga az initrd az, aki majd az nfs mountot csinálja - de ezt már user space-ből, mount paranccsal.

az újabb initrd (initramfs) esetén a gép egy üres tmpfs-t mountol root fájlrendszerként, abba kibontja az initrd cpio-t, majd beindítja, és ezzel a részéről minden kész, immáron az initrd feladata, hogy szintén user space-ből, mount paranccsal varázsoljon magának másik root fájlrendszert, ha akar. ebben az esetben a kernel nem foglalkozik a root=... paraméterrel.

Amugy a legfrisebb hivatalos kernel rpm CentOS alatt 2.6.18-as.

az sem véletlen, hogy nem használok centos-t :)