Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| fr:install:clafoutis:ubuntu_cluster_install [2025/10/22 07:28] – [Protocole d'installation] foisys | fr:install:clafoutis:ubuntu_cluster_install [2025/10/25 17:27] (Version actuelle) – [Protocole d'installation] foisys | ||
|---|---|---|---|
| Ligne 141: | Ligne 141: | ||
| * Pour s' | * Pour s' | ||
| - | <sxh bash> # Sur chaque RPi de la grappe % sudo systemctl enable munge </ | + | <sxh bash> |
| + | # Sur chaque RPi de la grappe | ||
| + | % sudo systemctl enable munge | ||
| + | </ | ||
| + | </ | ||
| < | < | ||
| Ligne 157: | Ligne 161: | ||
| * Il faut ajouter quelques paramètres dans le fichier de config ''/ | * Il faut ajouter quelques paramètres dans le fichier de config ''/ | ||
| - | <sxh bash> # Sur un RPi 5 16Gb; la moitié si 8Gb innodb_buffer_pool_size=8192M innodb_log_file_size=256M innodb_lock_wait_timeout=900 </ | + | <sxh bash> |
| + | # Sur un RPi 5 16Gb; la moitié si 8Gb | ||
| + | innodb_buffer_pool_size=8192M | ||
| + | innodb_log_file_size=256M | ||
| + | innodb_lock_wait_timeout=900 | ||
| + | </ | ||
| * Les premières étapes se font dans MariaDB ;-) Commençons par créer l' | * Les premières étapes se font dans MariaDB ;-) Commençons par créer l' | ||
| - | <sxh bash> # On opère MariaDB comme si c' | + | <sxh bash> |
| + | # On opère MariaDB comme si c' | ||
| + | % mysql -u root -p | ||
| + | # On entre dans MariaDB et le prompt mysql> vous le démontre! | ||
| + | # Evidemment, le mot de passe est à votre discrétion… Ici, ce n'est que pour | ||
| + | # des fins de démonstration; | ||
| + | mysql> CREATE USER ' | ||
| + | Query OK, 0 rows affected (0.16 sec) </ | ||
| * Ensuite on crée les bases de données nécessaires: | * Ensuite on crée les bases de données nécessaires: | ||
| - | <sxh bash> # mysql> create database slurm_acct_db; | + | <sxh bash> |
| + | # | ||
| + | mysql> create database slurm_acct_db; | ||
| + | Query OK, 1 row affected (0.04 sec) </ | ||
| * On termine la mise en place sur MySQL en donnant les permissions nécessaires à l' | * On termine la mise en place sur MySQL en donnant les permissions nécessaires à l' | ||
| - | <sxh bash> # mysql> grant all privileges on slurm_acct_db.* to ' | + | <sxh bash> |
| + | # | ||
| + | mysql> grant all privileges on slurm_acct_db.* to ' | ||
| + | Query OK, 0 rows affected (0.02 sec) </ | ||
| * On installe le package '' | * On installe le package '' | ||
| - | <sxh> % sudo apt install slurmdbd </ | + | < |
| + | % sudo apt install slurmdbd | ||
| + | </ | ||
| * Il faut créer un fichier de configuration pour '' | * Il faut créer un fichier de configuration pour '' | ||
| - | <sxh bash> AuthType=auth/ | + | <sxh bash> |
| + | AuthType=auth/ | ||
| + | AuthInfo=/ | ||
| + | DbdHost=localhost | ||
| + | DbdAddr=localhost | ||
| + | StoragePort=3306 | ||
| + | StorageUser=slurm | ||
| + | # Evidemment, mettre celui que vous aurez choisi ci-dessus | ||
| + | # Ici, c'est pour l' | ||
| + | StoragePass=bioubuntu | ||
| + | StorageType=accounting_storage/ | ||
| + | LogFile=/ | ||
| + | PidFile=/ | ||
| + | SlurmUser=slurm </ | ||
| * Assurez-vous d' | * Assurez-vous d' | ||
| - | <sxh bash> % sudo touch / | + | <sxh bash> |
| + | % sudo touch / | ||
| + | % sudo echo ' | ||
| + | % sudo chown slurm:slurm / | ||
| + | % sudo chown slurm:slurm / | ||
| + | % sudo chmod 600 / | ||
| + | % sudo systemctl enable –now slurmdbd | ||
| + | % sudo systemctl status slurmdbd </ | ||
| * Vous ne devriez pas voir de message d' | * Vous ne devriez pas voir de message d' | ||
| Ligne 191: | Ligne 235: | ||
| * On commence par l' | * On commence par l' | ||
| - | <sxh bash> % sudo apt install -y slurmctld </ | + | <sxh bash> |
| + | % sudo apt install -y slurmctld | ||
| + | </ | ||
| * À la suite de cette opération, tous les RPi auront les bons répertoires avec les bonnes permissions ;-) | * À la suite de cette opération, tous les RPi auront les bons répertoires avec les bonnes permissions ;-) | ||
| * Il faut maintenant créer un fichier de configuration '' | * Il faut maintenant créer un fichier de configuration '' | ||
| - | <sxh bash> # sudo nano / | + | <sxh bash> |
| + | # sudo nano / | ||
| + | </ | ||
| * Il vous suffit de l' | * Il vous suffit de l' | ||
| - | <sxh bash> # Le nom de la grappe ClusterName=superclafoutis # Le nom du serveur sur lequel fonctionne le processus slurmctld SlurmctldHost=gru AuthType=auth/ | + | <sxh bash> |
| + | # Le nom de la grappe | ||
| + | ClusterName=superclafoutis | ||
| + | # Le nom du serveur sur lequel fonctionne le processus slurmctld | ||
| + | SlurmctldHost=gru | ||
| + | AuthType=auth/ | ||
| + | ProctrackType=proctrack/ | ||
| + | SchedulerType=sched/ | ||
| + | SelectType=select/ | ||
| + | # Le nom de l' | ||
| + | SlurmUser=slurm | ||
| + | StateSaveLocation=/ | ||
| + | SlurmdSpoolDir=/ | ||
| + | SlurmctldPidFile=/ | ||
| + | SlurmdPidFile=/ | ||
| + | # L' | ||
| + | AccountingStorageType=accounting_storage/ | ||
| + | AccountingStorageHost=gru | ||
| + | AccountingStorageUser=slurm | ||
| + | # Les infos sur les noeuds qui feront les tâches | ||
| + | NodeName=minion01 Sockets=1 CoresPerSocket=4 ThreadsPerCore=1 State=UNKNOWN | ||
| + | NodeName=minion02 Sockets=1 CoresPerSocket=4 ThreadsPerCore=1 State=UNKNOWN | ||
| + | NodeName=minion03 Sockets=1 CoresPerSocket=4 ThreadsPerCore=1 State=UNKNOWN | ||
| + | NodeName=minion04 Sockets=1 CoresPerSocket=4 ThreadsPerCore=1 State=UNKNOWN | ||
| + | # On regroupe tous les noeuds dans une même partition | ||
| + | PartitionName=biobunch | ||
| + | Nodes=ALL | ||
| + | Default=YES | ||
| + | MaxTime=120 | ||
| + | State=UP </ | ||
| * Remarquez que '' | * Remarquez que '' | ||
| * Il faut terminer la configuration avec les commandes suivantes: | * Il faut terminer la configuration avec les commandes suivantes: | ||
| - | <sxh bash> % sudo mkdir -p / | + | <sxh bash> |
| + | % sudo mkdir -p / | ||
| + | % sudo chown slurm:slurm / | ||
| + | % sudo chmod 755 / | ||
| + | % sudo touch / | ||
| + | % sudo touch / | ||
| + | % sudo touch / | ||
| + | % sudo chown -R slurm:slurm / | ||
| * Assurez vous maintenant de copier le fichier '' | * Assurez vous maintenant de copier le fichier '' | ||
| * Sur '' | * Sur '' | ||
| - | <sxh bash> % sudo systemctl enable slurmctld % sudo systemctl restart slurmctld % sudo systemctl status slurmctld </ | + | <sxh bash> |
| + | % sudo systemctl enable slurmctld | ||
| + | % sudo systemctl restart slurmctld | ||
| + | % sudo systemctl status slurmctld </ | ||
| * Vous ne devriez pas voir de messages d' | * Vous ne devriez pas voir de messages d' | ||
| Ligne 218: | Ligne 305: | ||
| * N' | * N' | ||
| - | <sxh> # Sur chaque RPi de calcul % sudo clown root:root / | + | < |
| + | # Sur chaque RPi de calcul | ||
| + | % sudo chown root:root / | ||
| + | </ | ||
| * Sur chaque noeud de travail, on installe '' | * Sur chaque noeud de travail, on installe '' | ||
| - | <sxh bash> % sudo apt install -y slurmd libpmix-dev % sudo systemctl enable slurmd % sudo systemctl restart slurmd % systemctl status slurmd </ | + | <sxh bash> |
| + | % sudo apt install -y slurmd libpmix-dev | ||
| + | % sudo systemctl enable slurmd | ||
| + | % sudo systemctl restart slurmd | ||
| + | % systemctl status slurmd </ | ||
| * Encore une fois, vous ne devriez pas voir d' | * Encore une fois, vous ne devriez pas voir d' | ||
| - | <sxh> % sudo chown -R slurm:slurm / | + | < |
| + | % sudo chown -R slurm:slurm / | ||
| + | % sudo chmod 755 / | ||
| + | % sudo touch / | ||
| + | % sudo chown -R slurm:slurm / | ||
| * Vérifier que le serveur '' | * Vérifier que le serveur '' | ||
| - | <sxh bash> % sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST biobunch* up 2:00:00 4 idle minion[01-04] </ | + | <sxh bash> |
| + | % sinfo | ||
| + | PARTITION AVAIL TIMELIMIT NODES STATE NODELIST | ||
| + | biobunch* up 2:00:00 4 idle minion[01-04] </ | ||
| * Si l' | * Si l' | ||
| - | <sxh bash> # Sur minion01 par ex.: % sudo scontrol update nodename=minion01 state=idle </ | + | <sxh bash> |
| + | # Pour minion01 par ex.: | ||
| + | % sudo scontrol update nodename=minion01 state=idle </ | ||
| * Note: si à tout moment, un noeud " | * Note: si à tout moment, un noeud " | ||
| Ligne 240: | Ligne 343: | ||
| * Si tout fonctionne, le commande suivante devrait vous retourner les noms de tous les noeuds de travail: | * Si tout fonctionne, le commande suivante devrait vous retourner les noms de tous les noeuds de travail: | ||
| - | <sxh bash> % srun –nodelist=minion[01-04] hostname minion01 minion02 minion03 minion04 </ | + | <sxh bash> |
| + | % srun –nodelist=minion[01-04] hostname | ||
| + | minion01 | ||
| + | minion02 | ||
| + | minion03 | ||
| + | minion04 | ||
| + | </ | ||