DPM Yaim Install

From GridPP Wiki
Jump to: navigation, search

The principle method of installing DPM which most sites will adopt is to use the YAIM scripts. Currently this will setup a single DPM pool, possibly across multiple disk servers. The DPM head node has to have 1 filesystem in this pool (see DPM Glossary), and then an arbitrary number of disk servers can be added by YAIM; and these DPM disk servers can have multiple filesystems in the pool. The DPM had node also hosts the DPM and DPNS databases, as well as the SRM web service interfaces.

N.B. This HOWTO guide is current to the LCG 2.7.0 release.

Getting Started

See the YAIM install manual for details, but basically the start from the following:

  1. Base install of Scientific Linux
  2. Install java and ntp.
  3. Unpack your Grid Certificate into /etc/grid-security

DPM Variables in site-info.def

The variables in site-info.def which need to be set for a DPM install are:

 DPMDATA=/gridstore0     Path to the filesystem on the DPM head node which will be setup
 DPMMGR=dpmmgr           Username of the DPM database user
 DPMUSER_PWD=**********  MySQL password of the DPM database user
 DPMFSIZE=1G             Default space that is reserved for a file that is to be stored in dpm
                         (This should be about the size of the largest files you expect to be stored in
                          your SRM - order GB seems like a good guess for now, but it can be changed
                          later.)
 DPM_HOST=se.$MY_DOMAIN  DPM head node hostname
 DPMPOOL=lcgPool         Name of the DPM pool that the YAIM will add all filesystems to.
                         (This is just an internal label, so you can pick anything.)
 DPMPOOL_NODES="dpm1.$MY_DOMAIN:/gridstore0 dpm1.$MY_DOMAIN:/gridstore1 dpm2.$MY_DOMAIN:/big/raid/disk"
                         Space separated list of hostname:/path values. Each of these hosts will
                         setup by YAIM as a DPM disk server, and the filesystems will be added
                         to the DPMPOOL. (N.B. This happens when DPM is run on the disk servers,
                         not when it runs on the head node.)

You also need to set whatever the usual suspects are for your site (CE, contact details) as well as the MYSQL_PASSWORD (which will be the database password for "root").

All of these DPM variables are needed on the head node. Strictly speaking only the last three (DPM_HOST, DPMPOOL, DPMPOOL_NODES) are required on the disk servers, but having a common file shared among all DPM nodes will make your life easier.

Running YAIM

A Gotcha

Before running YAIM, beware if you have shared home directories. The YAIM scripts will attempt to write to the edguser's home directory as root. If your home directories are NFS mounted with the root_squash option this will fail. See DPM Yaim Issues for some workarounds.

DPM Head Node

You must run YAIM first on the DPM head node!

Install Node

Run the YAIM install_node script:

 /opt/lcg/yaim/scripts/install_node /etc/lcg/site-info.def lcg-SE_dpm_mysql

Configure Node

Run the YAIM configure_node script:

 /opt/lcg/yaim/scripts/configure_node /etc/lcg/site-info.def SE_dpm_mysql

Quick Test

After this part of the install the /opt/lcg/bin/dpm-qryconf command should show the created pool with a single filesystem on it:

 # dpm-qryconf
 POOL testzonePool DEFSIZE 1024.00M GC_START_THRESH 0 GC_STOP_THRESH 0 DEFPINTIME 0 PUT_RETENP 86400 FSS_POLICY maxfreespace GC_POLICY lru RS_POLICY fifo GID 0 S_TYPE -
                             CAPACITY 24.03G FREE 22.78G ( 94.8%)
 grid08.ph.gla.ac.uk /gridstore0 CAPACITY 24.03G FREE 22.78G ( 94.8%)

DPM Disk Servers

Install Node

Run the YAIM install_node script:

 /opt/lcg/yaim/scripts/install_node /etc/lcg/site-info.def lcg-SE_dpm_disk

Configure Node

Run the YAIM configure_node script:

 /opt/lcg/yaim/scripts/configure_node /etc/lcg/site-info.def SE_dpm_disk

Quick Test

After this part of the install the /opt/lcg/bin/dpm-qryconf command should show the disk server's filesystems added to the DPM pool:

 # dpm-qryconf
 POOL testzonePool DEFSIZE 1024.00M GC_START_THRESH 0 GC_STOP_THRESH 0 DEFPINTIME 0 PUT_RETENP 86400 FSS_POLICY maxfreespace GC_POLICY lru RS_POLICY fifo GID 0 S_TYPE -
                             CAPACITY 1.10T FREE 1.05G ( 95.0%)
 grid08.ph.gla.ac.uk /gridstore0 CAPACITY 24.03G FREE 22.78G ( 94.8%)
 grid11.ph.gla.ac.uk /gridstorage/c1 CAPACITY 538.04G FREE 511.14G ( 95.0%)
 grid11.ph.gla.ac.uk /gridstorage/d1 CAPACITY 538.04G FREE 511.14G ( 95.0%)

Post Install

Check that you have gethostbyname() returning the FQDN so that transfers from dCache to DPM work (see DPM ftpd tcp nodelay).

Also, check for any issues into DPM Bugs (particularly some logging issues at the moment).

After that has been done you might like to look at:

When you are ready to make your DPM into the production storage system for your site it is essential to implement MySQL Backups of the DPNS and DPM tables.