La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Aspects SGBD Pierre Lombard BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30.

Présentations similaires


Présentation au sujet: "Aspects SGBD Pierre Lombard BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30."— Transcription de la présentation:

1 Aspects SGBD Pierre Lombard pl@icatis.com BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30

2 2 Contenu Aspects SGBD pour CM, OAR & CIGRI Postgres ~ MySQL avec des petites différences... COMPUTEMODE OAR CIGRI

3 3 Logiciels en présence SGBD : ComputeMode : Postgres 7.3 (ou +) OAR : MySQL 4.0 (ou +) OAR2 MySQL 4+ ou Postgres CIGRI : MySQL 4.0 (ou +) Distributions Linux : Debian 3.1 (cmserver – accès ssh) CentOS 4.4 (cmserver2 – accès ssh)

4 4 Pourquoi 2 SGBD... 1 / 2 Historique... MySQL pas utilisé dans CM : MySQL GPL/commercial Postgres sous licence BSD Postgres 7.x = bonne alternative, plus puissant, types SQL + "purs" Adaptation possible car utilisation d'une couche d'abstraction 'PEAR::DB' mais certaines requêtes à convertir (gestion des temps, requêtes imbriquées, jointures, non supportées par MySQL, transactions...)

5 5 Pourquoi 2 SGBD... 2 / 2 OAR (1.x) développé avec MySQL Prototype universitaire MySQL suffisait Petites différences (casse, fonctions, types, locks)... OAR 2.x ré-implémenté supporte MySQL & Postgres de base CIGRI avec MySQL

6 6

7 7 CM : Base Postgres Base centrale de ComputeMode 1 base "CMDB" 1 utilisateur Postgres "cmu" avec tous les droits (pas d'utilisation des possibilités étendues de PG) Gère et stocke : liste des machines schedules paramètres de boot exceptions utilisateurs logs CM (pour les statistiques)

8 8 CM : Serveur & Données Configuration serveur : /etc/postgres/* Autoriser accès depuis pages PHP Données dans /var/lib/postgres Accès uniquement par application web (PHP) : Interface web administration (HTML) Requêtes HTTP => texte, fichiers de config,... (text)

9 9 CM : Configuration de la base Configuration Postgres reprise dans /var/www/cm/config.php : Ligne concernée (syntaxe = PHP) : $GLOBALS['DBDSN'] = 'pgsql:// : @ / '; Exemple : accès via sockets UNIX avec paramètres par défaut pgsql://cmu:cmupassword@/CMDB Exemple : accès via TCP/IP avec paramètres par défaut pgsql://cmu:cmupassword@localhost/CMDB

10 10 CM : Ordres de grandeur : taille Complexité moyenne : ~20 tables Petite taille : Petites tables (< 1000 enregistrements) sauf logs Mais opération sur logs très peu fréquentes (statistiques par machines) Actuellement : ~750 entrées dans 'nodes' ~260 000 entrées dans 'logevents' ~10MB (dump)

11 11 CM : Ordres de grandeur : charge Charge faible en mode stationnaire : 1 accès CRON par machine client en mode calcul toutes les 2 à 10 minutes (fichier /cm/debian/patch/etc/cron.d/diskless_pull ) 1 accès CRON toutes les 3 minutes (fichier /etc/cron.d/computemode) Au boot d'une machine : Quelques requêtes SQL : pour générer la configuration

12 12 CM : Pour la sauvegarde... Moments "critiques" : édition interactives : par un administrateur par un utilisateur (exceptions) Mais : Pas de souci à avoir même en cas de problème à ces moments Perte de log pas vraiment gênante Système d'import / export des listes et configurations de machines en fichiers CSV

13 13

14 14 OAR : SGBD MySQL OAR gestionnaire de jobs (PBS, LSF,...) : v1: uniquement MySQL v2: ajout du support pour Postgres Partie centrale de OAR : 1 base "oar" 1 utilisateur MySQL "oar" avec tous les droits (pas d'utilisation des possibilités étendues de PG)

15 15 OAR : En Pratique Partie back-end : coeur écrit en Perl utilisation de scripts Ruby client SSH & sudo Accès par des front-ends : Ligne de commande (écrit en perl) Interface web (interface PHP)

16 16 OAR : Rôle du SGBD SGBD gère : Tâches (et leur historique) Liste des machines Complexité moyenne de la base : ~20 tables Taille moyenne (actuellement) : Table 'jobs' : ~1 600 000 enregistrements Table 'nodes' : ~ 300 enregistrements Taille : ~1.5GB (~15 min pour un dump ASCII)

17 17 OAR : Configuration de la base MySQL : fichier my.cnf Configuration (utilisateur, hôte, base, mot de passe) reprise dans : /etc/oar.conf

18 18 OAR : Notion de charge Fréquemment : Requêtes régulières par un démon centralisé (monitoring, gestion des expirations) Utilisation d'index sur "jobs" Opérations moins fréquentes : Génération des diagrammes de GANTT En cas de souci : Log des requêtes "lentes" par mysql

19 19

20 20 CIGRI & OAR Gestionnaire de campagnes de calcul Plutôt des jobs paramétriques 1 même application beaucoup de paramètres différents en entrée

21 21 CIGRI : SGBD MySQL Base MySQL uniquement SGBD au centre de CIGRI (back-end) : Tâches (état, paramètres,...) Clusters disponibles Utilisateurs webs Front-ends: Ligne de commande (perl, ruby) Interface web : visualisation & statistiques (interface PHP)

22 22 CIGRI : Caractéristiques Base 'cigri' : ~ 20 tables Table principale: 'jobs' Actuellement, au BRGM: ~1 600 000 jobs Taille: ~ 2GB (~20min pour faire un dump ASCII)

23 23 CIGRI : Accès aux données Base 'cigri' Utilisateur MySQL 'cigri' Configuration (utilisateur / base / hôte / mot de passe) reprise : Pour les outils en ligne de commande dans : /etc/cigri.conf Pour les outils webs dans : /var/www/cigri/dbfunctions.inc

24 24 Équivalence s

25 25 SGBD : Configuration Versions installées au BRGM : Postgres / Debian 3.1 : 7.4.x (cmserver) => ComputeMode MySQL / Debian 3.1 : 4.1.x (cmserver) => OAR 1.6.x MySQL / CentOS 4.4 : 4.1.x (cmserver2) => CIGRI (depuis le 27/06/2007)

26 26 SGBD : Configuration Fichiers configuration SGBD : Postgres / Debian : /etc/postgres/pg_*.conf MySQL / Debian : /etc/mysql/my.cnf MySQL / CentOS : /etc/my.cnf

27 27 SGBD : Configuration Données & Schémas : Postgres / Debian : /var/lib/postgres/ MySQL / Debian : /var/lib/mysql/ MySQL / CentOS : /var/lib/mysql/

28 28 SGBD : Configuration Logs : Postgres / Debian : /var/log/postgresql/* MySQL / Debian : /var/log/mysql/* MySQL / CentOS : /var/log/mysqld

29 29 SGBD : Équivalents Méta-bases : Postgres : base 'template1' (et tables en pg_*) MySQL : base 'mysql' Ligne de commande : PG : psql -Ucmu CMDB MySQL : mysql -u oar -p oar

30 30 SGBD : Maintenance PG/Debian : géré par script /etc/cron.d/postgresql-common (appelle les commandes VACUUM) nécessaire (pour version < 7.2) après UPDATE & INSERT MySQL : éventuellement OPTIMIZE TABLE après modifications dans entrées variables (TEXT) myisamchk --quick --check-only-changed --sort- index --analyze

31 31 SGBD : Backup / Restore Backup : PG : pg_dump -U cmu CMDB > fichier.txt MySQL : mysqldump -u root -p oar > fichier.txt Restore : PG : pg_restore (ou psql) MySQL : mysql

32 32 Conclusion OAR & CIGRI maintenus par : Bruno Bzeznik (LIG) Possible migration future vers OAR2 MySQL ou PGSQL... Plus d'infos sur OAR / CIGRI : https://ciment.ujf-grenoble.fr/docs/

33 33 Questions ?

34 34 Crédits / Contacts Les informations sur OAR et CIGRI viennent de présentations réalisées par : Bruno Bzeznik (LIG) – mainteneur actuel de OAR & CIGRI Nicolas Capit (LIG) – mainteneur précédent Plus d'informations : https://ciment.ujf-grenoble.fr/docs/


Télécharger ppt "Aspects SGBD Pierre Lombard BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30."

Présentations similaires


Annonces Google