Table des matières

Voir cette page sous forme de diaporama.

Virtualisation avec VDN

Étude du déploiement de réseaux virtuels à destination de 300 étudiants.

Rappel :

Virtualisation avec VDN

Chaque étudiant(e) dispose de 3 Go d'espace de sauvegarde (300 x 3 Go = 900 Go au total.

Dans leur espace de 3 Go les étudiant(e)s gèrent chacun(ne) :

A noter qu'il est possible de faire de nombreuses machines virtuelles temporaires (modifications dans /tmp). Pour des TP d'installation par exemple.

Besoins pédagogiques

VDN

VDN

Quelques liens :

Spécification des machines

Spécification des machines (suite)

Type de sauvegarde

Spécifications des réseaux

La ou les machines virtuelles des étudiants peuvent devoir éventuellement :

Exemples possibles

Du plus simple : une VM connectée à Internet (via le proxy)

Au moyen : 2 ou 3 VM interconnectées et connectés à Internet

Au plus compliqué : un réseau tout entier

Scripts VDN

Sous VDN tout est scripts shells bash (exception faite pour l'interface graphique qui est Ruby/GTK2).

Script de construction d'un réseau

Scripts de configuration

Exemple de rôles :

Mais tout autre rôle possible :

Scripts de configuration

Mise en oeuvre :

Exemple de scripts de configuration

baseConfigAll

#!/usr/bin/env bash 
 
set -eu
 
DESC="Configuration de base de alice et bob (hostname, hosts, interfaces)."
 
run() {
 
    . $VDN_PATH/bin/functions-scripts.sh
 
    setErrorHandler
    echoStart
 
    requireSshGuests alice bob
 
    parallelDisablePause
 
    vdn-scripts baseConfigAlice baseConfigBob
 
    unsetErrorHandler
    echoDone
}

baseConfigAlice

...
 
# Fixer un fichier
 
...
 
# Exécuter une commande sur le système virtuel
 
...

Actuellement

Au département informatique, chaque étudiant dispose déjà de 30 machines virtuelles, sans aucun espace supplémentaire autre que quelques Mo (moins de 10 Mo je pense) dans leur home.

Comment ?

Gestion possible

Sécurité

notamment :

Organisation actuelle

Un compte vdn hébergeant :

Organisation actuelle

Que fait VDN ?

Que fait VDN ?

qemu-system-x86_64 -smp 8 -enable-kvm -cpu host -device virtio-rng-pci,rng=rng0 -object rng-random,filename=/dev/urandom,id=rng0 -pidfile /tmp/vdn-passerelle-davalan-pid -rtc base=localtime -m 256M -initrd /home/davalan/vdn/files/initrd.img-4.19.0-5-amd64 -kernel /home/davalan/vdn/files/vmlinuz-4.19.0-5-amd64 -append root=/dev/vda1 ro console=ttyS0,115200n8 vdn-emulator=kvm vdn-mode=tgz vdn-nb-disk=1 net.ifnames=0 noresume fastboot -boot order=c -drive file=/home/davalan/vdn/files/DebianBuster-amd64.disk,if=virtio,snapshot=on,format=raw -drive file=/tmp/vdn-passerelle-davalan-config.tgz,if=virtio,media=disk,format=raw -drive file=/home/davalan/vdn-save/fixme/passerelle.tgz,if=virtio,media=disk,format=raw -drive file=/tmp/vdn-passerelle-davalan-part,if=virtio,media=disk,format=raw -drive file=/tmp/vdn-passerelle-davalan-swap,if=virtio,media=disk,format=raw -drive file=/tmp/vdn-passerelle-davalan-out,if=virtio,media=disk,format=raw -device virtio-net-pci,netdev=n1,mac=52:55:25:E8:05:00 -netdev socket,id=n1,mcast=239.2.0.0:2000 -device virtio-net-pci,netdev=n2,mac=52:55:25:E8:05:01 -netdev socket,id=n2,mcast=234.1.37.232:2001 -device virtio-net-pci,netdev=n3,mac=52:55:25:E8:05:02 -netdev socket,id=n3,mcast=234.1.37.232:2002 -device virtio-net-pci,netdev=n0,mac=52:55:25:E8:05:03 -netdev user,id=n0,hostfwd=tcp::5522-:22 -serial mon:stdio -monitor null -vnc unix:/tmp/vdn-vnc-davalan-passerelle-socket

Que fait VDN ?

Démo

?

Sécurité