Главная / Обучение / Практикум / Информационная система BDII

Информационная система BDII

Введение

В этом практикуме будут рассмотрены две утилиты информационной системы (ИС) gLite - lcg_infosites и lcg_info. Этих высокоуровневых программных средств вполне достаточно для большинства требований пользователя и их использование позволяет избежать построения сложных запросов к LDAP. Данные в ИС соответствуют реализации в LDAP значений GLUE schema, хотя некоторые дополнительные атрибуты (изначально не содержащиеся в schema) также публикуются и на самом деле запрашиваются и используются клиентскими приложениями ИС.

lcg_infosites

Команда lcg_infosites на самом деле не что иное, как программная оболочка, написанная на языке Perl, объединяющая набор команд LDAP и которая была разработана для того чтобы пользователи могли получать информацию о Грид-ресурсах наиболее простым и общим способом.

Вызов: lcg-infosites --vo <vo name> options -v <verbose level> --is <BDII to query>

Описание атрибутов.

--voИмя ВО пользователя (обязательный). Необходимо отметить, что lcg-infosites не использует VOMS прокси-сертификат, именно поэтому необходимо указывать ВО
Эта команда допускает следующие опции:
ceИнформация о числе процессоров, количестве выполняемых заданий, количестве заданий в очередях, имён CE. Все данные группируются по ВО.
 -v 1выводятся только имена очередей для каждого CE.
 -v 2 для каждого CE выводятся объём оперативной памяти, операционная система и её версия, тип процессора
seИмена SE, поддерживаемых ВО пользователя, вместе с типом Storage System, объём используемой и доступной памяти.
 -v 1Только имена для каждого SE.
closeSEИмена CE, где поддерживается данная ВО, вместе с ближайшим SE.
lrc/rmcИмя lrc/rmc, соответствующего ВО пользователя.
lfc/lfcLocalИмя сервера каталогов LFC или сервера локального каталога.
tagНазвания "меток" для установленного ПО, вместе с именем соответствующего CE.
allОбъединение опций ce, se, lrc и rmc
isЕсли эта опция не указана, то в качестве сервера BDII выбирается сервер, определённый в переменной окружения LCG_GFAL_INFOSYS. Однако пользователь может захотеть запросить информацию с другого сервера BDII, не изменяя при этом переменные окружения. Это возможно, если указать эту опцию и в качестве значения имя сервера BDII, с которого пользователь хочет запрашивать информацию. Все другие опции допускают совместное использование с этой опцией.

Получение информации о вычислительных элементах (CE)

Следующая команда выводит список вычислительных элементов для ВО gilda и состояние связанных с ней процессоров lcg-infosites --vo gilda ce, что даст примерно следующее

  [...]$ lcg-infosites --vo gilda ce
  valor del bdii: grid004.ct.infn.it:2170
  #CPU    Free    Total Jobs      Running Waiting ComputingElement
  ----------------------------------------------------------  
    62      58       0              0        0    grid010.ct.infn.it:2119/jobmanager-lcgpbs-long  
    14      14       0              0        0    grid011f.cnaf.infn.it:2119/jobmanager-lcgpbs-long  
    62      58       0              0        0    id010.ct.infn.it:2119/jobmanager-lcgpbs-short
  ...
     6       5       0              0        0    grid-ce.bio.dist.unige.it:2119/jobmanager-lcgpbs-short  
  

Упражнение 1

Попробуйте исполнить ту же команду, но указав опцию -v

lcg-infosites --vo gilda -v 1 ce

  [...]$ lcg-infosites --vo gilda ce -v 1 
  valor del bdii: grid004.ct.infn.it:2170
  trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-short
  trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-long
  ...
  gilda03.lcca.usp.br:2119/jobmanager-lcgpbs-long
  gilda03.lcca.usp.br:2119/jobmanager-lcgpbs-infinite
  

lcg-infosites --vo gilda -v 2 ce

  [..]$ lcg-infosites --vo gilda ce -v 2
  valor del bdii: grid004.ct.infn.it:2170
  RAMMemory    Operating System    System Version            Processor    Subcluster name
  -------------------------------------------------------------------------------------------------------------------------
      513  Scientific Linux CERN    SLC                                        PIV                      trigrid-ce00.unime.it
      513  Scientific Linux CERN    SLC                                       PIII                         grid010.ct.infn.it
     2048  Scientific Linux CERN    SLC                                         P4                       trigriden00.unime.it
      512  Scientific Linux CERN    SLC                                       PIII                      ce-nano-37.to.infn.it
      513  Scientific Linux CERN    SLC                                       PIII                       glite-gos.ct.infn.it
     4096  Scientific Linux CERN    SLC                                Opteron 265                    iceage-ce-01.ct.infn.it
      513  Scientific Linux CERN    SLC                                         P4                          dgt01.ui.savba.sk
      513      Microsoft WINDOWS    SP2                                       PIII                       win-ce-01.trigrid.it
     2048  Scientific Linux CERN    SLC                                        PIV                      grid011f.cnaf.infn.it
      256  Scientific Linux CERN     SL                                       PIII                         grid004.iucc.ac.il
     1024       Scientific Linux     SL                                        PIV                         tc06.nesc.ed.ac.uk
     2048       Scientific Linux  3.0.8                                   PentiumD                         gn0.hpcc.sztaki.hu
     1024  Scientific Linux CERN    SLC                                       Xeon                  grid-ce.bio.dist.unige.it
  ... 
  

Получение информации об элементах хранения данных (SE)

Следующая команда выводит список SE, доступных для ВО gilda lcg-infosites --vo gilda se

  [...]$ lcg-infosites --vo gilda se
  #Avail Space(Kb) Used Space(Kb)  Type    SEs
  ----------------------------------------------------------
  n.a             n.a             n.a     trigrid-ce01.unime.it
  2370000000      1480000000      n.a     aliserv6.ct.infn.it
  162317592       19815976        n.a     trigriden01.unime.it
  55000000        3000000         n.a     iceage-se-01.ct.infn.it
  28400244        1934320         n.a     dgt02.ui.savba.sk
  27914756        3245024         n.a     testbed005.cnaf.infn.it
  63800000        10270000        n.a     egee016.cnaf.infn.it
  898698084       13709332        n.a     grid005.iucc.ac.il
  145320000       2880000         n.a     tc04.nesc.ed.ac.uk
  19070496        523360          n.a     gn0.hpcc.sztaki.hu
  125820000       12920000        n.a     grid-se.bio.dist.unige.it
  63740000        9000000         n.a     gilda02.lcca.usp.br
  

Упражнние 2

Попробуйте исполнить ту же команду, но указав опцию -v

lcg-infosites --vo gilda -v 1 se

  [...]$ lcg-infosites --vo gilda -v 1 se
  trigrid-ce01.unime.it
  aliserv6.ct.infn.it
  trigriden01.unime.it
  iceage-se-01.ct.infn.it
  dgt02.ui.savba.sk
  testbed005.cnaf.infn.it
  egee016.cnaf.infn.it
  grid005.iucc.ac.il
  tc04.nesc.ed.ac.uk
  gn0.hpcc.sztaki.hu
  grid-se.bio.dist.unige.it
  gilda02.lcca.usp.br
  

Получение информации, связанной с другими Виртуальными Организациями (ВО)

Можно указать другой сервер BDII, использую опцию --is

lcg-infosites --vo eumed -v 1 ce --is bdii.isabella.grnet.gr

  valor del bdii: bdii.isabella.grnet.gr:2170

  ce01.grid.cynet.ac.cy:2119/jobmanager-lcgpbs-eumed
  ce01.grid.arn.dz:2119/jobmanager-lcgpbs-eumed
  ce-eugrid.eri.sci.eg:2119/jobmanager-lcgpbs-eumed
  ce01.isabella.grnet.gr:2119/jobmanager-pbs-eumed
  grim-ce.iucc.ac.il:2119/jobmanager-lcgpbs-eumed
  grid012.ct.infn.it:2119/jobmanager-lcglsf-eumed
  gridit-ce-001.cnaf.infn.it:2119/jobmanager-lcgpbs-egee
  glite-ce-01.cnaf.infn.it:2119/blah-pbs-egee
  gridce.roma3.infn.it:2119/jobmanager-lcgpbs-grid
  ce1.cnrst.magrid.ma:2119/jobmanager-lcgpbs-eumed
  n001.grid.cs.um.edu.mt:2119/jobmanager-lcgpbs-eumed
  ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-eumed
  glitece.ulakbim.gov.tr:2119/blah-pbs-eumed
  ce.esstt.rnu.tn:2119/jobmanager-lcgpbs-short
  ce.esstt.rnu.tn:2119/jobmanager-lcgpbs-long
  ce.esstt.rnu.tn:2119/jobmanager-lcgpbs-infinite
  

Упражнение 3

Попробуйте исполнить ту же команду, но вместо списка вычислительных элементов получить список элементов хранения

lcg-infosites --vo eumed -v 1 se --is bdii.isabella.grnet.gr

Опция --is замещает значение по умолчанию для переменной LCG_GFAL_INFOSYS, которое определено на UI как имя сервера BDII по умолчанию (grid004.ct.infn.it:2170 для GILDA UI)

Получение информации о взаимосвязи CE и SE

Также можно получить список элементов хранения (SE), наиболее близких к каждому из вычислительных элементов (CE). Понятие "наиболее близкий" в Грид может иметь несколько значений, включающих физическое расстояние и скорость доступа к данным. Имя наиболее близкого SE для CE определяется администратором CE.

lcg-infosites --vo gilda closeSE

  valor del bdii: grid004.ct.infn.it:2170
  Name of the CE: trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-short
          trigrid-ce01.unime.it

  Name of the CE: trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-long
          trigrid-ce01.unime.it

  Name of the CE: trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-infinite
          trigrid-ce01.unime.it

  Name of the CE: grid010.ct.infn.it:2119/jobmanager-lcgpbs-short
          aliserv6.ct.infn.it

  Name of the CE: grid010.ct.infn.it:2119/jobmanager-lcgpbs-long
          aliserv6.ct.infn.it

  Name of the CE: grid010.ct.infn.it:2119/jobmanager-lcgpbs-infinite
          aliserv6.ct.infn.it

  Name of the CE: trigriden00.unime.it:2119/jobmanager-lcgpbs-short
          trigriden01.unime.it
  [cut..]
  

Упражнение 4

Попробуйте исполнить ту же команду, используя опцию -is и используя BDII сервер для ВО EUMED (bdii.isabella.grnet.gr)

lcg-info

Команда lcg-info может быть использована для получения списка CE или SE, которые удовлетворяют заданному множеству условий на значения их атрибутов, а также значений определённого в команде множества атрибутов для каждого из них. Информация берётся из BDII, определённого переменной окружения LCG_GFAL_INFOSYS, либо из BDII, определённого в командной строке.

Вызов: lcg-info [--list-ce | --list-se] [--query <some_query>] [--attrs <some_attrs>]

--help Вывести справку о команде и завершить выполнение.
--list-attrs Список всех атрибутов, которые могут быть в запросе и в списке для вывода.
--list-ceСписок всех СE, удовлетворяющих условию или все СE, если условие не определено.
--list-seСписок всех SE, удовлетворяющих условию или все SE, если условие не определено.
--queryУсловие, которому должны удовлетворять CE(SE).
--bdiiПозволяет задать BDII в виде <hostname>:<port>. Если не задано в командной строке, то в качестве сервера BDII берётся сервер, определённый переменной окружения LCG_GFAL_INFOSYS. Если переменная не определена, то завершается с ошибкой.
--sedВывод в "sed-дружественном" формате: "%" разделяет идентификаторы CE(SE) и выводимые атрибуты, "&" разделяет значения многозначных атрибутов.
--quietПодавляет вывод предупреждений.
--attrsСписок атрибутов, которые будут выводиться для выбранных CE(SE).
--voОграничить вывод теми CE(SE), где поддерживаются соответствующая ВО. Обязателен, если в условии определены ВО-зависимые атрибуты.

Список атрибутов

В качестве первого шага получим список всех атрибутов, которые могут быть в запросе и в списке для вывода

lcg-info --list-attrs

  Attribute name  Glue object class     Glue attribute name
          
  EstRespTime     GlueCE                GlueCEStateEstimatedResponseTime
  WorstRespTime   GlueCE                GlueCEStateWorstResponseTime  
  TotalJobs       GlueCE                GlueCEStateTotalJobs          
  TotalCPUs       GlueCE                GlueCEInfoTotalCPUs           
  MaxRunningJobs  GlueCE                GlueCEPolicyMaxRunningJobs    
  CE              GlueCE                GlueCEUniqueID                
  WaitingJobs     GlueCE                GlueCEStateWaitingJobs        
  MaxCPUTime      GlueCE                GlueCEPolicyMaxCPUTime 
  ...
  Tag             GlueSubCluster        GlueHostApplicationSoftwareRunTimeEnvironment
  CINT2000        GlueSubCluster        GlueHostBenchmarkSI00         
  OSVersion       GlueSubCluster        GlueHostOperatingSystemVersion
  CFP2000         GlueSubCluster        GlueHostBenchmarkSF00         
  OSRelease       GlueSubCluster        GlueHostOperatingSystemRelease
  ClockSpeed      GlueSubCluster        GlueHostProcessorClockSpeed   
  Memory          GlueSubCluster        GlueHostMainMemoryRAMSize    
  

Для каждого атрибута выводятся: сокращённое имя атрибута (1 колонка), используемое lcg-info, соответствующий класс объекта и имя атрибута в GLUE schema (2-я и 3-я колонка). Эти значения - только подмножество всех возможных значений из GLUE schema, реализованных в LDAP.

Простой запрос

Получить список всех CE из BDII, удовлетворяющих данному условию (TotalCPUs=10) и вывести также заданные атрибуты (RunningJobs,FreeCPUs) для каждого выбранного CE

lcg-info --list-ce --query 'TotalCPUs = 10' --attrs 'RunningJobs,FreeCPUs'

  - CE: dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-cert
    - RunningJobs         0
    - FreeCPUs            10

  - CE: dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-infinite
    - RunningJobs         0
    - FreeCPUs            10

- CE: dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-long
    - RunningJobs         0
    - FreeCPUs            10

- CE: dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-short
    - RunningJobs         0
    - FreeCPUs            10
  

Метки установленного ПО

Одна из наиболее часто используемых возможностей lcg-info - это проверка, какие пакеты программного обеспечения установлены на CE. При установке каждый пакет сохраняет свою "метку" и их можно просмотреть при помощи команды

lcg-info --list-ce --attrs Tag

   CE: trigriden00.unime.it:2119/jobmanager-lcgpbs-short
    - Tag                 LCG-2
                          LCG-2_1_0
                          LCG-2_1_1
                          LCG-2_2_0
                          LCG-2_3_0
                          LCG-2_3_1
                          LCG-2_4_0
                          LCG-2_6_0
                          GLITE-3_0_0
                          R-GMA
                          AFS
                          CMS-1.1.0
                          ATLAS-6.0.4
                          GATE-1.0.0-3
                          LHCb-1.1.1
                          IDL-5.4
                          CMSIM-125
                          ALICE-4.01.00
                          ALIEN-1.32.14
                          POVRAY-3.5
                          DEMTOOLS-1.0
                          CMKIN-VALID
                          CMKIN-1.1.0
                          CMSIM-VALID
                          CSOUND-4.13
                          MPICH
                          VIRGO-1.0
                          CMS-OSCAR-2.4.5
                          LHCb_dbase_common-v3r1
                          GEANT4-6
                          VLC-0.7.2
                          EGEODE-1.0
                          RASTER3D
                          SCILAB-2.6
                          G95-3.5.0
                          MAGIC-6.19
                          CODESA3D-1.0
                          OpenFOAM-1.2
                          CYCAS-3.20
                          MM5-3.7
                          MOLSCRIPT-1.0.2
                          VO-bio-blast

  - CE: win-ce-01.trigrid.it:2119/jobmanager-lcgpbs-infinite
    - Tag                 LCG-2
                          LCG-2_1_0
                          LCG-2_1_1
                          LCG-2_2_0
                          LCG-2_3_0
                          LCG-2_3_1
                          LCG-2_4_0
                          LCG-2_6_0
                          GLITE-3_0_0
  

Следует заметить, что значение каждой "метки" - это строковое значение и поэтому, скажем, проверка номера версии, оформленная, как сравнение числовых значений в этом случае работать не будет

Более сложный пример представлен ниже. Предположим, что вы хотите найти все сайты, на которых установлен пакет MPICH (более подробный рассказ об этом пакете будет далее в практикуме об управлении заданиями), а также мы хотим получить количество доступных процессоров и какое ещё ПО установлено на каждом CE. Также имеет смысл исключить из поиска те CE, которые недоступны для ВО gilda. Такая задача решается командой

lcg-info --vo gilda --list-ce --query 'Tag=MPICH' --attrs 'FreeCPUs,Tag'

Заметим, что список атрибутов для вывода разделяется запятыми и без дополнительных пробелов.

  [...]$ lcg-info --vo gilda --list-ce --query 'Tag=MPICH' --attrs 'FreeCPUs,Tag'
  CE: trigriden00.unime.it:2119/jobmanager-lcgpbs-short
    - FreeCPUs            0
    - Tag                 LCG-2
                          LCG-2_1_0
                          LCG-2_1_1
                          LCG-2_2_0
                          LCG-2_3_0
                          LCG-2_3_1
                          LCG-2_4_0
                          LCG-2_6_0
                          GLITE-3_0_0
                          R-GMA
                          AFS
                          CMS-1.1.0
                          ATLAS-6.0.4
                          GATE-1.0.0-3
                          LHCb-1.1.1
                          IDL-5.4
                          CMSIM-125
                          ALICE-4.01.00
                          ALIEN-1.32.14
                          POVRAY-3.5
                          DEMTOOLS-1.0
                          CMKIN-VALID
                          CMKIN-1.1.0
                          CMSIM-VALID
                          CSOUND-4.13
                          MPICH
                          VIRGO-1.0
                          CMS-OSCAR-2.4.5
                          LHCb_dbase_common-v3r1
                          GEANT4-6
                          VLC-0.7.2
                          EGEODE-1.0
                          RASTER3D
                          SCILAB-2.6
                          G95-3.5.0
                          MAGIC-6.19
                          CODESA3D-1.0
                          OpenFOAM-1.2
                          CYCAS-3.20
                          MM5-3.7
                          MOLSCRIPT-1.0.2
                          VO-bio-blast
  

Получение информации о взаимосвязи CE и SE

В противоположность опции closeSE для команды lcg-infosites, при помощи команды lcg-info можно получить ближайший CE(а точнее - очереди заданий на ближайшем CE), для каждого SE.

lcg-info --vo gilda --list-se -attrs 'AvailableSpace,CloseCE'

  - SE: testbed005.cnaf.infn.it
    - AvailableSpace      27914696
    - CloseCE             grid011f.cnaf.infn.it:2119/jobmanager-lcgpbs-short
                          grid011f.cnaf.infn.it:2119/jobmanager-lcgpbs-long
                          grid011f.cnaf.infn.it:2119/jobmanager-lcgpbs-infinite

  - SE: trigrid-ce01.unime.it
    - AvailableSpace      0
    - CloseCE             trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-short
                          trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-long
                          trigrid-ce00.unime.it:2119/jobmanager-lcgpbs-infinite

  - SE: trigriden01.unime.it
    - AvailableSpace      162318560
    - CloseCE             trigriden00.unime.it:2119/jobmanager-lcgpbs-short
                          trigriden00.unime.it:2119/jobmanager-lcgpbs-long
                          trigriden00.unime.it:2119/jobmanager-lcgpbs-infinite
  [..]
  

Упражнение 5

Используя опцию --bdii можно получить такой же список, но для ВО EUMED

lcg-info --vo eumed --bdii bdii.isabella.grnet.gr:2170 --list-se -attrs 'AvailableSpace,CloseCE'

Интеграция lcg-info с другими командами UNIX через опцию --sed

Этот пример демострирует простейшее использование команды lcg-info вместе с опциями --sed и --quiet. Заметим, что в этом примере опция --sed позволяет обрабатывать и форматировать вывод команды lcg-info при помощи других команд UNIX так же легко, как это позволяет выполнять команда sed. Опция --quiet позволяет избежать появления предупреждений, которые появляются при ошибках обработки и форматирования вывода команды lcg-info. Следующая команда получает список SE, отсортированный по значению атрибута AvailableSpace.

lcg-info --list-se --vo gilda -attrs 'AvailableSpace' --sed | sed s/%/' '/g | awk '{ printf("%s\t%s\n",$2,$1); }' | sort

  0       trigrid-ce01.unime.it
  125820000       grid-se.bio.dist.unige.it
  145320000       tc04.nesc.ed.ac.uk
  162318544       trigriden01.unime.it
  19070944        gn0.hpcc.sztaki.hu
  2370000000      aliserv6.ct.infn.it
  27914692        testbed005.cnaf.infn.it
  28400244        dgt02.ui.savba.sk
  55000000        iceage-se-01.ct.infn.it
  63740000        gilda02.lcca.usp.br
  63800000        egee016.cnaf.infn.it
  898698084       grid005.iucc.ac.il
  

Упражнение 6

Выполните предыдущую команду для ВО EUMED и подсчитайте общий объём доступной памяти.

lcg-info --list-se --vo eumed --bdii bdii.isabella.grnet.gr:2170 --attrs 'AvailableSpace' --sed | sed s/%/' '/g | awk '{ printf("%s\t%s\n",$2,$1); }' | sort -nr | awk 'BEGIN{s=0} { s=s+$1; printf("%s\t%s\n",$2,$1); } END{ printf("\t\t\t------------\n\t\t\t%-12.0f\n",s); }'

  aliserv1.ct.infn.it     15120000000
  grid005.ct.infn.it      2226205440
  se01.isabella.grnet.gr  1858520576
  torik2.ulakbim.gov.tr   1368780628
  mogan.grid.metu.edu.tr  1368778228
  grid02.erciyes.edu.tr   681805936
  se1.cnrst.magrid.ma     643964824
  gridse.roma3.infn.it    613934264
  se.ulakbim.gov.tr       596884916
  grid007g.cnaf.infn.it   574123512
  se01.grid.arn.dz        535770256
  se.esstt.rnu.tn 176385992
  se-eugrid.eri.sci.eg    131430000
  n002.grid.cs.um.edu.mt  34148060
  eymir.grid.metu.edu.tr  6905648
  torik1.ulakbim.gov.tr   6085948
  se01.grid.cynet.ac.cy   5610000
  grid02.cu.edu.tr        4991120
  grim-se.iucc.ac.il      3875884
                    ------------
                          25958201232
  

egee@pnpi.nw.ru

©2004-2010 ПИЯФ РАН им. Б.П.Константинова

СтатистикаСтатистика сайта