Table of Contents
This document is an advanced HOWTO to setup a IGGI Cluster. This document was created using XML Docbook. I would to address a special thanks to Erwan Velu, and to the doc team. You can find more information about docbook here: http://www.oasis-open.org/
KEEP IN MIND this is a DEVELOPEMENT product. Please report them at cooker -_@_- mandriva.com with [IGGI] subject.
ISO snapshots available for x86_32 arch on all Mandriva mirror.
It is now an established fact that clusters can nowadays reach the performance level a supercalculator for an inferior cost. However, this isn't enough of a reason to let clusters use "Free Software" spreads and become a standard on the market.
If Free Software Clusters haven't yet succeeded in becoming a standard it is because they are more complex to program and administrate than proprietary solutions with/or shared memory. The way to the generalisation of these solutions goes through the offering of programming interfaces and administration tools that will enable the user to view (access, administrate, program) the cluster as one single machine.
This project ambitions to create a Grid Linux Clustering distribution based on "Free Software" (GNU/GPL licence or equivalent) answering the needs of deployment, administration and programmation dedicated to Massive Calculation Clustering.
This product is based on Mandriva Clustering II technology, and use the basesytem from Mandriva 2006 comunity. You can find more information about all Mandriva products here: https://mandriva.com/
authd: software for obtaining and verifying user credentials
cluster: redhat suite for clustered filesystems
clusterscripts: tools to setup a cluster server and client
cmwebadmin: computational Grid within an organization by harvesting unused computing resources
cryopid: a Process Freezer for Linux
distcc: program to distribute compilation of C or C++
dolly: clone the installation of one machine to many other machines
dolly_plus: clone the installation of one machine to many other machines
drakcluster: graphic interface tool to setup server cluster
dssh: remote command via ssh
fanout: Fanout lets you run commands on multiple remote machines simultaneously
ganglia: Ganglia Cluster Toolkit
gexec: Gexec is a scalable cluster remote execution
icecream: Icecream is a distributed p2p based compile system
jnettop: Network traffic tracker
ka-deploy: Ka-deploy cluster installation solution
ka-run: a program to launch a command on several hosts
clone: script to clone a node
kernel-smp-2.6.12: the Linux kernel 2.6.12 (the core of the Linux operating system).
lam: the LAM (Local Area Multicomputer) programming environment.
monika: monika PBS monitor tools
mpich: MPICH is a portable implementation of MPI.
mpich2: MPICH2 is a portable implementation of MPI.
mussh: MUltihost SSH
netstat-nat: displays NAT connections, managed by netfilter/iptables
nettee: nettee is a network "tee" program
pconsole: pconsole is a administrative tool for working with clusters nodes
p-run: runs program, script or commands on large number of hosts in parallel
pvm: Parallel Virtual Machine (PVM)
shmux: Shmux is program for executing the same command on many hosts in parallel
synergy: mouse and keyboard sharing utility
taktuk2: parallel, scalable launcher for cluster and lightweight grids.
tentakel: tentakel is a program that executes the same command on many hosts in parallel
OAR: the Batch Scheduler
wulfstat: a beowulf/cluster/LAN monitoring tool
xmlsysd: xmlsysd is an xml-based system information daemon
On a IGGI server you can find the following services
authd: software to obtain and verify user credentials
dhcpd: ISC DHCP (Dynamic Host Configuration Protocol) server
named: a DNS (Domain Name System) server
gmond and gmetad: Ganglia Monitoring Daemon
nfsd: a Linux NFS server
autofs: provide automount for client node
ntpd: synchronized system time using the Network Time Protocol
httpd: the most widely used Web server on the Internet (Apache)
oar server: The oar Batch System server
sshd: OpenSSH Secure Shell protocol server
pxe: Preboot eXecution Environment
xinetd: to launch rsh, gexec, tftp, distcc and pcp service
taktuk2: to do remote administration
tftp: (via xinetd) A Trivial FTP Server used by nodes for getting theirs configuration
rsh: (via xinetd) Remote SHell used by MPI, PVM and LAM for node-to-node communication
gexec: (via xinetd) A parallelized remote execution tool
computemode: Web interface for computational Grid
All computer with dedicated HDD with network card that support PXE. Services running on a IGGI node:
clusterscripts-client: various script to synchronise node to the whole cluster configuration
xinetd: to launch rsh, gexec, ditscc and pcp service
gmond: Ganglia Monitoring Daemon
ntpd: synchronized system time using the Network Time Protocol
oar node: The oar Batch System client
sshd: OpenSSH Secure Shell protocol server
rsh: (via xinetd) Remote SHell used by MPI, PVM and LAM for node-to-node communication
For more informations on these services, please refer to their relative chapters or their own web documentation.
Workstation with network card that support PXE and wakeup-lan. See Chapter 11, Diskless node for more information.
Install a IGGI cluster needs only few steps:
Installing the server : Installing Mandriva IGGI Linux on the server
Configuring the server : Configuring all services needed for clustering
Installing the golden node : Installing Mandriva IGGI Linux on the node
Duplicating the golden node : Duplicating the golden node to the others
Or use diskless node : just boot the node and set PXE to Computemode or dolly mode to use diskless image