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
).
Disabling SELinux
Please remember to fully disabling SELinux. Disabling will completely disable all SELinux functions including file and process labelling.
In
RedHat Enterprise, edit /etc/selinux/config and change the SELINUX line to SELINUX=disabled:
# disabled - No SELinux policy is loaded.
SELINUX=disabled
... and then reboot the system.
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):
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:
CREAM CE 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
The CREAM CE Services were tested with gLite WN SL5 x86_64 and also with ig_WN SL5 x86_64. We remember the Toque Server and client work only if the CE and the WN is SL5 x86_64 and the MAUI version is equal in the server and client side. Please update the WN if you have an old installation.
CREAM CE Prerequisites
Host certificate installation:
In the host were CREAM CE is intalled 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
Batch System:
If you will use LSF (licences are needed). The server/client installation must be done manually. Have a look to
Platform LSF documentation
, whereas Torque server/client installation is included in the Toque metapackages.
CAs installation:
- Install CAs on ALL profiles:
yum install ca-policy-egi-core
Service installation
* Install the CREAM CE metapackages, containing all packages needed. Have a look to the CREAM CE documentation before starting to install :
System Administrator Guide
.
yum install xml-commons-apis
yum install emi-cream-ce
Batch system utility installation
After the installation of the CREAM CE metapackage it is necessary to install the batch system specific metapackage(s):
* If you are running
Torque, and your CREAM CE node is the torque master, install the emi-torque-server and emi-torque-utils metapackages:
yum install emi-torque-server
yum install emi-torque-utils
* If you are running Torque, and your CREAM CE node is NOT the torque master, install the emi-torque-utils metapackage:
yum install emi-torque-utils
* If you are running
LSF, install the emi-lsf-utils metapackage:
yum install emi-lsf-utils
DGAS_sensors installation
If you use DGAS to account data remember to install also DGAS sensors. You can found more documentation to
DGAS sensors guide
yum install glite-dgas-common glite-dgas-hlr-clients glite-dgas-hlr-sensors glite-dgas-hlr-sensors-producers
Install also yaim-dgas rpm this could be useful when you will configure DGAS_sensors
rpm -ivh http://repo-pd.italiangrid.it/mrepo/ig_sl5-x86_64/RPMS.3_2_0/yaim-dgas-5.0.0-3.noarch.rpm
Service Configuration
YAIM Verification
- Before starting the configuration PLEASE TEST that you have defined all the mandatory variables for all the CREAM CE profiles.
For Torque:
/opt/glite/yaim/bin/yaim -v -s <site-info.def> -n creamCE -n TORQUE_server -n TORQUE_utils -n DGAS_sensors
For LSF:
/opt/glite/yaim/bin/yaim -v -s <site-info.def> -n creamCE -n LSF_utils -n DGAS_sensors
You can find in this documentation:
YAIM CREAM CE Variables
all mandatory variables.
If no errors are reported with the verification you can proceed to the configuration, otherwise correct them before continuing with the configuration.
Configuration Suggestions:
Blparser:
We suggest to use the new
Blparser runs on the CREAM CE machine and it is automatically installed when installing the CREAM CE. The configuration of the new BLAH Blparser is done when configuring the CREAM CE (i.e. it is not necessary to configure the Blparser separately from the CREAM CE).
To use the new BLAH blparser, it is just necessary to set:
BLPARSER_WITH_UPDATER_NOTIFIER=true
ARGUS:
If you have an
ARGUS server installed in your site or in central site we suggest to use it. Please set the proper variables:
USE_ARGUS=yes
In this case it is also necessary to set the following yaim variables:
* ARGUS_PEPD_ENDPOINTS The endpoint of the ARGUS box (e.g."https://cream-43.pd.infn.it:8154/authz")
* CREAM_PEPC_RESOURCEID The id of the CREAM CE in the ARGUS box (e.g. "http://pd.infn.it/cream-18")
If instead gJAF should be used as authorization system, yaim variable USE_ARGUS must be set in the following way:
USE_ARGUS=no
DGAS_sensors:
For
DGAS_sensors you should customize the services file. You can find in this path an example:
/opt/glite/yaim/examples/siteinfo/services/dgas_sensors
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
default one.
For Torque:
# /opt/glite/yaim/bin/yaim -c -d 6 -s <site-info.def> -n creamCE -n TORQUE_server -n TORQUE_utils -n DGAS_sensors 2>&1 | tee /root/conf_CREAM_Torque_DGAS.`hostname -s`.`date`.log
For LSF:
# /opt/glite/yaim/bin/yaim -c -d 6 -s <site-info.def> -n creamCE -n LSF_utils -n DGAS_sensors 2>&1 | tee /root/conf_CREAM_LSF_DGAS.`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 CREAM Reference Card
and also to the [http://wiki.italiangrid.it/twiki/bin/view/CREAM/CreamTestWorkPlan][Service Troubleshooting Guide]]. 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:
*
Functional Description
*
Software Design Description
*
User Guide
* Client
Installation
and
Configuration
*
Client Configuration Template
*
Man Pages/Online Help
*
User Troubleshooting Guide
*
API Documentation
*
Error Code Documentation
*
System Administrator Guides
*
Service Reference Card
*
Service Troubleshooting Guide
* Other Documentation available
here
--
SergioTraldi - 2011-11-10