Project layout/fr: Difference between revisions
(Created page with "Cependant, le lien symbolique ''scratch'' pointe sur des répertoires différents : <code>/scratch/sue</code> pour Sue et<code>/scratch/bob</code> pour Bob.") |
(Created page with "En supposant que Bob n'a qu'un seul rôle défini dans la base de données CCDB, <code>project</code> pour Bob serait identique à <code>project</code> pour Sue, et <code>proj...") |
||
Line 35: | Line 35: | ||
Cependant, le lien symbolique ''scratch'' pointe sur des répertoires différents : <code>/scratch/sue</code> pour Sue et<code>/scratch/bob</code> pour Bob. | Cependant, le lien symbolique ''scratch'' pointe sur des répertoires différents : <code>/scratch/sue</code> pour Sue et<code>/scratch/bob</code> pour Bob. | ||
En supposant que Bob n'a qu'un seul rôle défini dans la base de données CCDB, <code>project</code> pour Bob serait identique à <code>project</code> pour Sue, et <code>projects</code> pour Bob serait identique à <code>projects</code> pour Sue. Aussi, si Sue et Bob n'ont aucun autre rôle et ne sont associés à aucun autre projet, chacun de leur répertoire <code>projects</code> ne comprendrait qu'un sous-répertoire <code>def-sue</code> pointant au même endroit que chacun de leur <code>project</code>. | |||
Each of <code>/home/sue/project</code>, <code>/home/bob/project</code>, <code>/home/sue/projects/def-sue</code>, and <code>/home/bob/projects/def-sue</code> would point to the same location, <code>/project/<some random number></code>. This project directory is the best place for Sue and Bob to share data. They can both create directories in it, read it, and write to it. Sue for instance could do | Each of <code>/home/sue/project</code>, <code>/home/bob/project</code>, <code>/home/sue/projects/def-sue</code>, and <code>/home/bob/projects/def-sue</code> would point to the same location, <code>/project/<some random number></code>. This project directory is the best place for Sue and Bob to share data. They can both create directories in it, read it, and write to it. Sue for instance could do |
Revision as of 20:28, 19 September 2017
Les espaces projet des systèmes de fichiers sur Cedar et Graham sont organisés selon des groupes à l'aide d'une interface utilisateur simple. L'accès à un espace projet se fait habituellement par des liens symboliques à partir de votre répertoire home. Les liens symboliques se présentent sous le format $HOME/projects/group_name. Le lien symbolique $HOME/project pointe sur le répertoire projet de votre groupe; pour les utilisateurs qui ont associés à plus d’un groupe, le lien pointe sur le groupe désigné comme étant leur groupe par défaut.
Dans l’espace réservé à un groupe, le chercheur principal est propriétaire du répertoire et les membres du groupe ont des permissions de lecture et écriture pour ce répertoire. Cependant, pour tout nouveau fichier enregistré dans le répertoire, les membres du groupe ont par défaut un droit de lecture seulement; pour que les membres puissent avoir un droit en écriture, la meilleure approche est de créer un répertoire particulier, ainsi
[nom@serveur ~]$ mkdir $HOME/project/group_writable
suivi de
[nom@serveur ~]$ setfacl -d -m g::rwx $HOME/project/group_writable
Sur le partage de données, la propriété de fichiers et les listes de contrôle d’accès (ACLs), voyez Partage de données.
Par défaut, un espace projet a un quota de 1To et cinq millions de fichiers; l’espace peut être augmenté jusqu’à 10To sur demande auprès du soutien technique. Si votre groupe dispose de quotas plus élevés par suite du concours d’allocation de ressources, vous avez été informé du quota qui vous est alloué pour l’année. Notez que l'espace de stockage alloué dépend de la grappe et ne peut en principe être utilisé sur une autre grappe.
Avec la commande
[nom@serveur ~]$ diskusage_report
vous pouvez connaitre les espaces utilisés et disponibles pour scratch et projet sur Cedar et Graham ou l'espace home sur Cedar.
Exemple
Dans notre exemple, Sue est chercheur principal et Bob est membre de son groupe. Au départ, les répertoires de Sue et Bob semblent structurés de manière identique.
/home/sue/scratch
(lien symbolique)/home/sue/projects
(répertoire)/home/sue/project
(lien symbolique)/home/bob/scratch
(lien symbolique)/home/bob/projects
(répertoire)/home/bob/project
(lien symbolique)
Cependant, le lien symbolique scratch pointe sur des répertoires différents : /scratch/sue
pour Sue et/scratch/bob
pour Bob.
En supposant que Bob n'a qu'un seul rôle défini dans la base de données CCDB, project
pour Bob serait identique à project
pour Sue, et projects
pour Bob serait identique à projects
pour Sue. Aussi, si Sue et Bob n'ont aucun autre rôle et ne sont associés à aucun autre projet, chacun de leur répertoire projects
ne comprendrait qu'un sous-répertoire def-sue
pointant au même endroit que chacun de leur project
.
Each of /home/sue/project
, /home/bob/project
, /home/sue/projects/def-sue
, and /home/bob/projects/def-sue
would point to the same location, /project/<some random number>
. This project directory is the best place for Sue and Bob to share data. They can both create directories in it, read it, and write to it. Sue for instance could do
$ cd ~/project $ mkdir foo
and Bob could then copy a file into the directory ~/project/foo
, where it will be visible to both of them.
If Sue were to get a RAC award with storage (as is often the case these days), both she and Bob would find that there is a new entry in their respective projects
directories, something like
~/projects/rrg-sue-ab
They should use this directory to store and share data related to the research carried out under the RAC award.
For sharing data with someone who doesn't have a role sponsored by Sue--- let's say Heather--- the simplest thing to do is to change the file permissions so that Heather can read a particular directory or file. See Sharing data for more details. The best idea is usually to use ACLs to let Heather read a directory. Note that these filesystem permissions can be changed for almost any directory or file, not just those in project
--- you could share a directory in your scratch
too, or in one of the subdirectories of projects
, if you have several (a default one, one for a RAC, etc.). (Exception: ACLs are not available in Graham's /home
. Best practice is to restrict file sharing to /project
and /scratch
.)
One thing to keep in mind when sharing a directory is that Heather will need to be able to descend the entire filesystem structure down to this directory and so she will need to have read and execute permission on each of the directories between /project
and the directory containing the file(s) to be shared. We have implicitly assumed here that Heather has an account on the cluster but you can even share with researchers who don't have a Compute Canada account using a Globus shared endpoint.
If Heather is pursuing a serious and ongoing collaboration with Sue then it may naturally make sense for Sue to sponsor a role for Heather, thereby giving Heather access similar to Bob's, described earlier.
En résumé :
- l'espace
scratch
est utilisé pour les fichiers privés et temporaires - l'espace
home
est habituellement utilisé pour un petit nombre de fichiers relativement privés (par exemple des scripts de tâches) - l'espace
project
du groupe est habituellement utilisé pour les données partagées puisque cet espace est persistant, sauvegardé et plutôt de grande taille (jusqu'à 10To et plus si alloué dans le cadre du concours d'allocation de ressources)