Full documentation for the CernVM-File System (CVMFS) is available here which provides an introduction:
"The CernVM-File System (CernVM-FS) provides a scalable, reliable and low-maintenance software distribution service. It was developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide- distributed computing infrastructure used to run data processing applications. CernVM-FS is implemented as a POSIX read-only file system in user space (a FUSE module). Files and directories are hosted on standard web servers and mounted in the universal namespace /cvmfs. Internally, CernVM-FS uses content-addressable storage and Merkle trees in order to maintain file data and meta-data. CernVM-FS uses outgoing HTTP connections only, thereby it avoids most of the firewall issues of other network file systems. It transfers data and meta-data on demand and verifies data integrity by cryptographic hashes."
CVMFS might be thought of as a content distribution network for software which makes centrally managed and updated software repositories available across resources. This allows using the same software packages, toolchains, libraries and tools, across HPC institutes, private or public cloud environments and even desktop systems.
CVMFS integrates very will with container management systems, allowing the same software tree to be presented within containers or VMs without having to install (and maintain) the same packages into each, which may vary in versions or compilation options as well as creating container size bloat.
Software accessed via CVMFS is cached locally, thus providing runtime performance comparable to locally installed versions.
CVMFS within the HPC Environment
The HPC Support Team is providing initial access to cvmfs software repositories for evaluation in our HPC environments.
Repositories for the Open Science Grid, and an internal repo are available on HPC nodes.
CVMFS software repos may also be accessed by VMs running in OpenStack and desktop Linux systems. Instructions will be provided for these use cases, though support efforts will be focused on CVMFS within the HPC environment.
CVMS on HPC
Other software repos (CERN, SLAC, FNAL, etc.) may be officially added in the future.
CVMFS Repos Available
The OSG repo contains software distributed and maintained by the Open Science Grid.
Directories under /cvmfs are auto-mounted upon access. The cvmfs_config probe command will also cause them to be presented as well as verify availability:
On login01-node:
$ cvmfs_config probe
Probing /cvmfs/oasis.opensciencegrid.org... OK
$ ls /cvmfs/oasis.opensciencegrid.org/osg/
bin modules modules2 palms projects README.txt sw test_spack update.details
$ ls /cvmfs/hostname/
hpc-ops pgi
OSG CVMFS Provided Modules and Tutorials
The Open Science Grid repo provides a nice software catalog and module wrapper to allow easily switching to their software tree.
This software repository is built and maintained by the OSG. It is made available to users, though the software itself is not supported by the HPC Support Team.
$ less /cvmfs/oasis.opensciencegrid.org/osg/sw/module-init.sh
$ less /cvmfs/oasis.opensciencegrid.org/osg/sw/rhel/7/lmod/6.3/init/profile
View your current module environment modules:
$ env | grep MODULE