IRIDIA cluster server daemons

From IridiaWiki
Revision as of 16:23, 15 February 2005 by Christensen (Talk | contribs)

Jump to: navigation, search

This page contains information on installing and setting up: DHCP, diskless, ...

It is assumed that the servers are running a minimal installation as described in the previous section IRIDIA cluster installing an OS on the servers.



A DHCP daemon should be installed on majorana so that IPs are given to the cluster nodes depending on their MAC address. When installing DCHP notice that the package dhcp3 could give some trouble with the /dev/rtc (real-time clock). However, the package named just dhcp seems to work.

We are not going to go through configuring DHCP here, but you can download a working version of the dhcpd.conf file and add any additional nodes.

Notice that the IPs on the cluster LAN should be assigned according to the following rules:           polyphemus (p01) - 99:      p02-p99 (diskless nodes)         majorana (r01) - 254    r02-r155

Finding the MAC address of a node

The MAC address is a sequence of 12 hexadecimal digits, normally coupled and each couple separeted by a ``: or a space. If you do not have it, you can get it in this way:

On the server, type the following:

tail -f /var/log/daemon.log

Switch on the client and let it boot from the network (it will fail)

Look at the server's screen: it will appear a line like

DHCPDISCOVER from 00:13:16:69:71:fa via eth1

the numbers between from and via are the MAC address.


Install the package called diskless. This package contains tools and binaries for creating a Debian image for the diskless clients.

Create a new image:

diskless newimage

For more information on creating see

Compiling a new kernel for the diskless nodes

Install a new kernel (version 2.6.x SMP) on majorana, use the config file of that kernel (/root/.config) to compile a kernel for the diskless nodes.

make menuconfig
copy /root/.config .
make menuconfig

At least four options should be changed, don't use modules, compile everything into the kernel:

  • Initial ramdisk (initrd) should be disabled in device driver -> block devices)
  • Mount NFS as root:
    • Enable File systems -> Network File Systems -> NFS file system support
    • Enable File systems -> Network File Systems -> Root file system on NFS
  • Assign IP address at boot time:
    • Enable Device drivers -> Networking Support -> Networking Options -> IP: kernel level autoconfiguration -> IP: DHCP support
  • Compile GigaBit network driver into the kernel:
    • Set: Device Drivers->Networking support->Ethernet (1000Mbit)-><*> Intel(R) PRO/1000 Gigabit

Furthermore, the kernel needs a slight change in the source code, so that the kernel requests an address via DHCP after during load:

In net/ipv4/ipconfig.c change:

int ic_enable __initdata = 0;


int ic_enable __initdata = 1;

You are know ready to make a .deb package containing the kernel image:

make-kpkg --append-to-version -dc kernel_image kernel_headers 
Personal tools