Tags:
, view all tags

IGI (based on EMI) Installation and Configuration

Installation

OS installation

Install SL5 using SL5.X repository (CERN mirror) or one of the supported OS (RHEL5 clones).

You may find information on official OS repositories at Repositories for APT and YUM
If you want to set up a local installation server please refer to Mrepo Quick Guide

NOTE: Please check if NTP , cron and logrotate are installed, otherwise install them!

Check the FQDN hostname

Ensure that the hostnames of your machines are correctly set. Run the command:

 hostname -f

It should print the fully qualified domain name (e.g. prod-ce.mydomain.it). Correct your network configuration if it prints only the hostname without the domain. If you are installing WN on private network the command must return the external FQDN for the CE and the SE (e.g. prod-ce.mydomain.it) and the internal FQDN for the WNs (e.g. node001.myintdomain).

Repository Settings

To have more details to the repository have a look to the this link Repository Specifications

If not present by default on your SL5/x86_64 nodes, you should enable the EPEL repository (https://fedoraproject.org/wiki/EPEL)

EPEL has an epel-release package that includes the gpg key used for package signing and other repository information, like the .repo files. Installing this package, http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm, should allow you to use normal tools such as yum to install packages and their dependencies. By default the stable EPEL repo is enabled. Example of epel.repo file:

[extras]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
protect=0

IMPORTANT NOTE:

  • If present remember to disable the dag.repo if it is enabled.

You need to have enabled only the following repositories (Operating System, EPEL, Certification Authority, EMI):

Common repositories *x86_64*
epel.repo
emi.repo
(emi1-base.repo emi1-third-party.repo emi1-updates.repo)
egi-trustanchors.repo

It is strongly recommended the use of the lastest version of the emi-release package containing the EMI public key and the yum .repo files, that ensures the precedence of EMI repositories over EPEL:

# yum install yum-priorities yum-protectbase
# rpm -ivh http://repo-pd.italiangrid.it/mrepo/EMI/1/sl5/x86_64/updates/emi-release-1.0.1-1.sl5.noarch.rpm

Generic Configuration

Configuration files

IGI YAIM configuration files

YAIM configuration files should be stored in a directory structure. All the involved files HAVE to be under the same folder <confdir>, in a safe place, which is not world readable. This directory should contain:

File Scope Example Details
<your-site-info.def> whole-site ig-site-info.def List of configuration variables in the format of key-value pairs.
It's a mandatory file.
It's a parameter passed to the ig_yaim command.
IMPORTANT: You should always check if your <your-site-info.def> is up-to-date comparing with the last /opt/glite/yaim/examples/siteinfo/ig-site-info.def template deployed with ig-yaim and get the differences you find.
For example you may use vimdiff:
vimdiff /opt/glite/yaim/examples/siteinfo/ig-site-info.def <confdir>/<your-site-info.def>
<your-wn-list.conf> whole-site - Worker nodes list in the format of hostname.domainname per row.
It's a mandatory file.
It's defined by WN_LIST variable in <your-site-info.def>.
<your-users.conf> whole-site ig-users.conf Pool account user mapping.
It's a mandatory file.
It's defined by USERS_CONF variable in <your-site-info.def>.
IMPORTANT: You may create <your-users.conf> starting from the /opt/glite/yaim/examples/ig-users.conf template deployed with ig-yaim, but probably you have to fill it on the base of your site policy on uids/guis. We suggest to proceed as explained here: ”<a href="http://igrelease.forge.cnaf.infn.it/doku.php?id=doc:use_cases:users" title="doc:use_cases:users">Whole site: How to create local users.conf and configure users</a>”.
<your-groups.conf> whole-site ig-groups.conf VOMS group mapping.
It's a mandatory file.
It's defined by GROUPS_CONF variable in <your-site-info.def>.
IMPORTANT: You may create <your-groups.conf> starting from the /opt/glite/yaim/examples/ig-groups.conf template deployed with ig-yaim.

Additional files

Furthermore the configuration folder can contain:

Directory Scope Details
services/ service-specific It contains a file per nodetype with the name format: ig-node-type.
The file contains a list of configuration variables specific to that nodetype.
Each yaim module distributes a configuration file in /opt/glite/yaim/examples/siteinfo/services/[ig or glite]-node-type.
It's a mandatory directory if required by the profile and you should copy it under the same directory where <your-site-info.def> is.
   
nodes/ host-specific It contains a file per host with the name format: hostname.domainname.
The file contains host specific variables that are different from one host to another in a certain site.
It's an optional directory.
vo.d/ VO-specific It contains a file per VO with the name format: vo_name, but most of VO settings are still placed in ig-site-info.def template. For example, for ”lights.infn.it”:
# cat vo.d/lights.infn.it
SW_DIR=$VO_SW_DIR/lights
DEFAULT_SE=$SE_HOST
VOMS_SERVERS="vomss://voms2.cnaf.infn.it:8443/voms/lights.infn.it?/lights.infn.it"
VOMSES="lights.infn.it voms2.cnaf.infn.it 15013 /C=IT/O=INFN/OU=Host/L=CNAF/CN=voms2.cnaf.infn.it lights.infn.it"

It's an optional directory for “normal” VOs (like atlas, alice, babar), mandatory only for “fqdn-like” VOs. In case you support such VOs you should copy the structure vo.d/<vo.specific.file> under the same directory where <your-site-info.def> is.

group.d/ VO-specific It contains a file per VO with the name format: groups-<vo_name>.conf.
The file contains VO specific groups and it replaces the former <your-groups.conf> file where all the VO groups were specified all together.
It's an optional directory.

The optional folders are created to allow system administrators to organise their configurations in a more structured way.”

BDII Site installation and Configuration

Have a look to the section Repository Settings of this documentation and ensure to have the common .repo files.
Before starting the installation procedure remember to clean all yum cache and headers:

yum clean all

CAs installation:

  • Install CAs on ALL profiles:
yum install ca-policy-egi-core

Service installation

  • Install the BDII_site metapackage, containing all packages needed by this service:
# yum install emi-bdii-site 

  • It's strongly recommended to install this openldap2.4 server to avoid frequent bdii crashes:
# yum install openldap2.4-servers

Service Configuration

To proper configure the BDII site profile you have to customize this file with you site parameter:

If you would like to cutomize the BDII_site service you can modify the variables in the service-specific file in the services/ directory. You will find an example in:

/opt/glite/yaim/examples/siteinfo/services/glite-bdii_site

* Remember to add the following variables to your site-info.def yaim configuration file and re-run yaim if you installed the openldap2.4-servers as recommended.

SLAPD=/usr/sbin/slapd2.4

YAIM Verification

  • Before starting the configuration PLEASE TEST that you have defined all the mandatory variables and that all configuration files contain all the site-specific values needed:
 /opt/glite/yaim/bin/yaim -v -s <site-info.def> -n BDII_site 

The mandatory variables are:

SITE_DESC
SITE_EMAIL
SITE_NAME
SITE_LOC
SITE_LAT
SITE_LONG
SITE_WEB
SITE_SECURITY_EMAIL
SITE_SUPPORT_EMAIL
SITE_OTHER_GRID
SITE_BDII_HOST
BDII_REGIONS

Most of those are in the file ig-bdii_site in directory services (the better things is to modify it). Remember in particular to set:

SITE_OTHER_GRID="WLCG|EGI"
SITE_OTHER_EGI_NGI="NGI_IT"

If no errors are reported you can proceed to the configuration, otherwise correct them before continuing with the configuration.

YAIM Configuration

Please use the debug flag ( "-d 6") to configure the services in order to have detailed information. For your convenience yo can save all the configuration information in a log file you can look at any time, separated from the yaimlog defulat one.

/opt/glite/yaim/bin/yaim -c -d 6 -s -n BDII_site 2>&1 | tee /root/conf_BDII.`hostname -s`.`date`.log

Service Testing - Reference Card

After service installation to have a look if all were installed in a proper way, you could have a look to Service BDII_site Reference Card. In this page you can found were all the log files are written, what daemons are running after installation and any other useful service information.

Documentation References:

BDII Top installation and Configuration

Have a look to the section Repository Settings of this documentation, ensure to have the common repo files.
Before starting the installation procedure remember to clean all yum cache and headers:

yum clean all

CAa installation:

  • Install CAs on ALL profiles:
yum install ca-policy-egi-core

Service installation

  • Install the BDII_top metapackage, containing all packages needed by this service:
yum install emi-bdii-top 

Service Configuration

To proper configure the BDII top profile you have to customize this file with you site parameter:

- ig-site-info.def

YAIM Verification

  • Before starting the configuration PLEASE TEST that you have defined all the mandatory variables and that all configuration files contain all the site-specific values needed:
 /opt/glite/yaim/bin/yaim -v -s <site-info.def> -n BDII_top 

The mandatory variable is:

BDII_HOST

If no errors are reported you can proceed to the configuration, otherwise correct them before continuing with the configuration.

YAIM Configuration

Please use the debug flag ( "-d 6") to configure the services in order to have detailed information. For your convenience yo can save all the configuration information in a log file you can look at any time, separated from the yaimlog defulat one.

/opt/glite/yaim/bin/yaim -c -d 6 -s <site-info.def> -n BDII_top 2>&1 | tee /root/conf_BDII.`hostname -s`.`date`.log

Know Issue and Workaround

Missing /etc/bdii/gip/glite-info-site-defaults.conf : https://ggus.eu/tech/ticket_show.php?ticket=72561

Workaround: Check if the file exists and it's contents. If it's missing do:

echo "SITE_NAME=" > /etc/bdii/gip/glite-info-site-defaults.conf

Check also the permission of the directory opt/glite/var/cache/gip if it is not ldap:ldap change it:

chown -R ldap:ldap /opt/glite/var/cache/gip 

Service Testing - Reference Card

After service installation to have a look if all were installed in a proper way, you could have a look to Service BDII_top Reference Card. In this page you can found were all the log files are written, what daemons are running after installation and any other useful service information.

Documentation References:

StoRM installation and Configuration

Have a look to the section Repository Settings and ensure that you have the common repo files.
Before starting the installation procedure remember to clean all yum cache and headers:

yum clean all

StoRM Prerequisites

Host certificate installation:

Hosts participating to the StoRM-SE (FE, BE and GridFTP hosts) must be configured with X.509 certificates signed by a trusted Certification Authority (CA). Usually the hostcert.pem and hostkey.pem certificates are located in the /etc/grid-security/ directory, and they must have permission 0644 and 0400 respectively:

Check existence

[~]# ls -l /etc/grid-security/hostkey.pem
-r-------- 1 root root 887 Mar 1 17:08 /etc/grid-security/hostkey.pem
[~]# ls -l /etc/grid-security/hostcert.pem
-rw-r--r-- 1 root root 1440 Mar 1 17:08 /etc/grid-security/hostcert.pem

Check expiration

[~]# openssl x509 -in hostcert.pem -noout -dates

Change permission: (if needed)

[~]# chmod 0400 hostkey.pem
[~]# chmod 0644 hostcert.pem

ACL SUPPORT

If you are installing a new StoRM this check must be done, if you are updating your install or your storage has ACL you can step out to this issue. StoRM uses the ACLs on files and directories to implement the security model. Doing so, StoRM uses the native access to the file system. Therefore in order to ensure a proper running, ACLs need to be enabled on the underlying file system (sometime they are enabled by default) and work properly.

Check ACL:

[~]# touch test
[~]# setfacl -m u:storm:rw test
Note: the storm user used to set the ACL entry must exist.
[~]# getfacl test
  # file: test
  # owner: root
  # group: root
  user::rw-
  user:storm:rw-
  group::r--
  mask::rw-
  other::r--

[~]# rm -f test

Install ACL (eventually):
If the getfacl and setfacl commands are not available on your host:

[~]# yum install acl

Enable ACL (if needed):
To enable ACL, you must add the acl property to the relevant file system in your /etc/fstab file. For example:

[~]# vi /etc/fstab
  ...
  /dev/hda3             /storage         ext3         defaults, acl           1 2
  ...

Then you need to remount the affected partitions as follows:

 [~]# mount -o remount /storage
This is valid for different file system types (i.e., ext3, xfs, gpfs and others).

EXTENDED ATTRIBUTE SUPPORT
StoRM uses the Extended Attributes (EA) on files to store some metadata related to the file (e.g. the checksum value); therefore in order to ensure a proper running, the EA support needs to be enabled on the underlying file system and work properly. Note: Depending on OS kernel distribution, for Reiser3, ext2 and ext3 file systems, the default kernel configuration should not enable the EA. Check Extended Attribute Support :
 
[~]# touch testfile
[~]# setfattr -n user.testea -v test testfile
[~]# getfattr -d testfile
  # file: testfile
  user.testea="test"
[~]# rm -f testfile

Install attr (eventually):
If the getfattr and setfattrl commands are not available on your host:

[~]# yum install attr

Enable EA (if needed):
To set extended attributes, you must add the user_xattr property to the relevant file systems in your /etc/fstab file. For example:

[~]# vi /etc/fstab
   ...
   /dev/hda3         /storage       ext3        defaults,acl,user_xattr     1 2
   ...

Then you need to remount the affected partitions as follows:

[~]# mount -o remount /storage

CAs installation:

  • Install CAs on ALL profiles:
yum install ca-policy-egi-core

Service installation

  • Install the StoRM metapackages, containing all packages needed by these four services. You can install StoRM in one host or in more hosts. The mandatory profiles to install are emi-storm-backend-mp and emi-storm-frontend-mp. The other profiles are optional, have a look to the StoRM documentation System Administrator Guide to determinate if you need also emi-storm-globus-gridftp-mp or emi-storm-gridhttps-mp.
yum install emi-storm-backend-mp
yum install emi-storm-frontend-mp
yum install emi-storm-globus-gridftp-mp
yum install emi-storm-gridhttps-mp

Service Configuration

To proper configure the StoRM BackEnd and FrontEnd profiles you have to customize the ig-site-indo.def file with you site parameter:

- ig-site-info.def
- ig-users.conf
- ig-groups.conf

YAIM Verification

  • Before starting the configuration PLEASE TEST that you have defined all the mandatory variables for all the StoRM profiles.

 /opt/glite/yaim/bin/yaim -v -s <site-info.def> -n  se_storm_backend -n se_storm_frontend
 

You can find in this documentation: System Administrator Guide all mandatory variables. In the section GENERAL YAIM VARIABLES

If no errors are reported with the verification you can proceed to the configuration, otherwise correct them before continuing with the configuration.

YAIM Configuration

Before configuring please pay attention:

  • if you are installing a new StoRM in a new host you can continue
  • if you are updating StoRM to a new release please follow this documentation containing useful information for the service upgrade and for the stored data files:
    * Upgrade_Instructions_to_StoRM_v18.pdf: Upgrade StoRM istructions.

Please use the debug flag ( "-d 6") to configure the services in order to have detailed information. For your convenience yo can save all the configuration information in a log file you can look at any time, separated from the yaimlog default one.

# /opt/glite/yaim/bin/yaim -c -d 6 -s -n  se_storm_backend -n se_storm_frontend 2>&1 | tee /root/conf_StroRM_BE_FE.`hostname -s`.`date`.log

IMPORTANT NOTE The order of the profile is important and must be : -n se_storm_backend -n se_storm_frontend

Service Testing - Reference Card

After service installation to have a look if all were installed in a proper way, you could have a look to Service StoRM Reference Card. In this page you can found were all the log files are written, what daemons are running after installation and any other useful service information.

Documentation References:

-- SergioTraldi - 2011-11-10

Topic attachments
ISorted descending Attachment Action Size Date Who Comment
PDFpdf Upgrade_Instructions_to_StoRM_v18.pdf manage 54.1 K 2011-11-22 - 10:00 SergioTraldi Upgrade StoRM istructions. Useful to the data stored partition
Edit | Attach | PDF | History: r77 | r18 < r17 < r16 < r15 | Backlinks | Raw View | More topic actions...
Topic revision: r16 - 2011-11-25 - PaoloVeronesi
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback