Jean Zay : les espaces disques

Pour chaque projet, quatre espaces disques distincts sont accessibles : HOME, WORK et SCRATCH/JOBSCRATCH, enfin le STORE.

Chaque espace a des caractéristiques spécifiques adaptées à son utilisation, qui sont décrites ci-dessous. Les chemins d'accès à ces espaces sont stockés dans cinq variables d'environnement du shell : $HOME, $WORK, $SCRATCH et $JOBSCRATCH, enfin $STORE.

Vous pouvez connaître l'occupation des différents espaces disques avec les commandes IDRIS “ idr_quota” ou avec la commande Unix du (disk usage). Le retour des commandes “idr_quota” est immédiat mais n'est pas une information en temps réel (les commandes idr_quota_user et idr_quota_project sont actualisées une fois par jour et la commande idrquota toutes les 30 minutes). La commande du retourne une information en temps réél mais son exécution peut prendre beaucoup de temps selon la taille du répertoire concerné.

Pour la gestion spécifique de bases de données sur Jean Zay, une page dédiée a été rédigée en complément de celle-ci : Gestion de bases de données.

Le HOME

$HOME : c'est le répertoire d'accueil lors d'une connexion interactive. Cet espace est destiné aux fichiers de petite taille, très souvent utilisés, comme les fichiers d'environnement du shell, les utilitaires, éventuellement les sources et les bibliothèques quand leur taille est raisonnable. Cet espace a une taille limitée (en espace comme en nombre de fichiers).
Voici ses caractéristiques :

  • le HOME est un espace permanent ;
  • il est sauvegardé via des snapshots : voir la rubrique intitulée Les sauvegardes ci-dessous ;
  • il est prévu pour accueillir des fichiers de petite taille ;
  • dans le cas d'un login multi-projets, le HOME est unique ;
  • il est soumis à des quotas par utilisateur volontairement assez faibles (3 Gio par défaut) ;
  • il est accessible en interactif ou dans un travail batch via la variable $HOME :
    $ cd $HOME
  • c'est le répertoire d'accueil lors d'une connexion interactive.

Remarque : l'espace HOME est aussi référencé via la variable d'environnement CCFRHOME pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRHOME

Le WORK

$WORK : c'est un espace de travail et de stockage permanent utilisable en batch. On y stocke généralement les fichiers de taille importante qui servent lors des exécutions en batch : les fichiers sources volumineux et les bibliothèques, les fichiers de données, les exécutables, les fichiers de résultats, les scripts de soumission.
Voici ses caractéristiques :

  • le WORK est un espace permanent ;
  • il est sauvegardé via des snapshots : voir la rubrique intitulée Les sauvegardes ci-dessous ;
  • il est prévu pour accueillir des fichiers de taille importante ;
  • dans le cas d'un login multi-projet, un WORK par projet est créé ;
  • il est soumis à des quotas par projet ;
  • il est accessible en interactif ou dans un travail batch ;
  • il est composé de 2 parties :
    • une partie propre à chaque utilisateur ; on y accède par la commande :
      $ cd $WORK
    • une partie commune au projet auquel l'utilisateur appartient, dans lequel on peut mettre des fichiers destinés à être partagés; on y accède par la commande :
      $ cd $ALL_CCFRWORK 
  • le WORK est un espace disque GPFS dont la bande passante est d'environ 100 Go/s en écriture et en lecture. Celle-ci peut être ponctuellement saturée en cas d'utilisation exceptionnellement intensive.

Remarque : l'espace WORK est aussi référencé via la variable d'environnement CCFRWORK pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRWORK

Recommandations d'utilisation :

  • les travaux batch peuvent s'exécuter dans le WORK ; cependant, plusieurs de vos travaux pouvant s'exécuter en même temps, il vous faut gérer l'unicité de vos répertoires d'exécution ou de vos noms de fichiers.
  • De plus, il est soumis à des quotas (par projet) qui peuvent stopper brutalement votre exécution s'ils sont atteints. Ainsi, dans le WORK, il faut tenir compte non seulement de votre propre activité, mais aussi de celle de vos collègues de projet. Pour ces raisons, on pourra alors être amené à lui préférer le SCRATCH ou le JOBSCRATCH pour l'exécution de ses travaux batch.

Le SCRATCH/JOBSCRATCH

$SCRATCH : c'est un espace de travail et de stockage semi-temporaire utilisable en batch, la durée de vie des fichiers y est limitée à 30 jours. On y stocke généralement les fichiers de taille importante qui servent lors des exécutions en batch : les fichiers de données, les fichiers de résultats ou de reprise de calcul (restarts). Une fois le post-traitement effectué pour réduire le volume de données, il faut penser à recopier les fichiers significatifs dans le WORK pour ne pas les perdre après 30 jours, ou dans le STORE pour un archivage à long terme.
Voici ses caractéristiques :

  • le SCRATCH est un espace semi-permanent : la durée de vie des fichiers est de 30 jours ;
  • il n'est pas sauvegardé ;
  • il est prévu pour accueillir des fichiers de taille importante ;
  • il est soumis à des quotas de sécurité très larges :
    • des quotas disque par projet de l'ordre d'1/10ième de l'espace disque total
    • et des quotas inode par projet de l'ordre de 150 millions de fichiers et répertoires;
  • il est accessible en interactif ou dans un travail batch ;
  • il est composé de 2 parties :
    • une partie propre à chaque utilisateur ; on y accède par la commande :
      $ cd $SCRATCH
    • une partie commune au projet auquel l'utilisateur appartient, dans lequel on peut mettre des fichiers destinés à être partagés; on y accède par la commande :
      $ cd $ALL_CCFRSCRATCH 
  • dans le cas d'un login multi-projet, un SCRATCH par projet est créé ;
  • le SCRATCH est un espace disque GPFS dont la bande passante est d'environ 500 Go/s en écriture et en lecture.

Remarque : l'espace SCRATCH est aussi référencé via la variable d'environnement CCFRSCRATCH pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRSCRATCH

$JOBSCRATCH : c'est le répertoire temporaire d'exécution propre à un unique travail batch.
Voici ses caractéristiques :

  • le JOBSCRATCH est un répertoire temporaire : la durée de vie des fichiers est celle du travail batch ;
  • il n'est pas sauvegardé ;
  • il est prévu pour accueillir des fichiers de taille importante ;
  • il est soumis à des quotas de sécurité très larges :
    • des quotas disque par projet de l'ordre d'1/10ième de l'espace disque total
    • et des quotas inode par projet de l'ordre de 150 millions de fichiers et répertoires;
  • il est créé automatiquement lorsqu'un travail batch démarre : il est donc unique à chaque travail ;
  • il est détruit automatiquement à la fin de ce travail : il est donc indispensable de recopier explicitement les fichiers importants sur un autre espace disque (le WORK ou le SCRATCH) avant la fin du travail ;
  • le JOBSCRATCH est un espace disque GPFS dont la bande passante est d'environ 500 Go/s en écriture et en lecture.
  • Pendant toute la durée d'exécution d'un travail batch, le JOBSCRATCH correspondant est accessible depuis la frontale Jean Zay via son numéro de job JOBID (voir la sortie de la commande squeue) et la commande suivante :
    $ cd /gpfsssd/jobscratch/JOBID

Recommandations d'utilisation :

  • On peut voir le JOBSCRATCH comme l'ancien TMPDIR.
  • Le SCRATCH peut être vu comme un WORK semi-temporaire, mais avec les performances d’entrées/sortie maximales offertes à l'IDRIS, au prix d'une durée de vie des fichiers de 30 jours.
  • Les caractéristiques semi-temporaires du SCRATCH permettent d'y stocker de gros volumes de données entre deux ou plusieurs jobs qui s’enchainent sur une durée limitée à quelques semaines : cet espace n'est pas “purgé” après chaque job.

Le STORE

$STORE : c'est l'espace d'archivage, de stockage à long terme de l'IDRIS. On y stocke généralement les fichiers de taille très importante, fruits du tar d'une arborescence de fichiers résultats de calcul, après post-traitement. C'est un espace qui n'a pas pour vocation d’être accédé ou modifié quotidiennement, mais de préserver dans le temps de très gros volumes de données avec une consultation épisodique.
Voici ses caractéristiques :

  • le STORE est un espace permanent ;
  • il n'est pas sauvegardé ;
  • nous déconseillons son accès systématique en écriture dans un travail batch ;
  • il est prévu pour accueillir des fichiers de taille très importante : la taille maximum est de 10 Tio par fichier et la taille minimum conseillée de 250 Mio (ratio taille disque / nombre d'inodes);
  • dans le cas d'un login multi-projet, un STORE par projet est créé ;
  • il est soumis à des quotas par projet avec un faible nombre d'inodes, mais un très grand espace ;
  • il est composé de 2 parties :
    • une partie propre à chaque utilisateur ; on y accède par la commande :
      $ cd $STORE
    • une partie commune au projet auquel l'utilisateur appartient, dans lequel on peut mettre des fichiers destinés à être partagés; on y accède par la commande :
      $ cd $ALL_CCFRSTORE

Remarque : l'espace STORE est aussi référencé via la variable d'environnement CCFRSTORE pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRSTORE

Recommandations d'utilisation :

  • Le STORE n'a pas de principe de limitation de la durée de vie des fichiers.
  • Comme il s'agit d'un espace d'archive, il n'est pas conçu pour des accès fréquents.

Le DSDIR

$DSDIR : l'espace disque contenant les bases de données publiques volumineuses (en taille ou en nombre de fichiers) nécessaires à l'utilisation d'outils de l'Intelligence Artificielle. Ces bases de données sont visibles par l'ensemble des utilisateurs de Jean Zay.

Si vous exploitez de telles bases de données et que celles-ci ne se trouvent pas dans l'espace $DSDIR, l'IDRIS les téléchargera et les installera dans cet espace disque à votre demande.

Vous trouverez la liste des bases de données disponibles actuellement sur la page : Jean Zay : jeux de données et modèles disponibles dans l'espace de stockage $DSDIR.

Si votre base de données est personnelle ou sous licence trop restrictive, il vous faudra prendre en charge vous-même sa gestion sur les espaces disques de votre projet, comme décrit dans la page Gestion de bases de données.

Tableau récapitulatif des principaux espaces disques

Espace Capacité par défaut Spécificité Usage
$HOME 3 Go et 150 kinodes
par utilisateur
- Espace sauvegardé
- Accueil de connexion
- Stockage de fichiers de configuration
et de petits fichiers
$WORK 5 To (*) et 500 kinodes
par projet
- Espace sauvegardé
- Stockage sur disques rotatifs
(100 Go/s en lecture/écriture)
- Stockage des sources et des
données d'entrée/sortie
- Exécution en batch ou interactif
$SCRATCH Quotas de sécurité très larges
2,5 Po partagés
par tous les utilisateurs
- Espace non sauvegardé
- Stockage SSD
(500 Go/s en lecture/écriture)
- Durée de vie des fichiers inutilisés :
30 jours
(inutilisés = non lus, non modifiés)
- Stockage des données
d'entrée/sortie volumineuses
- Exécution en batch ou interactif
- Performances optimales pour
les opérations de lecture/écriture
$STORE 50 To (*) et 100 kinodes (*)
par projet
- Espace non sauvegardé - Stockage d'archives sur du long terme
(durée de vie du projet)
(*) les quotas par projet peuvent être augmentés sur demande du chef de projet ou de son suppléant via l'interface Extranet ou sur demande auprès du support utilisateurs.

Les sauvegardes

Les espaces $HOME et $WORK sont sauvegardés régulièrement via un mécanisme de snapshots : ce sont des instantanés de ces arborescences vous permettant de récupérer un fichier ou un répertoire que vous auriez corrompu ou effacé par erreur.

Tous les instantanés disponibles SNAP_YYYYMMDD, où YYYYMMDD correspond à la date de sauvegarde, sont visibles depuis tous les répertoires de votre HOME et de votre WORK via la commande :

$ ls .snapshots
SNAP_20191022  SNAP_20191220  SNAP_20200303  SNAP_20200511
SNAP_20191112  SNAP_20200127  SNAP_20200406  SNAP_20200609 

Remarque : dans cet exemple, vous noterez la présence de 8 sauvegardes. Pour récupérer un fichier à la date du 9 juin 2020, il vous suffit de sélectionner le répertoire SNAP_20200609.

Attention : le répertoire .snapshots n'est pas visible avec la commande ls -a donc ne soyez pas surpris de ne pas le voir. Seul son contenu peut être consulté.

Si, par exemple, vous désirez récupérer un fichier qui était dans le sous répertoire $WORK/MY_DIR, il vous suffit de suivre la procédure suivante :

  1. Vous vous placez dans le répertoire du fichier initial :
    $ cd $WORK/MY_DIR
  2. Vous retrouvez la sauvegarde qui vous intéresse via la commande ls :
    $ ls .snapshots
    SNAP_20191022  SNAP_20191220  SNAP_20200303  SNAP_20200511
    SNAP_20191112  SNAP_20200127  SNAP_20200406  SNAP_20200609 
  3. Vous pouvez alors consulter le contenu de votre répertoire $WORK/MY_DIR tel qu'il était à la date du 9 juin 2020 par exemple, avec la commande :
    $ ls -al .snapshots/SNAP_20200609 
    total 2
    drwx--S--- 2 login  prj  4096 oct.  24  2019 .
    dr-xr-xr-x 2 root  root 16384 janv.  1  1970 ..
    -rw------- 1 login  prj 20480 oct.  24  2019 my_file 
  4. Et finalement, vous pouvez récupérer le fichier tel qu'il était à la date du 9 juin 2020, avec la commande cp :
    1. en écrasant le fichier initial $WORK/MY_DIR/my_file (notez le “.” en fin de commande) :
      $ cp .snapshots/SNAP_20200609/my_file . 
    2. ou en renommant la copie $WORK/MY_DIR/my_file_20200609 pour ne pas écraser le fichier initial $WORK/MY_DIR/my_file:
      $ cp .snapshots/SNAP_20200609/my_file  my_file_20200609 

Remarques :

  • La commande ls -l .snapshots/SNAP_YYYYMMDD vous indique toujours le contenu du répertoire dans lequel vous êtes mais à la date du DD/MM/YYYY.
  • Vous pouvez ajouter l'option -p à la commande cp pour conserver la date et les droits d'accès Unix du fichier récupéré :
    $ cp -p .snapshots/SNAP_20200609/my_file . 
    $ cp -p .snapshots/SNAP_20200609/my_file  my_file_20200609 
  • Cette procédure s'applique de la même façon pour récupérer des fichiers de votre HOME.