Quattor Toolkit Overview
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 Morgan Stanley (where more than 20000 machines are managed) to highly-distributed grid infrastructures such as Grid-Ireland (which was 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:
- Find out which services Quattor can manage at the list of components.
- A 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.
In Quattor, templates describing computers and services are written in a declarative language called 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.
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 Kickstart/Anaconda as found in RedHat-like Linux distributions.
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).