archive
, les systèmes de fichiers hautement performants de SciNet sont de type [http://en.wikipedia.org/wiki/IBM_General_Parallel_File_System GPFS]; ils permettent des opérations parallèles de lecture et d'écriture rapides avec de grands ensembles de données, à partir de plusieurs nœuds. Par contre, de par sa conception, sa performance laisse beaucoup à désirer quand il s'agit d'accéder à des ensembles de données composés de plusieurs petits fichiers. En effet, il est beaucoup plus rapide de lire un fichier de 16Mo que 400 fichiers de 40Ko. Rappelons que dans ce dernier cas, autant de petits fichiers n'est pas une utilisation efficace de l'espace puisque la [https://en.wikipedia.org/wiki/Block_(data_storage) capacité des blocs] est de 16Mo pour les systèmes scratch
et project
. Tenez compte de ceci dans votre stratégie de lecture/écriture.
Par exemple, pour exécuter une tâche multiprocessus, le fait que chaque processus écrive dans son propre fichier n'est pas une solution I/O flexible; le répertoire est bloqué par le premier processus qui l'accède et les suivants doivent attendre. Non seulement cette solution rend-elle le code considérablement moins parallèle, mais le système de fichiers sera arrêté en attendant le prochain processus et votre programme se terminera mystérieusement.$BBUFFER
stands for [https://docs.scinet.utoronto.ca/index.php/Burst_Buffer Burst Buffer], a faster parallel storage tier for temporary data.
Usage: diskUsage [-h|-?| [-a] [-uUtilisez les commandes suivantes pour vérifier l'espace qui vous reste : * /scinet/niagara/bin/topUserDirOver1000list pour identifier les répertoires qui contiennent plus de 1000 fichiers, * /scinet/niagara/bin/topUserDirOver1GBlist pour identifier les répertoires qui contiennent plus de 1Go de matériel. NOTE : L'information sur l'utilisation et les quotas est mise à jour aux trois heures. ==Scratch disk purging policy== In order to ensure that there is always significant space available for running jobs '''we automatically delete files in /scratch that have not been accessed or modified for more than 2 months by the actual deletion day on the 15th of each month'''. Note that we recently changed the cut out reference to the ''MostRecentOf(atime,ctime)''. This policy is subject to revision depending on its effectiveness. More details about the purging process and how users can check if their files will be deleted follows. If you have files scheduled for deletion you should move them to more permanent locations such as your departmental server or your /project space or into HPSS (for PIs who have either been allocated storage space by the RAC on project or HPSS). On the '''first''' of each month, a list of files scheduled for purging is produced, and an email notification is sent to each user on that list. You also get a notification on the shell every time your login to Niagara. Furthermore, at/or about the '''12th''' of each month a 2nd scan produces a more current assessment and another email notification is sent. This way users can double check that they have indeed taken care of all the files they needed to relocate before the purging deadline. Those files will be automatically deleted on the '''15th''' of the same month unless they have been accessed or relocated in the interim. If you have files scheduled for deletion then they will be listed in a file in /scratch/t/todelete/current, which has your userid and groupid in the filename. For example, if user xxyz wants to check if they have files scheduled for deletion they can issue the following command on a system which mounts /scratch (e.g. a scinet login node): '''ls -1 /scratch/t/todelete/current |grep xxyz'''. In the example below, the name of this file indicates that user xxyz is part of group abc, has 9,560 files scheduled for deletion and they take up 1.0TB of space:] -h|-?: help -a: list usages of all members on the group -u : as another user on your group
[xxyz@nia-login03 ~]$ ls -1 /scratch/t/todelete/current |grep xxyz -rw-r----- 1 xxyz root 1733059 Jan 17 11:46 3110001___xxyz_______abc_________1.00T_____9560filesLe fichier lui-même contient une liste de tous les fichiers programmés pour la suppression (dans la dernière colonne) et peut être visualisé avec des commandes standard comme more/less/cat - par exemple '''more /scratch/t/todelete/current/3110001___xxyz_______abc_________1.00T_____9560files''' De même, vous pouvez vérifier tous les autres membres de votre groupe en utilisant la commande
ls
avec grep
pour votre groupe. Par exemple, ls -1 /scratch/t/todelete/current |grep abc listera les autres membres dont fait partie xxyz et dont les fichiers doivent être purgés le 15 du mois. Les membres d'un même groupe ont accès au contenu des autres.
'''NOTE:''' Preparing these assessments takes several hours. If you change the access/modification time of a file in the interim, that will not be detected until the next cycle. A way for you to get immediate feedback is to use the ''''ls -lu'''' command on the file to verify the ctime and ''''ls -lc'''' for the mtime. If the file atime/ctime has been updated in the meantime, coming the purging date on the 15th it will no longer be deleted.
= Déplacer des données =
Data for analysis and final results need to be moved to and from Niagara. There are several ways to accomplish this.
== Avec rsync/scp ==
'''''Déplacer moins de 10Go par les nœuds de connexion'''''
* Les nœuds de connexion et de copie sont visibles de l'extérieur de SciNet.
* Utilisez scp ou rsync pour vous connecter à niagara.scinet.utoronto.ca ou niagara.computecanada.ca (aucune différence).
* Il y aura interruption dans le cas de plus d'environ 10Go.
'''''Déplacer plus de 10Go par les nœuds de copie'''''
* À partir d'un nœud de connexion, utilisez ssh vers nia-datamover1
ou nia-datamover2
; de là, vous pouvez transférer de ou vers Niagara.
* Vous pouvez aussi aller aux nœuds de copie de l'extérieur en utilisant login/scp/rsync.
nia-datamover1.scinet.utoronto.ca
nia-datamover2.scinet.utoronto.ca
* Si vous faites souvent ceci, considérez utiliser [[Globus/fr| Globus]], un outil web pour le transfert de données.
== Utiliser Globus ==
Pour la documentation, consultez la [[globus/fr | page wiki de Calcul Canada]] et la [https://docs.scinet.utoronto.ca/index.php/Globus page wiki de SciNet].
Le point de chute Globus est
* ''computecanada#niagara'' pour Niagara
* ''computecanada#hpss'' pour HPSS.
== Déplacer des données vers HPSS/Archive/Nearline ==
HPSS est conçu pour le storage de longue durée.
*[https://docs.scinet.utoronto.ca/index.php/HPSS HPSS] est une solution de stockage sur bandes employée comme espace ''nearline'' par SciNet.
*L'espace de stockage sur HPSS est alloué dans le cadre du [https://www.computecanada.ca/page-daccueil-du-portail-de-recherche/acces-aux-ressources/concours-dallocation-des-ressources/?lang=fr concours d'allocation de ressources].
= File ownership management and access control lists =
* By default, at SciNet, users within the same group already have read permission to each other's files (not write)
* You may use access control list ('''ACL''') to allow your supervisor (or another user within your group) to manage files for you (i.e., create, move, rename, delete), while still retaining your access and permission as the original owner of the files/directories. You may also let users in other groups or whole other groups access (read, execute) your files using this same mechanism.
===Using mmputacl/mmgetacl===
* You may use gpfs' native '''mmputacl''' and '''mmgetacl''' commands. The advantages are that you can set "control" permission and that [http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/index.jsp?topic=%2Fcom.ibm.cluster.gpfs.doc%2Fgpfs31%2Fbl1adm1160.html POSIX or NFS v4 style ACL] are supported. You will need first to create a /tmp/supervisor.acl file with the following contents:
user::rwxc group::---- other::---- mask::rwxc user:[owner]:rwxc user:[supervisor]:rwxc group:[othegroup]:r-xcLancez ensuite les deux commandes
1) $ mmputacl -i /tmp/supervisor.acl /project/g/group/[owner] 2) $ mmputacl -d -i /tmp/supervisor.acl /project/g/group/[owner] (every *new* file/directory inside [owner] will inherit [supervisor] ownership by default as well as [owner] ownership, ie, ownership of both by default, for files/directories created by [supervisor]) $ mmgetacl /project/g/group/[owner] (to determine the current ACL attributes) $ mmdelacl -d /project/g/group/[owner] (to remove any previously set ACL) $ mmeditacl /project/g/group/[owner] (to create or change a GPFS access control list) (for this command to work set the EDITOR environment variable: export EDITOR=/usr/bin/vi)NOTES: * There is no option to recursively add or remove ACL attributes using a gpfs built-in command to existing files. You'll need to use the -i option as above for each file or directory individually. [https://docs.scinet.utoronto.ca/index.php/Recursive_ACL_script Here is a sample bash script you may use for that purpose]] * mmputacl will not overwrite the original linux group permissions for a directory when copied to another directory already with ACLs, hence the "#effective:r-x" note you may see from time to time with mmgetacf. If you want to give rwx permissions to everyone in your group you should simply rely on the plain unix 'chmod g+rwx' command. You may do that before or after copying the original material to another folder with the ACLs. * Dans le cas de PROJECT, la personne responsable de votre groupe devra définir l'ACL appropriée au niveau /project/G/GROUP afin de permettre aux utilisateurs d'autres groupes d'accéder à vos fichiers. * ACL ne vous permet pas d'accorder des permissions pour des fichiers ou des répertoires qui ne vous appartiennent pas. * Nous vous recommandons vivement de ne jamais accorder d'autorisation d'écriture à d'autres personnes au niveau supérieur de votre répertoire personnel (/home/G/GROUP/[owner]), car cela compromettrait gravement votre confidentialité, et de désactiver l'authentification par clé SSH, entre autres. Si nécessaire, créez des sous-répertoires spécifiques sous votre répertoire personnel afin que d'autres puissent y accéder et manipuler les fichiers. * Just a reminder: setfacl/getfacl only works on cedar/graham, since they have lustre. On niagara you have to use the mm* command just for GPFS: mmputacl, mmgetacl, mmdelacl, mmeditacl Pour plus d'information, consultez [https://www.ibm.com/support/knowledgecenter/SSFKCN_4.1.0/com.ibm.cluster.gpfs.v4r1.gpfs100.doc/bl1adm_mmputacl.htm mmputacl] et [https://www.ibm.com/support/knowledgecenter/SSFKCN_4.1.0/com.ibm.cluster.gpfs.v4r1.gpfs100.doc/bl1adm_mmgetacl.htm mmgetacl]. ===Script ACL récursif=== Vous pouvez utiliser et adapter [https://docs.scinet.utoronto.ca/index.php/Recursive_ACL_script cet exemple de script bash] pour ajouter ou supprimer récursivement des attributs ACL à l'aide des commandes intégrées de GPFS. Gracieuseté de Agata Disks (http://csngwinfo.in2p3.fr/mediawiki/index.php/GPFS_ACL).