Информационная система 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 или сервера локального каталога. | |
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-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