Quattor
Quattor est un outil de déploiement et de gestion de configuration de machines Linux, capable de gérer un grand nombre de machines (jusqu’à plusieurs milliers), tout en restant adapté à des configurations petites ou moyennes (à partir de quelques dizaines de machines). Il a été développé dans le cadre des projets européens de grille de calcul Datagrid, EGEE et EGI (http://www.egi.eu/), mais peut être utilisé dans tous les contextes, de la gestion de postes de travail à la gestion de grandes fermes de calcul et des environnements logiciels associés. Il permet des modèles d’administration très variés, de l’administration d’un site unique à l’administration centralisée ou distribuée de ressources géographiquement distribuées.
Les principaux objectifs recherchés par Quattor sont :
- Factorisation maximale de la description des configurations
- Description orientée service des configurations
- Prise en charge de l’installation initiale et de l’évolution des configurations
- Conservation de l’historique des changements
- Possibilité de revenir en arrière simplement sur toute modification de configuration
Ces objectifs sont implémentés à travers une architecture originale reposant sur les éléments suivants :
- Un langage « déclaratif » de description des configurations (PAN) qui permet de décrire l’état souhaité d’une machine et non les actions à effectuer pour l'atteindre
- L’organisation de la description des configurations en « templates » qui permettent un raffinement progressif des descriptions et le partage des éléments communs
- Un versionning des descriptions des configurations stockées dans un dépôt Subversion
- Un client installé sur chaque machine gérée reposant sur des plug-ins effectuant les actions nécessaires pour atteindre la configuration et l’installation de packages (RPM uniquement) souhaitées et permettant le support de la gestion de nouveaux services
- Un ensemble d’outils pour gérer l’installation initiale des machines (utilisant PXE, Kickstart/Anaconda)
L'administration de machines par Quattor consiste essentiellement à éditer les templates décrivant la configuration et à les enregistrer dans le dépôt SVN constituant la configuration database. Cela peut se faire depuis n'importe quelle plate-forme, soit en utilisant l'éditeur de son choix et les commandes en mode ligne, soit en utilisant l'environnement de développement Eclipse, http://www.eclipse.org.
Il n'y a pas à proprement parler de problèmes d'interopérabilité mais une restriction d'utilisation : Quattor ne sait actuellement gérer que des machines basées sur la distribution Red Hat ou l'un de ses dérivés (dépendance au format RPM pour le déploiement des packages).
Quattor est utilisé au LAL (http://www.lal.in2p3.fr) et dans GRIF (http://www.grif.fr) nœud de la grille EGI en région parisienne construit par 6 laboratoires) pour gérer le matériel suivant via une seule configuration database (ensemble des opérations d'administration est faisable depuis n'importe quel site de GRIF) :
- Toutes les machines grille de GRIF, soit environ 500 machines
- Les serveurs internes du LAL, soit environ 80 machines
- Les postes de travail Linux du LAL soit environ 20 machines
De la même manière, Quattor est utilisé à l'IPHC pour gérer un parc de plus de 200 serveurs. Depuis 2011, les nouvelles machines de bureau sous Scientifique Linux sont également intégrées dans Quattor, afin de centraliser leur gestion.
Le premier contact avec Quattor est souvent déroutant pour un Administrateur Système et Réseau (ASR) du fait de son paradigme : on décrit l'état final des machines, pas comment l'atteindre, ce qui est assez contraire à la culture scripting des ASRs.
Le modèle de déploiement principal utilisé par Quattor est basé sur une validation des configurations afin de s'assurer que toute modification n'a pas d'impact négatif ou d'effet de bord sur l'ensemble des machines gérées. Lorsque le nombre de machines augmente, cela peut devenir pénalisant pour le temps de déploiement d'une modification (dans GRIF le déploiement d'une modification impactant les 600 machines prend 4mn environ, avec un serveur de déploiement puissant). Des travaux sont en cours pour paralléliser l'opération de compilation de la configuration sur plusieurs machines.
Commentaires
Responsable thématique précédent
Cette fiche a d'abord été suivie par le responsable thématique Jacquelin Charbonnel. Gilian Gambini l'a reprise en février 2012.