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

Установка ПО ГридННС

Установка и настройка ПО ГридННС ссотоит из следующих шагов:

  • Установка GT4
  • Установка ПО взаимодействия с ЛМР
  • Установка сертификатов CA
  • Натсройка gridmapfile
  • Настройка GridFTP сервера
  • Настройка контейнера
  • Настройка GRAM

Установка GT4

Установка выполняется на грид-шлюз от пользователя globus. Директория /opt/globus-4.2.1 предполагается существующей, принадлежащей пользователю globus и имеющая режим дуступа 755.

  1. Cоздать файл /etc/profile.d/globus_env.sh с атрибутами доступа 755 с содержимым:
    # Sets and exports Globus variables
    export GLOBUS_LOCATION=/opt/globus-4.2.1
    export GLOBUS_USER='globus'
    export GLOBUS_GROUP='globus'
    export GLOBUS_TCP_PORT_RANGE=20000,25000
    . ${GLOBUS_LOCATION}/etc/globus-user-env.sh
  2. Скачать исходники Globus Toolkit 4:
    wget -c http://www.globus.org/ftppub/gt4/4.2.1/installers/src/gt4.2.1-all-source-installer.tar.gz 
  3. Распаковать(предполагается наличие не менее 2Gb свободного дискового пространства):
    tar xfz  gt4.2.1-all-source-installer.tar.gz
  4. Выполнить конфигурирование и сборку(может занять несколько часов на физической машине, сутки на виртуальной):
    . /etc/profile.d/globus_env.sh
    cd  gt4.2.1-all-source-installer
    ./configure --prefix=$GLOBUS_LOCATION
    make wsrft wsgram wsmds gt4-java-admin gridftp
    make install
  5. Если грид-шлюз устанавливается на главной ноде кластера возможна сразу установка поддержки PBS при указании ./configure опции –enable-wsgram-pbs. В противном случае модуль поддержки конкретной ЛМР устанавливается отдельно.

Установка поддержки ЛМР

Fork

Установка и настройка Fork производится автоматически при установке компоненты WSGRAM Globus Toolkit 4. Дополнительных шагов для настройки этого сервиса не требуется. При необходимости Fork можно впоследствии отключить.

PBS/Torque

В случае использования ЛМР PBS и установки стыка на центральный узел кластера возможно использовать стык с PBS входящий в состав Globus Toolkit 4. Для этого необходимо при сборке Globut Toolkit 4 указать configure дополнительную опцию –enable-wsgram-pbs.

В случае установки грид-шлюза на отделённую от главного узла кластера машину до установки стыка с PBS необходимо установить dummy утилиты для PBS и добавить в глобальную переменную PATH пути к ним. Кроме того в этом случае стоит использовать специализированный модуль разработанный в рамках проекта ГридННС https://svn.ngrid.ru/lrm-pbs-remote. Для pbs-remote:

svn co https://svn.ngrid.ru/lrm-pbs-remote
cd lrm-pbs-remote/trunk
cd globus_gram_job_manager_setup_pbs
./bootstrap
./configure
make install
cd ../globus_scheduler_event_generator_pbs
./bootstrap
./configure --with-flavor=<flavor>
make install
cd ../globus_scheduler_event_generator_pbs-setup
./bootstrap
./configure
make install
cd ../globus_scheduler_provider_setup_pbs
./bootstrap
./configure
make install
cd ../globus_wsrf_gram_service_java_setup_pbs
./bootstrap
./configure
make install

Cleo

В случае использования ЛМР Cleo стоит использовать специализированные модули разработанный в рамках проекта ГридННС по адресам https://svn.ngrid.ru/lrm-cleo. В случае установки грид-шлюза на отделённую от главного узла кластера машину до установки стыка с Cleo необходимо установить dummy утилиты для Cleo и добавить в глобальную переменную PATH пути к ним. Для cleo:

svn co https://svn.ngrid.ru/lrm-cleo
cd lrm-cleo/trunk
cd globus_gram_job_manager_setup_cleo
./bootstrap
./configure
make install
cd ../globus_scheduler_event_generator_cleo
./bootstrap
./configure --with-flavor=<flavor>
make install
cd ../globus_scheduler_event_generator_cleo_setup
./bootstrap
./configure
make install
cd ../globus_scheduler_provider_setup_cleo
./bootstrap
./configure
make install
cd ../globus_wsrf_gram_service_java_setup_cleo
./bootstrap
./configure
make install

Выполнить запуск скриптов конфигурирующих ЛМР(например для cleo): setup-globus-job-manager-cleo.pl, setup-seg-cleo.pl, setup-globus-scheduler-provider-cleo.

Slurm

В случае использования ЛМР Cleo стоит использовать специализированные модули разработанный в рамках проекта ГридННС по адресам https://svn.ngrid.ru/lrm-slurm.

svn co https://svn.ngrid.ru/lrm-slurm/
cd lrm-slurm/trunk
for i in globus*slurm*.pch
do
  patch -p0 < $i;
done
(cd globus_gram_job_manager_setup_slurm; \
 ./bootstrap; \
 ./configure; \
  make; \
  make install)

(cd globus_scheduler_event_generator_slurm; \
 ./bootstrap; \
 ./configure --with-flavor=<flavor>; \
  make; \
  make install)

(cd globus_scheduler_event_generator_slurm_setup; \
 ./bootstrap; \
 ./configure; \
  make; \
  make install)

(cd globus_scheduler_provider_setup_slurm; \
 ./bootstrap; \
 ./configure; \
  make; \
  make install)

(cd globus_wsrf_gram_service_java_setup_slurm; \
  make install)
  
patch -p0 < slurmsegfake.pch
(cd addon; sh install.sh)

Установка сертификатов CA

Настройка gridmap

Gridmap файл необходим для отображения пользователей ГридННС в учётные записи ЛМР. Для создания gridmap файла можно использовать утилиту ngrid-mkgridmap. Её запуск приводит к созданию файла /etc/grid-security/gridmap, который определяет как производится отображение всех пользователей ВО в одну учётную запись на РЦ. При этом все пользователи данной ВО отображаются в одну локальную запись на РЦ. При необходимости gridmap надо отредактировать согласно локальной политики РЦ.

Пакет ngrid-mkgridmap можно установить через yum (рекомендуется)

wget -O /etc/yum.repos.d/ngrid.repo http://koji.ngrid.ru/ngrid.repo
yum install ngrid-mkgridmap
vim /etc/ngrid-mkgridmap.conf

Возможна ручная установка

rpm -ivh http://koji.ngrid.ru/dist-el5/i386/ngrid-mkgridmap-0.1-1.el5.noarch.rpm
vim /etc/ngrid-mkgridmap.conf

В зависимости от локальной политики РЦ необходимо внести изменения в конфигурационный файл. Допустимы следующие настройки:

  1. Список VO, а так же пользователей, которые для них используются.
  2. Создать или отредактировать при необходимости grid-mapfile-local.
  3. Закомментировать или удалить строчку disabled

Для перегенерации grid-mapfile можно запустить руками команду

ngrid-mkgridmap /etc/ngrid-mkgridmap.conf /etc/grid-security/grid-mapfile

Возможные сообщения об ошибках:

Failed to fetch vomss://... (HTTP Error 500: Internal Server Error)

- менеджер ВО не настроил свою ВО согласно рекомендациям. Пользователи из этой ВО не попадут в ваш grid-mapfile. Можно игнорировать.

Настройка GridFTP

Для настройки GridFTP необходимо создать из под root файл /etc/xinet.d/gridftp с атрибутами доступа 644 и содержимым:

service gsiftp
{
instances               = 100
per_source              = UNLIMITED
socket_type             = stream
wait                    = no
user                    = root
env                     += GLOBUS_LOCATION=/opt/globus-4.2.1
env                     += LD_LIBRARY_PATH=/opt/globus-4.2.1/lib
env                     += GLOBUS_TCP_PORT_RANGE=20000,25000
server                  = /opt/globus-4.2.1/sbin/globus-gridftp-server
server_args             = -i -L /var/log/gridftp/ -d error,warn,info
log_on_success          += DURATION
disable                 = no
}  

Демон xinetd должен быть перезапущен.

Настройки возможно изменить в соответствии с потребностями РЦ, однако:

  1. рекомендуется установить per_source в достаточно высокое значение (например UNLIMITED на этапе тестирования). В противном случае при высокой загрузке сайта и/или большом количестве пересылаемых заданием файлов, задания не будут исполнятся в связи с ошибкой передачи данных.
  2. необходимо использовать стандартный для ГридННС диапазон портов 20000-25000.

Настройка контейнера

Из под root выполнить команды:

cd /etc/grid-security
cp hostcert.pem containercert.pem
cp hostkey.pem containerkey.pem
chown globus.globus container*

Создать файл /etc/init.d/globus-ws с атрибутами 755 следующего содержания:

#!sh
#!/bin/bash
#
# Globus WS Container service
#
# chkconfig: - 99 1
# description: Globus WS Container
# processname: java
# pidfile: /var/run/globus-ws.pid

. /etc/rc.d/init.d/functions
. /etc/profile.d/globus.sh

container_cmd=$GLOBUS_LOCATION/etc/init.d/globus-ws-java-container
orig_pidfile=$GLOBUS_LOCATION/var/container.pid
pidfile=/var/run/globus-ws.pid
lockfile=/var/lock/subsys/globus-ws

start() {
  echo -n $"Starting globus-ws: "
  daemon --user $GLOBUS_USER --pidfile $orig_pidfile "$container_cmd start > /dev/null"
  RETVAL=$?
  [ $RETVAL -eq 0 ] && cp -f $orig_pidfile $pidfile
  [ $RETVAL -eq 0 ] && touch $lockfile
  echo
  return $RETVAL
} 

stop() {
  echo -n $"Shutting down globus-ws: "
  runuser -s /bin/bash - $GLOBUS_USER -c "$container_cmd stop > /dev/null"
  RETVAL=$?
  [ $RETVAL -eq 0 ] && success
  [ $RETVAL -eq 0 ] && rm -f $pidfile
  [ $RETVAL -eq 0 ] && rm -f $lockfile
  echo
  return $RETVAL
}

rhstatus() {
  status -p $pidfile java
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    rhstatus
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
    exit 2
esac

exit $?

Произвести настройку его запуска по умолчанию на runlevel 3,4,5

chkconfig --add globus-ws
chkconfig --level 345 globus-ws on

В ручную контейнер запускается командой:

service globus-ws start

Настройка GRAM

Выполнить из под root команду visudo и добавить следующие строки:

Runas_Alias GLOBUSUSERS = ALL, !root;
globus ALL=(GLOBUSUSERS) NOPASSWD: /opt/globus-4.2.1/libexec/globus-gridmap-and-execute \
-g /etc/grid-security/grid-mapfile /opt/globus-4.2.1/libexec/globus-job-manager-script.pl *
globus ALL=(GLOBUSUSERS) NOPASSWD: /opt/globus-4.2.1/libexec/globus-gridmap-and-execute \
-g /etc/grid-security/grid-mapfile /opt/globus-4.2.1/libexec/globus-gram-local-proxy-tool *

Закоментировать строку:

Defaults    requiretty
support/rc/inst_middleware.txt · Last modified: 13/11/2010 13:49 by nekrasova 
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