Table des matières
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 envoyant un mail à à partir de votre adresse connue du centre avec comme titre « CCFR : login IDRIS / votre nom » pour demander l’accès CCFR et vous permettre de faire vos transferts vers le CINES et le TGCC. L’information sera transmise aux deux autres centres pour qu'ils puissent aussi faire ce qui est nécessaire pour que cela soit opérationnel.
- 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
etjean-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 Joliot-Curie, 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
Transfert de données via parallel-sftp
Pour accélérer les transferts de fichiers entre trois centres nationaux, vous pouvez également utiliser la commande parallel-sftp
. Il s'agit d'un outil développé par le CEA qui permet d'utiliser la commande sftp
standard en parallèle pour réaliser des transferts de fichiers parallèles.
Vous trouverez plus d'informations sur le site du CEA.
parallel-sftp
est installé sur les nœuds de connexion du cluster IDRIS jean-zay. Son utilisation est identique à sftp
, à l'exception de l'option -n
qui permet de choisir le nombre de connexions ssh utilisées pour les transferts parallèles.
Par exemple, pour réaliser un transfert parallèle avec 5 connexions ssh :
$ parallel-sftp -n 5 <remote_login>@<remote_host>
Ainsi, si un transfert sftp est limité à 1 Gbps par exemple, ce transfert utilisera au maximum 5 Gbps.
Attention : pour vos transferts entre les centres nationaux, vous devez utiliser les nœuds connectés au réseau CCFR. Pour l'IDRIS, cela signifie que le paramètre <remote_host>
ci-dessus doit être adastra-ccfr.cines.fr
ou irene-fr-ccfr.ccc.cea.fr
. Mais vous pouvez directement utiliser jean-zay.idris.fr
pour exécuter la commande parallel-sftp
.
Pour une utilisation à l'IDRIS, vous pouvez suivre l'exemple suivant écrit pour adastra
(pour irene
il suffit d'utiliser irene-fr-ccfr.ccc.cea.fr
):
# 1/ Se connecter à jean-zay : $ ssh jean-zay_login@jean-zay.idris.fr # 2/ Pour initier une connexion permettant de faire des transferts avec la machine adastra # utilisant potentiellement 5 threads dans ce cas $ parallel-sftp -n 5 adastra_login@adastra-ccfr.cines.fr sftp> # Vous êtes alors dans un environnement sftp dans lequel pour pouvez exécuter # des commandes put et get pour faire les transferts (voir man sftp). # ATTENTION : les variables d'environnement telles que WORK, SCRATCH, STORE, ... # ne sont pas définies et ne peuvent donc pas être utilisées pour # spécifier les chemins d'accès aux données à transférer. # Vous devez indiquer les chemins complets ! # 3/ Faire les transferts # Pour transférer un répertoire de jean-zay sur adastra, vous pouvez faire : sftp> put -r /path/to/jean-zay/src/directory /path/to/adastra/dest/directory # Pour transférer un répertoire de adastra sur jean-zay, vous pouvez faire : sftp> get -r /path/to/jean-zay/dest/directory /path/to/adastra/src/directory