CernVM-FS Terminology¶
Updated version available!
This tutorial was held in Dec 2023, some aspects of it are now outdated.
An updated version of this tutorial was presented in May 2025, see here.
An overview of terms used in the context of CernVM-FS, in alphabetical order.
Catalog¶
A catalog of a CernVM-FS repository is a table that lists files and directories along with the corresponding metadata (sizes, timestamps, etc.).
Catalogs can be nested: subtrees of the repository may have their own catalog.
For more information on the catalog concept, see the CernVM-FS documentation.
CernVM¶
CernVM is a virtual machine image based on CentOS combined with a custom, virtualization-friendly Linux kernel, and which includes the CernVM-FS client software.
It is used for the CERN Large Hadron Collider (LHC) experiment, and was created to remove a need for the installation of the experiment software and to minimize the number of platforms (compiler-OS combinations) on which experiment software needs to be supported and tested.
While originally developed in conjunction, the CernVM File System today is a product that is completely independent from the CernVM virtual appliance.
For more information on CernVM, see the website and documentation.
CernVM-FS¶
(see What is CernVM-FS?)
Client¶
A client in the context of CernVM-FS is a computer system on which a CernVM-FS repository
is being accessed, on which it will be presented as a POSIX
read-only file system in a subdirectory of /cvmfs.
Proxy¶
A proxy, also referred to as squid proxy, is a forward caching proxy server which acts as an intermediary between a CernVM-FS client and the Stratum-1 replica servers.
It is used to improve the latency observed when accessing the contents of a repository, and to reduce the load on the Stratum-1 replica servers.
A commonly used proxy is Squid.
For more information on proxies, see the CernVM-FS documentation.
Publishing¶
Publishing is the process of adding more files to a CernVM-FS repository, which is done via a transaction mechanism, and is on possible on the Stratum-0 server, via a publisher, or via a repository gateway.
The workflow of publishing content is covered in detail in the CernVM-FS documentation.
Repository¶
A CernVM-FS repository is where the files and directories that you want to distribute via CernVM-FS are stored, which usually correspond to a collection of software installations.
It is a form of content-addressable storage (CAS),
and is the single source of (new) data for the file system being presented as a subdirectory of /cvmfs
on client systems that mount the repository.
Note
A CernVM-FS repository includes software installations, not software packages like RPMs.
Software installations¶
An important distinction for a CernVM-FS repository compared to the more traditional notion of a software repository is that a CernVM-FS repository provides access to the individual files that collectively form a particular software installation, as opposed to housing a set of software packages like RPMs, each of which being a collection of files for a particular software installation that are packed together in a single package to distribute as a whole.
Note
This is an important distinction, since CernVM-FS enables only downloading the specific files that are required to perform a particular task with a software installation, which often is a small subset of all files that are part of that software installation.
Stratum 0 server¶
A Stratum 0 server, often simply referred to a Stratum 0 (Stratum Zero), is the central server for one or more CernVM-FS repositories.
It is the single source of (new) data, since it hosts the master copy of the repository contents.
Adding or updating files in a CernVM-FS repository (publishing) can only be done on the Stratum 0 server,
either directly via the cvmfs_server publish command, or indirectory via a publisher server.
For more information, see the CernVM-FS documentation.
Stratum 1 replica server¶
A Stratum 1 replica server, often simply referred to a Stratum 1 (Stratum One), is a standard web server that acts as a mirror server for one or more CernVM-FS repositories.
It holds a complete copy of the data for each CernVM-FS repository it serves, and automatically synchronises with the Stratum 0.
There is typically a network of several Stratum 1 servers for a CernVM-FS repository, which are geographically distributed.
Clients can be configured to automatically connect to the closest Stratum 1 server by using the CernVM-FS GeoAPI.
For more information, see the CernVM-FS documentation.