Il existe quatre composants principaux dans Slurm : le compte Unix, les groupes Unix, les comptes Slurm et les associations Slurm.
Sous Unix
Compte/utilisateur Unix
Tout utilisateur doit avoir un compte unix pour s’authentifier à un cluster. Certaines informations sont également associées à ce compte comme le shell par défaut, le $HOME
, etc. La commande getent passwd $USER
permet d’en savoir plus le compte unix.
Groupes Unix
Chaque compte/utilisateur Unix appartient à au moins un groupe, du même nom que le compte utilisateur lorsqu’il est créé. Un compte Unix peut également être membre de plusieurs groupes pour fournir d’autres accès ou restrictions.
La commande groups $USER
permet d’en savoir plus les groupes associés à un compte Unix.
Sous Slurm
Comptes Slurm
Les comptes Slurm sont différents des comptes Unix et sont utilisés pour suivre l’utilisation du cluster, contrôler l’accès aux ressources et appliquer des limites pour les groupes d’utilisateurs Unix.
Pour créer un utilisateur dans Slurm :
# sacctmgr add user name=<COMPTE_SLURM> account=<ASSOCIATION_SLURM> |
Associations Slurm
Pour utiliser un cluster et soumettre des tâches à Slurm, tout utilisateur (compte Unix) doit être associé à au moins un compte Slurm. Généralement, chaque utilisateur aura une association Slurm avec son compte Slurm.
Une association Slurm est une combinaison de clusters, de comptes, de noms d’utilisateur et éventuellement de partitions. Une association peut se voir imposer des limites.
Si par exemple un utilisateur travaille sur plusieurs projet, il peut avoir plusieurs associations avec les comptes Slurm lui correspondants. Donc, un même utilisateur peut avoir :
- Un compte Slurm et plusieurs associations
- Plusieurs comptes Slurm associé à des associations différentes
- Plusieurs comptes Slurm associé à une seule association (?)
La commande sshare -u $USER -U
permet de voir les associations d’un utilisateur.
Compte Slurm avec plusieurs associations :
# sshare -u emmetbrown -U |
Comptes Slurm avec plusieurs associations :
# sshare -u marty* -U |
Afficher les associations :
# sacctmgr show assoc format=cluster,user,qos |