Comment transférer des données entre les 3 centres nationaux (réseau CCFR) ?

Présentation

Le réseau des Centres de Calcul Français (CCFR) est un réseau dédié à très haut débit, qui interconnecte les trois centres de calcul nationaux CINES, IDRIS et TGCC. Ce réseau est mis à la disposition des utilisateurs pour faciliter les transferts de données entre les centres nationaux. Sont actuellement raccordées sur ce réseau les machines Joliot-Curie au TGCC, Jean Zay à l'IDRIS et Adastra au CINES.

L'utilisation de ce réseau implique que vous ayez des logins (différents pour chaque centre) dans au moins deux des trois centres et qu'ils soient autorisés à accéder au réseau CCFR dans les centres concernés.

Remarques :

  • Pour votre login IDRIS, la demande d'accès au réseau CCFR peut se faire :
    • lors de votre demande de création de compte à partir du portail eDARI,
    • ou en remplissant le cadre intitulé “Accéder au réseau CCFR” du formulaire de gestion de compte (FGC) et l'envoyer à à partir d'une adresse institutionnelle. Notez que cette procédure requiert les signatures de l'utilisateur et du responsable sécurité de votre laboratoire.
  • De plus, tous les nœuds de Jean Zay ne sont pas connectés à ce réseau. Pour l'utiliser depuis l'IDRIS, vous pouvez utiliser les frontales jean-zay.idris.fr et jean-zay-pp.idris.fr.

Pour plus d'information, n'hésitez pas à contacter l'assistance ().

Transfert de données via CCFR

Le transfert de données entre les machines des centres via le réseau CCFR constitue le service principal pour ce réseau. Une commande wrapper ccfr_cp accessible par l'intermédiaire d'un module est fournie pour simplifier les usages :

$ module load ccfr

Cette commande ccfr_cp récupère automatiquement les informations de connexion à la machine spécifiée (nom de domaine, port spécifique) et détecte les possibilités d’authentification. Par défaut, la commande optera pour une authentification basique, utilisant les modalités traditionnelles en vigueur sur la machine ciblée.
La commande ccfr_cp est basée sur l’outil rsync, configuré pour faire transiter les données avec le protocole SSH. La copie réalisée est récursive et préserve les liens symboliques, les droits d’accès ainsi que les dates de modification des fichiers.
Le détail de la commande, ainsi que la liste des machines accessibles sur le réseau CCFR sont disponibles en précisant l’option -h à la commande ccfr_cp.

Pour des transferts depuis jean-zay vers les machines du CINES et du TGCC, vous pouvez utiliser des commandes similaires à celles-ci :

$ module load ccfr
$ ccfr_cp /path/to/datas/on/jean-zay login_cines@adastra:/path/to/directory/on/adastra:
$ ccfr_cp /path/to/datas/on/jean-zay login_tgcc@irene:/path/to/directory/on/irene:

Pour effectuer des transferts depuis Adastra, la procédure est similaire excepté que vous devez utiliser la machine adastra-ccfr.cines.fr (accessible depuis adastra.cines.fr) comme indiqué sur la documentation du CINES.
Pour effectuer des transferts depuis Irene, la procédure est aussi similaire et peut être effectuée directement depuis la frontale irene-fr.ccc.cea.fr. Après connexion à la machine, la commande machine.info vous donnera toutes les informations utiles.

Une commande ccfr_sync, variante de ccfr_cp, permet une synchronisation forte entre la source et la destination en ajoutant, par rapport à la commande ccfr_cp, la suppression des fichiers de la destination qui ne sont pas présents dans la source.

Remarque : Par défaut, ces commandes utiliseront une authentification basique par mot de passe en respectant les modalités en vigueur du centre distant (CINES ou TGCC). Vous serez donc certainement obligés de fournir un mot de passe à chaque fois. Pour éviter ceci, vous pouvez utiliser les certificats IDRIS de type transfert-only (validité 7 jours) dont le mode d'emploi est défini sur le site web de l'IDRIS. L'utilisation de tels certificats vous obligera à initier les transferts depuis la machine distante adastra-ccfr.cines.fr (accessible depuis adastra.cines.fr) pour le CINES et irene-fr.ccc.cea.fr pour le TGCC après avoir copié le certificat transfert-only sur la machine distante et à construire vous-même les commandes rsync de transfert (donc ne pas utiliser les wrappers ccfr_cp et ccfr_sync). Vous pouvez alors vous inspirer des exemples suivants pour faire vos transferts :

# Simple copie de jean-zay vers machine distante (exécuté sur la machine distante)
# utilisant le certificat transfert-only contenu dans ~/.ssh/id_ecc_rsync sur la machine distante
$ rsync --human-readable --recursive --links --perms --times --omit-dir-times -v \
  -e 'ssh -i ~/.ssh/id_ecc_rsync' \
  login_idris@jean-zay-ccfr.idris.fr:/path/on/jean-zay /path/on/adastra/or/irene
 
# Synchronisation forte (option --delete) de jean-zay vers machine distante (exécuté sur la machine distante)
# utilisant le certificat transfert-only contenu dans ~/.ssh/id_ecc_rsync sur la machine distante
$ rsync --human-readable --recursive --links --perms --times --omit-dir-times -v --delete \
  -e 'ssh -i ~/.ssh/id_ecc_rsync' \
   login_idris@jean-zay-ccfr.idris.fr:/path/on/jean-zay /path/on/adastra/or/irene

Attention : Sur la machine adastra-ccfr.cines.fr, le certificat id_ecc_rsync doit être visible depuis votre repertoire /home/login_cines/.ssh pour que la commande ssh puisse l'utiliser (pas de variable d'environnement définie pour cet espace disque). Il faut donc prendre soin de dé-archiver le certificat dans ce repertoire avec une commande du style :

login_cines@adastra-ccfr.cines.fr:~$ unzip ~/transfert_certif.zip -d /home/login_cines/.ssh
Archive: /lus/home/.../transfert_certif.zip
inflating: /home/login_cines/.ssh/id_ecc_rsync
inflating: /home/login_cines/.ssh/id_ecc_rsync.pub