[Beowulf] diskless booting over jumbo frames

Mark Hahn hahn at mcmaster.ca
Wed Apr 25 08:22:21 PDT 2007


> We are very sure that our current bottlenecks lie at the NFS level. The hard

well, what kind of speed are you seeing?  is this only from specific
applications, or is the problem displayed with benchmarks as well?
do you have control over the kernels being used by client and server?

> DEFAULT bzImage
> APPEND acpi=off debug earlyprintk=vga  initcall_debug console=tty0 
> initrd=bzImage ramdisk=40960 root=/dev/nfs nfsroot=192.168.1.254:/slave/root 
> ro ip=dhcp
>
> Is it being suggested that somehow MTU size can be configured over here? 
> /sbin/dhclient-script will not be available until the nfsroot is mounted. Am 
> I missing something here ?

basically, this is a bit redundant.  if you use an initrd, you don't need 
to use kernel auto-configuration or kernel nfs-root.  the kernel+initrd are 
both transmitted via TFTP, so you can use the initrd to perform the IP 
assignment and NFS mount (and MTU fiddling, of course).

I have a cluster which does this: the initrd contains a /linuxrc which looks
a bit like this:

NFSROOT=10.50.0.254:/cluster-x86_64
ETHERNET=eth0

mount -t proc none /proc
mount -t tmpfs none /tmp
ifconfig $ETHERNET up
dhclient -cf /tmp/dhclient.conf -pf dhclient.pid -lf dhclient.leases $ETHERNET > dhclient.out 2>&1

mount -n -o nolock,rw,udp,nfsvers=3 $NFSROOT /sysroot
cd /sysroot
pivot_root . initrd
/bin/kill -TERM `cat /initrd/tmp/dhclient.pid`

umount -n -l /initrd/tmp
umount -n -l /initrd/proc
umount -n -l /initrd

exec /sbin/init



More information about the Beowulf mailing list