Commit 58a2d95a authored by remy's avatar remy

déplacement du bug singularity dans bugs et astuces

parent 736463cb
<!-- TOC -->
- [1. Singularity utilisation](#1-singularity-utilisation)
- [2. TP singularity avance](#2-tp-singularity-avance)
- [3. bugs connus](#3-bugs-connus)
- [4. Rajouts classiques spécifiques au Cluster MBB / Cluster ISEM](#4-rajouts-classiques-spécifiques-au-cluster-mbb-et-au-cluster-isem)
- [4.1. OpenMPI](#41-openmpi)
- [5. Utilisation sur le cluster meso@lr](#5-utilisation-sur-le-cluster-meso-@-lr)
- [6. Ressources](#6-ressources)
<!-- /TOC -->
<!-- TOC -->autoauto- [1. Singularity utilisation](#1-singularity-utilisation)auto- [2. TP singularity avance](#2-tp-singularity-avance)auto- [3. Rajouts classiques spécifiques au Cluster MBB et au Cluster ISEM](#3-rajouts-classiques-spécifiques-au-cluster-mbb-et-au-cluster-isem)auto - [4. OpenMPI](#4-openmpi)auto- [5. Utilisation sur le cluster meso@lr](#5-utilisation-sur-le-cluster-mesolr)auto- [6. Ressources](#6-ressources)autoauto<!-- /TOC -->
# 1. Singularity utilisation
......@@ -43,17 +35,21 @@ From: ubuntu:16.04
```
Construction de l'image depuis la recette :
```bash
$ sudo singularity build lolcow.simg Singularity
```
[Plus d'informations sur les sections, recettes](https://www.sylabs.io/guides/2.6/user-guide/container_recipes.html#container-recipes).
Pour lancer ce conteneur, il suffira de faire :
```bash
singularity run lolcow.simg
```
Mais il est possible, depuis l'hôte, de lancer n'importe quel programme présent dans le conteneur :
```bash
# ici le programme "cat"
singularity exec lolcow.img cat /etc/os-release
......@@ -62,6 +58,7 @@ singularity exec lolcow.img cat /etc/os-release
Lorsque vous avez fini la construction de votre image, copiez la sur le cluster puis essayez de l'exécuter ou de faire un `singularity shell` dedans.
Si vous avez besoin d'accéder à un dossier de l'hôte, en dehors de votre `$HOME` et du `/tmp`, vous pouvez monter ce dossier (on parle de `bind mount`) dans votre conteneur, avec l'option `-B` :
```bash
cd /tmp
singularity shell -B /opt/gridengine:/opt/gridengine ubuntu_16.04.sif
......@@ -69,7 +66,6 @@ singularity shell -B /opt/gridengine:/opt/gridengine ubuntu_16.04.sif
> ...
```
L'équipe MBB met à votre disposition 2 applications pour générer des recettes :
- une application Shiny spécialisée pour des applications bioinformatiques : [RPACIB](https://shiny.mbb.univ-montp2.fr/RPACIB/),
- une application Web plus générique : [WICOPA](https://web.mbb.univ-montp2.fr/wicopa/) ([code opensource, license Apache 2.0](https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa)).
......@@ -80,7 +76,8 @@ L'exécution sur le cluster est aisée, le $HOME et le TMP sont montés par déf
Un `modulefiles` vous permet de charger singularity (voir [utilisation de module](cluster.md#utiliser-module)).
Un petit exemple basique d'un fichier de soumission SGE/singularity serait (après avoir chargé le module singularity) :
```
```bash
#$ -S /bin/bash
#$ -N Singularity_Job
#$ -q cemeb.q
......@@ -91,25 +88,12 @@ Un petit exemple basique d'un fichier de soumission SGE/singularity serait (apr
singularity exec myfirstimage.simg myprog --myargs > myoutputfile.out
```
# 2. TP singularity avance
Voici un TP assez avancé que j'avais fait dans le cadre de l'[ANF UST4HPC](https://ust4hpc.sciencesconf.org/), en version `2.4.6` :
https://mbb.univ-montp2.fr/ust4hpc/tpSingu.html
# 3. bugs connus
Si vous avez le message suivant :
```
FATAL: kernel too old
```
Essayez de changer l'image de départ de votre conteneur pour un noyau linux plus ancien.
Par exemple, si vous faites, dans votre recette, un `From: ubuntu:18.04`, essayez de le remplacer par `From: ubuntu:16.04`.
# 4. Rajouts classiques spécifiques au Cluster MBB et au Cluster ISEM
# 3. Rajouts classiques spécifiques au Cluster MBB et au Cluster ISEM
De manière générale, je vous conseille de rajouter le contenu suivant à votre section `%post` :
......@@ -129,6 +113,7 @@ De manière générale, je vous conseille de rajouter le contenu suivant à votr
```
En effet, par défaut, je rajoute automatiquement (dans la configuration générale de _singularity.conf_), les _bind mount_ suivant (en plus du `/tmp` et du `$HOME`):
```
bind path = /share/apps/bin
bind path = /share/apps/lib
......@@ -136,7 +121,7 @@ bind path = /export/scrach
bind path = /opt/gridengine
```
## 4.1. OpenMPI
## 4. OpenMPI
> Note: la version 1.6.2 n'est plus disponible depuis la mise à jour du cluster.
......@@ -197,7 +182,6 @@ singularity exec --home /nfs/home/$USER:/home/$USER -B /nfs/home/$USER/:/nfs/ho
En effet, `/home/$USER` sur le noeud est un lien symbolique et nécessite l'existence du dossier cible `/nfs/home/$USER`, contenant vos fichiers, à créer et à monter dans le conteneur.
# 6. Ressources
- [Sources Github de Singularity](https://github.com/sylabs/singularity),
......
......@@ -49,3 +49,15 @@ Puis du côté de votre _$HOME_ sur le cluster :
cd
./go/bin/croc <baaar-blob-fooo>
```
# Bugs singularity
Si vous avez le message suivant :
```
FATAL: kernel too old
```
Essayez de changer l'image de départ de votre conteneur pour un noyau linux plus ancien.
Par exemple, si vous faites, dans votre recette, un `From: ubuntu:18.04`, essayez de le remplacer par `From: ubuntu:16.04`.
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment