Difference between revisions of "HowTo: CMS XRootD configuration"
Jump to navigation
Jump to search
(Created page with "= XRootD CMS = == Requirements == === XRootD Local Redirector === * '''xrootd-cmst1.pic.es''' is an example of local CMS XRootD redirector at PIC. * Relevant services are '''x...") |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= XRootD CMS = | = XRootD CMS = | ||
== Requirements == | == Requirements == | ||
+ | === storage-disk.xml file === | ||
+ | * Every CMS site has his own '''storage-disk.xml''' file. | ||
+ | * This file '''''should be the same for all servers running a CMS service'''''. | ||
+ | * Below, an example for the PIC site ''storage-disk.xml'' file: | ||
+ | <storage-mapping> | ||
+ | <!-- PFN to LFN --> | ||
+ | <lfn-to-pfn protocol="direct" | ||
+ | path-match="/+store/test/xrootd/T1_ES_PIC/store/(.*)" | ||
+ | result="/pnfs/pic.es/data/cms/disk/store/$1"/> | ||
+ | <lfn-to-pfn protocol="direct" | ||
+ | path-match=".*/LoadTest07_Debug_T1_ES_PIC_MSS/T1_ES_PIC_Disk/(.*)" | ||
+ | result="/pnfs/pic.es/data/cms/disk/store/PhEDEx_LoadTest07/LoadTest07_Debug_T1_ES_PIC_MSS/T1_ES_PIC_Disk/$1"/> | ||
+ | <lfn-to-pfn protocol="direct" | ||
+ | path-match=".*/LoadTest07_ES_PIC_Disk_(.*)_.*_.*" | ||
+ | result="/pnfs/pic.es/data/cms/disk/store/PhEDEx_LoadTest07/Source_Disk/LoadTest07_PIC_$1"/> | ||
+ | <lfn-to-pfn protocol="direct" | ||
+ | path-match="/+store/(.*)" | ||
+ | result="/pnfs/pic.es/data/cms/disk/store/$1"/> | ||
+ | |||
+ | <!-- local Xrootd data input --> | ||
+ | <lfn-to-pfn protocol="xrootdlocal" chain="direct" | ||
+ | path-match=".*/HCtest/GenericTTbar/(.*)" | ||
+ | result="root://srm-pps.pic.es:1094/pnfs/pic.es/data/cms/store/mc/HCtest/GenericTTbar/$1"/> | ||
+ | <lfn-to-pfn protocol="xrootdlocal" chain="direct" | ||
+ | path-match="(.*)" result="root://xrootd.pic.es:1094$1"/> | ||
+ | |||
+ | <!-- Xrootd fallback rule --> | ||
+ | <lfn-to-pfn protocol="xrootd" path-match="/+store/(.*)" result="root://xrootd-cms.infn.it//store/$1"/> | ||
+ | |||
+ | <lfn-to-pfn protocol="srmv2" chain="direct" | ||
+ | path-match="(.*)" result="srm://srmcms.pic.es:8443/srm/managerv2?SFN=$1"/> | ||
+ | <lfn-to-pfn protocol="dcap" chain="direct" | ||
+ | path-match="(.*)" result="dcap://dcap.pic.es$1"/> | ||
+ | <lfn-to-pfn protocol="dccp" chain="direct" | ||
+ | path-match="(.*)" result="dcap://dcap.pic.es$1"/> | ||
+ | <lfn-to-pfn protocol="gsidcap" chain="direct" | ||
+ | path-match="(.*)" result="gsidcap://gsidcap.pic.es:22128$1"/> | ||
+ | <lfn-to-pfn protocol="root" chain="direct" | ||
+ | path-match="(.*)" result="root://xrootd-cmst1-door.pic.es:1094$1"/> | ||
+ | |||
+ | <!-- PFN to LFN --> | ||
+ | <pfn-to-lfn protocol="direct" | ||
+ | path-match="/+pnfs/pic\.es/data/cms/disk/store/(.*)" result="/store/$1"/> | ||
+ | <pfn-to-lfn protocol="srmv2" chain="direct" | ||
+ | path-match=".*\?SFN=(.*)" result="$1"/> | ||
+ | <pfn-to-lfn protocol="dcap" chain="direct" | ||
+ | path-match="dcap://dcap\.pic\.es(.*)" result="$1"/> | ||
+ | <pfn-to-lfn protocol="dccp" chain="direct" | ||
+ | path-match="dcap://dcap\.pic\.es(.*)" result="$1"/> | ||
+ | <pfn-to-lfn protocol="gsidcap" chain="direct" | ||
+ | path-match="gsidcap://gsidcap\.pic\.es:22128(.*)" result="$1"/> | ||
+ | </storage-mapping> | ||
+ | |||
=== XRootD Local Redirector === | === XRootD Local Redirector === | ||
* '''xrootd-cmst1.pic.es''' is an example of local CMS XRootD redirector at PIC. | * '''xrootd-cmst1.pic.es''' is an example of local CMS XRootD redirector at PIC. | ||
* Relevant services are '''xrootd''' and '''cmsd''' which should be up and running: | * Relevant services are '''xrootd''' and '''cmsd''' which should be up and running: | ||
− | [root@xrootd01-cmst1 ~]# service xrootd status | + | [root@xrootd01-cmst1 ~]# service '''xrootd''' status |
[default] xrootd (pid 26682) is running... | [default] xrootd (pid 26682) is running... | ||
− | [root@xrootd01-cmst1 ~]# service cmsd status | + | [root@xrootd01-cmst1 ~]# service '''cmsd''' status |
[default] cmsd (pid 26583) is running... | [default] cmsd (pid 26583) is running... | ||
* XRootD configuration files is locate at: '''/etc/xrootd/xrootd-clustered.cfg''' and should be defined as follows: | * XRootD configuration files is locate at: '''/etc/xrootd/xrootd-clustered.cfg''' and should be defined as follows: | ||
[root@xrootd01-cmst1 ~]# cat /etc/xrootd/xrootd-clustered.cfg | grep -v '#' | grep . | [root@xrootd01-cmst1 ~]# cat /etc/xrootd/xrootd-clustered.cfg | grep -v '#' | grep . | ||
− | xrd.port 1095 | + | xrd.port '''1095''' |
all.role server | all.role server | ||
− | all.sitename T1_ES_PIC | + | all.sitename '''T1_ES_PIC''' |
− | all.manager any xrootd-cms.infn.it+ 1213 | + | all.manager any '''xrootd-cms.infn.it+''' 1213 |
− | xrootd.redirect xrootd-cmst1-door.pic.es:1094 / | + | '''xrootd.redirect xrootd-cmst1-door.pic.es:1094 /''' |
all.export / nostage | all.export / nostage | ||
cms.allow host * | cms.allow host * | ||
Line 22: | Line 75: | ||
xrd.trace conn | xrd.trace conn | ||
cms.trace all | cms.trace all | ||
− | oss.namelib /usr/lib64/libXrdCmsTfc.so file:/etc/xrootd/storage-disk.xml?protocol=direct | + | oss.namelib /usr/lib64/libXrdCmsTfc.so file:'''/etc/xrootd/storage-disk.xml?protocol=direct''' |
xrootd.seclib /usr/lib64/libXrdSec.so | xrootd.seclib /usr/lib64/libXrdSec.so | ||
xrootd.fslib /usr/lib64/libXrdOfs.so | xrootd.fslib /usr/lib64/libXrdOfs.so | ||
Line 29: | Line 82: | ||
cms.delay startup 10 | cms.delay startup 10 | ||
cms.fxhold 60s | cms.fxhold 60s | ||
− | xrd.report xrootd.t2.ucsd.edu:9931 every 60s all sync | + | xrd.report '''xrootd.t2.ucsd.edu:9931''' every 60s all sync |
− | xrootd.monitor all fstat 60s lfn ops ssq xfr 5 ident 5m dest fstat info user CMS-AAA-EU-COLLECTOR.cern.ch:9330 | + | xrootd.monitor all fstat 60s lfn ops ssq xfr 5 ident 5m dest fstat info user '''CMS-AAA-EU-COLLECTOR.cern.ch:9330''' |
* Relevant packages that need to be installed are the following: | * Relevant packages that need to be installed are the following: | ||
[root@xrootd01-cmst1 ~]# rpm -qa | grep xrootd | sort | [root@xrootd01-cmst1 ~]# rpm -qa | grep xrootd | sort |
Latest revision as of 07:54, 30 June 2017
XRootD CMS
Requirements
storage-disk.xml file
- Every CMS site has his own storage-disk.xml file.
- This file should be the same for all servers running a CMS service.
- Below, an example for the PIC site storage-disk.xml file:
<storage-mapping> <lfn-to-pfn protocol="direct" path-match="/+store/test/xrootd/T1_ES_PIC/store/(.*)" result="/pnfs/pic.es/data/cms/disk/store/$1"/> <lfn-to-pfn protocol="direct" path-match=".*/LoadTest07_Debug_T1_ES_PIC_MSS/T1_ES_PIC_Disk/(.*)" result="/pnfs/pic.es/data/cms/disk/store/PhEDEx_LoadTest07/LoadTest07_Debug_T1_ES_PIC_MSS/T1_ES_PIC_Disk/$1"/> <lfn-to-pfn protocol="direct" path-match=".*/LoadTest07_ES_PIC_Disk_(.*)_.*_.*" result="/pnfs/pic.es/data/cms/disk/store/PhEDEx_LoadTest07/Source_Disk/LoadTest07_PIC_$1"/> <lfn-to-pfn protocol="direct" path-match="/+store/(.*)" result="/pnfs/pic.es/data/cms/disk/store/$1"/> <lfn-to-pfn protocol="xrootdlocal" chain="direct" path-match=".*/HCtest/GenericTTbar/(.*)" result="root://srm-pps.pic.es:1094/pnfs/pic.es/data/cms/store/mc/HCtest/GenericTTbar/$1"/> <lfn-to-pfn protocol="xrootdlocal" chain="direct" path-match="(.*)" result="root://xrootd.pic.es:1094$1"/> <lfn-to-pfn protocol="xrootd" path-match="/+store/(.*)" result="root://xrootd-cms.infn.it//store/$1"/> <lfn-to-pfn protocol="srmv2" chain="direct" path-match="(.*)" result="srm://srmcms.pic.es:8443/srm/managerv2?SFN=$1"/> <lfn-to-pfn protocol="dcap" chain="direct" path-match="(.*)" result="dcap://dcap.pic.es$1"/> <lfn-to-pfn protocol="dccp" chain="direct" path-match="(.*)" result="dcap://dcap.pic.es$1"/> <lfn-to-pfn protocol="gsidcap" chain="direct" path-match="(.*)" result="gsidcap://gsidcap.pic.es:22128$1"/> <lfn-to-pfn protocol="root" chain="direct" path-match="(.*)" result="root://xrootd-cmst1-door.pic.es:1094$1"/> <pfn-to-lfn protocol="direct" path-match="/+pnfs/pic\.es/data/cms/disk/store/(.*)" result="/store/$1"/> <pfn-to-lfn protocol="srmv2" chain="direct" path-match=".*\?SFN=(.*)" result="$1"/> <pfn-to-lfn protocol="dcap" chain="direct" path-match="dcap://dcap\.pic\.es(.*)" result="$1"/> <pfn-to-lfn protocol="dccp" chain="direct" path-match="dcap://dcap\.pic\.es(.*)" result="$1"/> <pfn-to-lfn protocol="gsidcap" chain="direct" path-match="gsidcap://gsidcap\.pic\.es:22128(.*)" result="$1"/> </storage-mapping>
XRootD Local Redirector
- xrootd-cmst1.pic.es is an example of local CMS XRootD redirector at PIC.
- Relevant services are xrootd and cmsd which should be up and running:
[root@xrootd01-cmst1 ~]# service xrootd status [default] xrootd (pid 26682) is running... [root@xrootd01-cmst1 ~]# service cmsd status [default] cmsd (pid 26583) is running...
- XRootD configuration files is locate at: /etc/xrootd/xrootd-clustered.cfg and should be defined as follows:
[root@xrootd01-cmst1 ~]# cat /etc/xrootd/xrootd-clustered.cfg | grep -v '#' | grep . xrd.port 1095 all.role server all.sitename T1_ES_PIC all.manager any xrootd-cms.infn.it+ 1213 xrootd.redirect xrootd-cmst1-door.pic.es:1094 / all.export / nostage cms.allow host * xrootd.trace emsg login stall redirect ofs.trace none xrd.trace conn cms.trace all oss.namelib /usr/lib64/libXrdCmsTfc.so file:/etc/xrootd/storage-disk.xml?protocol=direct xrootd.seclib /usr/lib64/libXrdSec.so xrootd.fslib /usr/lib64/libXrdOfs.so all.adminpath /var/run/xrootd all.pidpath /var/run/xrootd cms.delay startup 10 cms.fxhold 60s xrd.report xrootd.t2.ucsd.edu:9931 every 60s all sync xrootd.monitor all fstat 60s lfn ops ssq xfr 5 ident 5m dest fstat info user CMS-AAA-EU-COLLECTOR.cern.ch:9330
- Relevant packages that need to be installed are the following:
[root@xrootd01-cmst1 ~]# rpm -qa | grep xrootd | sort cms-xrootd-dcache-1.2-7.osg.el6.noarch xrootd-4.5.0-1.el6.x86_64 xrootd-client-4.5.0-1.el6.x86_64 xrootd-client-devel-4.5.0-1.el6.x86_64 xrootd-client-libs-4.5.0-1.el6.x86_64 xrootd-cmstfc-1.5.1-6.osg.el6.x86_64 xrootd-compat-3.3.6-1.el6.x86_64 xrootd-compat-client-libs-3.3.6-1.el6.x86_64 xrootd-compat-libs-3.3.6-1.el6.x86_64 xrootd-compat-server-libs-3.3.6-1.el6.x86_64 xrootd-devel-4.5.0-1.el6.x86_64 xrootd-libs-4.5.0-1.el6.x86_64 xrootd-selinux-4.5.0-1.el6.noarch xrootd-server-4.5.0-1.el6.x86_64 xrootd-server-devel-4.5.0-1.el6.x86_64 xrootd-server-libs-4.5.0-1.el6.x86_64
- The above packages can be installed from the official XRootD repositories:
[root@xrootd02-cmst1 yum.repos.d]# cat /etc/yum.repos.d/xrootd-stable.repo [xrootd-stable] name=XrootD official repository baseurl=http://xrootd.org/binaries/stable/slc/6/$basearch http://xrootd.cern.ch/sw/repos/stable/slc/6/$basearch enabled=1 gpgcheck=0 enablegroups=1 metadata_expire=43200
- PNFS mount is a required mountpoint. Read-only mode should be enough, and the sync option is recommended:
[root@xrootd01-cmst1 ~]# mount | grep pnfs nfsv41.pic.es:/pnfs/pic.es/data/cms on /pnfs/pic.es/data/cms type nfs4
(ro,sync,noatime,nodiratime,minorversion=1,nolock,noac,intr,bg,hard,addr=2001:67c:1148:201::11,clientaddr=2001:67c:1148:201::17)
dCache door configuration
- xrootd-cmst1-door.pic.es (usually door06.pic.es) is the alias for the CMS XRootD door at PIC.
- dCache CMS XRootD layout file example, where:
- xrootd.loginbroker.tags=srm to disable glue publishing
- xrootd.mover.queue=xrootd-wan to dedicated a specific mover queue (we want split WAN vs LAN movers)
############################################ # Domain: xrootd-cmst1-door06Domain [xrootd-cmst1-${host.name}Domain] dcache.java.memory.heap=2048m xrootd.loginbroker.tags=srm xrootd.mover.queue=xrootd-wan # Cell: xrootd [xrootd-cmst1-${host.name}Domain/xrootd] xrootd.cms.tfc.path=/etc/dcache/storage-disk.xml xrootd.cms.tfc.protocol=direct xrootd.net.port=1094 xrootd.plugins=gplazma:gsi,authz:cms-tfc ## End xrootd-cmst1-door06Domain ############################################
- Relevant packages that need to be installed are the following:
[root@door06 ~]# rpm -qa | grep ^dcache- | sort dcache-2.16.38-1.noarch dcache-srmclient-3.0.9-1.noarch
- TFC plugin must be installed.
- Can be downloaded from https://www.dcache.org/downloads/xrootd4j/index.shtml (we use the .tar.gz file)
[root@door06 ~]# ls -ltrha /usr/local/share/dcache/plugins/ total 12K drwxr-xr-x. 3 root root 4.0K Jun 20 10:09 .. drwxr-xr-x. 3 root root 4.0K Jun 20 10:16 . drwxr-xr-x. 2 root root 4.0K Jun 20 10:16 xrootd4j-cms-plugin-1.3.7
dCache pool configuration
- Pool configuration is needed for the XRootD monitoring service.
- An example of a dCache CMS pool layout file for dc040.pic.es is shown below:
############################################ # Domain: dc040_1Domain [${host.name}_1Domain] dcache.java.options.extra=-Djava.net.preferIPv6Addresses=true -Dcom.sun.management.jmxremote.port=7001 -Dcom.sun.management.jmxremote.ssl=false - Dcom.sun.management.jmxremote.authenticate=false dcache.java.memory.heap=6000m pool.mover.xrootd.port.max=${dcache.net.wan.port.max} pool.mover.xrootd.port.min=${dcache.net.wan.port.min} pool.plugins.meta=org.dcache.pool.repository.meta.db.BerkeleyDBMetaDataRepository pool.queues=ftp,dcap,nfs4,xrootd,xrootd-wan,webdav # dc040_1Domain - xrootd configuration for cms pools pool.mover.xrootd.plugins=edu.uchicago.monitor xrootd.monitor.detailed=cms-aaa-eu-collector.cern.ch:9330:60 xrootd.monitor.site=T1_ES_PIC xrootd.monitor.summary=xrootd.t2.ucsd.edu:9931:60 xrootd.monitor.vo=CMS # Cell: pool [${host.name}_1Domain/pool] pool.name=${host.name}_1 pool.path=/dcpool/vpool1 pool.wait-for-files=${pool.path}/data ## End pool_1Domain ############################################
- Relevant packages that need to be installed are the following:
[root@dc040 ~]# rpm -qa | grep ^dcache- | sort dcache-2.16.38-1.noarch dcache-plugin-xrootd-monitor-7.0.0-0.noarch dcache-srmclient-3.0.9-1.noarch