This is the client installation documentation for CVMFS which requires root privileges. Documentation and official description of CVMFS are available and the CVMFS software can also be downloaded from CERN for many OS flavors.
This document describes its installation and configuration for ATLAS users; where possible, either the OSG or EGI installations should be followed as they have Cloudflare support.
Users on the CERN network can use the available squids: http://ca-proxy-atlas.cern.ch:3128;http://ca-proxy.cern.ch:3128
If there are many computers accessing CVMFS like at a Tier1, Tier2 or large Tier3, it will be beneficial to run a local squid server.
Instructions to do this are the same as that for the Frontier-squid server and the same squid to serve both CVMFS and Frontier.
Note the syntax to enter this information in local configuration file:
CVMFS_HTTP_PROXY="localsquid"
CVMFS_HTTP_PROXY="localsquid1\|localsquid2;remotesquid3"
CVMFS_HTTP_PROXY="squid1;squid2"
Note that a local cache is needed on a machine for CVMFS clients; it is recommended that this cache be on a local disk so that subsequent access of CVMFS files will be fast and not network limited. Recommendations:
/var/lib/cvmfs
;
/var
is not a separate partition, use another location to avoid filling up the root (/
) partition.chcon -R -t cvmfs_cache_t <path to cache dir>
Although 25-50 GB of space is highly recommended, you can set a limit on how much cache disk is used if you have much less space. In the local configuration file /etc/cvmfs/default.local
, set the variable CVMFS_QUOTA_LIMIT
. You must set the value no matter how much space you have. Remember to set it to only 80% of the available space (the other 20% will be taken up by hidden SQLite files). Consider using an alien cache if the nodes are diskless or have small disks.
This file will override the CVMFS defaults; you will need root privileges to create and edit it. Create a file /etc/cvmfs/default.local
like this example:
# List of ATLAS cvmfs repos to mount and probe
CVMFS_REPOSITORIES=atlas.cern.ch,atlas-condb.cern.ch,atlas-nightlies.cern.ch,sft.cern.ch,sft-nightlies.cern.ch,unpacked.cern.ch
# where the cache files will live; don't use a root (/) partition
# default is /var/lib/cvmfs so change this only if needed.
# 25-50 GB cache is recommended.
# if SELinux is enabled, do also
# chcon -R -t cvmfs_cache_t /home/cvmfs
CVMFS_CACHE_BASE=/home/cvmfs
# This is 80% of the space allocated to CVMFS_CACHE_BASE in MB.
CVMFS_QUOTA_LIMIT=10000
# your local proxies to use if any. Don't define if no proxy.
# This is what is recommended for machines on cern.ch domain
# from https://twiki.cern.ch/twiki/bin/view/CvmFS/ClientSetupCERN
CVMFS_HTTP_PROXY='http://ca-proxy-atlas.cern.ch:3128;http://ca-proxy.cern.ch:3128'
This section describes how to install CVMFS client for supported ATLAS Linux OS.
If you are installing at a Tier1, Tier2 or large Tier3 site, you are encouraged to follow the OSG or EGI instructions. These OSG/EGI instructions will configure CVMFS fallback proxies. This is important for the WLCG squid operations team and the stratum 1 operators because it keeps failovers (when local squids aren’t working) from going directly to the CVMFS stratum 1s.
The OSG/EGI configuration also redirects those who set a DIRECT
proxy to use Cloudflare for CVMFS stratum 1s; this is a good reason for everyone else to follow these instructions instead of the default ones.
However note that the OSG/EGI may install CVMFS versions that are slightly older than that of the default ones.
(Recommended for OSG and US sites / users)
Please follow the instructions.
(Recommended for everyone)
Please follow the instructions. In summary:
yum install https://ecsft.cern.ch/dist/cvmfs/cvmfs-contrib-release/cvmfs-contrib-release-latest.noarch.rpm
cp /etc/yum.repos.d/cvmfs-contrib.repo /tmp
mv -f /tmp/cvmfs-contrib.repo /etc/yum.repos.d
yum-config-manager --enable cvmfs-contrib-egi >/dev/null
yum install egi-cvmfs
yum install cvmfs
echo "/cvmfs /etc/auto.cvmfs" > /etc/auto.master.d/cvmfs.autofs
systemctl enable autofs
systemctl restart autofs
reboot # for a clean check
(Recommended to use OSG or EGI instead if possible.)
yum install https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
yum install cvmfs
echo "/cvmfs /etc/auto.cvmfs" > /etc/auto.master.d/cvmfs.autofs
systemctl enable autofs
systemctl restart autofs
reboot # for a clean check
If anyone needs or are still doing nfs export of cvmfs, please get in touch with ATLAS ADC. There should not be a use case for this.
If you already have a shared file system, the solution to this would be atlas-cvmfsexec and a relocated cvmfs.
The installer will mount CVMFS on /User/shared/cvmfs
with a firm link to /cvmfs
after reboot. Create the mount points as shown below:
mkdir -p /Users/Shared/cvmfs/cvmfs-config.cern.ch
mkdir -p /Users/Shared/cvmfs/atlas.cern.ch
mkdir -p /Users/Shared/cvmfs/atlas-condb.cern.ch
mkdir -p /Users/Shared/cvmfs/atlas-nightlies.cern.ch
mkdir -p /Users/Shared/cvmfs/sft.cern.ch
mkdir -p /Users/Shared/cvmfs/sft-nightlies.cern.ch
mkdir -p /Users/Shared/cvmfs/unpacked.cern.ch
You can create scripts mount.sh
and umount.sh
as shown below: Put them somewhere you can run as root.
#! /bin/bash
# e.g. of mount.sh script; needs to run as superuser. (sudo <path>/mount.sh)
mount -t cvmfs cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch
mount -t cvmfs atlas.cern.ch /cvmfs/atlas.cern.ch
mount -t cvmfs atlas-condb.cern.ch /cvmfs/atlas-condb.cern.ch
mount -t cvmfs atlas-nightlies.cern.ch /cvmfs/atlas-nightlies.cern.ch
mount -t cvmfs sft.cern.ch /cvmfs/sft.cern.ch
mount -t cvmfs sft-nightlies.cern.ch /cvmfs/sft-nightlies.cern.ch
mount -t cvmfs unpacked.cern.ch /cvmfs/unpacked.cern.ch
#! /bin/bash
# e.g. of unmount.sh script; needs to run as superuser. (sudo <path>/unmount.sh)
umount /cvmfs/cvmfs-config.cern.ch
umount /cvmfs/atlas.cern.ch
umount /cvmfs/atlas-condb.cern.ch
umount /cvmfs/atlas-nightlies.cern.ch
umount /cvmfs/sft.cern.ch
umount /cvmfs/sft-nightlies.cern.ch
umount /cvmfs/unpacked.cern.ch
Make sure those scripts are executable.
chmod +x mount.sh
chmod +x unmount.sh
Now you can mount and unmount them from a terminal by doing
sudo <path>/mount.sh # to mount
sudo <path>/unmount.sh # to unmount
cvmfs_config probe
: probe each repo defined in default.localcvmfs_config chksetup
: check the configurationscvmfs_config status
: check the statuscvmfs_config stat -v
: show details of stratum 1 and proxiescvmfs_config showconfig
: show the configurationscvmfs_config chksetup
: check the setup (requires root privileges)In addition, cvmfs_talk -h
and cvmfs_config -h
offer much more.
If setupATLAS is not defined for you, do this in your login scripts. You can type it after a fresh login. (Don’t define this on lxplus; it is already defined for you.)
if [ -z $ATLAS_LOCAL_ROOT_BASE ]; then
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
fi
# setupATLAS is defined as a function here
setupATLAS ()
{
if [ -d $ATLAS_LOCAL_ROOT_BASE ]; then
source $ATLAS_LOCAL_ROOT_BASE/user/atlasLocalSetup.sh;
return $?;
else
echo "Error: /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase is unavailable" 1>&2;
return 64;
fi
}