= Quattor Toolkit Overview = [[TracNav]] [[Image(rack_small.jpg, right)]] Quattor is a system administration toolkit providing a powerful, portable, and modular set of tools for the automated installation, configuration, and management of clusters and farms. It is developed as a community effort and provided as open-source software. Quattor was originally developed to manage the clusters and services used in grid computing. Today, Quattor is being used to manage at least 10 separate infrastructures spread across Europe. These range from massive single-site installations such as [http://cern.ch CERN] (where more than 7000 machines are managed) to highly-distributed grid infrastructures such as [http://grid.ie Grid-Ireland] (which is made up of 18 physical installations). For more details on Quattor deployments, see [Deployments]. To find out more about Quattor works, have a look at these pages: * [http://quattor.sourceforge.net/HyperGraph/ Quattor profile explorer]: to explore 3D visualisations of Quattor configuration profiles * Find out which services Quattor can manage at the [http://quattor.org/autobuild/documentation list of components]. * A [http://quattor.sourceforge.net/quatview system inventory] automatically generated from Quattor profiles The quattor toolsuite caters for every stage of a typical system management workflow, from specification and management of configurations, to installation of new machines from scratch, to ongoing maintenance of software and services. [[Image(quattor_workflow.png)]] == Specifying configuration == In '''quattor''', templates describing computers and services are written in a declarative language called [wiki:Doc/panc Pan]. The set of templates describing the configuration of a complete system are usually stored in a '''configuration database''' that provides user authorisation and version control. Pan templates are compiled to XML profiles which are then deployed to managed machines. == Installing machines == Quattor provides an automated installation infrastructure ('''AII''') that uses the information from profiles to set up an automated installation for managed machines. For example, AII will add DHCP entries and generate PXE configurations for a machine based on the network and OS settings found in its profile. AII has a plugin architecture allowing different installation mechanisms to be supported. Currently, the most commonly-used mechanism is [http://fedoraproject.org/wiki/Anaconda/Kickstart Kickstart/Anaconda] as found in RedHat-like Linux distributions. == Configuring services == On each managed machine, a set of configuration agents (or '''components''') is installed. Each agent is responsible for configuring a particular service. For example, ncm-accounts is in charge of managing local user accounts, and will add accounts specified in the machine's profile. Each agent reads its own parameters from a particular part of the profile (for example, ncm-accounts reads the list of users and groups defined at `/software/components/accounts`).