Accessing CVMFS/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "* Validez la configuration. {{Command|sudo cvmfs_config chksetup}} ** Assurez-vous de régler les avertissements ou erreurs qui pourraient survenir. * Vérifiez les répertoir...")
(Created page with "Pour plus d’information sur la configuration d’un client, consultez le [https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html#setting-up-the-software guide de démarr...")
Line 142: Line 142:
** If you are an administrator installing CVMFS on multiple systems (such as in a cluster, laboratory, campus or other site), the proxies that you have deployed according to the [[Accessing_CVMFS#For_multiple_systems|requirements]] must be specified here in the <code>CVMFS_HTTP_PROXY</code> parameter. Moreover, you should inform users at your site or organization (if applicable) that they may use these proxy servers.
** If you are an administrator installing CVMFS on multiple systems (such as in a cluster, laboratory, campus or other site), the proxies that you have deployed according to the [[Accessing_CVMFS#For_multiple_systems|requirements]] must be specified here in the <code>CVMFS_HTTP_PROXY</code> parameter. Moreover, you should inform users at your site or organization (if applicable) that they may use these proxy servers.


For more information on client configuration see the [https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html#setting-up-the-software quickstart guide] and [http://cvmfs.readthedocs.io/en/stable/apx-parameters.html#client-parameters client parameters documentation].
Pour plus d’information sur la configuration d’un client, consultez le [https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html#setting-up-the-software guide de démarrage] et la [http://cvmfs.readthedocs.io/en/stable/apx-parameters.html#client-parameters documentationdocumentation sur les paramètres].


== Test ==
== Test ==

Revision as of 19:42, 19 September 2019

Other languages:

Introduction

Les répertoires de logiciels et de données offerts par Calcul Canada sont accessibles via CVMFS (CERN Virtual Machine File System). Puisque CVMFS est préconfiguré pour vous, vous pouvez utiliser ses répertoires directement. Pour plus d’information sur l’environnement logiciel de Calcul Canada, consultez les pages wiki Logiciels disponibles, Utiliser des modules, Python, R et Installation de logiciels dans votre répertoire /home.

Nous décrivons ici comment installer et configurer CVMFS sur votre propre ordinateur ou grappe; vous aurez ainsi accès aux mêmes répertoires et environnements logiciels que ceux des systèmes de Calcul Canada. Les membres du personnel de Calcul Canada peuvent consulter la documentation interne.

Nous utilisons comme exemple l'environnement logiciel présenté à la conférence PEARC 2019, Practices and Experience in Advanced Research Computing.

Avant de commencer

Important

Veuillez vous abonner au service d'annonces et remplir ce formulaire d'enregistrement (en anglais). Si vous utilisez notre environnement logiciel dans votre recherche, veuillez reconnaître la contribution de Calcul Canada selon ces directives.

Nous vous remercions de mentionner aussi notre présentation.


S'abonner au service d'annonces

Des modifications peuvent être apportées au CVMFS ou aux logiciels et autre contenu des répertoires fournis par Calcul Canada; ces modifications touchent les utilisateurs ou nécessitent l’intervention de l’administrateur pour assurer la continuité du service.

Abonnez-vous à la liste de diffusion cvmfs-announce@calculcanada.ca afin de recevoir les annonces importantes occasionnelles. Vous pouvez vous abonner avec un compte Google ou en écrivant à cvmfs-announce+subscribe@calculcanada.ca et en répondant au courriel de confirmation.

Conditions d’utilisation et soutien technique

Le logiciel client CVMFS est fourni par le CERN. Calcul Canada fournit ses répertoires CVMFS sans aucune forme de garantie. Votre accès aux répertoires et à l’environnement logiciel peut être limité ou bloqué si vous contrevenez aux conditions d’utilisation (par exemple et sans s’y limiter, aux articles 3.5 ou 3.11) ou à la discrétion de Calcul Canada.

Exigences techniques

Pour un seul système

Pour installer CVMFS sur un ordinateur personnel, les exigences sont :

  • un système d’exploitation compatible (voir la section Installation);
  • le logiciel libre FUSE;
  • environ 50Mo d’espace de stockage local pour la cache; l'espace peut être moindre et ne sera utilisé que pour les fichiers auxquels vous accédez;
  • l’accès HTTP vers l’internet,
    • ou l’accès HTTP vers un ou plusieurs serveurs proxies locaux.

Si ces conditions ne sont pas respectées ou que vous avez d’autres restrictions, considérez ces autres options.

Pour plusieurs systèmes

Pour déployer plusieurs clients CVMFS, par exemple avec une grappe, dans un laboratoire, sur un campus ou autre, chacun des systèmes doit satisfaire les exigences particulières énoncées ci-dessus. Tenez compte en plus des points suivants :

  • Pour votre site, vous devez déployer des serveurs proxies HTTP avec cache externe (forward caching), comme Squid.
    • Le fait de ne disposer que d’un seul serveur proxy est un point individuel de défaillance. Règle générale, vous devriez disposer d’au moins deux serveurs proxies locaux et préférablement un ou plusieurs autres serveurs proxies supplémentaires à proximité pour prendre la relève en cas de problème.
  • Nous recommandons de synchroniser l’identité du compte de service cvmfs de tous les nœuds clients avec LDAP ou autrement.
    • Ceci facilitera l’utilisation d’une cache externe et devrait être fait avant que CVMFS ne soit installé. Même si l’utilisation d’une cache externe n’est pas prévue, il est plus facile de synchroniser les comptes dès le départ que d’essayer de les changer plus tard.

Exigences de l’environnement logiciel

Exigences de base

  • Système d’exploitation :
    • Linux : avec noyau (kernel) 2.6.32 ou plus,
    • Windows : avec la version 2 du sous-système Windows pour Linux (WSL) et une distribution Linux avec noyau (kernel) 2.6.32 ou plus,
    • Mac OS : par instance virtuelle seulement;
  • CPU : x86, pour jeux d’instructions SSE3, AVX, AVX2 ou AVX512.

Pour une utilisation optimale

  • Ordonnanceur : Slurm ou Torque, pour une intégration étroite avec les applications OpenMPI;
  • Interconnexion réseau : Ethernet, InfiniBand ou OmniPath, pour les applications parallèles;
  • GPU : NVidia avec pilotes CUDA 7.5 ou plus, pour les applications CUDA (voir la mise en garde ci-dessous);
  • Un minimum de paquets Linux, pour éviter les risques de conflits.

Installation de CVMFS

Si vous voulez utiliser Ansible, il existe un rôle client CVMFS pour la configurationde base d’un client CVMFS avec un système RPM. Sinon, utilisez les directives ci-dessous.

Préinstallation

Nous recommandons que la cache locale CVMFS (située par défaut dans /var/lib/cvmfs et configurable avec le paramètre CVMFS_CACHE_BASE) soit localisée dans un système de fichiers dédié afin que le stockage ne soit pas partagé avec celui d’autres applications. Vous devriez donc avoir ce système de fichiers avant d’installer CVMFS. Typiquement, la cache devrait être d’environ 50Go, mais dépendant de la situation, plus ou moins d’espace devrait pouvoir convenir. Pour les détails, consultez la documentation de configuration d’un client.

Installation

Pour les directives, sélectionnez l’onglet correspondant à votre système d’exploitation. Les directives ont été testées avec les distributions suivantes :

  • CentOS 6, CentOS 7
  • Fedora 29
  • Debian 9
  • Ubuntu 18.04

À l’installation de paquets, vous devrez peut-être accepter certaines clés. Assurez-vous que leurs empreintes correspondent aux valeurs suivantes :

  • CernVM : 70B9 8904 8820 8E31 5ED4 5208 230D 389D 8AE4 5CE7
  • Calcul Canada, clé 1 : C0C4 0F04 70A3 6AF2 7CC4 4D5A 3B9F C55A CF21 4CFC
  • Calcul Canada, clé 2 : DDCD 3C84 ACDF 133F 4BEC FBFA 49DE 2015 FF55 B476
  • Installez le répertoire YUM du CERN et la clé GPG.
Question.png
[name@server ~]$ sudo yum install https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
  • Installez le répertoire YUM de Calcul Canada et les clés GPG.
Question.png
[name@server ~]$ sudo yum install https://package.computecanada.ca/yum/cc-cvmfs-public/Packages/computecanada-release-latest.noarch.rpm
  • Installez le client CVMFS et les paquets de configuration appropriés selon le répertoire YUM.
Question.png
[name@server ~]$ sudo yum install cvmfs cvmfs-config-default cvmfs-config-computecanada cvmfs-auto-setup
  • Installez le paquet de configuration par défaut.
Question.png
[name@server ~]$ sudo dnf install https://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-latest.noarch.rpm
  • Téléchargez le client CVMFS RPM pour votre système d’exploitation à partir de https://cernvm.cern.ch/portal/filesystem/downloads et installez-le avec dnf ou yum.
    • Puisqu’il n’y a pas de répertoire yum pour Fedora, vous devrez vérifier périodiquement s’il existe une mise à jour du client CVMFS et de la configuration par défaut, et en faire l’installation manuellement.
  • Effectuez la configuration initiale du client.
Question.png
[name@server ~]$ sudo cvmfs_config setup
  • Installez le répertoire YUM de Calcul Canada et les clés GPG.
Question.png
[name@server ~]$ sudo dnf install https://package.computecanada.ca/yum/cc-cvmfs-public/Packages/computecanada-release-latest.noarch.rpm
  • Installez la configuration CVMFS de Calcul Canada à partir du répertoire YUM [??].
Question.png
[name@server ~]$ sudo dnf install cvmfs-config-computecanada
  • Follow the instructions here to add the CERN apt repository.
  • Install the CVMFS client from that repository:
Question.png
[name@server ~]$ sudo apt-get install cvmfs cvmfs-config-default uuid-runtime
  • Apply the initial client setup:
Question.png
[name@server ~]$ sudo cvmfs_config setup
  • Download and install the Compute Canada CVMFS configuration package:
[name@server ~]$ wget https://package.computecanada.ca/yum/cc-cvmfs-public/OtherPackages/cvmfs-config-computecanada-latest.all.deb
[name@server ~]$ sudo dpkg -i cvmfs-config-computecanada-latest.all.deb
    • Since an apt repository is not available for this package, make sure you are subscribed to be informed of updates.

Puisque ces systèmes d’exploitation sont basés sur RPM, les directives pour Fedora devraient fonctionner.

  • For Windows, you first need to have Windows Subsystem for Linux, version 2. As of this writing (July 2019), this is supported only in a developer version of Windows. The instructions for installing it are here [1].
  • Once it is installed, install the Linux distribution of your choice, and follow the appropriate instructions from one of the other tabs.
  • Under WSL2, with Ubuntu, /dev/fuse is not usable by other users than root. This does not allow CVMFS to work properly. To fix this, run
Question.png
[name@server ~]$ chmod go+rw /dev/fuse

For more information refer to the quickstart guide.

Configuration

Do not create any CVMFS configuration files ending with .conf. In order to avoid collisions with upstream configuration sources, all locally-applied configuration must be in .local files. See structure of /etc/cvmfs for more information.

In particular, create the file /etc/cvmfs/default.local, with at least the following minimal configuration:

CVMFS_REPOSITORIES="cvmfs-config.computecanada.ca,soft.computecanada.ca"
CVMFS_STRICT_MOUNT="yes"
CVMFS_QUOTA_LIMIT=44500
CVMFS_HTTP_PROXY="<define this parameter according to the information below>"
  • CVMFS_REPOSITORIES is a comma-separated list of the repositories to use.
  • CVMFS_QUOTA_LIMIT is the amount of space in MB that CVMFS will use for the local cache; it should be about 15% less than the size of the local cache filesystem.
  • CVMFS_HTTP_PROXY lists the proxy servers to use. See the documentation about this parameter, including syntax, examples, and use of load-balancing groups and round-robin DNS.
    • If you are an individual user installing CVMFS on a single computer for your own use; you may use CVMFS_HTTP_PROXY="DIRECT" . However, you should ask your local system administration team at your organization (if applicable) if there are forward caching HTTP proxy servers available for your use, as this will improve the performance of your CVMFS client.
    • If you are an administrator installing CVMFS on multiple systems (such as in a cluster, laboratory, campus or other site), the proxies that you have deployed according to the requirements must be specified here in the CVMFS_HTTP_PROXY parameter. Moreover, you should inform users at your site or organization (if applicable) that they may use these proxy servers.

Pour plus d’information sur la configuration d’un client, consultez le guide de démarrage et la documentationdocumentation sur les paramètres.

Test

  • Validez la configuration.
Question.png
[name@server ~]$ sudo cvmfs_config chksetup
    • Assurez-vous de régler les avertissements ou erreurs qui pourraient survenir.
  • Vérifiez les répertoires.
Question.png
[name@server ~]$ cvmfs_config probe

En cas de problème, ce guide de débogage pourrait vous être utile.

Enabling our environment in your session

Once you have mounted the CVMFS repository, enabling our environment in your sessions is as simple as running

Question.png
[name@server ~]$ source /cvmfs/soft.computecanada.ca/config/profile/bash.sh

The above command will not run anything if your user ID is below 1000. This is a safeguard, because you should not rely on our software environment for privileged operation. If you nevertheless want to enable our environment, you can first define the environment variable FORCE_CC_CVMFS=1, with the command

Question.png
[name@server ~]$ export FORCE_CC_CVMFS=1

or you can create a file $HOME/.force_cc_cvmfs in your home folder if you want it to always be active, with

Question.png
[name@server ~]$ touch $HOME/.force_cc_cvmfs

If, on the contrary, you want to avoid enabling our environment, you can define SKIP_CC_CVMFS=1 or create the file $HOME/.skip_cc_cvmfs to ensure that the environment is never enabled in a given account.

Personnaliser votre environnement

Par défaut, certaines fonctionnalités de votre système seront automatiquement détectées par l’activation de notre environnement et les modules requis seront chargés. Ce comportement par défaut peut être modifié par la définition préalable des variables d’environnement particulières décrites ci-dessous.

Variables d’environnement

CC_CLUSTER

Cette variable identifie la grappe. This variable is used to identify a cluster. Elle achemine des renseignements au journal du système et définit le comportement à adopter selon la licence du logiciel. Sa valeur par défaut est computecanada. Vous pourriez définir sa valeur pour que les journaux soient identifiés par le nom de votre système.

RSNT_ARCH

This environment variable is used to identify the set of CPU instructions supported by the system. By default, it will be automatically detected based on /proc/cpuinfo. However if you want to force a specific one to be used, you can define it before enabling the environment. The supported instruction sets for our software environment are:

  • sse3
  • avx
  • avx2
  • avx512

RSNT_INTERCONNECT

This environment variable is used to identify the type of interconnect supported by the system. By default, it will be automatically detected based on the presence of /sys/module/opa_vnic (for Intel OmniPath) or /sys/module/ib_core (for InfiniBand). The fall-back value is ethernet. The supported values are

  • omnipath
  • infiniband
  • ethernet

The value of this variable will trigger different options of transport protocol to be used in OpenMPI.

LMOD_SYSTEM_DEFAULT_MODULES

Cette variable identifie les modules à charger par défaut. Si elle n’est pas définie, notre environnement charge par défaut le module StdEnv qui à son tour charge par défaut une version du compilateur Intel ainsi qu’une version OpenMPI.

MODULERCFILE

Cette variable est utilisée par Lmod pour définir la version par défaut des modules et alias. Vous pouvez définir votre propre fichier modulerc et l'ajouter à MODULERCFILE. Ceci aura préséance sur ce qui est défini dans notre environnement.

Chemin des fichiers

Notre environnement logiciel est conçu pour dépendre le moins possible du système d’exploitation hôte; cependant, il doit reconnaître certains chemins afin de faciliter les interactions avec les outils qui y sont installés.

/opt/software/modulefiles

S’il existe, ce chemin est automatiquement ajouté au MODULEPATH par défaut. Ceci permet l’utilisation de notre environnement en conservant les modules installés localement.

$HOME/modulefiles

S’il existe, ce chemin est automatiquement ajouté au MODULEPATH par défaut. Ceci permet l’utilisation de notre environnement en permettant l’installation de modules dans les répertoires /home.

/opt/software/slurm/bin, /opt/software/bin, /opt/slurm/bin

Ces chemins sont automatiquement ajoutés au PATH par défaut. Il permet l'ajout de votre exécutable dans le chemin de recherche.

Caveats

Use of software environment by system administrators

System administrators (or users managing their own personal system) who perform privileged system operations should ensure that their session does not depend on the Compute Canada software environment when performing any such operations. For example, if you attempt to update CVMFS using YUM while your session uses a Python module loaded from CVMFS, YUM may run using that module and lose access to it during the update, and the update may become deadlocked. Similarly, if your environment depends on CVMFS and you reconfigure CVMFS in a way that temporarily interrupts access to CVMFS, your session may hang. (When these precautions are taken, in most cases CVMFS can be updated and reconfigured without interrupting access to CVMFS for users, because the update or reconfiguration itself will complete successfully.)

Compute Canada configuration repository

If you already have CVMFS installed and configured in order to use other repositories (like CERN's repositories), and if your CVMFS client configuration relies on the use of a configuration repository, be aware that the cvmfs-config-computecanada package sets up and enables the cvmfs-config.computecanada.ca configuration repository, which may conflict with your use of any other configuration repository and potentially break your pre-existing CVMFS client configuration, since clients can only use a single configuration repository. (The Compute Canada CVMFS configuration repository is a central source of configuration that makes all other Compute Canada CVMFS repositories available. It provides all site-independent client configuration required for Compute Canada usage and allows client configuration updates to be automatically propagated. The contents can be seen in /cvmfs/cvmfs-config.computecanada.ca/etc/cvmfs/ .)

Paquets logiciels non disponibles

Calcul Canada met plusieurs logiciels du commerce à la disposition des utilisateurs, sous condition de la licence de ces produits. Ces logiciels ne sont pas disponibles ailleurs qu’avec nos ressources et vous n’y aurez pas droit d’accès même si vous suivez les directives pour installer et configurer CVMFS. Prenons l’exemple des compilateurs d’Intel et du Portland Group : si les modules pour ces compilateurs sont disponibles, vous n’avez accès qu’aux parties redistribuables, habituellement les objets partagés. Vous pourrez exécuter des applications compilées, mais il ne vous sera pas possible de compiler de nouvelles applications.

Localisation de CUDA

Dans le cas des paquets CUDA, notre environnement logiciel utilise des bibliothèques de pilotes installées dans /usr/lib64/nvidia. Cependant, avec certaines plateformes, les récents pilotes NVidia installent les bibliothèques /usr/lib64 dans LD_LIBRARY_PATH sans emprunter de toutes les bibliothèques du système, ce qui pourrait créer des incompatibilités avec notre environnement logiciel; nous vous recommandons donc de créer des liens symboliques dans /usr/lib64/nvidia pour rediriger vers les bibliothèques NVidia qui sont installées. Le script suivant sert à créer les liens symboliques (remplacez le numéro de version par celui de la vôtre).


File : script.sh

NVIDIA_DRV_VER="410.48"
nv_pkg=( "nvidia-driver" "nvidia-driver-libs" "nvidia-driver-cuda" "nvidia-driver-cuda-libs" "nvidia-driver-NVML" "nvidia-driver-NvFBCOpenGL" "nvidia-modprobe" )
yum -y install ${nv_pkg[@]/%/-${NVIDIA_DRV_VER}}
for file in $(rpm -ql ${nv_pkg[@]}); do
  [ "${file%/*}" = '/usr/lib64' ] && [ ! -d "${file}" ] && \ 
  ln -snf "$file" "${file%/*}/nvidia/${file##*/}"
done


LD_LIBRARY_PATH

Notre environnement est conçu pour utiliser RUNPATH. Il n’est pas recommandé de définir LD_LIBRARY_PATH puisque l'environnement pourrait causer des problèmes.

Bibliothèques introuvables

Puisque nous ne définissons pas LD_LIBRARY_PATH et que nos bibliothèques ne sont pas installées dans des localisations Linux par défaut, les paquets binaires comme Anaconda ont souvent de la difficulté à trouver les bibliothèques dont ils ont besoin. Consultez notre documentation sur l’installation de paquets binaires .

dbus

Pour certaines applications, dbus doit être installé localement, sur le système d’exploitation hôte.