Зміст

Інсталяція ARC2

Інсталяція пакетів ARC, конфігурація системи для європейского та локального моніторигу:

Підготовка до інсталяції ARC

Інсталяція ОС

Ця інструкція застосовна до будь-якого дистрибутиву Linux, що базується на RHEL5 або RHEL6 для платформи x86_64 – наприклад, Scientific Linux або CentOS. Рекомендується використовувати Scientific Linux 5.8 [уточнення: остання версія на момент редагування SL6.3]. Для Scientific Linux підтримується дзеркало для пришвидчення мережевих інсталяцій.

  1. Запишіть ISO-образ на CD або DVD.
  2. Завантажте ваш сервер за допомогою записаного диску та вкажіть налаштування мережі.
  3. Вкажіть метод інсталяції HTTP/FTP та місцезнаходження інсталятора http://mirror.imbg.org.ua/pub/linux/scientific/58/x86_64/
  4. Слідуйте вказівкам інсталятора для обрання часового поясу та пароля адміністратора.
  5. Вкажіть тип інсталяції Minimal
  6. Дочекайтесь завершення інсталяції та перезавантажте ваш сервер.
  7. Виконайте первинне оновлення системи за допомогою команди yum update

Інсталяція ЛСКР

Ця інструкція описує налаштування ARC для локальної системи керування ресурсами (ЛСКР) типу PBS. Ви можете сумістити вхідний вузол ARC та PBS-сервер, або ж встановити лише клієнтську частину PBS при застосуванні окремого сервера для планувальника.

SELinux

На жаль, із програмним забезпеченням ARC не поставляється набір відповідних політик SELinux, тому деякі дії програмних засобів ARC можуть бути розцінені цією системою захисту як шкідливі. Для вимикання SELinux необхідно:

  1. Змінити опцію у файлі /etc/selinux/config до вигляду SELINUX=disabled.
  2. Перезавантажити сервер

Синхронізація часу

Оскільки автентифікація у грід-середовищі відбувається за допомогою електронних сертифікатів, що мають чітко визначений термін дії, важливо щоб системний час відповідав астрономічному. Інакше виникнуть проблеми, пов'язані із тим, що дійсні сертифікати не будуть прийматися системою.

Для синхронізації часу використовується протокол Network Time Protocol (NTP). Бажано обрати сервери часу, що знаходяться якнайближче до нашого сервера та мають стабільне мережеве підключення.

В Україні високоточне джерело часу із GPS-приймача надає сервер time.in.ua. Для налаштування синхронізації часу виконайте наступні дії:

  1. Встановіть засоби синхронізації часу: yum install ntp
  2. Виконайте первинну синхронізацію часу: ntpdate -s ntp.time.in.ua ntp2.time.in.ua
  3. Запишіть поточний час у системний таймер: hwclock -w
  4. Увімкніть автозапуск служби синхронізації часу: chkconfig ntpd on
  5. Налаштуйте службу ntpd на синхронізацію із обраними серверами. Для цього змініть директиви server у файлі /etc/ntp.conf на, наприклад, такі:
    server ntp.time.in.ua
    server ntp2.time.in.ua
    server ntp3.time.in.ua
    server ntp.colocall.net
    server ntp2.colocall.net

Інсталяція ARC

Додаткові репозиторії

Extra Packages for Enterprise Linux (EPEL)

Більшість програмного забезпечення грід-інфраструктури використовує бібліотеки та інші засоби, що доступні на Desktop-дистрибутивах, проте не пройшли достатнього тестування щоб бути у складі Enterprise-дистрибутивів. Процес сертифікації таких програмних засобів досить довготривалий, і для тих, кому необхідно скористатись ними зараз на RHEL-подібному дистрибутиві, існує спеціальний репозиторій Extra Packages for Enterprise Linux (EPEL). Його необхідно підключити для продовження інсталяції. Простіше за все це зробити такою командою:

Для SL5

rpm -Uvh  http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm (згідно вказівок http://repository.egi.eu/category/umd_releases/distribution/umd_1/)

Для SL6

rpm -Uvh  http://www.nic.funet.fi/pub/mirrors/fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm

Universal Middleware Distribution (UMD)

Програмне забезпечення проміжного рівня у інфраструктурі EGI консолідовано у загальний репозиторій Universal Middleware Distribution (UMD-2). Він містить сертифіковані версії усіх компонентів програмного забезпечення.

Для вирішення конфліктів у випадку коли один і той самий пакет надається одночасно декількома репозиторіями, необхідно встановити плагін підтримки пріоритетів репозиторіїв:

yum -y install yum-plugin-priorities yum-plugin-protectbase (для дистибутиву Fedora)
yum install yum-priorities yum-protectbase (для Centos, RHEL, Scientific Linux)

До UMD входить програмне забезпечення проекту European Middleware Initiative (EMI) та Initiative for Globus in Europe (IGE), а також довірені кореневі сертифікати центрів сертифікації-членів International Grid Trust Federation (IGTF).

SL5

rpm -Uvh http://repository.egi.eu/sw/production/umd/2/sl5/x86_64/base/umd-release-2.0.0-1.el5.noarch.rpm

SL6

 rpm -Uvh http://repository.egi.eu/sw/production/umd/2/sl6/x86_64/base/umd-release-2.0.0-1.el6.noarch.rpm

EMI 2 Matterhorn

Замість UMD репозиторію можливо використовувати EMI 2 репозиторії та окремо репозиторій для сертифікатів файл для підключення репозиторію:

SL5

rpm -Uvh http://emisoft.web.cern.ch/emisoft/dist/EMI/2/sl5/x86_64/base/emi-release-2.0.0-1.sl5.noarch.rpm

SL6

 rpm -Uvh http://emisoft.web.cern.ch/emisoft/dist/EMI/2/sl6/x86_64/base/emi-release-2.0.0-1.sl6.noarch.rpm

Сертифікати

International Grid Trust Federation (IGTF)

Кореневі сертифікати довірених центрів сертифікації зберігаються у каталозі /etc/grid-security/certificates. Сертифікати усіх довірених центрів встановлюються за допомогою відповідного мета-пакету:

yum install ca-policy-egi-core

Окрім інсталяції власне самих кореневих сертифікатів необхідно забезпечити вчасне оновлення списків відзиву цих центрів сертифікації. Для цього передбачена спеціальна утиліта fetch-crl:

yum install fetch-crl
chkconfig fetch-crl-cron on
service fetch-crl-cron start
fetch-crl

Сертифікат вузла

Сертифікат та відповідний до нього закритий ключ для грід-вузла необхідно самостійно розмістити у каталозі /etc/grid-security. Необхідно пересвідчитись у коректності прав доступу та власника цих файлів. Правильні параметри можна встановити такими командами:

chown 0:0 /etc/grid-security/host{cert,key}.pem
chmod 644 /etc/grid-security/hostcert.pem
chmod 400 /etc/grid-security/hostkey.pem

Інсталяція пакетів ARC

yum install nordugrid-arc-compute-element
yum install nordugrid-arc-information-index
useradd griduser
 vim /etc/hosts: 
xxx.xxx.xx.xxx       xxx.xx.xx.xx
cp /usr/share/arc/examples/arc.conf.template /etc/arc.conf
vim /etc/arc.conf
[root@arc-emi etc]# /etc/init.d/gridftpd start
Starting gridftpd:                                         [  OK  ]
[root@arc-emi etc]# /etc/init.d/grid-infosys start
Starting grid-infosys:                                     [  OK  ]
[root@arc-emi etc]# /etc/init.d/a-rex start
Starting arched:                                           [  OK  ]

Приклад конфігураціоного файлу arc.conf (кластер ІТФ)

Блок [common] відповідає за загальні налаштування грід-сайту

[common] 
hostname="nordug.bitp.kiev.ua" 
lrms="pbs" 
pbs_bin_path="/opt/pbs/default/bin" 
pbs_log_path="/var/spool/pbs/server_logs" 
globus_tcp_port_range="9000,12000" 
globus_udp_port_range="9000,12000" 
x509_user_key="/etc/grid-security/hostkey.pem" 
x509_user_cert="/etc/grid-security/hostcert.pem" 
x509_cert_dir="/etc/grid-security/certificates" 
voms_processing="standard" 
[vo] 
vo="ops" 
file="/etc/grid-security/VOs/grid-mapfile_ops" 
source="vomss://voms.cern.ch:8443/voms/ops?/ops" 
mapped_unixid="griduser" 
x509_cert_dir="/etc/grid-security/certificates" 
[group] 
name="users" 
all="" 

[grid-manager] 
sessiondir="/scratch/grid" 
cachedir="/scratch/cache" 
cachesize="80 70"
cachelifetime="30d" 
user="root" 
debug="5" 
logfile="/var/log/arc/grid-manager.log"
logsize="100000 2" 
pidfile="/var/run/arched-arex.pid" 
gnu_time="/usr/bin/time" 
shared_filesystem="yes" 
mail="gridsupport@bitp.kiev.ua" 
joblog="/var/log/arc/gm-jobs.log" 
maxjobs="10000 15" 
maxloadshare="4 dn" 
wakeupperiod="60" 
securetransfer="no" 
passivetransfer="no"
localtransfer="no" 
authplugin="ACCEPTED 60 /usr/libexec/arc/inputcheck %C/job.%I.description %C/job.%I.proxy" 
authplugin="FINISHED timeout=10,onfailure=pass /usr/libexec/arc/arc-ur-logger %C %I %S %U" 
allowsubmit="griduser" 
tmpdir="/tmp" 
maxrerun="5" 
globus_tcp_port_range="9000,12000" 
globus_udp_port_range="9000,12000"
x509_user_key="/etc/grid-security/hostkey.pem" 
x509_user_cert="/etc/grid-security/hostcert.pem" 
x509_cert_dir="/etc/grid-security/certificates" 
arex_mount_point="https://nordug.bitp.kiev.ua:60000/arex" 
############ 
Обовязкова опція для підключення до моніторингу!
[logger] 
log_all="https://vobox1.bitp.kiev.ua:6143/sgas" 
log_dir=/var/spool/arc/usagerecords/ 
urlogger_loglevel=debug 

[gridftpd] 
user="root" 
debug="5" 
logfile="/var/log/arc/gridftpd.log" 
port="2811" 
encryption="no" 
allowunknown="no" 
maxconnections="200" 
globus_tcp_port_range="9000,12000" 
globus_udp_port_range="9000,12000" 
x509_user_key="/etc/grid-security/hostkey.pem" 
x509_user_cert="/etc/grid-security/hostcert.pem" 
x509_cert_dir="/etc/grid-security/certificates" 
gridmap="/etc/grid-security/grid-mapfile" 
unixmap="griduser:griduser all" 

[gridftpd/filedir] 
plugin="fileplugin.so" 
path="/" 
mount="/scratch/grid" 
dir="/example_data nouser read mkdir *:* 700:700 cd dirlist" 
dir="/ nouser read cd dirlist delete create *:* 666:666 mkdir *:* 777:777" 

[gridftpd/jobs] 
path="/jobs" 
plugin="jobplugin.so" 
groupcfg="users" 
allownew="yes" 
maxjobdesc="5242880" 

[infosys] 
infosys_compat="disable" 
hostname="nordug.bitp.kiev.ua" 
port="2135" 
debug="1" 
slapd_loglevel="0" 
slapd_hostnamebind="*" 
threads="128" 
timelimit="1800" 
idletimeout="1801" 
registrationlog="/var/log/arc/inforegistration.log" 
providerlog="/var/log/arc/infoprovider.log" 
 provider_loglevel="1" 
user="root" 
infosys_debug="enable" 

[infosys/glue12] 
# Example: "Kastrup, Denmark" 
resource_location="Ukraine, Kiev" 
# Example: "55.75000" 
resource_latitude="46" 
# Example: "12.41670" 
resource_longitude="55" 
# Example 2400 
cpu_scaling_reference_si00="100" 
# Example Cores=3,Benchmark=9.8-HEP-SPEC06 
processor_other_description="200" 
# Example http://www.ndgf.org 
glue_site_web="bitp.kiev.ua" 
# Example NDGF-T1 
glue_site_unique_id="UA_BITP_ARC" 

[infosys/site/UA_BITP_ARC] 
url="ldap://nordug.bitp.kiev.ua:2170/mds-vo-name=UA_BITP_ARC,o=grid" 

[infosys/admindomain] 
name="UA_BITP_ARC" 

[cluster] 

cluster_alias="BITP Cluster" 
comment="This cluster is specially designed for BITP" 
cluster_location="UA-03143" 
cluster_owner="BITP" 
authorizedvo="ops" 
clustersupport="gridsupport@bitp.kiev.ua" 
lrmsconfig="Up to 4 jobs per node" 
homogeneity="True" 
architecture="adotf" 
opsys="SL" 
opsys="glibc-2.5.58" 
nodecpu="Intel(R) Xeon(TM) CPU 2.80GHz" 
nodememory="512" 
defaultmemory="512" 
benchmark="SPECFP2000 333" 
middleware="my grid software" 
nodeaccess="inbound" 
nodeaccess="outbound" 
gm_mount_point="/jobs" 
 
[infosys/cluster/registration/lcg] 
# targethostname - see description earlier 
targethostname="lcg.bitp.kiev.ua" 
# targetport - see description earlier 
targetport="2135" 
# targetsuffix - see description earlier 
targetsuffix="mds-vo-name=Ukraine,o=grid" 
# regperiod - see description earlier 
regperiod="300" 
# registranthostname - see description earlier 
registranthostname="nordug.bitp.kiev.ua" 
# registrantport - see description earlier 
registrantport="2135"

[queue/nordu] 
name="nordu" 
fork_job_limit="cpunumber" 
homogeneity="True" 
scheduling_policy="FIFO" 
comment="Special queue for grid jobs" 
nodecpu="adotf" 
architecture="adotf"
cachetime="30" 
timelimit="30" 
sizelimit="5000" 

[vo] 
id="vo_ops" 
vo="ops" 
file="/etc/grid-security/grid-mapfile" 
source="vomss://voms.cern.ch:8443/voms/ops?/ops" 
mapped_unixid="griduser" 

[vo] 
id="vo_bitp" 
vo="bitp" 
file="/etc/grid-security/grid-mapfile" 
source="vomss://voms.bitp.kiev.ua:8443/voms/bitp" 
mapped_unixid="griduser" 

[vo] 
id="vo_bitpedu" 
vo="bitpedu" 
file="/etc/grid-security/grid-mapfile" 
source="vomss://voms.bitp.kiev.ua:8443/voms/bitpedu" 
mapped_unixid="griduser"
less /etc/grid-security/vomses
[root@arc-emi vomsdir]# ll -a
total 20
drwxr-xr-x 2 root root 4096 Mar  5 18:35 .
drwxr-xr-x 6 root root 4096 Mar  5 19:00 ..
-rw-r--r-- 1 root root 1517 Mar  5 18:58 94fbed59.0
--------------------------------------------------
less /etc/vomses
"bitpedu" "voms.bitp.kiev.ua" "8443" "/DC=org/DC=ugrid/O=hosts/O=BITP/OU=High Energy Physics Department/CN=voms.bitp.kiev.ua" "bitpedu"
"bitp" "voms.bitp.kiev.ua" "8443" "/DC=org/DC=ugrid/O=hosts/O=BITP/OU=High Energy Physics Department/CN=voms.bitp.kiev.ua" "bitp"
"uatest" "voms.bitp.kiev.ua" "8443" "/DC=org/DC=ugrid/O=hosts/O=BITP/OU=High Energy Physics Department/CN=voms.bitp.kiev.ua" "uatest"
fetch-crl
nordugridmap

Для цього на сервері в файлі /etc/exports вкажіть строки

/SOFTWARE <you_client_range>(rw,no_root_squash)
/scratch <you_client_range>(rw,no_root_squash)
після цього перезапустить демон 
/etc/init.d/nfs restart

На клієнті у файлі /etc/auto.master

/SOFTWARE        /etc/auto.software
/scratch        /etc/auto.scratch

в файлі

/etc/auto.software
*       -rw,defaults    <ip_you_server>:/software/&
та
 /etc/auto.scratch
*        -rw,defaults    <ip_you_server>:/scratch/&

посля перезапустіть /etc/init.d/autofs або замість цього виконайте команду

mount -t nfs <ip_you_server>:/SOTWARE /SOFTWARE
mount -t nfs <ip_you_server>:/scratch /scratch

Тестування АРК

Для початку тестування встановіть клієнтський пакет Nordugrid ARC на сервер або іншу клієнтську машину

yum install nordugrid-arc-client-tools
ngconfigtest

arcproxy

arctest

arctest -J 3 -d DEBUG

Перевіримо роботу інформаційної системи Nordugrid та glue12:

ldapsearch -x -H ldap://nordug.bitp.kiev.ua:2135 -b 'o=grid'

ldapsearch -x -H ldap://nordug.bitp.kiev.ua:2135 -b 'mds-vo-name=resource,o=grid'

ldapsearch -x -H ldap://nordug.bitp.kiev.ua:2135 -b 'mds-vo-name=UA_BITP_ARC,o=glue'

ldapsearch -x -H ldap://nordug.bitp.kiev.ua:2135 -b 'mds-vo-name=UA_BITP_ARC,o=grid'

Установка та конфігурування BDII

Процес установки системи

yum install bdii-config-site.noarch glite-yaim-bdii.noarch   emi-bdii-site.x86_64 myproxy -y
/root/siteinfo

site-info.def

################################
# Site configuration variables #
################################

# Human-readable name of your site
SITE_NAME=<SITENAME>

# The contact e-mail of your site.
# A coma separated list of email addresses. 
SITE_EMAIL=<Site_email>

# It is the position of your site north or south of the equator 
# measured from -90. to 90. with positive values going north and 
# negative values going south. 
SITE_LAT=50.25 

# It is the position of the site east or west of Greenwich, England 
# measured from -180. to 180. with positive values going east and 
# negative values going west.  
SITE_LONG=30.30

##############################
# CE configuration variables #
##############################

# Hostname of the CE
CE_HOST=<CE_HOST>
CEMON_HOST=<CE_MON_HOST>

############################
# SubCluster configuration #
############################

# Name of the processor model as defined by the vendor 
# for the Worker Nodes in a SubCluster.
CE_CPU_MODEL=Xeon

# Name of the processor vendor 
# for the Worker Nodes in a SubCluster
CE_CPU_VENDOR=intel

# Processor clock speed expressed in MHz 
# for the Worker Nodes in a SubCluster.
CE_CPU_SPEED=3200

# For the following variables please check:
# http://goc.grid.sinica.edu.tw/gocwiki/How_to_publish_the_OS_name
#
# Operating system name used on the Worker Nodes 
# part of the SubCluster.
CE_OS="Scientific Linux"

# Operating system release used on the Worker Nodes
# part of the SubCluster.
CE_OS_RELEASE="5.4"

# Operating system version used on the Worker Nodes
# part of the SubCluster.
CE_OS_VERSION="SL"

# Platform Type of the WN in the SubCluster
# Check: http://goc.grid.sinica.edu.tw/gocwiki/How_to_publish_my_machine_architecture 
CE_OS_ARCH=x86_64

# Total physical memory of a WN in the SubCluster
# expressed in Megabytes.
CE_MINPHYSMEM=4096

# Total virtual memory of a WN in the SubCluster
# expressed in Megabytes.
CE_MINVIRTMEM=8192

# Total number of real CPUs/physical chips in 
# the SubCluster, including the nodes part of the 
# SubCluster that are temporary down or offline. 
CE_PHYSCPU=4

# Total number of cores/hyperthreaded CPUs in 
# the SubCluster, including the nodes part of the 
# SubCluster that are temporary down or offline
CE_LOGCPU=8

# Number of Logical CPUs (cores) of the WN in the 
# SubCluster
CE_SMPSIZE=4

# Performance index of your fabric in SpecInt 2000
CE_SI00=1578

# Performance index of your fabric in SpecFloat 2000
CE_SF00=1848

# Set this variable to either TRUE or FALSE to express 
# the permission for direct outbound connectivity 
# for the WNs in the SubCluster
CE_OUTBOUNDIP=TRUE

# Set this variable to either TRUE or FALSE to express 
# the permission for inbound connectivity 
# for the WNs in the SubCluster
CE_INBOUNDIP=TRUE

# Space separated list of software tags supported by the site
# e.g. CE_RUNTIMEENV="LCG-2 LCG-2_1_0 LCG-2_1_1 LCG-2_2_0 GLITE-3_0_0 GLITE-3_1_0 R-GMA"
CE_RUNTIMEENV="LCG-2 LCG-2_1_0 LCG-2_1_1 LCG-2_2_0 GLITE-3_0_0 GLITE-3_1_0 R-GMA"

# For the following variables, please check more detailed information in:
# https://twiki.cern.ch/twiki/bin/view/LCG/Site-info_configuration_variables#site_info_def
#
# The following values must be defined by the sys admin:
# - CPUScalingReferenceSI00=<referenceCPU-SI00> 
# - Share=<vo-name>:<vo-share> (optional, multiple definitons) 
CE_CAPABILITY="CPUScalingFactorSI00=100"

# The following values must be defined by the sys admin:
# - Cores=value
# - value-HEP-SPEC06 (optional), where value is the CPU power computed
#   using the HEP-SPEC06 benchmark
CE_OTHERDESCR="Cores=100" 


########################################
# Batch server configuration variables #
########################################

# Hostname of the Batch server
# Change this if your batch server is not installed 
# in the same host of the CE
BATCH_SERVER=$CE_HOST

# Jobmanager specific settings. Please, define:
# lcgpbs, lcglfs, lcgsge or lcgcondor
JOB_MANAGER=lcgpbs

# torque, lsf, sge or condor
CE_BATCH_SYS=torque
BATCH_LOG_DIR=/var/spool/pbs
BATCH_VERSION=2.3.0

###############################
# DPM configuration variables #
###############################

# Hostname of the DPM head node 
DPM_HOST=<DPM_HOST>

#############################
#LFC configuration variables#
#############################

LFC_HOST=<LFC_HOST>

########################
# SE general variables #
########################

# Space separated list of SEs hostnames
SE_LIST="$DPM_HOST"


################################
# BDII configuration variables #
################################

# Hostname of the top level BDII
BDII_HOST=<BDII_HOST>

# Hostname of the site BDII
SITE_BDII_HOST=<SITE_BDII_HOST>
/root/siteinfo/services
##############################################################################
# Copyright (c) Members of the EGEE Collaboration. 2004.
# See http://www.eu-egee.org/partners/ for details on the copyright
# holders.  
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS
# OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##############################################################################
#
# NAME :        glite_bdii-site
#
# DESCRIPTION : This file contains the variable list to configure TURBO.
#
# AUTHORS :     Laurence.Field@cern.ch, steve.traylen@cern.ch
#
# NOTES :       -
#
# YAIM MODULE:  glite-yaim-bdii
#                 
##############################################################################

# Site-wide settings

SITE_NAME="UA_BITP_ARC"
SITE_DESC="Ukraine BITP ARC"
SITE_SUPPORT_EMAIL="alitovchenko@bitp.kiev.ua"
SITE_SECURITY_EMAIL="alitovchenko@bitp.kiev.ua"
SITE_LOC="Kiev, Ukraine"
SITE_WEB="http://www.bitp.kiev.ua"

#############################################################################
#The SITE_OTHER_* variables are free form after the SITE_OTHER_ prefix.
# Please see
# http://goc.grid.sinica.edu.tw/gocwiki/How_to_publish_my_site_information
# for more details.
# Note for multiple values a '|' is used as a delimiter
#
# For example:
SITE_OTHER_GRID="WLCG|EGEE"
# Other SITE_OTHER variables:
SITE_OTHER_EGEE_ROC="NGI_UA"
SITE_OTHER_WLCG_TIER="2"
# SITE_OTHER_WLCG_PARENT="RAL-LCG2"

# List of hosts where there are services that want to publish into the BDII
BDII_REGIONS="LOCAL BITPARC"    

# The following example is valid for hosts using BDII.
# If your host is using MDS instead (all 3.0 nodes)
# change the port to 2135 and mds-vo-name=local
#BDII_host-id-1_URL="ldap://host-id-1-hostname:2170/mds-vo-name=resource,o=grid"
BDII_BITPARC_URL="ldap://nordug.bitp.kiev.ua:2135/mds-vo-name=resource,o=grid"
BDII_LOCAL_URL="ldap://localhost:2170/mds-vo-name=resource,o=grid"

Конфігурування системи за допомогою утиліти yaim (детальніше можна дізнатися на сторінці https://twiki.cern.ch/twiki/bin/view/EGEE/YAIM)

/opt/glite/yaim/bin/yaim -c -s /root/siteinfo/site-info.def -n BDII_site

Перевірка конфігурації системи

ldapsearch -x -h nordug.bitp.kiev.ua:2170 -b o=grid
ldapsearch -x -h nordug.bitp.kiev.ua:2170 -b mds-vo-name=local,o=grid

Скрипт

Даний скрипт адаптовано для работи ІТФ кластеру і доступний він тут. Оригінал цього скрипту можна знайти тут або тут. Зміни відносно оригіналу:

18c18
< my $usemode = "ndgf";
---
> my $usemode = "ukraine";
30c30
< if($usemode eq "ndgf") {
---
> if($usemode eq "ukraine") {
34,35c34,35
< } elsif ($usemode eq "imcsul") {
<       $grises{"mon01.grid.lumii.lv-IMCSUL ldap://mon01.grid.lumii.lv:2135/nordugrid-cluster-name=mon01.grid.lumii.lv,Mds-Vo-name=local,o=grid"}=1;
---
> } elsif ($usemode eq "UA_BITP_ARC") {
>       $grises{"nordug.bitp.kiev.ua-UA_BITP_ARC ldap://nordug.bitp.kiev.ua:2135/nordugrid-cluster-name=nordug.bitp.kiev.ua,Mds-Vo-name=local,o=grid"}=1;
39c39
<       $index_urls = "ldap://index1.nordugrid.org:2135/mds-vo-name=nordugrid,o=grid ldap://index2.nordugrid.org:2135/mds-vo-name=nordugrid,o=grid ldap://index3.nordugrid.org:2135/mds-vo-name=nordugrid,o=grid ldap://index4.nordugrid.org:2135/mds-vo-name=nordugrid,o=grid";
---
>       $index_urls = "ldap://lcg.bitp.kiev.ua:2135/mds-vo-name=ukraine,o=grid ldap://giis.grid.org.ua:2135/mds-vo-name=ukraine,o=grid";
45,46c45,47
< my $sitename=uc $usemode;
< $sitename='NDGF-T1' if $sitename eq 'NDGF';
---
> #my $sitename=uc $usemode;
> #$sitename='NDGF-T1' if $sitename eq 'NDGF';
> my $sitename="UA_BITP_ARC";
48,53c49,54
< $pledge{"NDGF-T1.alice"} = 12535;
< $pledge{"NDGF-T1.atlas"} = 13229;
< $pledge{"SE-SNIC-T2.alice"} = 2820;
< $pledge{"SE-SNIC-T2.atlas"} = 5050;
< $pledge{"NO-NORGRID-T2.alice"} = 0;
< $pledge{"NO-NORGRID-T2.atlas"} = 2905;
---
> $pledge{"UA_BITP_ARC.alice"} = 12535;
> #$pledge{"NDGF-T1.atlas"} = 13229;                                                                                                                                                                                                         
> #$pledge{"SE-SNIC-T2.alice"} = 2820;                                                                                                                                                                                                       
> #$pledge{"SE-SNIC-T2.atlas"} = 5050;                                                                                                                                                                                                       
> #$pledge{"NO-NORGRID-T2.alice"} = 0;                                                                                                                                                                                                       
> #$pledge{"NO-NORGRID-T2.atlas"} = 2905;                                                                                                                                                                                                    
272,273c273,274                                                                                                                                                                                                                              
< if(defined $pledge{$sitename . ".atlas"}) {                                                                                                                                                                                                
< $AtlasShare = int(100*$pledge{$sitename . ".atlas"} / $hepspecsum);                                                                                                                                                                        
---                                                                                                                                                                                                                                          
> if(defined $pledge{$sitename . ".alice"}) {                                                                                                                                                                                                
> #$AtlasShare = int(100*$pledge{$sitename . ".atlas"} / $hepspecsum);                                                                                                                                                                       
276c277                                                                                                                                                                                                                                      
< $totalcpus=$pledge{$sitename . ".atlas"};                                                                                                                                                                                                  
---                                                                                                                                                                                                                                          
> $totalcpus=$pledge{$sitename . ".alice"};                                                                                                                                                                                                  
279c280                                                                                                                                                                                                                                      
< $AtlasShare=0;                                                                                                                                                                                                                             
---                                                                                                                                                                                                                                          
> #$AtlasShare=0;                                                                                                                                                                                                                            
342c343                                                                                                                                                                                                                                      
< if ($usemode eq 'nordugrid') {                                                                                                                                                                                                             
---                                                                                                                                                                                                                                          
> if ($usemode eq 'ukraine') {
456c457
< if($usemode eq "nordugrid") {
---
> if($usemode eq "ukraine") {
461,463c462,464
< my $loc = "Kastrup, Denmark";
< my $lat = "55.75000";
< my $long = "12.41670";
---
> my $loc = "Kiev, Ukraine";
> my $lat = "50.339353";
> my $long = "30.480773";
490c491
< GlueSiteWeb: http://www.ndgf.org";
---
> GlueSiteWeb: http://www.bitp.kiev.ua";
626c627
< GlueInformationServiceURL: ldap://bdii.ndgf.org:2170/mds-vo-name=NDGF-T1,o=grid
---
> GlueInformationServiceURL: ldap://nordug.bitp.kiev.ua:2170/mds-vo-name=UA_BITP_ARC,o=grid
661a663,664
> GlueSchemaVersionMajor: 1
> GlueSchemaVersionMinor: 2
713,716c716,719
< if($usemode eq "ndgf") {
<       $GlueSiteUniqueID="NDGF-T1"
< } elsif($usemode eq "imcsul") {
<       $GlueSiteUniqueID="IMCSUL"
---
> if($usemode eq "ukraine") {
>       $GlueSiteUniqueID="UA_BITP_ARC"
> } elsif($usemode eq "ua_bitp_arc") {
>       $GlueSiteUniqueID="UA_BITP_ARC"

Також існуе скрипт де всі модифікації винесені в змінні. Після його модифікации его необхідно покласти в директорію:

/var/lib/bdii/gip/provider

перезапустити bdii-site

/etc/init.d/bdii restart

и провірити результат

tail -f /var/log/bdii/bdii-update.log
ldapsearch -x -H ldap://localhost:2170 -b 'mds-vo-name=resource,o=grid'
ldapsearch -x -h localhost:2170 -b mds-vo-name=<SITE_NAME>,o=grid
ldapsearch -x -h localhost:2170 -b o=grid

Якщо зявляються помилки або проблеми:

ls /tmp/gip/bitp/ndgf/

/usr/sbin/glite-info-static -m UA_BITP_ARC -c /etc/bdii/gip/site-urls.conf -i glue -t glue1
 
/usr/sbin/glite-info-static -m UA_BITP_ARC -c /etc/glite-info-static/site/site.cfg -i glue -t glue1
 
/usr/sbin/glite-info-static -m UA_BITP_ARC -c site.cfg -i glue -t glue1
 
/usr/sbin/glite-info-static -m UA_BITP_ARC  -c /etc/bdii/gip/site-urls.conf
less /etc/bdii/BDII.schema
 less /etc/ldap/schema/Glue-MDS.schema
 less /etc/ldap/schema/Glue-CE.schema

Подключення до європейскої системи моніторингу (APEL Accounting System)

cd /etc/yum.repos.d/
wget http://grid-deployment.web.cern.ch/grid-deployment/glite/repos/3.2/glite-APEL.repo
MYSQL_PASSWORD=
SITE_NAME=
CE_HOST=
APEL_DB_PASSWORD=
MON_HOST=

org.glite.apel.core.ApelException: Unable to setup a database connection: org.gjt.mm.mysql.Driver  В файле /usr/bin/apel-publisher устанавливаем MYSQL_DRIVER_CP значение: 

#MYSQL_DRIVER_CP="/opt/mm-mysql/*:/usr/share/java/mysql-connector-java-3.1.8-bin.jar" 
MYSQL_DRIVER_CP="/usr/share/java/mysql-connector-java.jar" 
Thu Jun  7 10:54:56 UTC 2012: apel-publisher - program aborted
Thu Jun  7 10:54:56 UTC 2012: apel-publisher - Cannot generate any accounting records because no cpu spec value is defined in the SpecRecords table, spec values are added when running the CPUProcessor, check user documentation for more help

Запустить в планировщике задач скрипт glite-apel-publisher, и проверить лог файла.

# protect password: chmod go-r ./site.conf
sitename: UA_BITP_ARC
dns_suffix: bitp.kiev.ua
joburi_prefix: gsiftp://nordug.bitp.kiev.ua:2811/jobs/
queuename: 'nordu@nordug.bitp.kiev.ua'
batchname: clusterui.bitp.kiev.ua
exporter:
 db: DBI:mysql
  args:
    hostname: nordug.bitp.kiev.ua
    port: 3306
    database: accounting
    user: accounting
    password: +++++++
  transaction: 200