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
(système de fichiers en réseau) |
oui | non | oui | oui |
/scratch | 20To et 1M fichiers par utilisateur | oui | non | oui, les fichiers de plus de 60 jours [2]
sont purgés |
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é.
- ↑ Selon la valeur de ctime pour le fichier (voir Espace scratch ː Purge automatique).
- ↑ 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.
Filesystem | Default Quota | Lustre-based? | Backed up? | Purged? | Available by Default? | Mounted on Compute Nodes? |
---|---|---|---|---|---|---|
Home Space | 50 GB and 500K files per user[1] | No | Yes | No | Yes | Yes |
Scratch Space | 100 TB and 1M files per user | Yes | No | Files older than 60 days are purged.[2] | Yes | Yes |
Project Space | 1 TB and 500k files per group[3] | Yes | Yes | No | Yes | Yes |
- ↑ This quota is fixed and cannot be changed.
- ↑ See Scratch purging policy for more information.
- ↑ Project space can be increased to 10 TB per group by a RAS request. The group's sponsoring PI should write to technical support to make the request.
location | quota | block size | expiration time | backed up | on login nodes | on compute nodes | |
---|---|---|---|---|---|---|---|
$HOME | 100 GB per user | 1 MB | yes | yes | read-only | ||
$SCRATCH | 25 TB per user (dynamic per group) | 16 MB | 2 months | no | yes | yes | |
up to 4 users per group | 50TB | ||||||
up to 11 users per group | 125TB | ||||||
up to 28 users per group | 250TB | ||||||
up to 60 users per group | 400TB | ||||||
above 60 users per group | 500TB | ||||||
$PROJECT | by group allocation | 16 MB | yes | yes | yes | ||
$ARCHIVE | by group allocation | dual-copy | no | no | |||
$BBUFFER | 10 TB per user | 1 MB | very short | no | yes | yes |
- 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.
The backup policy on the home and project space is nightly backups which are retained for 30 days, while deleted files are retained for a further 60 days - note that is entirely distinct from the age limit for purging files from the scratch space. If you wish to recover a previous version of a file or directory, you should contact technical support with the full path for the file(s) and desired version (by date).