This file describes the installation and use of Ka on a Linux cluster or a network of computers.

Requisites

Ka allows the cloning of a "source node" to a "destination node" - or several destination nodes -  using information from a "server node" (nfs/tftp/dhcp). 

The source and the destination nodes should have the same hardware. Ka is made of several components:

Installation and use

Cloning a cluster with Ka is a four-step work.

  1. Getting the rpm files
  2. Installing the server node
  3. Preparing the source node
  4. Cloning

Getting the files

Download the RPM's from the download page on sourceforge.
ka-nfsroot and ka-server-host RPM's are to be installed on the server node.
ka-deploy-cluster-node must be installed on the source node.

ka-nfsroot only comes as a binary (It has been built from the mini distribution ttylinux (http://www.informatik.uni-bremen.de/~pharao90/ttylinux/)).

Installing the server node

Installing Ka

Install ka-nfsroot and ka-server-host RPM's.

To easily configure ka, run the configuration scripts configure_server.sh and configure_nfsroot.sh (in /usr/share/Ka).

Ka requires on your server:

You can test your installation by running the test_services.sh script (in /usr/share/Ka). As a super-user, type test_services.sh ip-of-your-tftp-server

DHCP

Ka needs a working DHCP server to be present on your network. This server is required for proper boot with pxelinux. Dynamic leases are probably not a good idea here. Your dhcpd.conf must include a "next-server" statement giving the IP of your tftp server. The "filename" option in your dhcpd.conf must be "/tftpboot/ka/pxelinux.0".

Preparing the source node

Install the ka-deploy-source-node rpm. There is no configuration required for this package. You can again test your installation by running the test_services.sh script (in /usr/share/Ka). As a super-user, type test_services.sh ip-of-your-tftp-server

Cloning

On the server

The boot of the destination nodes uses PXE and PXELINUX, and does so by using a config file present on the tftp server. So you must indicate on the server which are the destination nodes that you want to install, so their next reboot will be in install mode. For this :
$ cd /tftpboot/ka/
$ ./ka_pxe_step -s -t install -m machine1 -m machine2 -m machine3
./ka_pxe_step -h will give you a list of available options.

On the source node

Run (as super-user) the ka-d command on the source node:
ka-d.sh -n xx
where xx is the number of destination nodes. Run ka-d.sh -h to obtain the full list of options. Boot all destination nodes. When all the nodes have started, cloning starts.

Troubleshooting:

During the cloning phase, you may check what is going on the server with a tail -f on /var/log/messages on the server. Information about the other nodes are printed on their screen. You may also see what's on the screen of the installing nodes by telneting them on port 233.

TIPS FOR SETTING UP DHCPD

A typical static lease to use would be like this :
        host icluster1 
        {
                hardware ethernet 00:01:02:03:4c:d8;
                fixed-address 129.88.96.1;
                filename "ka/pxelinux.0";
                next-server 129.88.96.252;
        }
With a dhcpd.conf beginning like this for example :
option subnet-mask 255.255.255.0;
option routers 129.88.96.254;
subnet 129.88.96.0 netmask 255.255.255.0
{
group {
        default-lease-time -1;

(add leases here)
	}
}
If you want to create static hosts configuration for a lot of machines, you need their MAC address. You can do it by hand. You can also boot them with a dynamic host configuration, and then take the addresses on the leases file or on the log files. There is a PERL script in the scripts directory that does that (recup_addresses_mac.pl). But you must be careful and switch the machines on in the good order.