= DRBL Merge Kerrighed = [[BR]] == Introduction == People need powerful computing resources to resolve complex problems. A important issue is how to easy build cheap and effective computing resource. We use DRBL and Kerighed to build SSI cluster. It quick to deploy your cluster environment. You just install them in one machine (Server), clients don't install any OS. Client only setup PXE (network boot) in BIOS, when client finish network booting that your cluster is OK! [[BR]] == Software == We use below Software: * Ubuntu or Debian ||Linux Distribution.|| [[BR]] * DRBL ||Diskless Remote Boot in Linux (DRBL) provides a diskless or systemless environment for client machines. It works on Debian, Ubuntu, Mandriva, Red Hat, Fedora, CentOS and SuSE. DRBL uses distributed hardware resources and makes it possible for clients to fully access local hardware. It also includes Clonezilla, a partitioning and disk cloning utility similar to Symantec Ghost. http://drbl.sourceforge.net/|| [[BR]] * Kerrighed ||Kerrighed is a Single System Image operating system for clusters. Kerrighed offers the view of a unique SMP machine on top of a cluster of standard PCs. The new version is Kerrighed 2.2.0, and it used for 2.6.20 kernel. http://www.kerrighed.org/wiki/index.php/Main_Page|| [[BR]] == Install Kerrighed == * Install Basic Package {{{ sudo aptitude install gcc-3.3 automake autoconf libtool initramfs-tools make sudo aptitude install kernel-package libncurses5-dev build-essential fakeroot wget bzip2 sudo aptitude install xmlto lsb-release sudo aptitude install nfsbooted }}} * Download Kerighed tar ball {{{ cd /usr/src sudo wget https://gforge.inria.fr/frs/download.php/3791/kerrighed-2.2.1.tar.gz sudo wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 sudo tar -zxvf kerrighed-2.2.0.tar.gz sudo tar -jxvf linux-2.6.20.tar.bz2 }}} * Config and make Kerrighed-enable kernel, modules {{{ cd kerrighed-2.2.0 sudo ./configure --with-kernel=/usr/src/linux-2.6.20 --disable-kernel-config --with-kernel-config=/usr/src/linux-2.6.20/.config sudo make patch sudo mv /bin/sh /bin/sh.old sudo ln -s /bin/bash /bin/sh (Ubuntu default sh is link to dash) (1)Choose kernel options cd ../linux-2.6.20 sudo make defconfig sudo make menuconfig (0.If your CPU arch is intel, choose i386 1.Cancel Preemption, KEYS and SMP options 2.Enable netwok block device, plug and play, NIC Driver and boot from nfs must to build-in ) (2)Make cd /usr/src/kerrighed-2.2.0 sudo make kernel sudo make sudo make kernel-install sudo make install }}} * Make initrd image {{{ sudo mkinitramfs -o /boot/initrd.img-2.6.20-krg 2.6.20-krg sudo vim /boot/grub/menu.lst (ex: title Kerrighed 2.6.20-krg root (hd0,0) kernel /boot/vmlinuz-2.6.20-krg root=UUID=8bc93e80-35f9-41db-a349-02e839f2ed7c ro quiet splash initrd /boot/initrd.img-2.6.20-krg quiet savedefault ) }}} * config nodes information {{{ (ex: session=7 nbmin=8 krg001:0:eth0 krg002:1:eth0 krg003:2:eth0 krg004:3:eth0 krg005:4:eth0 krg006:5:eth0 krg007:6:eth0 krg008:7:eth0 ) }}} == Install DRBL == * add deb source {{{ sudo vim /etc/apt/sources.list (add : deb http://free.nchc.org.tw/drbl-core drbl stable) wget http://drbl.nchc.org.tw/GPG-KEY-DRBL sudo apt-key add GPG-KEY-DRBL sudo apt-get update }}} * install DRBL ||Before we install DRBL, we must clear plan our DRBL environment. The below layout is our environment, eth0 used to connect WAN, eth1 used for DRBL internal clients.|| {{{ NIC NIC IP Clients +-----------------------------+ | DRBL SERVER | | | | +-- [eth0] 140.110.X.X +- to WAN | | | +-- [eth1] 192.168.0.1 +- to clients group 1 [ 7 clients, their IP from 192.168.0.2 - 192.168.0.8] | | +-----------------------------+ }}}