Welcome to eBio StratusLab Doc’s documentation!

Installation du client StratusLab dans virtualenv

Création d’un virtualenv pour stratusLab :

easy_install [-U] virtualenv # easy_install fait partie du package python-setuptools
virtualenv stratuslab
cd stratuslab
source bin/activate

Installer le client stratuslab :

easy_install stratuslab-client
cd ..
virtualenv --relocatable stratuslab

Configuration de l’environnement:

A chaque fois, pour utiliser stratusLab vous n’aurez qu’à vous placer dans le répertoire stratuslab (virtualenv) et taper:

source bin/activate

Pour quitter le virtualenv, il suffira de fermer le terminal.

Assurez-vous que vous avez bien une clé SSH :
  • regardez dans $HOME/.ssh/ pour y trouver les fichiers id_rsa ou id_rsa.pub
  • sinon utiliser ssh-keygen pour créer la clé SSH :
ssh-keygen -b 2048

Configuration du client StratusLab

mkdir $HOME/.stratuslab
cp $HOME/stratuslab/conf/stratuslab-user.cfg.ref $HOME/.stratuslab/stratuslab-user.cfg
Dans le fichier de configuration $HOME/.stratuslab/stratuslab-user.cfg, fournir les valeurs :
  • endpoint: cloud.lal.stratuslab.eu
  • username: le nom d’utilisateur que vous avez utilisé pour vous enregistrer
  • password: le mot de passe que vous avez choisi
  • user_public_key_file: chemin vers votre clé publique
  • pdisk_endpoint: pdisk.lal.stratuslab.eu

Tests de vérification

  • stratus-run-instance –help
  • stratus-describe-instance

Utiliser une machine virtuelle (VM)

Création de la VM

Récupérer l’id d’une image dans le Marketplace : https://marketplace.stratuslab.eu
  • Par exemple l’image dont l’identifiant est Ofmuq_hg5yUNIZFUIIIRQhiJm5E
  • Déployer votre VM :

    stratus-run-instance Ofmuq_hg5yUNIZFUIIIRQhiJm5E

L’identifiant de la VM et l’adresse IP publique doivent s’afficher dans la console...

vdaric@lappy:~$ stratus-run-instance Ofmuq_hg5yUNIZFUIIIRQhiJm5E

 :::::::::::::::::::::::::
 :: Starting machine(s) ::
 :::::::::::::::::::::::::
 :: Starting 1 machine
 :: Machine 1 (vm ID: 1859)
        Public ip: 134.158.75.206
 :: Done!

Lister toutes les VM actives :

~$ stratus-describe-instance
id   state     vcpu memory    cpu% host/ip                  name
1859 Running   1    0         0    vm-206.lal.stratuslab.eu one-1859

État d’une VM particulière :

stratus-describe-instance id

Faire un “ping” sur une VM :

ping host/ip

Se connecter à la VM en tant que “root” :

ssh root@host/ip

ou

stratus-connect-instance id

Différents états possibles d’une VM

_images/VM_states.png

Suppression de la VM

  • Éteindre la VM en y étant connectée :

    shutdown –h now
  • Tuer la VM :

    stratus-kill-instance VM_id

Créer une VM personnalisée

  • Lister les différentes configurations prédéfinies de VM :

    stratus-run-instance --list-type
    
  • Arguments de stratus-run-instance pour personnaliser sa VM :

    --cpu --ram --swap
    
  • Plus d’informations dans le help :

    stratus-run-instance --help
    

Création d’un disque de stockage persistant

Il existe deux méthodes pour faire ceci. Vous pouvez utiliser la ligne de commande ou l’interface web.

Création du disque en ligne de commande

stratus-create-volume --size=10 --tag=myData

Lister les volumes créés :

(stratuslab)vdaric@lappy:~$ stratus-describe-volumes
:: DISK a699dbe6-d753-4b9a-8069-7b6669830e3d
count: 0
owner: vdaric
tag: myData
size: 10
:: DISK 2d89694a-3e1a-46d0-9e84-735c9c302618
count: 1
tag:
owner: vdaric
identifier: snapshot:4f42e425-1e07-41a6-8048-a8e95922f002
size: 6

Utiliser votre disque de stockage avec une VM

  • Attacher le disque à la VM :

    (stratuslab)vdaric@lappy:~$ stratus-attach-volume -i 1859 a699dbe6-d753-4b9a-8069-7b6669830e3d
    ATTACHED a699dbe6-d753-4b9a-8069-7b6669830e3d in VM 1859 on /dev/vda

Le volume persistant est attaché à la VM en tant que device */dev/vda*.

Utiliser le disque

  • La première fois, après la création, il est nécessaire de formater le disque (se connecter en root à la VM)

  • Choix du système de fichier :
    • mkfs.bfs
    • mkfs.cramfs
    • mkfs.ext2
    • mkfs.ext3
    • mkfs.ext4
    • mkfs.ext4dev
    • mkfs.minix
    • mkfs.msdos
    • mkfs.ntfs
    • mkfs.vfat
  • Nous allons utiliser vfat

    mkfs.vfat /dev/vda
    
    #mount
    mkdir /media/myData
    mount /dev/vda /media/myData
    
  • Créons un fichier sur le nouveau disque

    echo "Hello World" > /media/myData/testfile.txt

Détruire le disque

root@vm-206:~# umount /media/myData
(stratuslab)vdaric@lappy:~$ stratus-kill-instance VM_id
(stratuslab)vdaric@lappy:~$ stratu-delete-volulme Disq_id

Utilisation

Exercice

  • installez blast :

    apt-get install ncbi-blast+
  • Télécharger le génome de la levure : http://downloads.yeastgenome.org/sequence/S288C_reference/chromosomes/fasta/

    for i in $(seq 1 9); do wget http://downloads.yeastgenome.org/sequence/S288C_reference/chromosomes/fasta/chr0$i.fsa; done
    for i in $(seq 10 16); do wget http://downloads.yeastgenome.org/sequence/S288C_reference/chromosomes/fasta/chr$i.fsa; done
  • fusionner tous les fichiers :

    cat *.fsa > S288C_reference.fasta
  • créer votre blastdatabase :

    makeblastdb -in S288C_reference.fasta -input_type fasta -dbtype nucl -title "Yeast genome database" -out db/yeastdb
  • votre séquence query :

    >query
    ttataattaaacaatatagcctatttctaatttaaaaaaaaaaaa
    aaacttattaagaataatttttttaaaagaaagttttacaaagaaaacaataacgataca
    aaaaatactattctttacatcaaaattaaaagagtagcttattgcaaataaaaacacgct
    agaaaaaagctacaaaaaatggaaactatgaggctacccccaataaaattaattttagag
    tcaattcctactgatgatgagctcaaatttagaagtaataataattattcggaatacact
    aggaaccaaactagattaaaccttttggactacgagtcattaagagactacgccccaaca
    caggagaattactcaacaaagccaaaattgatggattttaaaattggtaaaccattacac
    aggaatacaaaggtgaatttggtcattaaaagggaacctcaacagtcacaccaccaacat
    gaccaacaacaacaacaacaacaacaacaacagcagcagcagcctatatcacccccttgt
    tcaccaaacggttcagcatctataggattttctattccaatgaccatctgtagtagtact
    tcaagcagtgtgtccactacaagcacaaccacagatgttctaggtacacccaattcgtca
    gttgctacgactcctccaccttctatttcatctgcatcttcctccccaccatctgctaat
    gctgatacaaccgttaccgcaggctctagtaacgctaatattagtacaactaaaaaaaga
    gctaacttgccaaaggagacagtacaaattttaaatgaatggctatacaatcacattaat
    aacccttaccccacaccacaagagaagttagaattatcgttgaagactggtcttacgaag
    attcaactctcgaactggtttataaacgtcagaagaaggaaagtatttgtagattattac
    gatatgccaaatcaaagacgtgtgtcatatcataacgtaggtaaaagagctatcgttgat
    cactccatgaacgatagacctcccatggatactgcgcattccatgtaggtcattttaaaa
    ataaaaataatactaaaaatactaaactgggggaaatagaaaaaatatatgaggaacatt
    gaaagaaaaaaaaaaatattatacttctattatattgttattttttttattttagataat
    tctttttgttttctgtttgtttgtttttcttaattttattttattttattattgttctag
    acattggttaaagttgtactataagtcacgtcaagaaattatcagaaagtaattttatcg
    tttttacaattacttttattaacgagaaataatttatagtttcttttgggaatataatga
    tgttatgaatctaatttttattaatttttttttattttattttattttatttttttttat
    tgacgacaaggaaaagagatgagtgaggaaagcaattcaatgtattccaactttttactt
    aatctccttgttt
  • “collez” ceci dans le fichier “query.fasta”

  • blastez :

    blastn -task blastn -db db/yeastdb -query query.fasta -out myresults.blast
  • admirez !

Contacts :

Consultation des ressources disponibles

http://onehost-4.lal.in2p3.fr/load/load.txt

Cela sera fait d’une manière plus jolie dans une release à venir :

  • TCPU (total CPU cores)
  • ACPU (available CPU cores)

Il faut diviser les chiffres par 100 (2400 -> 24 coeurs).

Une machine virtuelle ne peut pas utiliser plus des ressources que ce qui existe dans une machine physique.