1.
2.
3. 3. Основы работы в LCG
3.1 Аутентификация и получение сертификата (Громова)
3.2 Поиск информации об узлах Грид (Громова)
3.3 Хранение данных в Грид (Громова) -- только про имена файлов, без копирования/удаления и
3.1 Аутентификация и получение сертификата
Для использования инфраструктуры Грид пользователю необходимо пройти процесс регистрации после чего все ресурсы Грид становится доступны
Процесс регистрации нового пользователя включает в себя два основных шага:
1. Получение персонального пользовательского сертификата
2. Регистрация в Виртуальной организации
Персональный пользовательский сертификат (Personal Certificate)подтверждающий личность пользователя при доступе к Грид-ресурсам. выдается Центром сертификации (Certification Authority).
Каждая Виртуальная организация (Virtual Organization) имеет свой собственный Центр регистрации и по разработанным ею правилам выдает сертификаты
Последовательность действий получения сертификатов описана здесь : http://ca. grid. *****/RDIG/certificates/obtain. html
1. Для получение нового сертификата RDIG необходимо заполнить анкету :
“Я хочу получить” --> пользовательский сертификат (user certificate)
и нажать нопку "Далее"
2. Загрузить файл сценария (жмем на соответствующую кнопку )
В результате получим script “user_cert-request. sh”
и здесь же распечатать PDF файл “Бумажная форма запроса”
3. Далее для создания запроса на сертификат необходимо запустить ранее
сохраненный файл сценария на вашей локальной машине с User Interface :
ssh *****@***ru (UI)
sh user_cert-request. sh
4. В результате будет создана директория ~/.globus, где должны появиться файлы : usercert. pem, userkey. pem, userreq. mail
Обратите внимание, что файл может называться не «userkey. pem», а, наПример, «userkey.1210.pem» Так происходит, если на момент запуска сценария уже существует ~/.globus/userkey. pem
5. В процессе выполнения user_cert-request. sh выдает :
а) Информацию о вашем закрытом ключе: ~/.globus/userkey. pem
Читаем, жмем [Enter] получаем окончательно сгенерированный закрытый ключПри этом непременно запоминаем (требуемую более 4 символов)
“PEM pass phrase”
Иначе придется получать сертификат заново!
б) После этого сценарий выведет информацию о проделанном:
All done. Your private key is stored in the file
~/.globus/userkey. pem
Now you should send the message, contained in the file
~/.globus/userreq. mail
to
*****@
... You will need you public key modulus:
E248BAF5F2 1E383E741C36B496F7EF19A1A82A77534CA4E914⇒
D45378D25904D012227F90D29B6809CC431AC26FC479EF⇒
6092B9CBF5199DD61A21E5E325C23472E277866F18550BE544A956⇒
7DFDBEB66C05A23E1E350EE02806C6FFCD0B3CAD0⇒
6DC3FB8F2787228DC662C7C1FF4B8669EC 088870E793
Полученный модуль открытого ключа “public key modulus” лучше сохранить сразу, поскольку окно терминала будет закрыто
6. Далее, чтобы получить свой сертификат из центра сертификации RDIG CA, файл "userreq. mail" отсылаем в *****@ :
mail *****@ < userreq. mail
7. Через некоторое время вы получите ответ о том, что ваш запрос принят, а также ваш серийный номер (serial number)
8. Заполняем “Бумажную форму запроса” и передаем Даниле Олейнику (Registration Authority) (ЛИТ (*****@***ru, т.62302)
В строке “Номер запроса“ указываем serial number
В строке “Модуль открытого ключа1” первые и последние 10 знаков полученные на этапе 3 :
You will be mailed back with the serial number of your request. Then
you should completely fill the paper request form and go to your
Registration Authority to complete your request. You will need you
public key modulus:
E248BAF5F2 1E383E741C36B496F7EF19A1A82A77534CA4E914⇒
D45378D25904D012227F90D29B6809CC431AC26FC479EF⇒
6092B9CBF5199DD61A21E5E325C23472E277866F18550BE544A956⇒
7DFDBEB66C05A23E1E350EE02806C6FFCD0B3CAD0⇒
6DC3FB8F2787228DC662C7C1FF4B8669EC 088870E793
После передачи “Бумажной формы запроса” Registration Authority
(Даниле Олейнику) придет уведомление по электронной почте, на адрес, который вы указывали, создавая запрос на получение сертификата.
Далее, при одобрении запроса, в течение трёх рабочих дней выдается сертификат который пересылается по электронной почте
Полученный текст нужно сохранить в ~/.globus/usercert. pem
Если вашего сертификата нет на странице действительных сертификатов http://ca. grid. *****/RDIG/certificates/valid. html
и вам не приходило писем об отклонении вашего запроса — напишите по адресу *****@
9. Проверка сертификата
для проверки полученного сертификата выполняем следующее :
9.1 Запускаем пару команд:
$ openssl x509 - in ~/.globus/usercert. pem -noout - modulus
$ openssl rsa - in ~/.globus/userkey. pem -noout - modulus
Обе команды должны выдать одинаковые результаты. Если это не так,
то либо вы забыли обновить ваш сертификат (файл ~/.globus/usercert. pem),
либо закрытый ключ (файл ~/.globus/userkey. pem).
тест для правильной ключевой пары:
$ openssl x509 - in ~/.globus/usercert. pem -noout - modulus
Modulus=E5C05DFA7BF9827B2068979D5B85444CB8BB13DAFE65432E3⇒
D56191CECB5EA334FEB4DBB5630DCDBC9CB5B6DEC536D78AC3B44DD89⇒
CE9F909FC6B2F671F0EBDED72EA143DF787F0F84⇒
24E1C32E836FC9F5D85AC2CC4E3EB05ECE157F08A23B8C8AE0627B4EF⇒
FC647E6E37585B42474DB1DF80BAA41C39E7
$ openssl rsa - in ~/.globus/userkey. pem -noout - modulus
read RSA key
Enter PEM pass phrase:
Modulus=E5C05DFA7BF9827B2068979D5B85444CB8BB13DAFE65432E3⇒
D56191CECB5EA334FEB4DBB5630DCDBC9CB5B6DEC536D78AC3B44DD89⇒
CE9F909FC6B2F671F0EBDED72EA143DF787F0F84⇒
24E1C32E836FC9F5D85AC2CC4E3EB05ECE157F08A23B8C8AE0627B4EF⇒
FC647E6E37585B42474DB1DF80BAA41C39E7
9.2.Проверка правильности создания proxy-сертификата
$ grid-proxy-init - debug - verify
Правильный вариант работы этой команды выглядит так:
$ grid-proxy-init - debug - verify
User Cert File: /home/user/.globus/usercert. pem
User Key File: /home/user/.globus/userkey. pem
Trusted CA Cert Dir: /etc/grid-security/certificates
Output File: /tmp/x509up_u<несколько цифр (ваш UID)>
Your identity: имя вашего сертификата, начинается с /C=RU/O=RDIG/OU=users/
Enter GRID pass phrase for this identity:
Creating proxy .............++++++++++++
................++++++++++++
Done
Proxy Verify OK
Your proxy is valid until: текущая дата + десяток-два часов.
10. Регистрация в VO
Итак сертификат RDIG получен, но этого недостаточно
Необходимо еще получить сертификат VO. Подробно процедура
описана здесь
http://lcg. web. cern. ch/lcg/Users/registration/registration. html
Порядок действий следующий :
1. Нужно иметь регистрацию на “lxplus. cern. ch” , с “group=atlas” и соответствующей записью в БД CERN. Проверка регистрации здесь
http://graybook. cern. ch/ExperimentSearch. html
Для получения регистрации заполнить и отослать на e-mail Atlas. *****@***ch или на FAX at +
форму
http://atlas. web. cern. ch/Atlas/GROUPS/SOFTWARE/OO/sit/Login/registration_form. html
2. Загрузить свой сертификат в браузер
Для этого сначала нужно получить ваш сертификат в формате PKCS12 командой :
openssl pkcs12 -export - inkey userkey. pem - in usercert. pem - out my_cert. p12 - name "My certificate"
Стартуем браузер (Пример Mozzila Firefox Version3.*) :
start Firefox ---> Edit ---> Preferences ---> Advanced --> Encryption
Находим Certificates ---> View Certificates ---> Servers ---> Import
Для других браузеров процедуру можно найти здесь :
http://lcg. web. cern. ch/lcg/Users/registration/load-cert. html
3. Далее на http://lcg. web. cern. ch/lcg/Users/registration/registration. html
в пункте 5 выбираем “ATLAS” и переходим на страничку регистрации VO ATLAS
https://lcg-voms. cern. ch:8443/vo/atlas/vomrs
Выбираем “candidates” , заполняем, отсылаем, ждем письма от Alessandro De Salvo c уведомлении о включении вас в VO ATLAS в качестве “candidates” и далее следуем указанию изложенному в письме
:
4. По окончанию регистрации заходим на UI (ssh *****) и
проверяем доступ командой $voms-proxy-init –voms atlas
lxpub04:~ > voms-proxy-init - voms atlas
Enter GRID pass phrase:
Your identity: /C=RU/O=RDIG/OU=users/OU=*****/CN=Name Surname
Creating temporary proxy..................................................... Done
Contacting lcg-voms. cern. ch:15001 [/DC=ch/DC=cern/OU=computers/CN=lcg-voms. cern. ch] "atlas" Done
Creating proxy............................................. Done
Your proxy is valid until Wed Oct 22 04:30:08 200
3.2. Поиск информации об узлах Грид
Для получения необходимой информации по различным ресурсам - сайтам СE, SE, данным мониторирования процесса выполнения задания, в gLite 3.1 разработан
Информационный Сервис Information Service (IS) который представлен следующими системами :
1. MDS - Globus Monitoring and Discovery Service : MDS - Globus Monitoring and Discovery Service :
2. Relational Grid Monitoring Architecture (R-GMA)
3. Системамы Мониторинга
3.2.1. Globus Monitoring and Discovery Service
представляет собой централизованную систему, в которой вся информация собирается от краев к центру
Существуют локальные GRISes (GRID Resource Information Server) и глобальные (top-level) BDII (GRID Index Information Server)
На каждом CE и SE запущен GRIS, в котором публикуется информация об имеющихся ресурсах : Local GRIS, который является первым уровнем публикации
информации в MDS и обеспечивает специфическую информацию отдельных серверов
Информация со многих GRIS собирается другими сервисами GIIS (Grig Index Informatin Server)
Роль центральных GIIS обычно выполняет Berkley Database Information Index BDII
Сайт BDII собирает информацию о всех ресурсах представленых на всех GRISes cайтах
Информация, публикуемая в MDS, организована в соответствии с определенными правилами (GLUE Schema) и образует древовидную структуру (Directory Information Tree)
(GLUE=Grid Laboratiry for a Uniform Environment)
MDS основана на использовании протокола OpenLDAP, “open source” реализации протокола (LDAP – Lightweight Directory Access Protocol)
В MDS используются два инструмента высокого уровня :
lcg-infosites и lcg-infosites
Команда lcg-infosites предоставляет пользователю GRID специфическую информацию о ресурсах для VO
Команда lcg-info выдает список СE или SE по заданным атрибутам и условияим
Синтаксис lcg-infosites :
lcg-infosites --vo <vo> <option> - v <verbosity> - f <site> --is <bdii>
где :
-vo <vo> : имя VO
<option> :
-ce: the number of CPUs, running jobs, waiting jobs and CE names
-v 1: only the CE names;
-v 2: the cluster names, the amount of RAM, the operating system name
and version and the processor model;
-se: the names of the SEs supporting the VO,
the type of storage system and the used and available space;
all: the information given by ce and se; together;
-closeSE: the names of the CEs supporting the VO and their close SEs;
-tag: the software tags published by each CE supporting the VO;
-lfc: the hostname of the LFC catalogues available to the VO;
-lfcLocal: the hostname of the local LFC catalogues available to the VO;
-rb: the hostname and port of the RBs available to the VO;
-dli: the Data Location Index servers available to the VO;
-dliLocal: the local Data Location Index servers available to the VO;
-vobox: the VO boxes available to the VO;
-fts: the endpoints of the FTS servers available to the VO;
-sitenames: the names of all WLCG/EGEE sites;
-is <bdii>: the BDII to query ($LCG_GFAL_INFOSYS=lcgbdii. *****:2170)
-f <site>: the information printed to the specified site
Пример: получить информацию об CE VO atlas :
lxpub03:~ > lcg-infosites --vo atlas ce
valor del bdii: lcgbdii. *****:2170
#CPU Free Total Jobs Running Waiting ComputingElement
---
40
ce. ui. savba. sk:2119/jobmanager-pbs-atlas
*****:2119/jobmanager-lcgpbs-atlas
*****:2119/jobmanager-lcgpbs-atlas
lxpub03:~ > lcg-infosites --vo atlas ce | grep jinr
valor del bdii: lcgbdii. *****:2170
*****:2119/jobmanager-lcgpbs-atlas
Пример: получить информацию об SE VO atlas
lxpub03:~ > lcg-infosites --vo atlas se
Avail Space(Kb) Used Space(Kb) Type SEs
--
n. a storm-fe. cr. cnaf. infn. it
n. a 999999 n. a atlasse01.ihep. ac. cn
n. a *****
….
Пример : Host name of LFC the catalogues VO atlas
lxpub03:~ > lcg-infosites --vo atlas lfc
prod-lfc-atlas-central. cern. ch
Пример : список локальных LFC серверов VO atlas
lxpub03:~ > lcg-infosites --vo atlas lfcLocal
lfc. ihep. ac. cn
lcg04.usatlas. bnl. gov
prod-lfc-atlas-local. cern. ch
....
lxpub03:~ > lcg-infosites --vo atlas lfcLocal | grep jinr
*****
Команда lcg-info
(информация берется из BDII определенную через переменную
$LCG_GFAL_ INFOSYS )
Синтаксис:
lcg-info [--list-ce | --list-se] [--query <query>] [--attrs <attrs>]
где:
--list-ce,--list-se
must be used to indicate if CEs or SEs should be listed.
--query
option introduces a filter (conditions to be fulfilled) to the elements of the list
--attrs
option may be used to specify which attributes to print.
Пример : список поддерживаемых attributes в Glue Scheme GRID
lxpub03:~ > 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
CEStatus GlueCE GlueCEStateStatus
CEVOs GlueCE GlueCEAccessControlBaseRule
FreeCPUs GlueCE GlueCEStateFreeCPUs
RunningJobs GlueCE GlueCEStateRunningJobs
MaxWCTime GlueCE GlueCEPolicyMaxWallClockTime
Accesspoint GlueCESEBind GlueCESEBindCEAccesspoint
CloseCE GlueCESEBindGroup GlueCESEBindGroupCEUniqueID
...
Пример : распечатать список всех СЕ отвечающих атрибутам :
сколько выполняется задач RunningJobs на CE c OS=*Scientific* ,
Processor=*Athlon* , и сколько имеетстся свободных CPU = FreeCPUs :
lxpub03:~ > lcg-info --list-ce --query Processor=*thlon*,OS=*Scientific* --attrs 'RunningJobs, FreeCPUs‘
- CE: alice003.nipne. ro:2119/jobmanager-lcgpbs-alice
- RunningJobs 0
- FreeCPUs 2
- CE: alice003.nipne. ro:2119/jobmanager-lcgpbs-dteam
- RunningJobs 0
- FreeCPUs 2
- CE: alice003.nipne. ro:2119/jobmanager-lcgpbs-ops
- RunningJobs 0
- FreeCPUs 2
- CE: ce02.lip. pt:2119/jobmanager-lcgsge-atlasgrid
- RunningJobs 1
– FreeCPUs 48
–
The Local GRIS (Grid Resource Information Service)
$ ldapsearch - x - h <hostname> - p <port> - b "mds-vo-name= ..., o=grid"
where:
- x simple authentication (instead of LDAPs SASL)
- h hostname
- p port (2135 or 2170)
- b “mds-vo-name=local(2135)/resource(2170) “ (GRIS level)
“mds-vo-name=<sitename> “ (site level)
“mds-vo-name=mds-vo-name=<sitename>, mds-vo-name=local “
(top-level BDII)
ldapsearch - x - h <hostname> - p 2135 -b "mds-vo-name=local, o=grid"
ldapsearch - x - h <hostname> - p 2170 -b "mds-vo-name=resource, o=grid"
where:
- x simple authentication (instead of LDAPs SASL)
- h hostname
- p port (= 2135 or 2170)
- b specify the initial entry for the search in the LDAP tree
Using the ldapsearch command to read the MDS:
ldapsearch - x - H <ldap_uri> -b "mds-vo-name=local, o=grid
where:
ldap_uri = ldap://hostname:port
Пример - Interrogating the GRIS on a Computing Element
ldapsearch - x - h lxb2006.cern. ch - p 2135 -b "mds-vo-name=local, o=grid
or:
ldapsearch - x - H ldap://lxb2006.cern. ch:2135 - b "mds-vo-name=local, o=grid"
lxpub03:~ > ldapsearch - x -h ***** - p 2135 - b "mds-vo-name=local, o=grid" | less
version: 2
#
# filter: (objectclass=*)
# requesting: ALL
#
# *****:2119/jobmanager-lcgpbs-alice, local, grid
dn: GlueCEUniqueID=*****:2119/jobmanager-lcgpbs-alice, mds-vo-name=lo cal, o=grid
objectClass: GlueCETop
objectClass: GlueCE
GlueCEHostingCluster: *****
GlueCEName: alice
GlueCEUniqueID: *****:2119/jobmanager-lcgpbs-alice
GlueCEInfoGatekeeperPort: 2119
GlueCEInfoHostName: *****.....
Пример - To test site GIIS :
lxpub03:~ > ldapsearch - x - H ldap://lcgsite. *****:2170 \
-b mds-vo-name=JINR-LCG2, o=grid | less
# extended LDIF
#
# LDAPv3
# base <mds-vo-name=JINR-LCG2,o=grid> with scope sub
# filter: (objectclass=*)
# requesting: ALL
#
....
# *****, *****:2119/jobmanager-lcgpbs-hone, JINR-LCG2, grid
dn: GlueCESEBindSEUniqueID=*****, GlueCESEBindGroupCEUniqueID=
*****:2119/jobmanager-lcgpbs-hone, Mds-Vo-name=JINR-LCG2,o=grid
GlueCESEBindSEUniqueID: *****
GlueCESEBindCEUniqueID: *****:2119/jobmanager-lcgpbs-hone
GlueCESEBindMountInfo: /pnfs/*****/data
# VO-atlas-production-12.0.6, *****, *****, JINR-LCG2, grid
dn: GlueLocationLocalID=VO-atlas-production-12.0.6,GlueSubClusterUniqueID=
*****, GlueClusterUniqueID=*****, Mds-Vo-name=JINR-LCG2,o=grid
GlueLocationLocalID: VO-atlas-production-12.0.6
GlueLocationName: VO-atlas-production-12.0.6
GlueLocationVersion: Prod
GlueLocationPath: $VO_ATLAS_SW_DIR
3.2.2. R-GMA - Relational Grid Monitoring Architecture
Централизованная система, является реализацией предложенной архитектуры GGF (Global GRID Forum) мониторинга GRID
Архитектура основана на разделении субъектов на производители данных, потребители данных и единый Реестр
Данные в ней не собираются на одном сервере, а образуют распределенную базу данных, объединяемую в одно целое Реестром
R-GMA обладает большей гибкостью чем MDS
Существует WEB интерфейс ( браузер) R-GMА, который позволяет пользователю легко ориентироваться по GLUE схеме (Grid Laboratory for a Uniform Environment)https://lcgmon01.gridpp. rl. ac. uk:8443/R-GMA/index. html (????)
3.3. Data Manager System
Storage Element (SE)
-представляет собою сервис, который позволяет пользователям и приложениям хранить и использовать данные.
-Все данные на SE записываюся в формате ReadOnly и не могут быть изменены вплоть до физического уничтожения Т. е. предполагается - один раз записать, много раз читать. Данные записываются на различные типы носителей, которые работают с различными протоколами ( GridFTP, srm, ftp..)
-Различные Виртуальные Организации могут иметь различные правила по квотам
пространства
Types SE
-Classic SE (Disk Server) :
состоит из GridFTP server ( gsiftp) и insecure RFIO daemon дающих доступ к единственному диску или дисковому массиву, не поддерживает SRM
-CASTOR, Mass Storage System MSS :
a tape mass storage system (RFIO) Доступ по GrigFTP и/или rfio, поддерживает SRM
-dCache ( Disk pool manager):
Состоит из dCache сервера и одного/нескольких pool nodes ( машин с дисковыми массивами) Доступ осуществляется по Grig FTP и/или dcap/rfio, поддерживает SRM
-LCG Disk pool manager DPM (Disk Pool):
File transfer - gsiftp, secure RFIO, поддерживает SRM
альтернатива dCache, разработан для LCG , подходит для сайтов с небольшим пространством : до 10 TB (max 10 TB of total space)
Data Channel Protocols Способы доступа к GRID файлам
-GSIFTP (GridFTP) : File Transfer FTP-like
Позволяет размещать/скачивать файлы на/с SE.
Поддерживается всеми типами SE
-gsidcap (GSI dCache Access Protocol) : FILE I/O, Remote file access
-insecure RFIO (Remote File I/O) : FILE I/O, Remote file access
(аутентификация в пределах локальной сети по uid)
-secure RFIO(gsirfio) : FILE I/O, Remote file access
(с аутентификацией по сертификату)
Различные типы SE могут поддерживать один или несколько протоколов
только через API (Application Programming Interface)
Storage Resource Manager (SRM)
сервис, взаимодействующий с локальным SE и обеспечивающий информацию GRID-interface для внешнего мира
SRM разработан как единый интерфейс для управления различными (дисковыми ленточными...) SE, является протоколом управления, но не протоколом доступа
Catalogs Каталоги
-File Catalog
-Replica catalog
-File Authorization Service
-Metadata Catalog
File Transfer
-File Transfer Service
-File Placement Service
File Names in gLite 3.1
В gLite 3.1 используются следующие имена файлов
*Grid Unique IDentifier (GUID):
guid: <36_bytes_unique_string>
обеспечивает уникальность имени файла в GRID
Пример :
guid:38ed3f60-c402-11d7-a6b0-f53ee5a37e1d
*Logical File Name (LFN) or User Alias:
lfn: <any_string>
логическое имя, user alias может использоваться как ссылка на GUID
Пример :
lfn: importantResults/Test1240.dat
или lfn:/grid/<MyVO>/MyDir/MyFile где <MyVO> - имя VO (atlas, cms,...)
*Storage URL (SURL)= Physical File Name (PFN)
(USR - Uniform Resource Locator )
<sfn|srm>://<SE_hostname>/<some_string>
где:
sfn – для файлов расположенных на SEs без SRM interface
Пример :
sfn://<hostname><Accesspoint><VO_path><filename>
sfn://*****/data/atlas/user/petrov/file1
Пример :
srm - для файлов расположенных на SEs имеющих SRM-managed
srm://srm. cern. ch/castor/cern. ch/grid/dteam/doe/file1
*Transport URL (TURL)
<protocol>://<some_string>
представляет собой URI (Uniform Resource Identifier), содержит необходимую информацию для доступа к файлу по протоколу SE
где:
<protocol> протокол SE для доступа к файлам ( GSIFTP, RFIO, gsidcap)
<some_string> формат распознаваемый SE
Пример :
gsiftp://tbed0101.cern. ch/data/dteam/doe/file1


