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.
PXE/TFTP
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 PXE
compliant.
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:
DHCP
server, the easiest is to use the one developped by
ISC in its third version. It is available in many distributions:
PXE
standard. So you must install the tftp-hpa server also available under package forms:
TFTP
structureHere is an example of a TFTP
structure:
/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 :
/tftpboot/is
TFTP
root 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.