Démarrage

D’abord, il vous faut un compte.

L’accès au cluster se fait grâce au protocole SSH donc, vous aurez besoin d’installer un client SSH.

SSH

Avec Linux et Mac OS X, un client OpenSSH est déjà installé.

Vous pouvez utiliser la commande suivante dans un terminal :

ssh username@cluster.ig.umons.ac.be -p 22000

Pour les systèmes Windows, vous pouvez utiliser Putty ou MobaXterm.

Depuis la version 1804 de Windows 10, un client SSH officiel est disponible dans l’écran des paramètres "Gérer les fonctionnalités supplémentaires".

Première Connexion

Voici un exemple d’enregistrement d’un mot de passe pour votre nouveau compte.

Username : demo
Password : bC346mxFZEfzr4i

Merci d’adapter votre nom d’utilisateur et votre mot de passe avec les paramètres que vous avez reçu.

À la première tentative de connexion, vous devrez entrer votre mot de passe temporaire et ensuite, entrer un nouveau mot de passe deux fois.

Mais d’abord, vous devrez accepter l’empreinte du cluster. Elles sont disponibles à la fin de cette page.

Exemple d’une première connexion
$ ssh demo@cluster.ig.umons.ac.be -p 22000
The authenticity of host '[cluster.ig.umons.ac.be]:22000 ([193.190.209.220]:22000)' can\'t be established.
ECDSA key fingerprint is SHA256:zQdn3DGKBi/+dGwU+CPYnNwuHVfMXqxIi6Bnj08XSVc
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[cluster.ig.umons.ac.be]:22000,[193.190.209.220]:22000' (ECDSA) to the list of known hosts.
demo@cluster.ig.umons.ac.be\' password: bC346mxFZEfzr4i

Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-124-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 System information disabled due to load higher than 4.0

 * Super-optimized for small spaces - read how we shrank the memory
   footprint of MicroK8s to make it the smallest full K8s around.

   https://ubuntu.com/blog/microk8s-memory-optimisation

0 updates can be applied immediately.

New release '22.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

WARNING: Your password has expired.
You must change your password now and login again!
Current Password: bC346mxFZEfzr4i           (1)
New password: mY8new1Shiny5PassWord         (2)
Retype new password: mY8new1Shiny5PassWord  (2)
passwd: password updated successfully
Connection to cluster.ig.umons.ac.be closed.
1 Entrez le même mot de passe
2 Entrez un nouveau mot de passe deux fois
Il doit faire au moins 15 caractères de long et doit comprendre au moins un caractère de chaque type : MAJUSCULE/minuscule/chiffre.

Après avoir entré deux fois votre nouveau mot de passe, vous serez déconnecté du cluster. Si vous utilisez une application comme puTTY, la fenêtre disparaîtrera et vous ne verrez pas s’il y a une erreur ou pas.

Si vous ne pouvez pas vous connecter avec le nouveau mot de passe, alors cela veut dire qu’il n’a pas été accepté.
Recommencez depuis le début avec le mot de passe temporaire que vous avez reçu par email.

Transférer des fichiers

Pour déposer vos fichiers sur le cluster, vous devrez utiliser le protocole SFTP (SSH File Transfer Protocol) avec une application graphique ou la commande scp qui devrait déjà être installée sur Linux et Mac OS X.

Voici une liste d’applications :

Voici un exemple de transfert par terminal avec scp :

[demo@laptop ~] $ scp -P22000 -r my_data_folder/ demo@cluster.ig.umons.ac.be:~/
The authenticity of host '[cluster.ig.umons.ac.be]:22000 ([193.190.209.220]:22000)' can\'t be established.
ECDSA key fingerprint is SHA256:zQdn3DGKBi/+dGwU+CPYnNwuHVfMXqxIi6Bnj08XSVc
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[cluster.ig.umons.ac.be]:22000,[193.190.209.220]:22000' (ECDSA) to the list of known hosts.
demo@cluster.ig.umons.ac.be\'s password:

Si la clé SSH du cluster a changé depuis votre dernière connexion, vous serez accueillis par ce message :

The authenticity of host '[cluster.ig.umons.ac.be]:22000 ([193.190.209.220]:22000)' can't be established.
ECDSA key fingerprint is SHA256:zQdn3DGKBi/+dGwU+CPYnNwuHVfMXqxIi6Bnj08XSVc
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[cluster.ig.umons.ac.be]:22000,[193.190.209.220]:22000' (ECDSA) to the list of known hosts.

Tunnels

Que faire si vous devez accéder à un port d’un noeud du cluster depuis votre navigateur web mais que ce port n’est pas disponible depuis l’extérieur du parefeu ?

Pour cela, vous pouvez utiliser les tunnels SSH afin d’y accéder depuis un port local.

Disons que vous voulez démarrer un Notebook Jupyter qui écoute sur le port 8888 du noeud deep1 et y accéder depuis votre navigateur web sur votre ordinateur.

Tout d’abord, démarrons le processus et faisons le attendre les connexions sur l’adresse IP du noeud 192.168.10.72 ou sur toutes les adresses 0.0.0.0 :

username@laptop:~$ ssh demo@cluster.ig.umons.ac.be -p 22000

demo@datamaster:~$ srun -l deep1 -p gpu -n 2 --mem=4G --pty /bin/bash
demo@deep1:~$ jupyter-lab --ip='0.0.0.0'
...
To access this notebook, open this file in a browser:
    http://192.168.10.72:8888/?token=2844cf5d1b84ad34763d8f1b0e88f0925e4ef42fd99d9419
...

Jupyter affichera un token d’authentification que vous devrez coller plus tard pour accéder au notebook.

Dans l’exemple ci-dessus, j’ai utilisé slurm pour réserver le noeud deep1 en mode interactif.

Maintenant, ouvrons un tunnel dans une autre fenêtre terminal :

username@laptop:~$ ssh -L 8080:localhost:58888 demo@cluster

demo@datamaster:~$ ssh -L 58888:192.168.10.72:8888 demo@192.168.10.72

Tant que cette fenêtre reste ouverte et que la session n’expire pas, vous pourrez accéder au notebook.
Dans votre navigateur web, allez à l’adresse http://localhost:8080.

Collez le jeton d’authentification et cliquez sur Log in.

moba session ssh tunnel config jupyter test 2

Et voilà !

moba session ssh tunnel config jupyter test 3

Quand vous avez fini, fermez le tunnel proprement en entrant la commande exit :

demo@deep1:~$ exit
logout
Connection to 192.168.10.72 closed.
demo@datamaster:~$ exit
logout
Connection to cluster.ig.umons.ac.be closed.
username@laptop:~$

Et faites de même avec la session avec laquelle vous avez lancé Jupyter.
Utilisez le raccourci Control + c de votre clavier pour arrêter Jupyter.

^C[I 13:35:22.458 LabApp] interrupted
Serving notebooks from local directory: /home_nfs/demo
2 active kernels
The Jupyter Notebook is running at:
http://deep1:8888/?token=2844cf5d1b84ad34763d8f1b0e88f0925e4ef42fd99d9419
or http://127.0.0.1:8888/?token=2844cf5d1b84ad34763d8f1b0e88f0925e4ef42fd99d9419
Shutdown this notebook server (y/[n])? y
[C 13:37:25.532 LabApp] Shutdown confirmed
[I 13:37:25.623 LabApp] Shutting down 2 kernels
[I 13:37:26.225 LabApp] Kernel shutdown: 6f4e60c2-f865-48a1-bb03-4e31b0eab0dc
[I 13:37:26.250 LabApp] Kernel shutdown: 02abcacd-9f05-420e-8b61-8a80c282566d
demo@deep1:~$ exit
logout
Connection to deep1 closed.
demo@datamaster:~$ exit
logout
Connection to cluster.ig.umons.ac.be closed.

Application Graphique (Sous Windows)

Voici les mêmes instructions mais pour une application graphique.

Première Connexion

Téléchargez et installez MobaXterm

moba main window

Cliquez sur l’icone Session icon en dessous de menu Terminal pour ouvrir la fenêtre suivante :

moba session window

Choisissez le premier icone SSH pour ouvrir l’onglet Basic SSH Settings :

moba session ssh

Après avoir entré votre mot de passe, l’application vous demandera si vous voulez le sauvegarder.

Si votre mot de passe a déjà été défini, vous pouvez le sauvegarder. Sinon, ne le faites pas car vous utilisez encore le mot de passe temporaire que vous avez reçu par email.
moba session ssh password

Pour empêcher la fermeture de la session par expiration du temps, vous devez activer l’option SSH keepalive dans les paramètres.

Cliquez sur l’icone Settings et activez l’option dans l’onglet SSH :

moba settings ssh keepalive

Après un redémarrage de MobaXterm, vos prochaines sessions continuerons de tourner même quand vous n’interragirez pas avec elles pendant plus de 5 minutes.

Transférer des fichiers

Avec MobaXterm, le transfert de fichier est facile, vous n’avez qu’à glisser vos fichier dans l’arborescence des fichiers du panneau latéral gauche (onglet Sftp).

moba session ssh logged in

Les fichiers dont le nom commence par un point sont des fichiers cachés. Vous pouvez désactiver ou activer leur affichage en cliquant dans la barre d’icone au dessus. du chemin.

Tunnels

Que faire si vous devez accéder à un port d’un noeud du cluster depuis votre navigateur web mais que ce port n’est pas disponible depuis l’extérieur du parefeu ?

Pour cela, vous pouvez utiliser les tunnels SSH afin d’y accéder depuis un port local.

Disons que vous voulez démarrer un Notebook Jupyter qui écoute sur le port 8888 du noeud deep1 et y accéder depuis votre navigateur web sur votre ordinateur.

Tout d’abord, démarrons le processus et faisons le attendre les connexions sur l’adresse IP du noeud 192.168.10.72 ou sur toutes les adresses 0.0.0.0 :

demo@deep1:~$ jupyter-lab --ip='192.168.10.72'
...
To access this notebook, open this file in a browser:
    http://192.168.10.72:8888/?token=e9191e3d58f47dfc8620221c6b12642e5729832b8a2f34790
...
moba session ssh tunnel config jupyter test 1

Copiez le jeton dans votre presse-papier, vous en aurez besoin plus tard pour vous authentifier avec Jupyter.

Pour configurer un tunnel, cliquez sur l’icone Tunneling.

moba main window tunneling

Une fenêtre MobaSSHTunnel apparait et vous montre les tunnels que vous avez configuré :

moba session ssh tunnel

Ajoutez un nouveau tunnel pour accéder au serveur Jupyter qui s’exécute sur le noeud 192.168.10.72 sur le port 8888 :

moba session ssh tunnel config jupyter

Après l’avoir sauvegardé, vous retournerez sur la liste des tunnels.
Vous pouvez cliquer sur le bouton play pour démarrer le tunnel :

moba session ssh tunnel config list highlights

Maintenant, vous pouvez ouvrir la page http://localhost:8888 dans votre navigateur web préféré et collez le jeton d’authentification :

moba session ssh tunnel config jupyter test 2

Et voilà !

moba session ssh tunnel config jupyter test 3

Quand vous avez fini, cliquez sur le bouton stop pour fermer le tunnel.

Utilisez le raccourci clavier Control + c pour arrêter le processus Jupyter que vous avez lancé et fermez les sessions proprement avec la commande exit.

^C[I 13:35:22.458 LabApp] interrupted
Serving notebooks from local directory: /home_nfs/demo
2 active kernels
The Jupyter Notebook is running at:
http://deep1:8888/?token=2844cf5d1b84ad34763d8f1b0e88f0925e4ef42fd99d9419
or http://127.0.0.1:8888/?token=2844cf5d1b84ad34763d8f1b0e88f0925e4ef42fd99d9419
Shutdown this notebook server (y/[n])? y
[C 13:37:25.532 LabApp] Shutdown confirmed
[I 13:37:25.623 LabApp] Shutting down 2 kernels
[I 13:37:26.225 LabApp] Kernel shutdown: 6f4e60c2-f865-48a1-bb03-4e31b0eab0dc
[I 13:37:26.250 LabApp] Kernel shutdown: 02abcacd-9f05-420e-8b61-8a80c282566d
demo@deep1:~$ exit
logout
Connection to deep1 closed.
demo@datamaster:~$ exit
logout
Connection to cluster.ig.umons.ac.be closed.

Empreintes des clés SSH

rsa

3072 SHA256:jh96scJC+SlSMUfQl46U7Hf6zQYdplK1XYIWT+50qME root@datamaster (RSA)

ecdsa

256 SHA256:zQdn3DGKBi/+dGwU+CPYnNwuHVfMXqxIi6Bnj08XSVc root@datamaster (ECDSA)

ed25519

256 SHA256:cU7wdORjNzPSoydSMzH5IrdKT6klyeEgAwbB5rKB3OQ root@datamaster (ED25519)