FreeBSD kernelparaméterek állítása DHCP-ből
2009.07.27. 05:23
Netbootos környezetben néha jól jöhet, ha a gépek kernelparamétereit finomabban is tudjuk szabályozni a /boot/loader.conf-nál, hiszen ez utóbbi -hacsak nem használunk valami okos NFS szervert, amelyik képes forrás IP alapján más-más tartalmat mutatni- minden azonos roottal rendelkező gépnél azonos.
Danny Branissnek köszönhetően az r187200-tól van lehetőség (STABLE ágon) arra, hogy DHCP-ből adjunk kernelparamétereket. Sajnos azonban ez a lehetőség alapértelmezetten ki van kapcsolva, így itt leírom hogy kell bekapcsolni, és használni.
Először is módosítani kell a fent hivatkozott bootp.c-t:
ki kell cserélnünk ezt:
#define DHCP_ENV DHCP_ENV_NO_VENDOR
erre:
#define DHCP_ENV DHCP_ENV_FREEBSD
Miután ezzel megvagyunk, újra kell fordítani a pxebootot (make buildworld-del ez is lefordul), majd értelemszerűen rá kell másolnunk a korábbi verzióra (oda, ahonnan TFTP-n letöltjük a bootfolyamat során).
Ezután már állítgathatjuk a kernelparamétereket, ISC DHCPd esetén például az alábbihoz hasonlóan:
subnet 192.168.178.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.178.255;
use-host-decl-names on;
next-server 192.168.178.128;
filename "pxeboot";
group {
option class "wsfe";
option root-path "192.168.178.128:/imgs/wsfe/003";
option unknown-246 "vm.kmem_size=56G";
host wsfe0-10.web.dmz.intra {
hardware ethernet 00:23:7d:3c:af:5c;
fixed-address 192.168.178.10;
}
host wsfe0-16.web.dmz.intra {
option unknown-246 "vm.kmem_size=120G";
hardware ethernet 00:23:7d:3c:dc:14;
fixed-address 192.168.178.16;
}
Mint az a fent hivatkozott diffben megnézhető, 246-tól 249-ig lista, míg 250-től 254-ig "kulcs=érték" formájú paramétereket adhatunk át DHCP opciókban. Az, hogy több lehetőségünk is van, azt a célt szolgálja, hogy esetlegesen használt más opciókkal ne ütközzünk.
A lista formátuma ugyanaz, az elemek pontosvesszővel vannak elválasztva, pld. "vm.kmem_size=120G;kern.ipc.nmbclusters=200000".
A hierarchikus elrendezés pedig lehetőséget ad arra, hogy egy groupnál csak egy helyen kelljen állítani a paramétereket (bár ezeket akár a loader.conf-ban is állíthatnánk), és csak azoknál a gépeknél kelljen beírni őket, amelyek valamilyen okból eltérnek a többitől (például kevesebb memória van bennük).
Szerző: blackshepherd
Szólj hozzá!
Címkék: freebsd kernel dhcp parameter netboot dhcp env freebsd dhcp env no vendor bootp
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.