Project

General

Profile

CVMFS

How to install and configure the cvmfs client in SLF

This section contains instructions for installing the cvmfs client on SLF (MacOS see below) and configuring it to be able to access cvmfs repositories in domain opensciencegrid.org. For latest information, refer to official OSG instructions

If you are trying to use cvmfs from outside the Fermilab firewall, refer to the section on network and firewall issues below.

The following instructions to be executed as root.

Setting up yum repositories.

The cvmfs client and dependencies are installed via yum from repositories maintained by osg. Additionally, the EPEL yum repository is reuired to fulfill some dependencies. The required repositories can be installed directly from osg (instructions here).

In SLF, you can install the epel repository using the following command.

yum install yum-conf-epel

Make sure the epel repository is enabled by editing its config file (/etc/yum.repos.d/epel.repo), or invoke subsequent yum commands with option --enablerepo=epel.

You will also need access to the osg yum repository. The best way to install this repository is to download it directly from osg.

Install and configure fuse.

Make sure fuse is installed

# yum install fuse

Edit /etc/fuse.conf to contain the following line.

user_allow_other

Install osg repo.

E.g. for slf7, osg version 3.3, type the following.

rpm -Uvh https://repo.opensciencegrid.org/osg/3.3/osg-3.3-el7-release-latest.rpm

Install and configure cvmfs client.

Install the cvmfs client packages.

# yum install osg-oasis

Create a file called default.local in /etc/cvmfs/. This file contains site-dependent configurations. This is the only file you should edit locally. Here are some typical contents:

CVMFS_QUOTA_LIMIT=4000
CVMFS_CACHE_BASE=/var/cache/cvmfs2
CVMFS_HTTP_PROXY="http://squid.fnal.gov:3128" 
CVMFS_CHECK_PERMISSIONS=no
CVMFS_REPOSITORIES=fermilab.opensciencegrid.org,uboone.opensciencegrid.org

You can customize the cache path and the cache size (units in Mb). The squid server (CVMFS_HTTP_PROXY) specified in the above fragment is appropriate for computers inside the Fermilab firewall. If your site has its own squid server, you can update that as well.

Test cvmfs.

You can test whether cvmfs is working using the following command (works for ordinary users as well as root).

$ cvmfs_config probe
Probing /cvmfs/fermilab.opensciencegrid.org... OK
Probing /cvmfs/uboone.opensciencegrid.org... OK

You can also test whether cvmfs is working by mounting fermilab.opensciencegrid.org manually.

# mkdir /temp
# mount -t cvmfs fermilab.opensciencegrid.org /temp
# ls /temp
# umount /temp
# rmdir /temp

Configuring the automounter.

It is common for cvmfs filesystems to be automounted, but naturally, this part is optional.

First, make sure autofs is installed.

# yum install autofs

When you installed cvmfs, you should have gotten a cvmfs automount map called /etc/auto.cvmfs (make sure it is there). No need to edit it.

Edit the master automount map /etc/auto.master to include the following line.

/cvmfs /etc/auto.cvmfs

Make sure selinux is turned off. The selinux configuration file /etc/selinux/config should contain the following line.

SELINUX=disabled

(Re)start the autofs service.

# service autofs restart

Now you should be able to see cvmfs filesystems.

$ ls /cvmfs/fermilab.opensciencegrid.org

As with any automounted filesystem, you will not see anything underneath /cvmfs until you explicity access a subdirectory.

Network and firewall issues.

At the time of writing of this document, the Fermilab cvmfs server, and the Fermilab squid server are all restricted to on site access only. If you are trying to access any of them from off site, you will need to use a vpn or an ssh tunnel to get inside the Fermilab firewall.

Troubleshooting.

The following commands may generate output that is helpful in troubleshooting cvmfs problems.

# cvmfs_config chksetup
$ cvmfs_config showconfig <repository>

How to install and configure the cvmfs client in MacOS

Some valuable information can be found in Adam Lyon's instructions here

The following instructions to be executed as root.

Install OSXFuse

Download and install the latest version of OSXFuse

Install the CVMFS Client

You can download and install the cvmfs client directly from cern

Configure the cvmfs client.

Generally, cvmfs client configuration is similar as in SLF. The easiest way to get a working configuration may be to copy from an known working cvmfs client, such as uboonegpvmXX. Cvmfs configuration files are found in /etc/cvmfs

Using the automounter is not recommended. Rather, statically mount the following cvmfs distributions in their standard locations.

# mkdir -p /cvmfs/fermilab.opensciencegrid.org
# mount -t cvmfs fermilab.opensciencegrid.org /cvmfs/fermilab.opensciencegrid.org
# mkdir -p /cvmfs/uboone.opensciencegrid.org
# mount -t cvmfs uboone.opensciencegrid.org /cvmfs/uboone.opensciencegrid.org

You might want to make a sudo script to (re)mount cvmfs filesystems.

CVMFS Configuration Files

Here is the full list of relevant CVMFS configuration files.

/etc/cvmfs/keys/<domain>/<domain>.pub        # Domain public key.
/etc/cvmfs/default.conf             # Standard configurations for all domains.
/etc/cvmfs/default.local            # Site-specific parameters for all domains.
/etc/cvmfs/domain.d/<domain>.conf   # Standard configurations for a specific domain.
/etc/cvmfs/domain.d/<domain>.local  # Site-specific parameters for a specific domain.
/etc/cvmfs/config.d/<repo>.conf     # Standard configurations for a specific repository.
/etc/cvmfs/config.d/<repo>.local    # Site-specific configurations for a specific repository.

Here "domain" is something like opensciencegrid.org, and "repository" is something like fermiulab.opensciencegrid.org.

In general, you should leave the various .conf files to have their standard contents, and confine your edits to .local files. In particular, pay attention to the modifiable parameters given above for default.local.

Here are the other configuration files mentioned in this article that are not part of CVMFS.

/etc/fuse.conf
/etc/selinux/config
/etc/auto.master
/etc/auto.cvmfs