GridNNN
 Главная  Инфраструктура  Первые шаги  ПОИ  Поддержка  Для разработчиков  

Настройка ЛИС

Для настройке локальной информационной системы (ЛИС) необходимо выполнить следующие шаги:

  • Базовая настройка ЛИС
  • Публикация информации о поддерживаемых ВО
  • Публикация информации о предустановленном прикладном ПО
  • Завершение настройки ЛИС

Базовая настройка ЛИС

Данный раздел описывает настройку регистрационной информации о РЦ, кластере и сервисе GrifFTP.

Скачайте архив lis-07.10.10.tgz на грид-шлюз. Этот архив содержит следующие файлы:

README
/site-info
   cat-site-info.sh
   site-info-example-gt3.xml
   site-info-example-with-comment.xml
/gridftp-check
   gridftp-check-example.cfg
   gridftp-check-example.xml
   gridftp-check.pl
   jndi-config-example.xml
/example
   jndi-config-example.xml
   system-registration-example.xml
/scripts
   globus-servicegroup-add
   globus-start
   mds-servicegroup-add
/schema/
   glueschema13R2-7.xsd

Создайте каталог $GLOBUS_LOCATION/etc/nng-site. В нем надо создать файл site-info.xml из образца site-info/site-info-example.xml и внести необходимую информацию о своем сайте.

Пример этого файла с комментариями ко всем полям тут site-info-template.

После создания своего site-info.xml желательно проверить валидность полученного документа, например, так:

$ xmlstarlet val --err -s http://ngrid.ru/glueschema/V13/R1/glueschema13R2-7.xsd  site-info.xml

*/ Обратите внимание, что многие составных элементы определены в схеме с моделью <sequence>, что требует заданной упорядоченности элементов.

Валидация по схеме дает проверку на отсутствие формальных ошибок, за правильность предоставляемых данных (содержательной информации) отвечает администратор сайта.

Перенести исполняемые скрипты для чтения статической инфо из файла и опроса gridftp-сервера.

$ cp lis/site-info/cat-site-info.sh $GLOBUS_LOCATION/libexec/aggrexec/
$ cp lis/gridftp-check/gridftp-check.pl $GLOBUS_LOCATION/libexec/aggrexec/
$ cp lis/gridftp-check/gridftp-check-example.cfg $GLOBUS_LOCATION/etc/nng-site/gridftp-check.cfg

Отредактировать gridftp-check.cfg под свой сайт. Параметр gridFTPnamespace менять НЕЛЬЗЯ, он задает пространство имен, общее для нашего грида.

Определить алиасы скриптов в файле $GLOBUS_LOCATION/etc/globus_wsrf_mds_index/jndi-config.xml:

<resource name="configuration"
                 type="org.globus.mds.aggregator.impl.AggregatorConfiguration">
          <resourceParams>
....
            <parameter>
                <name>executableMappings</name>
                <value>gridftp-info=gridftp-check.pl,site-info=cat-site-info.sh</value>
             </parameter>
          </resourceParams>
</resource>

В параметре “aggregatorSources” должен быть указан тип org.globus.mds.aggregator.impl.ExecutionAggregatorSource он включается при инсталляции по умолчанию, однако, не помешает убедиться в его присутствии. (пример: /example/jndi-config-example.xml)

Создать конфигурационный файл агрегатора.

$ cp lis/example/system-registration-example.xml \
  $GLOBUS_LOCATION/etc/globus_wsrf_mds_index/default_providers/system-registration.xml

Изменить на свои адреса хостов и полный путь к файлу с site-info.xml:

  <defaultServiceGroupEPR>
     <wsa:Address>https://gt3.phys.spbu.ru:8443/wsrf/services/DefaultIndexService</wsa:Address>
  </defaultServiceGroupEPR>
  ....
  <RegistrantEPR>
     <wsa:Address>file:///usr/local/globus-4.2.1.1/etc/nng-site/site-info.xml</wsa:Address>
  </RegistrantEPR>
  ....
  <RegistrantEPR
  ....
        <wsa:Address>gsiftp://gt3.phys.spbu.ru:2811</wsa:Address>
   </RegistrantEPR>

Здесь defaultServiceGroupEPR - адрес локального MDS, в которой регистрируется агрегатор.

Примечаине. Для одного регистранта параметры RefreshIntervalSecs и PollIntervalMillis должны определять один и тот же временной интервал. На время отладки можно оба поставить небольшими, потом для site-info имеет смысл увеличить.

Публикация информации о поддерживаемых ВО

Ручная настройка ВО (рекомендуется)

При создании файла site-info.xml по шаблону с комментариями следует обратить внимание на правильность и полноту публикации о поддерживаемых сайтом VO - во всех блоках <Subcluster> необходимо добавить блоки описания очередей. В настоящее время все сайты обязательно должны поддерживать виртуальные организации sysadmin, gridnnn. Следующий пример показывает как насторить ИС сайта, чтобы сайт поддерживал ВО sysadmin, gridnnn, abinit, nanospace.

	<!--
	   Описание очередей, ассоциированных с субкластером. 
           Число блоков <Queue> должно соответствовать числу очередей, имеющихся на данном субкластере.
           Каждый блок включает элемент <CEInfo> ( формат:  hostname_CE/queue_name )
           и блок <ACL> c набором правил доступа к данной очереди.
           Синтаксис правил <Rule>:
		VOMS:/nnn-vo-1 - доступ к очереди имееют все члены VO nnn-vo-1
		VOMS:/nnn-vo-1/groupX - доступ к очереди имееют все члены группы groupX из VO nnn-vo-1
	        VOMS:/nnn-vo-1/Role=sys:admin - доступ к очереди имееют члены VO nnn-vo-1, c такой-то ролью
	     Один элемент <Rule> должен содержать ОДНО правило.
             Число элементов <Rule> не ограничено.
             Если в блоке <ACL> указано правило X , то правила вида X/Y писать в том же блоке уже не нужно.
	-->
          <ng:Queue>
              <ng:CEInfo>your.host.name/batch-A</ng:CEInfo>
              <ng:ACL>
                  <ng:Rule>VOMS:/sysadmin</ng:Rule>
                  <ng:Rule>VOMS:/gridnnn</ng:Rule>
                  <ng:Rule>VOMS:/abinit</ng:Rule>
                  <ng:Rule>VOMS:/nanospace</ng:Rule>
              </ng:ACL>
          </ng:Queue>

Автоматическа настройка ВО

Внимание! Автоматическая настройка с использованием утилиты ngrid-vomstool имеет ограниченные возможности. При настройке с помощью этой утилиты доступ ко всем очередям ЛМР будет у всех ВО, поддерживаемых на сайте. Если нужна более тонкая настройка очередей, то необходимо дополнительно исправить site-info.xml после работы утилиты ngrid-vomstool или использовать ручную настройку, как это было описано выше.

Для использования утилиты ngrid-vomstool сначала выполните шаги по установке и настройке утилиты ngrid-mkgridmap (раздел “Настройка gridmap”), если вы не сделали этого ранее, после чего выполните команду:

su -c "yum install ngrid-vomstool"

После этого для того, чтобы синхронизовать список ВО из ngrid-mkgridmap.conf со списком ВО в site-info.xml достаточно выполнить команду:

ngrid-vomstool /etc/ngrid-mkgridmap.conf ..../site-info.xml

Перед вызовом этой утилиты необходимо убедиться, что информация о всех очередях (возможно, без информации о доступе) присутствует в site-info.xml.

Публикация информации о установленном ПО

Необходимый минимум публикуемой информации включает следующее: LocalID, Name, Version и блок <ACL>. Настройка выполняется на основе шаблона:

<ng:Software>
      <!--Локальный ID поиска. Формат:  Name-Version, где Name и версия пакета как в следующих строках. -->
         <ng:LocalID></ng:LocalID>
      <!-- Название пакета-->
          <ng:Name></ng:Name>
      <!-- Версия пакета -->
           <ng:Version></ng:Version>

	<!-- Draft. 
             !!!Формат трех следующих параметров пока в разработке, для публикации они пока не обязательны 
       	     Путь к каталогу, где инсталлирован пакет
                <ng:InstalledRoot></ng:InstalledRoot>
             Имя исполняемого модуля
                <ng:ModuleName></ng:ModuleName>
             Установка специфического окружения для данного software. 
             (Приведен пример со значениями для GRAM c включенной поддержкой Softenv) 
                <ng:EnvironmentSetup>
                   <ng:ExtensionType>softenv</ng:ExtensionType>
                   <ng:ExtensionValue>+mpich2</ng:ExtensionValue>
                </ng:EnvironmentSetup>
	-->
	<!--
	  Блок <ACL> c набором правил доступа к данному ПО.
          Синтаксис правил <Rule>: см комментарий к описанию <Queue>
	-->
	   <ng:ACL>
             <ng:Rule></ng:Rule>
	   </ng:ACL>
</ng:Software>

Далее пример публикации о пакете mpich2 для VO gridnnn:

<ng:Software>
         <ng:LocalID>mpich2-1.2.1p1</ng:LocalID>
         <ng:Name>mpich2</ng:Name>
         <ng:Version>1.2.1p1</ng:Version>
	 <ng:ACL>
             <ng:Rule>VOMS:/gridnnn</ng:Rule>
	 </ng:ACL>
</ng:Software>

Завершение настройки

  1. В файл $GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsdd добавить в секцию <globalConfiguration> строки
    <parameter name="logicalHost" value="your.host.name"/>
    <parameter name="publishHostName" value="true"/>
  2. Заменить оригинальную утилиту $GLOBUS_LOCATION/bin/mds-servicegroup-add версией из архива lis-07.10.10.tgz.
  3. Установить стартовые скрипты. В каталоге scripts находится два стартовых скрипта, которые можно запускать от рута (выполняют команды с su - globus):
    globus-servicegroup-add (для агрегатора инфо о SITE и GrifFTP)
    globus-start (используется для Globus-контейнера, делает su - вызов оригинальной globus-ws-java-container )


    Их следует cкопировать в /etc/init.d и сделать соответствующие ссылки из /etc/rc3.d
    Внимание! В скриптах globus-start и globus-servicegroup-add нужно установить свои значения параметров $GLOBUS_USER и $GLOBUS_LOCATION

  4. Стартовать агрегатор:
    /etc/init.d/ globus-servicegroup-add start
  5. Проверить, что ЛИС выдает информацию
  • получить все содержимое:
    wsrf-query -s https://your-mds-host:8443/wsrf/services/DefaultIndexService
  • получить информацию о локальных менеджерах ресурсов (очередях):
    wsrf-query -s https://your-host-name:8443/wsrf/services/DefaultIndexService \
     "//*[local-name()='GLUECE']"
  • статическая информация о сайте и конфигурации кластера:
    wsrf-query -s https://your-mds-host:8443/wsrf/services/DefaultIndexService \
     "//*[local-name()='Site']"
  • данные о GridFTP:
    wsrf-query -s https://your-mds-host:8443/wsrf/services/DefaultIndexService \
     "//*/ngftp:Service[ngftp:Type='gridftp']"
support/rc/inst_lis.txt · Last modified: 31/01/2011 15:48 by stepanova 
Show pagesource Old revisions BacklinksODT Export
Sitemap Back to top
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki