wiki:Tutorial/SystemInfo

Version 29 (modified by /C=FR/O=CNRS/OU=UMR8607/CN=Charles Loomis/emailAddress=loomis@…, 14 years ago) (diff)

--

Système d'Information

Dans la grille EGEE/LCG, il existe deux systèmes pour trouver les états deservices. Le principal s'appelle le BDII et est basé sur LDAP. Il sert à décrire les ressources disponibles dans la grille et leur état. L'autre système s'appelle R-GMA (Relational GridMonitoring Architecture). R-GMA est basé sur une base de donnée distribuée. Il est principalement utilisé pour le monitoring des jobs et pour l'accounting.

BDII (LDAP)

Le BDII est basé sur la technologie LDAP qui permet une organisation hiérarchique de l'information. L'information doit adhérer à un schema. Le schéma des informations utilisé par le BDII s'appelle "GLUE". Pour plus de détail, voir la définition du GLUE Schema.

La Commande lcg-infosites

gLite fournit la commande lcg-infosites pour interroger le BDII. Elle cache la complexité de la syntaxe de la ldapsearch. Le but principal de la commande lcg-infosites est d'identifier les ressources disponibles pour une VO particulière. Pour cela on utilise l'option --vo voname. Le principal paramètre de cette commande est le type de ressource cherchée : ce, se, wms, lfc... Utiliser l'option --help pour obtenir la liste de tous les types de service.

Note: l'utilisation de la commande lcg-infosites ne nécessite pas d'avoir un proxy.

Exercices :

  1. Identifier la liste de tous les computing elements (CE) accessibles à la VO vo.lal.in2p3.fr.
  2. Identifier la liste de tous les storage elements (SE) accessibles à la VO vo.lal.in2p3.fr.
  3. Identifier la liste de tous les WMS (type wms) accessibles à la VO vo.lal.in2p3.fr.
  4. Identifier la liste de tous les serveurs LFC accessibles à la VO vo.lal.in2p3.fr.

Usage Direct de LDAP [NPF]

L'utilisation directe de ldapsearch permet des sélections plus complexes ou d'obtenir la valeur de certains attributs particulier. Cela peut être utile pour des besoins particuliers mais l'utilisation de lcg-infosites doit être préférée chaque fois que c'est possible. Voir man ldapsearch pour un détail de toutes les options et de la syntaxe des requêtes.

Note: la commande ldapsearch est totalement indépendante de la grille et ne nécessite d'avoir un proxy.

Pour LDAP, chaque entrée possède un identifiant (dn) et une liste d'attributs avec leurs valeurs. La commande ldapsearch retourne le DN et les attributs indiqués pour tous les objects sélectionnés par la requête. Par défaut, elle retourne tous les attributs de tous les objets. Le filtre de la requête et la liste des attributs à retourner sont spécifiés par les paramètres après les options :

  • filtre : doit être une chaine de caractère entre '' et comportant au moins un signe égal. S'il est présent, il doit être spécifié avant la liste des attributs. Il est possible de construire des requêtes très complexes, Voir man ldapsearch et les exemples pour plus d'information.
  • liste des attributs à retourner : le nom de tous les attributs à retourner séparer par un espace.

Dans LDAP, le nom des attributs est non case sensitive, de même que les recherches sur les chaines de caractères.

Excercices (facultatif) :

  1. Allez sur le site web GStat et visualisez les différentes informations présentées pour chaque site. Cliquez sur un site puis regardez dans la section "Site General Information". Trouvez le site GRIF.
  2. En utilisant la commande ldapsearch, interrogez le site BDII de GRIF, bdii.grif.fr.
    ldapsearch -x -h bdii.grif.fr -p 2170 -b mds-vo-name=GRIF,o=grid
    
  3. Interrogez le top-level BDII topbdii.grif.fr de manière à afficher la liste des CE répertoriés, ainsi que les Storage Elements (SEs) associés :
    ldapsearch -x -h topbdii.grif.fr -p 2170 -b mds-vo-name=local,o=grid 'objectclass=GlueCESEBind' GlueCESEBindCEUniqueID GlueCESEBindSEUniqueID
    
  4. Listez les CE répertoriés dans le BDII précédent et exécutant la version gLite 3.1. L'attribut GlueHostApplicationSoftwareRunTimeEnvironment est utilisé pour trouver les sites équipés avec les logiciels spécifiques. Dans les pages GStat, combien de tags différents peut-on trouver ?
    ldapsearch -x -h topbdii.grif.fr -p 2170 -b 'mds-vo-name=local,o=grid' \
                 '(&(objectclass=GlueSubCluster)(GlueHostApplicationSoftwareRunTimeEnvironment=GLITE-3_1*))' \
                  GlueChunkKey 
    
  5. Listez ensuite les SE supportant la VO "dteam". Refaites la commande pour la VO vo.lal.in2p3.fr.
    ldapsearch -x -h topbdii.grif.fr -p 2170 -b 'mds-vo-name=local,o=grid' \
                    '(&(objectclass=GlueSATop)(GlueSAAccessControlBaseRule=*dteam))' \
                    GlueChunkKey GlueSAAccessControlBaseRule
    
  6. Recherchez toutes les VO acceptées par le RB du site.
    ldapsearch -x -h bdii.grif.fr -p 2170 \
     -b 'GlueServiceUniqueID=node04.datagrid.cea.fr:7772,mds-vo-name=GRIF-IRFU,mds-vo-name=GRIF,o=grid' \
    'objectclass=GlueService' GlueServiceOwner
    
  7. Recherchez les tags logiciels présents sur les CEs du site GRIF
    ldapsearch -x -h bdii.grif.fr -p 2170  \
     -b 'mds-vo-name=GRIF, o=grid' \
    objectclass=GlueSubCluster GlueHostApplicationSoftwareRunTimeEnvironment
    

lcg-info

The "lcg-info" command is similar to the "lcg-infosites" except that it is used to list either CE's or SEs satisfying a given set of conditions on their attributes and to print, for each of them, the values of a given set of attributes.

  1. The first step is to view the list of attributes available for both the matching and printing aspects of ‘lcg-info’ :
    lcg-info --list-attrs
    
  2. "lcg-info" is very similar to the usage of the "Requirements" tag in a JDL file along with the command "glite-job-list-match". The "lcg-info" command can therefore be useful when constructing the "Requirements" tag in a JDL file. Note that "lcg-info" does not in most (but not all) cases need a VO to be specified.
    lcg-info --vo vo.llr.in2p3.fr --list-ce --query 'Tag=MPICH' --attrs 'FreeCPUs,Tag'
    
  3. "lcg-info" can also query the attributes of CE's and searches for the closest CE to the SE "polgrid4.in2p3.fr".
    lcg-info --list-se --query 'SE=polgrid4.in2p3.fr' --attrs CloseCE
    

Exercice :

Rechercher la WallTime et le CpuTime Maximal pour les CEs de votre VO

lcg-info --vo vo.dapnia.cea.fr --list-ce --query 'CEVOs=VO:vo.dapnia.cea.fr' --attrs 'MaxCPUTime,MaxWCTime'

R-GMA (Relational Grid Monitoring Architecture) [NPF]

Les informations disponibles dans R-GMA sont accessibles via un browser web et aussi via des lignes de commande. Les informations ne sont cependant pas complètes, mais l'outil est intéressant pour voir les types d'informations dans le schéma.

Browser R-GMA

Une page web permet de chercher les informations dans R-GMA.Utilisez un navigateur pour visualiser cette page.

  • La liste sur l'extrême gauche contient les requêtes prédéfinies. Pour voir les services publiés dans le système d'informations, cliquez sur le lien"GlueServices" (extrême gauche). Puis cliquez sur le bouton "Query". La liste inclut les services R-GMA et quelques autres types de services. Si rien ne s'affiche, ressayez avec un "timeout" plus grand, par exemple * secondes.
  • Pour voir les CEs dans le système d'information, cliquez sur "TableSets" (extrême gauche) puis sur "GlueCE". Dans la liste "SELECT" on peutvoir les champs de la table GlueCE. Par défaut, tous les champs sont sélectionnés. Cliquez sur le bouton "Query" pour visualiser les informations. Encore on peut-être doit utiliser un "timeout" plus grand.

R-GMA : la ligne des commandes

La ligne de commande offre la même fonctionnalité. Tapez la commande rgma (pour sortir taper quit). Cette commande démarre une console R-GMA qui permet d'interroger le système. La syntaxe pour les requêtes est très proche du SQL.

Exercices (facultatif) :

  • On peut visualiser l'aide avec la commande help et des exemples avec help examples.
    show tables
    
  • Pour voir toutes les tables d'informations tapez :
    describe
    
  • Pour visualiser les informations sur une table, donnez son nom en paramètre. Par exemple :
    describe GlueService
    
  • Pour afficher la liste des services, utiliser la commande suivante. On peut aussi sélectionner un site particulier :
    select * from GlueService
    select * from GlueService where GlueSite_UniqueId="GRIF"
    
  • Pour voir les informations dans la table "GlueCE", utilisez une commande similaire. On peut aussi indiquer des critères de sélection, comme précédemment. Par exemple :
    select * from GlueCE
    select UniqueId,FreeCpus from GlueCE where FreeCpus > *