Stockage et gestion des fichiers
Introduction
Calcul Canada dispose de nombreuses options de stockage capables de répondre aux besoins des utilisateurs œuvrant dans des domaines extrêmement variés. Selon vos besoins et votre usage particulier, vous avez le choix parmi différentes solutions allant du stockage long terme au stockage local temporaire à haute vitesse. Dans la plupart des cas, les systèmes de fichiers de Calcul Canada sont des ressources partagées et devraient être utilisés de manière responsable; en effet, des dizaines et même des centaines d'utilisateurs peuvent être affectés par un seul utilisateur qui se comporte de manière irréfléchie. Ces systèmes de fichiers sont conçus pour le stockage d'un nombre limité de très grands fichiers, habituellement de type binaire puisque les très gros fichiers texte (centaines de Mo et plus) ne sont pas facilement lisibles par un être humain; pour cette raison, vous devriez éviter de stocker des milliers de petits fichiers de quelques mégaoctets, particulièrement dans le même répertoire. Une meilleure approche serait d'utiliser des commandes telles que tar ou zip pour convertir un répertoire de plusieurs petits fichiers en un très grand fichier d'archive; consultez Archiving and compressing files.
Il est de votre responsabilité de vérifier depuis quand vos données sont stockées. Le rôle de la plupart des systèmes de fichiers n'est pas d'offrir un service d'archivage à long terme; vous devez donc déplacer les fichiers et répertoires qui ne sont plus utilisés vers un autre endroit, que ce soit sur votre ordinateur personnel ou une autre ressource de stockage que vous contrôlez. Le transfert de grandes quantités de données se fait généralement avec Globus.
Prenez note que les ressources de stockage ne sont pas pour vos données personnelles, mais bien pour les données de recherche.
Lorsque votre compte est créé sur une grappe, votre répertoire home contient des références à vos espaces project et scratch via des liens symboliques, des raccourcis vers ces autres systèmes de fichiers à partir de votre répertoire home. Notez que ces liens symboliques peuvent apparaître seulement quelques heures après votre première connexion. Un utilisateur possède ses propres espaces home et scratch, alors que l'espace projet est partagé par un groupe de recherche. Ce groupe peut être constitué d'utilisateurs qui possèdent des comptes liés à celui d'un chercheur principal ou de comptes de membres d'une allocation de ressources. Un utilisateur peut donc avoir accès à plusieurs espaces project différents associés à un ou plusieurs chercheurs principaux et les répertoires project de son répertoire home contient les liens symboliques vers ces différents espaces project. Tous les comptes ont accès à un ou plusieurs espaces project. Le répertoire projects dans votre compte contient un lien symbolique vers chaque espace project auquel vous avez accès.
- Pour un utilisateur dont le compte est lié à un seul compte de chercheur principal, l'espace project par défaut est le même espace project par défaut que celui du compte du chercheur principal.
- Pour un utilisateur dont le compte est lié à plusieurs comptes, l'espace project par défaut est le même que celui du chercheur principal qui possède le plus grand nombre de comptes qui lui sont associés.
Tous les utilisateurs peuvent vérifier l'espace disque disponible et l'espace disque utilisé par les systèmes de fichiers project, home et scratch avec l'utilitaire en ligne de commande diskusage_report, disponible sur les grappes. Pour ce faire, connectez-vous à la grappe par SSH; à l'invite, entrez diskusage_report puis appuyez sur la touche Enter. L'utilitaire produit un rapport semblable à ceci :
# diskusage_report Description Space # of files Home (username) 280 kB/47 GB 25/500k Scratch (username) 4096 B/18 TB 1/1000k Project (def-username-ab) 4096 B/9536 GB 2/500k Project (def-username) 4096 B/9536 GB 2/500k
Types de stockage
Les ressources de Calcul Canada comprennent divers systèmes de fichiers pour le stockage; assurez-vous d'utiliser l'espace approprié pour un besoin particulier. Nous présentons ici les principaux systèmes de fichiers de l'infrastructure de Calcul Canada, leurs caractéristiques et les besoins pour lesquels ils sont conçus. Le matériel, la méthode d'accès et le mode d'écriture sont différents pour chacune des options.
- Système de fichiers en réseau (NFS pour Network File System)
- Ce type de stockage est généralement visible autant sur les nœuds de connexion que sur les nœuds de calcul. Il convient aux petits fichiers importants qui sont utilisés régulièrement, comme le code source, les programmes, les scripts de tâches et les fichiers de paramètres. La performance se compare à celle des disques durs conventionnels.
- Système de fichiers parallèle (Lustre, GPFS)
- Ce type de stockage est généralement visible autant sur les nœuds de connexion que sur les nœuds de calcul. Avec de multiples baies de stockage et des serveurs rapides, sa performance est excellente pour de gros fichiers et les opérations intensives d'entrées/sorties. Il est utilisé pour le stockage à long terme et le stockage temporaire (scratch). L'utilisation concurrente peut faire varier la performance.
- Système de fichiers local
- Ce type de stockage se fait sur chacun des nœuds de calcul auquel est attaché un disque dur local. Il présente l'avantage d'une performance élevée puisqu'il est rarement partagé; de façon générale, un seul utilisateur à la fois peut accéder à un disque local. Cependant, les fichiers doivent être copiés sur un autre média (espace scratch ou espace project) avant la complétion de la tâche parce que tout est nettoyé après chaque tâche.
- Système de fichiers en mémoire vive (RAM)
- Puisqu'il réside dans la mémoire vive du nœud de calcul, il y a moins de capacité de mémoire restante pour les opérations. La vitesse est très grande dans le cas de petits fichiers et surtout plus grande qu'avec les autres systèmes quand l'accès aux fichiers est aléatoire. La mémoire vive est toujours nettoyée à la fin de la tâche.
Ce tableau montre les propriétés des divers types de stockage.
Type | Accessibilité | Débit | Latence | Durée |
---|---|---|---|---|
système de fichiers en réseau (NFS) | tous les nœuds | faible | élevée | long terme |
système de fichiers parallèle (long terme) | tous les nœuds | passable | élevée | long terme |
système de fichiers parallèle (court terme) | tous les nœuds | passable | élevée | court terme (nettoyage périodique) |
système de fichiers local | local pour le nœud | passable | moyenne | très court terme |
système de fichiers en mémoire | local pour le nœud | bon | très basse | très court terme (nettoyage après chaque tâche) |
Débit décrit l'efficacité dans les cas de grandes opérations, par exemple celles nécessitant plus d'un mégaoctet en lecture ou écriture.
Latence décrit l'efficacité dans le cas de plusieurs petites opérations. Un faible degré de latence est privilégié; cependant, il est toujours préférable de choisir une petite quantité de grandes opérations qu'une grande quantité de petites opérations.
Meilleures pratiques
- Utilisez uniquement des fichiers au format texte de moins de quelques mégaoctets.
- Autant que possible, réservez le stockage local pour les fichiers temporaires; il est préférable d'utiliser le répertoire temporaire
$SLURM_TMPDIR
créé par l'ordonnanceur à cet effet. - Si le programme doit chercher à l'intérieur d'un fichier, il est plus rapide de lire le fichier au complet d'abord, ou d'utiliser un disque RAM.
- Nettoyez régulièrement les données dans les espaces project et scratch puisque ceux-ci sont utilisés pour d'immenses collections de données.
- Si certains fichiers non utilisés doivent être conservés, archivez-les et compressez-les et si possible, copiez-les ailleurs (voir Archiving and compressing).
- Si les solutions de stockage offertes ne conviennent pas à vos besoins, contactez le soutien technique.
Quotas et politiques
Afin que tous les utilisateurs puissent disposer de suffisamment d'espace, des quotas et des politiques sont imposés sur les copies de sauvegarde et la purge automatique de certains systèmes de fichiers.
Sur les grappes de Calcul Canada, chaque utilisateur dispose par défaut d'un accès aux espaces home et scratch et chaque groupe dispose par défaut de 1To d'espace project. Pour une légère augmentation des espaces project et scratch, utilisez le service d'accès rapide. Pour une augmentation importante des espaces projet, faites une demande dans le cadre du concours d'allocation de ressources.
Pour connaître votre utilisation des quotas pour les systèmes de fichiers sur Cedar et Graham, utilisez la commande diskusage_report.
Espace | Quota par défaut | Basé sur Lustre | Copié pour sauvegarde | Purgé | Disponible par défaut | Monté sur des nœuds de calcul |
---|---|---|---|---|---|---|
/home | 50Go et 500K fichiers par utilisateur[1] | oui | oui | non | oui | oui |
/scratch | 20To et 1M fichiers par utilisateur | oui | non | oui, les fichiers de plus de 60 jours [2] | oui | oui |
/project | 1To et 500 000 fichiers par groupe[3] | oui | oui | non | oui | oui |
- ↑ Ce quota est fixe et ne peut être modifié.
- ↑ sont purgés.Voir Espace /scratch ː Purge automatique).
- ↑ L'espace /project peut être augmenté à 10To par groupe en recourant au service d'accès rapide. La demande doit être faite par le chercheur principal responsable pour le groupe en s'adressant au soutien technique.
Espace | Quota par défaut | Basé sur Lustre | Copié pour sauvegarde | Purgé | Disponible par défaut | Monté sur des nœuds de calcul |
---|---|---|---|---|---|---|
/home | 50Go et 500K fichieres par utilisateur[1] | non | oui | non | oui | oui |
/scratch | 100To et 1M fichiers par utilisateur | oui | non | les fichiers de plus de 60 jours sont purjés[2] | oui | oui |
/project | 1To et 500K fichiers par groupe[3] | oui | oui | non | oui | oui |
- ↑ Ce quota est fixe et ne peut être modifié.
- ↑ Voir Espace /scratch.
- ↑ L'espace projet peut être augmenté à 10To par groupe en recourant au service d'accès rapide. La demande doit être faite par le chercheur principal responsable pour le groupe en s'adressant au soutien technique.
Espace | Quota | Taille des blocs | Durée de vie | Copié pour sauvegarde | Sur nœuds de connexion | Sur nœuds de calcul | |
---|---|---|---|---|---|---|---|
$HOME | 100Go par utilisateur | 1Mo | oui | oui | lecture seule | ||
$SCRATCH | 25To par utilisateur (dynamique pour les groupes) | 16Mo | 2 mois | non | oui | oui | |
max. 4 utilisateurs par groupe | 50To | ||||||
max. 11 utilisateurs par groupe | 125To | ||||||
max. 28 utilisateurs par groupe | 250To | ||||||
max. 60 utilisateurs par groupe | 400To | ||||||
plus de 60 utilisateurs par groupe | 500To | ||||||
$PROJECT | alloué aux groupes | 16Mo | oui | oui | oui | ||
$ARCHIVE | alloué aux groupes | copie en double | non | non | |||
$BBUFFER | 10To par utilisateur | 1Mo | très courte | non | oui | oui |
- Inode vs. Space quota (PROJECT and SCRATCH)
- dynamic quota per group (SCRATCH)
- Compute nodes do not have local storage.
- Archive space is on HPSS
- Backup means a recent snapshot, not an achive of all data that ever was.
$BBUFFER
stands for Burst Buffer, a faster parallel storage tier for temporary data.
Les espaces HOME et PROJECT sont sauvegardés chaque soir; les copies sont conservées pour 30 jours et les fichiers supprimés sont conservés pour 60 jours de plus. Remarquez que ceci est différent de l'âge limite pour la purge des fichiers de l'espace SCRATCH. Pour récupérer une version antérieure d'un fichier ou d'un répertoire, contactez le soutien technique en mentionnant le chemin complet pour le ou les fichiers et la date de la version.