The goal of this part is to ease the deployment system installation steps and give information about all the relevant required tools and their configuration.
This part presents the database used.
kadeploy uses a database to maintain the persistance of the information about the cluster composition and current state.
The cluster composition is described via :
The cluster state is described via :
During a deployment execution, its state and the one of the partition involved changes in the database.
A deployment can be in one of the following states :
By convention, there cannot be more than one deployment waiting for nodes.
A partition can be in one of the following states :
By convention, a node involved in a running deployment cannot take part in another deployment.
The two conventions above guarantee that a node cannot be involved in two different deployments at the same time even on different disks and/or partitions.
When a deployment ends :
It is possible to create both databases manually. All you have to do is to run the command lines below. This will create the deploy and deploy_right databases and the appropriate users with read and/or write rights.
# mysql -u root -p < tools/db/deploy_db_creation.sql
Enter password: ********
# mysql -u root -p < tools/db/rights_db_creation.sql
Enter password: ********
Next step will be to fill in the database. That can be done easily using the kaaddnode command.
In order for the deployment system to access to the database, correct information e.g. database name, login and password should be filled in the configuration file for each database. See the database part in the configuration file section for further details.
This part explains how to configure
PXE/TFTP to control the booting process on the cluster nodes.
The nodes' hardware must be
PXE compliant, this means that the
BIOS/EFI should allow to boot from the ethernet card. To ensure that, you must verify that the network interface is
To be able to handle
PXE requests from the booting nodes, the server should have a set of running servers, which must fit minimum requirements:
DHCPserver, the easiest is to use the one developped by ISC in its third version. It is available in many distributions:
PXEstandard. So you must install the tftp-hpa server also available under package forms:
Here is an example of a
/tftpboot/ PXEClient/ images_grub/ pxelinux.cfg/ pxelinux.0 messages help.txt X86PC/ linux/ images_grub/ pxelinux.cfg/ linux.0 nbplinux.0 messages help.txt
This directory structure and allow to respond to different
PXE request schemes. The slight differences are not our business here, you should refer to the different
PXE standards for this part. Let's have a short look at this structure :
TFTProot directory ; it is the directory served by the tftp server
/tftpboot/PXEClient/is the tftp directory for non Intel NICs (set by tftp_repository in the configuration file)
/tftpboot/X86PC/linux/is the tftp directory for Intel NICs (set by tftp_repository_intel in the configuration file)
images_grub/that will contain kadeploy generated grub bootloaders, to allow the nodes to boot on the deployed system image (set by tftp_relative_path in the configuration file)
pxelinux.cfg/that links every node to its kernel/initrd pair to load and boot from network, an ensure that we can remotely control the way the nodes are booting (set by pxe_rep and pxe_rep_intel in the configuration file)
These four directories (two in each tftp directory) should be writtable by the
deploy user, to allow kadeploy to control the way the nodes are booting.
kadeploy requires to perform some changes on the server, to control the way the nodes are booting. Some other tools like kaconsole or kareboot needs to connect to other computers. The purpose of this part is to define all the required privileges to ensure a smooth execution of kadeploy, and secure it by avoiding unnecessary privileges.