Stockage /nearline

From CC Doc
Jump to: navigation, search
This page is a translated version of the page Using nearline storage and the translation is 100% complete.

Other languages:
English • ‎français

Le système de fichiers /nearline utilise de l'espace de stockage sur bandes et sert à conserver les données inactives, par exemple les ensembles de données que vous n'avez pas besoin d'utiliser pendant des mois.

Restrictions et meilleures pratiques

Taille des fichiers

S'il n'est pas efficace de récupérer des petits fichiers enregistrés sur bande, récupérer des très gros fichiers pose d'autres problèmes. Nous vous demandons d'observer les règles suivantes :

  • les fichiers de moins de ~10Go devraient être rassemblés dans des fichiers archive (tarballs) avec tar ou un autre outil semblable;
  • les fichiers de plus de 4To devraient être divisés en parts de 1To avec un outil comme la commande split.
  • NE COPIEZ PAS DE PETITS FICHIERS SUR /NEARLINE, à l'exception des index (voir Créer un index ci-dessous).

Choisir entre tar et dar

Utilisez tar ou dar pour créer un fichier archive. Gardez les fichiers source dans leur système de fichiers d'origine. Ne copiez pas les fichiers source dans /nearline avant de créer l'archive.

Si vous avez plusieurs centaines de Go de données, les options -M (--multi-volume) et -L (--tape-length) de tar peuvent être utilisées pour produire des fichiers archive de taille convenable.

Avec dar, utilisez l'option -s (--slice).

Créer un index

Quand des fichiers sont regroupés, avec tar par exemple, il devient difficile de repérer un fichier particulier. Plutôt que de récupérer une grande collection enregistrée sur bande pour récupérer quelques fichiers, vous pourriez construire un index au moment où la collection est créée. Avec tar, vous pouvez ajouter l'option verbose pour obtenir plus de détails.

Question.png
[name@server ~]$ tar cvvf /nearline/def-sponsor/user/mycollection.tar /project/def-sponsor/user/something > /nearline/def-sponsor/user/mycollection.index

Si l'archive vient d'être créée, la commande suivante (avec tar dans cet exemple) crée l'index :

Question.png
[name@server ~]$ tar tvvf /nearline/def-sponsor/user/mycollection.tar > /nearline/def-sponsor/user/mycollection.index

Même s'il s'agit souvent de petits fichiers, les fichiers d'index peuvent être enregistrés dans /nearline.

Pas d'accès à partir des nœuds de calcul

Puisque l'obtention de données dans /nearline peut prendre un certain temps (voir la section Fonctionnement ci-dessous), nous ne permettons pas que les tâches y lisent des données. /nearline n'est pas monté sur les nœuds de calcul.

Utiliser un nœud de transfert, si possible

Comme la création de fichiers archive exige beaucoup des ressources, il est préférable d'utiliser un nœud de transfert de données (DTN) plutôt qu'un nœud de connexion si vous pouvez vous connecter à la grappe par un nœud DTN.

Avantages

Les avantages du stockage sur bandes par rapport aux disques et aux SSD (solid-state drives) sont :

  • le coût par unité de données stockée est moindre;
  • la capacité de stockage peut être facilement augmentée par l'achat de bandes additionnelles;
  • la consommation énergétique par unité de données stockée est effectivement nulle.

Par conséquent, nous pouvons offrir beaucoup plus de capacité de stockage sur /nearline que sur /project. De plus, le fait de ne pas stocker de données inactives sur /project allège la charge et améliore la performance.

Fonctionnement

  1. À sa création ou quand il est d'abord copié sur /nearline, le fichier existe uniquement sur disque et non sur bande.
  2. Après un certain temps (environ une journée) et si le fichier remplit certains critères, il est copié sur bande et se trouve alors sur disque et sur bande.
  3. Un peu plus tard, la copie sur disque peut être supprimée et le fichier est sur bande seulement.
  4. Quand un tel fichier est rappelé, il est copié de la bande au disque et revient au deuxième état.

Quand un fichier est entièrement copié sur bande (ou virtualisé), il demeure visible dans la liste des fichiers du répertoire. Si une opération de lecture est faite sur le fichier virtuel, la bande doit être trouvée dans la bibliothèque et la copie doit se faire sur le disque, ce qui prend du temps et bloque le processus qui tente de faire la lecture. Selon la taille du fichier et les demandes au système de stockage sur ruban, ceci peut nécessiter entre moins d'une minute et plus d'une heure.

La commande lfs hsm_state permet de savoir si un fichier est sur bande ou encore sur disque (hsm est l'abréviation de hierarchical storage manager).

#  Here, <FILE> has not been copied to tape.
$ lfs hsm_state <FILE>
<FILE>:  (0x00000000)

# Here, <FILE> is still on the disk
$ lfs hsm_state <FILE>
<FILE>: [...]: exists archived, [...]

# Here, <FILE> is archived on tape, there will be a lag when opening it. 
$ lfs hsm_state <FILE>
<FILE>: [...]: released archived, [...]

Vous pouvez forcer le rappel d'un fichier sur bande sans le lire avec la commande lfs hsm_restore <FILE>.

Prenez note qu'en date d'octobre 2020, le résultat de la commande diskusage_report (ou quota) ne rapporte pas la consommation de l'espace /nearline.

Accès aux grappes

L'accès au répertoire /nearline se fait par les nœuds de connexion et les DTN (Data Transfer Nodes).

Enregistrez vos fichiers dans votre répertoire ~/nearline/PROJECT. Ils seront copiés sur bande après un certain temps (24 heures en date de février 2019). Si le fichier n’est pas modifié pendant un certain temps (24 heures en date de février 2019), la copie sur disque sera supprimée, virtualisant ainsi le fichier sur bande.

Lorsque vous supprimez un fichier de ~/nearline volontairement ou par accident, la copie sur bande est conservée pour 60 jours. Pour restaurer ces fichiers, vous devez contacter le soutien technique en mentionnant le chemin complet et la version (avec la date), de la même manière que vous procéderiez pour restaurer une copie de sauvegarde. Il est donc important que vous conserviez une copie de la structure complète de votre espace /nearline. La commande ls -R > ~/nearline_contents.txt lancée du répertoire ~/nearline/PROJECT vous permettra de voir où sont situés les fichiers dans votre espace /nearline.

Le service /nearline est semblable à celui de Graham.

HPSS est le service /nearline pour Niagara.
Les méthodes d'accès sont :

1. Dans une des partitions archive, soumettre une tâche à l’ordonnanceur Slurm avec les commandes HPSS htar ou hsi; pour des exemples, voyez la documentation HPSS. Travailler avec des scripts offre l’avantage de pouvoir automatiser les transferts; il s’agit de la meilleure méthode si vous utilisez HPSS régulièrement. Vos fichiers HPSS se trouvent dans le répertoire $ARCHIVE, qui est semblable à $PROJECT, mais où /project est remplacé par /archive.

2. Utiliser le nœud VFS (virtual file system) par la commande salloc --time=1:00:00 -pvfsshort quand vous avez peu de fichiers HPSS. Vos fichiers HPSS se trouvent dans le répertoire $ARCHIVE, qui est semblable à $PROJECT, mais où /project est remplacé par /archive.

3. Utilisez Globus pour transférer vos fichiers HPSS avec le point de chute (endpoint) computecanada#hpss. Cette méthode est utile pour un usage occasionnel ou pour les transferts entre HPSS et les autres sites.

Le service /nearline est semblable à celui de Graham.