Це стара версія документу!
Ця інструкція застосовна до будь-якого дистрибутиву Linux, що базується на RHEL5 для платформи x86_64 – наприклад, Scientific Linux або CentOS. Рекомендується використовувати Scientific Linux 5.8. Для Scientific Linux підтримується дзеркало для пришвидчення мережевих інсталяцій.
http://mirror.imbg.org.ua/pub/linux/scientific/58/x86_64/
yum update
Ця інструкція описує налаштування ARC для локальної системи керування ресурсами (ЛСКР) типу PBS. Ви можете сумістити вхідний вузол ARC та PBS-сервер, або ж встановити лише клієнтську частину PBS при застосуванні окремого сервера для планувальника.
На жаль, із програмним забезпеченням ARC не поставляється набір відповідних політик SELinux, тому деякі дії програмних засобів ARC можуть бути розцінені цією системою захисту як шкідливі. Для вимикання SELinux необхідно:
/etc/selinux/config
до вигляду SELINUX=disabled
.Оскільки автентифікація у грід-середовищі відбувається за допомогою електронних сертифікатів, що мають чітко визначений термін дії, важливо щоб системний час відповідав астрономічному. Інакше виникнуть проблеми, пов'язані із тим, що дійсні сертифікати не будуть прийматися системою.
Для синхронізації часу використовується протокол Network Time Protocol (NTP). Бажано обрати сервери часу, що знаходяться якнайближче до нашого сервера та мають стабільне мережеве підключення.
В Україні високоточне джерело часу із GPS-приймача надає сервер time.in.ua. Для налаштування синхронізації часу виконайте наступні дії:
yum install ntp
ntpdate -s ntp.time.in.ua ntp2.time.in.ua
hwclock -w
chkconfig ntpd on
ntpd
на синхронізацію із обраними серверами. Для цього змініть директиви server
у файлі /etc/ntp.conf
на, наприклад, такі:server ntp.time.in.ua server ntp2.time.in.ua server ntp2.time.in.ua server ntp.colocall.net server ntp2.colocall.net
Більшість програмного забезпечення грід-інфраструктури використовує бібліотеки та інші засоби, що доступні на Desktop-дистрибутивах, проте не пройшли достатнього тестування щоб бути у складі Enterprise-дистрибутивів. Процес сертифікації таких програмних засобів досить довготривалий, і для тих, кому необхідно скористатись ними зараз на RHEL-подібному дистрибутиві, існує спеціальний репозиторій Extra Packages for Enterprise Linux (EPEL). Його необхідно підключити для продовження інсталяції. Простіше за все це зробити такою командою:
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/)
Зверніть увагу, що ставити потрібно репозиторій для архітектури i386.
Програмне забезпечення проміжного рівня у інфраструктурі EGI консолідовано у загальний репозиторій Universal Middleware Distribution (UMD-1). Він містить сертифіковані версії усіх компонентів програмного забезпечення.
Для вирішення конфліктів у випадку коли один і той самий пакет надається одночасно декількома репозиторіями, необхідно встановити плагін підтримки пріоритетів репозиторіїв:
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).
rpm -Uvh http://repository.egi.eu/sw/production/umd/1/sl5/x86_64/updates/umd-release-1.0.2-1.el5.noarch.rpm
Кореневі сертифікати довірених центрів сертифікації зберігаються у каталозі /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
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 ]
[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'
Процес установки системи
yum install bdii-config-site.noarch glite-yaim-bdii.noarch emi-bdii-site.x86_64 myproxy -y
/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
Даний скрипт адаптовано для работи ІТФ кластеру и доступен тут
ftp://nordug.bitp.kiev.ua/pub/glite-info-provider-ndgf.work
Після його модифікации его необхідно покласти в директорію:
/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
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
./examples/gmjobs-metrics-exporter.sh -v -r -l /var/log/gmjobs-metrics-exporter.log -s /var/state/gmjobs-metrics-exporter -u /var/state/gmjobs-metrics-exporter-undo-%d-%t
./gmjobs-metrics-exporter -B -c /opt/gmjobs-metrics-exporter/gmjobs-metrics-exporter.rc/ -l /var/log/gmjobs-metrics-exporter.log -s /var/state/gmjobs-metrics-exporter.state -u /var/state/gmjobs-metrics-exporter/gmjobs-metrics-exporter.undo-%d-%t.sql > /dev/null 2>&1