Quattor : Installation Linux Reproductible

Slides:



Advertisements
Présentations similaires
Quattor : Opérations Courantes - G. Philippon/M. Jouvin4-5/2/2009Quattor : Opérations Courantes - G. Philippon Opérations courantes.
Advertisements

Développement des templates Quattor de gLite à EMI Guillaume PHILIPPON.
Gestion de la concurrence avec Entity Framework Développement d’application avec base de données Chapitre 23 Hugo St-Louis – Automne 2015.
Fabio HERNANDEZ Responsable Grid Computing Centre de Calcul de l'IN2P3 - Lyon Lyon, 30 avril 2004 Déploiement LCG-2 au CC-IN2P3 Etat d’avancement.
Quattor Status Guillaume PHILIPPON. Résumé EMI 2 / 3 DPM Changement de nom de profile SPMA 3 Aquillon Stratuslab Organisation de la communauté Quattor.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
LES FONCTIONS D'UN SYSTEME D'EXPLOITATION ● Le système d'exploitation contrôle entièrement les ressources matérielles locales. ● Il est responsable de.
Messagerie Open Source à la DGCP Implémentation réalisée par IBM et Pilot Systems Sylvain Viollon.
PILOTER VOTRE INFRASTRUCTURE VIRTUALISEE AVEC PYTHON ( UN RETOUR D’EXPÉRIENCE EN ENVIRONNEMENT VMWARE ET IRONPYTHON) Jean-marc Pouchoulon PYCON FR 2009.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
VHFFS : Enlarge your hosting Sylvain Rochet Samuel Lesueur Cette présentation est sous contrat Paternité-Partage des Conditions Initiales à l'Identique.
1 Le stage informatique de Masters APIM et PIE (2012/2013) Ivana Hrivnacova Vincent Lafage Basé sur le stage informatique du LAL et IPN par (2005/2006):
1 Observer le paramétrage d’un réseau. 2 Dans notre réseau téléphonique habituel, les postes, reliés à un auto-commutateur... …peuvent dialoguer, car.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
Windows NT/2000/XP Enjeux et contraintes techniques
Utilisation du logiciel EduStat©
Gestion de version centralisée et décentralisée
Michel Jouvin LAL/Orsay
PORTEFEUILLE DE COMPETENCES
Javadoc et débogueur Semaine 03 Version A17.
Principes de programmation (suite)
Portefeuille des compétences
Les bases de données et le modèle relationnel
Batterie TSE.
Des outils pour le développement logiciel
GENIUS – GANGA Alternative à la CLI
Module S41 Chapitre 9  Configuration de Microsoft Windows 7 pour fonctionner sur des réseaux Microsoft.
Outils Statistiques pour la Sémantique Décembre 2013
C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007
GRIF : Grille pour la Recherche en
Etat des services grid de production
Point sur avancement du service de monitoring NAGIOS
Fonctionnement de la grille
Module 5 : Gestion des disques.
Daniel JOUVENOT Laboratoire de l’Accélérateur Linéaire (LAL–ORSAY)
CeMEB La plateforme MBB
Présentation OCS-Inventory au LAPP
CeMEB La plateforme MBB
mardi 11 septembre 2018mardi 11 septembre 2018
Chapitre 7 Configuration de l'environnement du bureau
SRT2 APACHE.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Système d’exploitation UNIX
SVN et Trac dans un contexte ASR
“Laisser sa trace dans un fichier”
Catherine Cyrot - bibliothèques numériques - Cours 5
Déploiement de la Grille avec Quattor
IDL interface définition langage. Plan Introduction Principaux éléments IDL Types de données IDL Déclaration de module Déclaration d'interface Déclaration.
Un outil pour découper les arbres ROOT
Module 15 : Implémentation de clients Windows 2000
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Michel Jouvin Comité des utilisateurs 14 Mai 2007
Principes de programmation (suite)
Modern Drivers/BIOS Management Joël Surget Octobre 2018
REPLICA Hyper-V Comme solution à un PRA
Intégration GRIF Michel Jouvin Comité Technique GRIF 28 Novembre 2005.
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
Projet CRImage UNIVERSITE STENDHAL GRENOBLE
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Contenu Systèmes de test parallèles Multithreading Synchronisation
Présentation des missions en entreprise et formation
Implémentation de FTP Rappel sur FTP Relation entre un site Web et FTP
Michel Jouvin LAL/Orsay
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
Role-Based Access Control (RBAC) Les permissions d’administration
Role-Based Access Control (RBAC) Contrôle d’accès basé sur les rôles
Transcription de la présentation:

Quattor : Installation Linux Reproductible Michel Jouvin LAL/Orsay jouvin@lal.in2p3.fr

Agenda Pourquoi Quattor ? Architecture générale La description des configurations Serveur et client Installation initiale Administration L’exemple du GRIF Références utiles 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Pourquoi Quattor ? Quattor développé par EDG WP4 EDG : besoin de gérer de grandes fermes Installation initiale ET changement de configuration Outils existants ne traitent que l’un OU l’autre Exemples : Kickstart, Imaging, APT… Expérience du CERN pour gestion de grand nombre de machines : ASIS, SUE… Besoin d’une description unique et homogène de toute la configuration Modification atomique des logiciels installés Besoin d’avoir des installations reproductibles Réinstaller 1 machine à l’identique suite à une panne Garantir 2 machines identiques pour le même service Linux (RH, rpm) et Solaris (pkg) Totalement indépendant du middleware Grille 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Principales Caractéristiques… Toute la configuration d’une machine dans une base de donnée Possibilité d’installation reproductible Modification de la configuration active à partir de la base de données (sans réinstallation) De l’installation initiale à la poubelle… Versionning de la configuration dans la base de donnée Factorisation de la production et de la maintenance des configurations Pouvoir produire plusieurs machines “presque” identiques Pouvoir modifier la configuration d’un service sur des machines de type différents 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

… Principales Caractéristiques Vérification de la consistance des configurations avant déploiement (compilation) Schéma de l’arbre d’information Existence des packages à déployer Installation initiale avec l’outil standard de la plateforme Kickstart pour RH / SL Configuration de l’installeur à partir de la base de donnée 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor (Core Components)… Quattor = 1 base de donnée + 1 serveur de déploiement GRIF : Base de donnée dans Subversion + accès via http Configuration décrite avec des templates Description de la configuration finale, pas du comment Langage PAN Héritage des templates Hardware et software Serveur de déploiement : dhcpd + tftpd Serveur est notifié d’un changement dans la base de donnée Notifie les clients affectés par les changements (pas de login) Possibilité de plusieurs serveurs attachés à la même base de donnée (configuration multi-site) 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

… Quattor (Core Components) Client : Node Configuration Manager (NCM) En charge de faire les actions nécessaires pour atteindre la configuration demandée Basé sur le concept de composants (plugins) 1 composant gère un aspect de la configuration (NIS, accounts…) 1 composant est un script Perl avec une API standard Management possible depuis Unix, Windows et Mac Compilateur PAN + client SVN + ant disponibles sur toutes les plateformes SCDB uniquement 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor (Optionel)… Déploiement d’application Software Repository Implémenté comme un composant NCM Plusieurs technologies disponibles : SPMA, APT, YUM… SPMA : développé dans le cadre de Quattor Permet la modification atomique de logiciels (rpmt) Permet upgrade et downgrade Vérifie les dépendances entre logiciels Software Repository Contient les RPMs à installer via SPMA Accessible via HTTP Permet la réplication et la génération des templates associés Possible d’utiliser un simple serveur HTTP 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

… Quattor (Optionel) Installation initiale : AII Permet l’installation initiale du système et du client Quattor Configuration et déploiement d’application via NCM Utilise l’installer standard (Kickstart/Anaconda) et PXE Configuration DHCP, TFTP, KS à partir de la configuration DB 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor Architecture 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Configuration et Templates Configuration d’une machine est décrite dans un fichier XML : profil 1 profil par machine Décrit le HW présent, le SW à installer (RPMs) et la configuration du SW Possibilité de configurer le SW à partir du HW présent Profil construit à partir d’une description de haut niveau : templates Templates utilisent un langage particulier : PAN Templates sont compilés pour produire le profil (panc) 1 profil peut être constitué à partir d’un grand nombre de templates Templates similaires à des « poupées russes » Des templates standards pour OS et MW LCG/gLite 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Language PAN… Langage déclaratif Possibilité de définir des fonctions Décrit des états à atteindre Permet la manipulation de données : calcul d’une valeur à partir d’une autre, listes, validation de valeur… Non procédural : impossible de spécifier des actions ou de définir des blocs conditionnels Assignation conditionnelle Possibilité de définir des fonctions Ecrit en langage PAN Manipulation et calcul des données Fonction de validation : exécutée à la fin de la compilation pour vérifier la conformité des valeurs 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

… Language PAN Organisation hiérarchique de l’information Ressources : peut contenir des ressources ou des propriétés Propriétés : attribut ayant une valeur Exemples : « /hardware/network/interfaces/eth0/ip » = « 134.158.88.34 »; Typage fort des données Définition des types (schema) de données de l’ensemble de l’arbre d’information Similaire à une définition de structure/classe 1 définition standard proposée et utilisée par les templates OS/LCG Fonctions de conversion entre type Possibilité de définir des variables Utilisable comme paramètre des autres définitions Permet de définir des templates génériques 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor (S)CDB Stocke les PAN templates et le fichier de configuration de chaque machine (XML) Seul le profil XML est utilisé par les autres composants Quattor Profil accédé via http Subversion (templates) + http (profils) Pas de composant spécifique à Quattor Avantages de SVN : commit atomique, nombreux clients… Contrôle d’accès « fine grained » (ACL, certificats) Versionning des templates uniquement Toujours possible de reconstruire les XML Remplace la CVS CDB originale Aussi standard que CVS CDB Conçue et développée par Cal 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Gestion de la (S)CDB Ensemble des opérations via des cibles ‘ant’ Principe similaire à ‘Make’ Entièrement écrit en Java gestion possible depuis toutes les plateformes (Unix, MacOS X, Windows) : compilatation (panc) et déploiement (Subversion) 3 principales opérations compile : compile (localement) tous les profils affectés par les modifications Gestion des dépendances, compilation incrémentale deploy : déploie les nouveaux profils Compilation des profils sur le serveur, notification des clients Vérifie que toutes les modifications sont dans le repository (commit) et que l’espace de travail est à jour par rapport au repository update.rep.templates : regénère le template associé à chaque repository 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor Server Notifie les clients des changements de configuration dans la SCDB Script exécuté lors de la validation de modifications dans la CDB Serveurs Subversion et http peuvent être sur une autre machine Possibilité de plusieurs serveurs de déploiement associée à une CDB Configuration multi-site Prend en charge le service d’installation initiale Pas de services (daemon) spécifiques Utilise DHCP et TFTP standard pour AII 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor Client (CCM+NCM)… Client Core : CCM + NCM CCM : Configuration Cache Manager NCM : Node Configuration Manager CCM : récupère la dernière configuration dans la CDB reçoit la notification (packet UDP) en cas de changement de configuration (cdp-listend) Exécute ccm-fetch pour récupérer le profil Possibilité de forcer une mise à jour manuelle du profil Notifie NCM si le contenu du profil a été modifié 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

… Quattor Client (CCM+NCM) NCM : implémente la configuration ncm-cdispd (daemon) : notifié d’une modification du profil par CCM ncm-ncd : exécute un composant Lancé par cdispd pour les composants modifiés Manuellement : ‘ncm-ncd –configure composant’ ncm-query : permet de visualiser le contenu du profil 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Les Composants NCM Sorte de plugins de ‘ncm-ncd’ chargés d’implémenter la configuration 1 composant par arborescence « /software/components/component-name » Possibilité de définir des dépendances entre composants Par exemple, SPMA pour installer le composant Script écrit en Perl (objet) Implémente une classe dérivée de NCM::Component qui fournit toutes les méthodes d’accès à la configuration Nombreux composants disponibles core : composants d’intérêt général chkconfig, named, filecopy… lcg : gestion de tous les services du MW LCG glite : gestion de tous les services du MW gLite 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor Client (SPMA) Composant NCM responsable du déploiement logiciel Lancé par ncm-ncd Configuration via les templates : « /software/packages » Configuré avec les fonctions PAN pkg_add, pkg_repl… Vérification que les packages requis existent dans un repository Possible d’utiliser APT ou YUM à la place de SPMA Utilise rpmt pour faire des installations atomiques et vérifier les dépendances rpmt basé sur les librairies RPM standards, écrit en Python Aucune modification si problème de dépendance Upgrade ou downgrade (rollback) Sélection explicite de la version à installer (avantage sur APT) Possibilité de versions différentes suivant les machines 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Quattor AII AII : Automated Installation Infrastructure Configure PXE (DHCP+TFTP) + Kickstart à partir du profil d’une machine Utilise les services standards DHCP (ISC) : pas d’utilisation exclusive requise Créer un fichier spécifique pour les entrées maintenues par AII TFTP : pas d’utilisation exclusive requise Créer un répertoire TFTP dédié à Quattor avec pxelinux… Kickstart : KS templates utilisant la configuration des profils. 1 KS template peut être complètement générique Possibilité de réinstallation sans accès console Boot toujours par PXE Sélection boot réseau / boot local par aii-shellfe 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Administration avec Quattor Editer les templates spécifiques au site La plupart des templates (95%) sont standards et ne doivent pas être modifiés Beaucoup générés automatiquement : repositories, packages RH, packages LCG… Configuration du middleware maintenue par GDB QWG Compiler et valider la configuration ant deploy Possibilité d’utiliser l’IDE Eclipse pour éditer, compiler et déployer Configurer et activer l’installation automatique Génération de l’information Kickstart : aii-shellfe --configure node Install au prochain reboot : aii-shellfe --install node 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Gérer des configurations complexes Ressources divisées en « cluster » Ensemble de machines partageant des éléments de configuration communs Machines peuvent exécuter une version OS différente Pas nécessairement relié à un cluster de calcul Possibilité de gérer des configurations multi-sites GRIF = 5 sites avec des spécificités (réseau…) Chaque cluster peut appartenir à un ou plusieurs sites Exemple : le site local + le site GRIF Pas uniquement LCG LAL : utilisation pour les serveurs internes, à l’étude pour les desktops 1 template peut être redéfini à chaque niveau Standard, GRIF, site local, cluster GRIF : +95% templates communs #10 templates spécifiques par site et par cluster 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Exemple de SCDB : GRIF 08/11/201820/9/2006 (15) cluster.pan.includes=sites/ipno/**/* sites/grif/**/* os/sl305-i386/**/* standard/**/* (2500) (4) 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Mettre à jour OS ou MW Récupérer les templates standard de la version RPMs requis : générés par des scripts qui analysent la description fournie par RH (comps.xml) ou par EGEE Configuration du MW : templates génériques maintenus par le LCG QWG Création d’un nouveau cluster par copie de l’ancien mais référençant le nouveau OS ou MW Edition du fichier cluster.build.properties Pour OS, possibilité d’utiliser le pro_os_version_db.tpl Déplacement des machines d’un cluster dans l’autre 1 par 1, par groupe ou l’ensemble du cluster ‘ant deploy’ Recompile les profils Notifie les clients qu’un nouveau profil est disponible 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Exemple de Templates... Tous les profils d’un même type sont identiques Type WN défini à partir d’éléments de base génériques object template profile_ipnls2005; include pro_wn; # Add repositories include repository_common; template pro_wn; # # Include base configuration of a LCG2 node include pro_lcg2_machine_config_base; # LCG-2 WN configuration include pro_lcg2_machine_config_wn; include pro_software_lcg2_machine_wn_torque; # Virtual organization configuration. include pro_vo_alice_users; include pro_vo_dteam_users; 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

… Exemple de Templates Définition de la configuration de base template pro_lcg2_machine_config_base; # Include static information and derived global variables. include pro_site_databases; include pro_site_global_variables; … # hardware "/hardware" = create(DB_MACHINE[escape(FULL_HOSTNAME)]); include pro_site_system_filesystems; # common site machine configuration include pro_site_config; # software packages include pro_declaration_functions_general; # Configure Bind resolver include pro_site_named_config; # Include OS version dependent RPMs include pro_os_lcg_base; 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Paramètres du Site Paramètres du site : utilisation de variables template pro_lcg2_config_site; # Computing element. Contains gatekeeper and site-level BDII. define variable CE_HOST = "ipnls2001."+SITE_DOMAIN; define variable SITE_BDII_HOST = "bdii.grif.fr"; # List of all site's SEs. The default is the first listed unless changed # below. This must be a list even if you have only one. define variable SE_HOSTS = list("ipnsedpm."+SITE_DOMAIN); # The types of the defined SEs. This must be an nlist with the full # hostname as the key and the SE type as the value. Valid SE types #are "disk" (SE Classic), "SE_dcache", "SE_dpm", and "srm_v1". define variable SE_TYPES = nlist( SE_HOSTS[0], "srm_v1", ); define variable SE_HOST_SERVEUR_NFS = SE_HOSTS[0]; define variable SE_HOST_DEFAULT = SE_HOSTS[0]; define variable SE_HOST_DEFAULT_GRIF = SE_HOSTS[0]; #define variable SE_HOST_DEFAULT_SC3 = SE_HOSTS[2]; # Site's DPM SE #define variable SEDPM_MASTER_HOST = SE_HOSTS[1]; #define variable SEDPM_DISK1_HOST = "node11."+SITE_DOMAIN; # Site's LFC #define variable LFC_HOST = "lfc."+SITE_DOMAIN; define variable LFC_HOST = "grid07.lal.in2p3.fr"; 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

SCDB : Outil de Suivi… 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

... SCDB : Outil de Suivi 08/11/201820/9/2006 Quattor : Installation Linux Reproductible

Documentation et Références Le site officiel : http://quattor.org Le site QWG : http://trac.lal.in2p3.fr/LCGQWG Description de l’utilisation pour la grille Description SCDB Tutorials : http://agenda.lal.in2p3.fr/fullAgenda.php?ida=a05110 http://quattor.web.cern.ch/quattor/documentation/tutori als/ 08/11/201820/9/2006 Quattor : Installation Linux Reproductible