Skip to content

4 XROOTD Configuration

apeters1971 edited this page Mar 31, 2015 · 1 revision

Setting XrootD configuration files

Modify /etc/sysconfig/xrootd to include:

XROOTD_INSTANCES="diamond"
XROOTD_DIAMOND_OPTIONS="-z -l /var/log/xrootd/xrootd.log -c /etc/xrootd/xrootd-diamond.cfg -k fifo"
export LD_LIBRARY_PATH=/opt/ceph-80.1/lib64/:$LD_LIBRARY_PATH

Create /etc/xrootd/xrootd-diamond.cfg

Copy the template file /etc/xrootd/xrootd-standalone.cfg to /etc/xrootd/xrootd-diamond.cfg

Modify as shown in the following!

Remark: you can just use the proposed config file at the end of the page if you keep the proposed RADOS id and pool names !!!

###################################################################
# standard configuration parameters
###################################################################
all.export /

all.adminpath /var/spool/xrootd
all.pidpath /var/run/xrootd

ofs.authorize 1
ofs.authlib /usr/lib64/libAuthChangeFsUid.so

xrootd.seclib libXrdSec.so
xrootd.async off nosf

Enable detailed tracing:

###################################################################
# for production comment out the trace options (too much logging)
###################################################################
ofs.trace all debug 

xrd.sched mint 512 maxt 512 idle 64

Configure the security moduls

###################################################################
# modify the security according to your needs
###################################################################
# UNIX authentication
sec.protocol unix
# KRB authentication
sec.protocol krb5 host/<host>@CERN.CH
# GSI authentication
sec.protocol gsi -crl:0 -cert:/etc/xrootd/pub.pem -key:/etc/xrootd/priv.pem -gridmap:/etc/grid-security/grid-mapfile -d:0 -gmapopt:2 -vomsat:1 -moninfo:1 

# for admin operations bind unix to localhost
sec.protbind localhost.localdomain unix
sec.protbind localhost unix

# for 'normal users' bind krb5+gsi protocols
sec.protbind * only krb5 gsi
sec.protbind localhost only unix

Configure the interface to RADOS

###################################################################
# configure the rados connection
###################################################################
ofs.osslib /usr/lib64/libRadosOss.so

radososs.config /etc/ceph/ceph-diamond.conf

# this limits additionally the maximum file size to 1000 MB !!!
radososs.datapools /:diamond-data:1000
radososs.metadatapools /:diamond-metadata

# set the CEPH account to use
radososs.user diamond

# set the default stripe size
radososs.stripe 134217728

Configure HTTP(S) access:

###################################################################
# configure HTTP(S) access (if wanted, otherwise comment with '#')
###################################################################
if exec xrootd
 xrd.protocol XrdHttp /usr/lib64/libXrdHttp.so.1
fi

http.cert /etc/xrootd/pub.pem
http.key /etc/xrootd/priv.pem
http.cadir /etc/grid-security/certificates

Configing Diamond functionality (checksumming & third party copy):

###################################################################
# configure DIAMOND features (checksumming + third party copy)
###################################################################
xrootd.chksum adler32
ofs.tpc pgm /usr/bin/xrdcp
xrootd.fslib -2 /usr/lib64/libdiamond_ofs.so

Default Config File /etc/xrootd/xrootd-diamond.cfg

###################################################################
# standard configuration parameters
###################################################################
all.export /

all.adminpath /var/spool/xrootd
all.pidpath /var/run/xrootd

ofs.authorize 1
ofs.authlib /usr/lib64/libAuthChangeFsUid.so

xrootd.seclib libXrdSec.so
xrootd.async off nosf

###################################################################
# for production comment out the trace options (too much logging)
###################################################################
ofs.trace all debug 

xrd.sched mint 512 maxt 512 idle 64

###################################################################
# modify the security according to your needs
###################################################################
# UNIX authentication
sec.protocol unix
# KRB authentication
sec.protocol krb5 host/<host>@CERN.CH
# GSI authentication
sec.protocol gsi -crl:0 -cert:/etc/xrootd/pub.pem -key:/etc/xrootd/priv.pem -gridmap:/etc/grid-security/grid-mapfile -d:0 -gmapopt:2 -vomsat:1 -moninfo:1 

# for admin operations bind unix to localhost
sec.protbind localhost.localdomain unix
sec.protbind localhost unix

# for 'normal users' bind krb5+gsi protocols
sec.protbind * only krb5 gsi
sec.protbind localhost only unix

ofs.tpc pgm /usr/bin/xrdcp

###################################################################
# configure the rados connection
###################################################################
ofs.osslib /usr/lib64/libRadosOss.so
radososs.config /etc/ceph/ceph-diamond.conf

# this limits additionally the maximum file size to 1000 MB !!!
radososs.datapools /:diamond-data:1000
radososs.metadatapools /:diamond-metadata

# set the CEPH account to use
radososs.user diamond

# set the default stripe size
radososs.stripe 134217728

###################################################################
# configure HTTP(S) access (if wanted, otherwise comment with '#')
###################################################################
if exec xrootd
 xrd.protocol XrdHttp /usr/lib64/libXrdHttp.so.1
fi

http.cert /etc/xrootd/pub.pem
http.key /etc/xrootd/priv.pem
http.cadir /etc/grid-security/certificates

###################################################################
# configure DIAMOND features (checksumming + third party copy)
###################################################################
ofs.tpc pgm /usr/bin/xrdcp
xrootd.chksum adler32
xrootd.fslib -2 /usr/lib64/libdiamond_ofs.so