10. Manipulations sur machines virtuelles

Il est possible de réaliser l'ensemble des manipulations de ce support à l'aide de deux ou trois instances de machines virtuelles appartenant un même réseau de diffusion (LAN).

L'infrastructure à implanter sur le système hôte est la suivante.

Le script install.sh donné en copie ci-dessous effectue deux tâches distinctes.

Il commence par la copie des fichiers image des trois systèmes virtuels à partir du fichier maître. Les fichiers au format .qed sont des images compressées faciles à transférer.

Ensuite, il créé trois fichiers vides qui serviront de volume de stockage à chaque machine virtuelle.

#!/bin/bash

# Création des 3 machines virtuelles
ionice -c 3 cp ../vm0-debian-testing-i386-base.qed target.qed
ionice -c 3 cp ../vm0-debian-testing-i386-base.qed initiator1.qed
ionice -c 3 cp ../vm0-debian-testing-i386-base.qed initiator2.qed

# Création des 3 volumes de stockage
dd if=/dev/null of=target.disk bs=1 seek=72G
dd if=/dev/null of=initiator1.disk bs=1 seek=32G
dd if=/dev/null of=initiator2.disk bs=1 seek=32G

Le script startup.sh donné en copie ci-dessous sert au lancement des trois systèmes virtuels avec chacun une unité de stockage supplémentaire.

#!/bin/bash

../scripts/ovs-startup.sh target.qed 4096 100 \
-drive if=none,id=storagevol0,aio=native,cache=directsync,\
format=raw,media=disk,file=target.disk \
-device virtio-blk,drive=storagevol0,scsi=off,config-wce=off

../scripts/ovs-startup.sh initiator1.qed 1024 101 \
-drive if=none,id=initiator1addon,aio=native,cache=directsync,\
format=raw,media=disk,file=initiator1.disk \
-device virtio-blk,drive=initiator1addon,scsi=off,config-wce=off

../scripts/ovs-startup.sh initiator2.qed 1024 102 \
-drive if=none,id=initiator2addon,aio=native,cache=directsync,\
format=raw,media=disk,file=initiator2.disk \
-device virtio-blk,drive=initiator2addon,scsi=off,config-wce=off

Ce script fait lui-même appel au script commun ovs-startup.sh qui sert à initialiser une instance de machine virtuelle en utilisant comme paramètres le nom du fichier image, la quantité de RAM et le cordon de brassage virtuel tap. Le guide Virtualisation système et enseignement fournit le code source du script de lancement d'une machine virtuelle raccordée à un commutateur Open vSwitch.