Scratch purging policy/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Updating to match new version of source page)
No edit summary
 
(39 intermediate revisions by 3 users not shown)
Line 4: Line 4:




Sur les grappes de Calcul Canada, le système de fichiers ''scratch'' sert au stockage rapide et temporaire des données utilisées en cours d'exécution. Pour leur part, les données qui doivent être stockées à long terme et les données de référence sont enregistrées dans [[Project layout/fr|l'espace <tt>/project</tt>]] ou dans une des zones d'archivage. Pour toujours garder suffisamment d'espace ''scratch'', les fichiers sont supprimés périodiquement aux 60 jours, en fonction de leur âge; cette période correspond à un peu plus du double de la durée maximale d'une tâche.
Sur nos grappes, le système de fichiers /scratch sert au stockage rapide et temporaire des données utilisées en cours d'exécution. Pour leur part, les données qui doivent être stockées à long terme et les données de référence sont enregistrées dans [[Project layout/fr|l'espace <code>/project</code>]] ou dans une des zones d'archivage. Pour toujours garder suffisamment d'espace /scratch, les fichiers de plus de 60 jours sont supprimés périodiquement en fonction de leur âge. Notez que c'est l'âge d'un fichier qui détermine s'il sera purgé et non l'endroit où il se trouve dans /scratch; règle générale, le fait de déplacer un fichier dans un autre répertoire de /scratch ne l'empêchera pas d'être supprimé.


=Procédure=
==Procédure==


À la fin de chaque mois, les fichiers susceptibles d'être supprimés le 15 du mois suivant sont repérés. Au premier jour du mois, un message d'avertissement est affiché aux utilisateurs qui possèdent au moins un de ces fichiers et un avis leur est envoyé par courriel; cet avis contient aussi une liste de tous les fichiers susceptibles d'être supprimés. Vous avez donc deux semaines pour copier les fichiers que vous voulez conserver.  
À la fin de chaque mois, les fichiers susceptibles d'être supprimés le 15 du mois suivant sont repérés. Si vous possédez au moins un de ces fichiers, un message d'avertissement s'affiche au début du mois et vous recevez un avis par courriel; cet avis contient aussi une liste de tous les fichiers susceptibles d'être supprimés. Vous avez donc deux semaines pour copier les fichiers que vous voulez conserver.  


Le 12 du mois, un dernier avis est envoyé avec une liste à jour des fichiers susceptibles d'être supprimés le 15, ce qui vous laisse 72 heures pour déplacer vos fichiers. Le 15 du mois en fin de journée, tous les fichiers dans l'espace ''scratch'' pour lesquels <tt>ctime</tt> et <tt>atime</tt> sont de plus de 60 jours sont supprimés.
Le 12 du mois, un dernier avis est envoyé avec une liste à jour des fichiers susceptibles d'être supprimés le 15, ce qui vous laisse 72 heures pour déplacer vos fichiers. Le 15 du mois en fin de journée, tous les fichiers dans l'espace /scratch pour lesquels <code>ctime</code> et <code>atime</code> sont de plus de 60 jours sont supprimés.
Ces fichiers ne doivent pas se trouver dans l'espace ''scratch'' et Calcul Canada émet cet avertissement uniquement à titre de courtoisie.  
Ces fichiers ne doivent pas se trouver dans l'espace /scratch et cet avertissement est émis uniquement à titre de courtoisie.  


Prenez note que le fait de copier un fichier ou d'utiliser la commande  <tt>rsync</tt> pour le déplacer modifie <tt>atime</tt> et fait que le fichier ne sera pas considéré lors de la purge. Une fois les données déplacées, veuillez supprimer les fichiers et répertoires d'origine plutôt que d'attendre qu'ils soient supprimés par la procédure de purge.
Prenez note que le fait de copier un fichier ou d'utiliser la commande  <code>rsync</code> pour le déplacer modifie <code>atime</code> et fait que le fichier ne sera pas considéré lors de la purge. Une fois les données déplacées, veuillez supprimer les fichiers et répertoires d'origine plutôt que d'attendre qu'ils soient supprimés par la procédure de purge.


= Connaître l'âge d'un fichier =
==Fichiers à être purgés==
 
* Sur Cedar, Béluga et Graham, allez à '''/scratch/to_delete/''' et localisez le fichier à votre nom.
* Sur Niagara, allez à '''/scratch/t/to_delete/''' ou établissez un lien symbolique (<tt>symlink</tt>) vers '''/scratch/t/todelete/current'''.
</pre>
S'il y a un fichier à votre nom, certains de vos fichiers sont susceptibles d'être purgés. Ce fichier contient la liste des noms de fichiers avec le chemin complet et possiblement d'autres renseignements comme la taille, atime, ctime, size, etc. Ce fichier est seulement mis à jour le 1er et le 12e jour de chaque mois.
 
Si vous accédez à un ou plusieurs fichiers ou les lisez, les déplacez ou les supprimez entre le 1er et le 11 du mois, aucune modification ne sera faite à la liste avant le 12.
 
Si un fichier avec votre nom existe avant le 11 mais pas le 12, aucun de vos fichiers n'est susceptible d'être purgé.
 
Si vous accédez à un ou plusieurs fichiers ou les lisez, les déplacez ou les supprimez après le 12 du mois, vous devrez confirmer que les fichiers peuvent ou non être purgés le 15 (voir ci-dessous).
 
== Connaître l'âge d'un fichier ==
L'âge d'un fichier est déterminé par :
L'âge d'un fichier est déterminé par :
* <tt>atime</tt>, le moment du dernier accès et  
* <code>atime</code>, le moment du dernier accès et  
* <tt>ctime</tt>, le moment de la dernière modification.
* <code>ctime</code>, le moment de la dernière modification.
Pour trouver <tt>ctime</tt> utilisez  
Pour trouver <code>ctime</code> utilisez  
{{Command|ls -lc <filename>}}  
{{Command|ls -lc <filename>}}  
Pour trouver <tt>atime</tt> utilisez
Pour trouver <code>atime</code> utilisez
{{Command|ls -lu <filename>}}  
{{Command|ls -lu <filename>}}  
Le paramètre (<tt>mtime</tt>) n'est pas utilisé parce que sa valeur peut être modifiée par l'utilisateur ou par un autre programme pour afficher une fausse information.  
Le paramètre (<code>mtime</code>) n'est pas utilisé parce que sa valeur peut être modifiée par l'utilisateur ou par un autre programme pour afficher une fausse information.  


Il serait suffisant de n'utiliser que <tt>atime</tt> étant donné que sa valeur est mise à jour par le système en synchronisation avec <tt>ctime</tt>. Par contre, les programmes à l'intérieur de l'espace d'un utilisateur peuvent potentiellement modifier <tt>atime</tt> pour situer sa valeur dans le passé. Le fait d'utiliser aussi <tt>ctime</tt> ajoute un deuxième niveau de contrôle.
Il serait suffisant de n'utiliser que <code>atime</code> étant donné que sa valeur est mise à jour par le système en synchronisation avec <code>ctime</code>. Par contre, les programmes à l'intérieur de l'espace d'un utilisateur peuvent potentiellement modifier <code>atime</code> pour situer sa valeur dans le passé. Le fait d'utiliser aussi <code>ctime</code> ajoute un deuxième niveau de contrôle.


=Mauvaises pratiques=
==Mauvaises pratiques==
Il demeure cependant possible de fausser l'âge des fichiers avec l'exécution périodique de la commande récursive <tt>touch</tt>. Notre équipe technique dispose toutefois de moyens pour détecter ce genre de pratique et les utilisateurs qui s'y prêtent seront priés de retirer les fichiers trafiqués de l'espace ''scratch''.
Il demeure cependant possible de fausser l'âge des fichiers avec l'exécution périodique de la commande récursive <code>touch</code>. Notre équipe technique dispose toutefois de moyens pour détecter ce genre de pratique et les utilisateurs qui s'y prêtent seront priés de retirer les fichiers trafiqués de l'espace /scratch.


=How to safely copy a directory with symlinks=
==Copier un dossier avec des symlinks de manière sécuritaire==


In most cases, <tt>cp</tt> or <tt>rsync</tt> will be sufficient to copy data from scratch to project. But if you have symbolic links in scratch, copying them will cause problems since they will still point to scratch. To avoid this, you can use <tt>tar</tt> to make an archive of your files on scratch, and extract this archive in your project. You can do this in one go:
Dans la plupart des cas, <code>cp</code> ou <code>rsync</code> seront suffisants pour copier des données de /scratch vers votre projet. Mais si vous avez des liens symboliques (symlink) dans /scratch, les copier posera problème car ils continueront de pointer vers /scratch. Pour éviter cela, vous pouvez utiliser <code>tar</code> pour faire une archive de vos fichiers sur /scratch, et ensuite l'extraire dans votre projet. Vous pouvez le faire d'un seul coup avec


<source lang="bash">
<source lang="bash">
cd /scratch/.../your_data
cd /scratch/.../vos_donnees
mkdir project/.../your_data
mkdir project/.../vos_donnees
tar cf - ./* | (cd /project/.../your_data && tar xf -)
tar cf - ./* | (cd /project/.../vos_donnees && tar xf -)
</source>
</source>

Latest revision as of 20:33, 28 February 2024

Other languages:

Page enfant de Storage and file management


Sur nos grappes, le système de fichiers /scratch sert au stockage rapide et temporaire des données utilisées en cours d'exécution. Pour leur part, les données qui doivent être stockées à long terme et les données de référence sont enregistrées dans l'espace /project ou dans une des zones d'archivage. Pour toujours garder suffisamment d'espace /scratch, les fichiers de plus de 60 jours sont supprimés périodiquement en fonction de leur âge. Notez que c'est l'âge d'un fichier qui détermine s'il sera purgé et non l'endroit où il se trouve dans /scratch; règle générale, le fait de déplacer un fichier dans un autre répertoire de /scratch ne l'empêchera pas d'être supprimé.

Procédure

À la fin de chaque mois, les fichiers susceptibles d'être supprimés le 15 du mois suivant sont repérés. Si vous possédez au moins un de ces fichiers, un message d'avertissement s'affiche au début du mois et vous recevez un avis par courriel; cet avis contient aussi une liste de tous les fichiers susceptibles d'être supprimés. Vous avez donc deux semaines pour copier les fichiers que vous voulez conserver.

Le 12 du mois, un dernier avis est envoyé avec une liste à jour des fichiers susceptibles d'être supprimés le 15, ce qui vous laisse 72 heures pour déplacer vos fichiers. Le 15 du mois en fin de journée, tous les fichiers dans l'espace /scratch pour lesquels ctime et atime sont de plus de 60 jours sont supprimés. Ces fichiers ne doivent pas se trouver dans l'espace /scratch et cet avertissement est émis uniquement à titre de courtoisie.

Prenez note que le fait de copier un fichier ou d'utiliser la commande rsync pour le déplacer modifie atime et fait que le fichier ne sera pas considéré lors de la purge. Une fois les données déplacées, veuillez supprimer les fichiers et répertoires d'origine plutôt que d'attendre qu'ils soient supprimés par la procédure de purge.

Fichiers à être purgés

  • Sur Cedar, Béluga et Graham, allez à /scratch/to_delete/ et localisez le fichier à votre nom.
  • Sur Niagara, allez à /scratch/t/to_delete/ ou établissez un lien symbolique (symlink) vers /scratch/t/todelete/current.

S'il y a un fichier à votre nom, certains de vos fichiers sont susceptibles d'être purgés. Ce fichier contient la liste des noms de fichiers avec le chemin complet et possiblement d'autres renseignements comme la taille, atime, ctime, size, etc. Ce fichier est seulement mis à jour le 1er et le 12e jour de chaque mois.

Si vous accédez à un ou plusieurs fichiers ou les lisez, les déplacez ou les supprimez entre le 1er et le 11 du mois, aucune modification ne sera faite à la liste avant le 12.

Si un fichier avec votre nom existe avant le 11 mais pas le 12, aucun de vos fichiers n'est susceptible d'être purgé.

Si vous accédez à un ou plusieurs fichiers ou les lisez, les déplacez ou les supprimez après le 12 du mois, vous devrez confirmer que les fichiers peuvent ou non être purgés le 15 (voir ci-dessous).

Connaître l'âge d'un fichier

L'âge d'un fichier est déterminé par :

  • atime, le moment du dernier accès et
  • ctime, le moment de la dernière modification.

Pour trouver ctime utilisez

Question.png
[name@server ~]$ ls -lc <filename>

Pour trouver atime utilisez

Question.png
[name@server ~]$ ls -lu <filename>

Le paramètre (mtime) n'est pas utilisé parce que sa valeur peut être modifiée par l'utilisateur ou par un autre programme pour afficher une fausse information.

Il serait suffisant de n'utiliser que atime étant donné que sa valeur est mise à jour par le système en synchronisation avec ctime. Par contre, les programmes à l'intérieur de l'espace d'un utilisateur peuvent potentiellement modifier atime pour situer sa valeur dans le passé. Le fait d'utiliser aussi ctime ajoute un deuxième niveau de contrôle.

Mauvaises pratiques

Il demeure cependant possible de fausser l'âge des fichiers avec l'exécution périodique de la commande récursive touch. Notre équipe technique dispose toutefois de moyens pour détecter ce genre de pratique et les utilisateurs qui s'y prêtent seront priés de retirer les fichiers trafiqués de l'espace /scratch.

Copier un dossier avec des symlinks de manière sécuritaire

Dans la plupart des cas, cp ou rsync seront suffisants pour copier des données de /scratch vers votre projet. Mais si vous avez des liens symboliques (symlink) dans /scratch, les copier posera problème car ils continueront de pointer vers /scratch. Pour éviter cela, vous pouvez utiliser tar pour faire une archive de vos fichiers sur /scratch, et ensuite l'extraire dans votre projet. Vous pouvez le faire d'un seul coup avec

cd /scratch/.../vos_donnees
mkdir project/.../vos_donnees
tar cf - ./* | (cd /project/.../vos_donnees && tar xf -)