Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A set of utilities for setting up a cluster with live nodes
Shell Python Perl
tree: 7ffa7d3947

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bash_completion.d
debian
dracut
modules
network/if-up.d
rpc
share
tftpboot
AUTHORS
COPYING
README
TODO
kestrel-apt
kestrel-configure
kestrel-cron
kestrel-daemon
kestrel-images
kestrel-nodes
kestrel-users
kestrel-videowall
maintain-help

README

KestrelHPC is a set of tools which help setting up a diskless Beowulf cluster.

 Features :
============

    - Sets up all the required services for a diskless Beowulf like cluster : 
        
        dnsmasq (dhcp and tftpboot), pxelinux, nfs4, ssh...
        
        
    - Minimal node images :
        
        The images of the nodes should be minimal to minimize the memory usage 
        and the traffic on the local net.
        
        The images are created using debootstrap, and the required software is
        installed automatically.
        
        
    - It helps adding or removing nodes to the cluster in a simple way.
       
        Run kestrel-control --register [image], and start up each node you want 
        to add to the cluster using PXE. Kestrel will save its mac and associate 
        it to an image.
        
        
    - It helps starting up nodes using WOL.
        
        You can start a node by its mac or hostname :
        
            kestrel-control --wake-node <hostname>
            kestrel-control --wake-mac  <mac>
        
        You can also start a bunch of nodes associated to a group :
        
            kestrel-control --wake-group <group>
        
    - It helps creating and managing multiple images.
    
        You can create new images easily with kestrel-images.
        
            kestrel-image --new "image 1"
            
        You can install or uninstall packages in each image with kestrel-apt.
        
            kestrel-apt --image "image1" --install vim --uninstall nano
        
    - Easily extensible and/or customizable :
        
        KestrelHPC is a bunch of scripts where each one configures services, 
        adds a program to the node or to the frontend.
        
        New scripts can be written adding them to /etc/kestrel/, and any script
        can be replaced just by naming it as the kestrel's one.


 Install :
===========

    Ubuntu 10.04, 10.10 and 11.04 
    -----------------------------

        Add KestrelHPC's ppa repository :
        
            sudo add-apt-repository ppa:jonan-h/kestrelhpc
    
       Update the packages

           apt-get update

       Install KestrelHPC

           apt-get install --no-install-recommends kestrelhpc kestrelhpc-ganglia kestrelhpc-openmpi

    Debian Squeezy 
    --------------

        Add the repository :

           echo "deb http://ppa.launchpad.net/kestrel/kestrelhpc/ubuntu maverick main" > /etc/apt/sources.list.d/kestrelhpc.list

       Add the PPA's Signing key :

           apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8475B36D

       Update the packages

           apt-get update

       Install KestrelHPC

           apt-get install --no-install-recommends kestrelhpc kestrelhpc-ganglia kestrelhpc-openmpi


 Configuration :
=================

    Create minimal config :

        # editor /etc/kestrel/kestrel.conf

            # Al least you need to configure these variables :
            
            # Frontend's ip
            FRONTEND_IP=192.168.30.1
            FRONTEND_NETMASK=255.255.255.0
            
            # IP range of the DHCP service
            DHCP_STARTING_IP=192.168.30.2
            DHCP_ENDING_IP=192.168.30.255
 
    Reconfigure kestrel :

        # kestrel-reconfigure --all


    Create a node image :

        # kestrel-image --new "image"

    Add users to cluster :

        # kestrel-users --add-to-cluster <user>

    Register nodes :

        # kestrel-control --register "group1"

 
 Advanced configuration :
==========================

        Look at the system's configuration files for knowing which options are 
        available :
        
           basic default config file :
           /usr/share/kestrel/default.conf
        
           default config file of each module :
           /usr/share/kestrel/default.d/*
        
            IMPORTANT: Do not modify these files.
           
        Edit the file :
        
            /etc/kestrel/kestrel.conf
    
        Reconfigure KestrelHPC :
        
            kestrel-reconfigure --all


 Build KestrelHPC :
====================

    Install Debian Packaging Tools :
    
    # apt-get install build-essential devscripts ubuntu-dev-tools debhelper \
                      dh-make diff patch cdbs quilt gnupg fakeroot lintian pbuilder \
                      piuparts

    # apt-get install help2man
    
    Descompress kestrelhpc's tarball :
        
        tar -xjvf kestrelhpc*.tar.bz2
        
    Build the package :
        
        cd kestrelhpc*
        
        debuild -uc -us

    Install :

        dpkg -i ../kestrelhpc*.deb

        Note : KestrelHPC requires Dracut, Dracut-network, Dracut-aufslive > 007.
               
               Dracut tarball and packages available at :

                     https://launchpad.net/~kestrel/+archive/kestrelhpc
    
Something went wrong with that request. Please try again.