Quattor

Fiche logiciel validé
  • Création ou MAJ importante : 16/07/12
  • Correction mineure : 15/10/12
Mots-clés

Quattor : Déploiement et gestion de configuration de machines Linux

Description
Fonctionnalités générales

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)
Autres fonctionnalités

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.

Interopérabilité

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).

Contexte d'utilisation dans mon laboratoire/service

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.

Limitations, difficultés, fonctionnalités importantes non couvertes

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.

Environnement du logiciel
Plates-formes

Linux : distribution de type Red Hat (RHEL, Fedora et dérivés)

Environnement de développement
Type de structure associée au développement

Quattor et le jeu de templates génériques appelé QWG Templates sont maintenus par la communauté de ses utilisateurs. L'ensemble de la documentation et des informations sur Quattor sont disponibles sur le site https://trac.lal.in2p3.fr/Quattor/wiki/Web.

Eléments de pérennité

Utilisé par plus de 50 sites, principalement en Europe, dont de gros sites de la grille EGEE : CERN, NIKHEF, PIC, GRIF, ainsi que par des institutions privées (Morgan Stanley).

Références d'utilisateurs institutionnels

Centres de calcul T1 (les plus importants) de la grille EGEE/LCG : CERN, NIKHEF, PIC, CNAF

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Deux listes de diffusion sont hébergées sur Sourceforge :

  • quattor-discuss (liste de discussion générale sur l'utilisation de Quattor)
  • quattor-grid (liste dédiée aux discussions autour de l'utilisation de Quattor dans la gestion des grilles de calcul)
Documentation utilisateur

Wiki maintenu à jour et enrichi en permanence par les utilisateurs sur le site https://trac.lal.in2p3.fr/Quattor/wiki/Doc.
Des formations sont également organisées par le GIS France Grilles pour former les administrateurs à utiliser Quattor.

Contributions

La participation au projet Quattor est ouverte à tous. Une partie du wiki détaille les bonnes pratiques pour contribuer au projet.

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.