#1 Le 10/07/2012, à 15:19
- Arbiel
[Résolu] [VirtualBox] Gestion incorrecte des disques de mach. virt.
Pour gérer un nombre relativement important de machines virtuelles, j'ai décidé d'en automatiser la production par un script bash sur la base de l'organisation suivante :
toutes les machines, MV${i}, i variant de 1 à N, sont construites à partir d'une machine de base, "Windows XP.vbox" dont la configuration contient un disque dur "Windows XP.vdi", et deux lecteurs de CD, vides
pour chacune je définis un répertoire d'enregistrement (VBOX_USER_HOME) et un répertoire pour la machine virtuelle ("MV${i}.Windows XP")
je construis chaque machine en recopiant le fichier "Windows XP.vbox" vers "MV${i}.Windows XP" sous le nom MV${i}.vbox, et en l'enregistrant dans son propre répertoire
je prends un instantané de la machine, instantané qui me sert à installer les logiciels spécifiques à la machine à partir soit d'une image iso, soit d'un CD
comme je veux ultérieurement encore déplacer l'ensemble pour particulariser chaque machine pour chaque futur utilisateur en créant un second instantané, je sors l'instantané que je viens de créer du répertoire Snapshots pour le remplacer par un lien symbolique absolu
Jusqu'à ce point de mon script, tout fonctionne parfaitement, les liens entre les fichiers sont correctement gérés, soit par des adressages absolus (depuis MV${i}.vbox vers "Windows XP.vdi") ou relatifs (depuis Virtualbox.xml vers MV${i}.vbox)
if ${loquace}; then
zenity --info --window-icon="info" --text="Création de la machine virtuelle"; fi
mkdir -p "${varctx}/"{r,Snapshots,log,vbx}
export VBOX_USER_HOME="${varctx}/r
cp --preserve=all "/.ciel/${mv}/${mv}.vbox" "${varctx}"
VBoxManage registervm "../${mv}.vbox"
vbx_mv_uuid=$(VBoxManage list vms | grep "${mv}" | sed -e s/.*{// -e s/}//)
VBoxManage modifyvm "${vbx_mv_uuid}" --name "${Jeu}"
VBoxManage unregistervm "${vbx_mv_uuid}"
VBoxManage registervm "../${Jeu}.vbox"
VBoxManage snapshot "${vbx_mv_uuid}" take "${mv}"
cp "${varctx}/Snapshots/"*.vdi "${varctx}/vbx"
ln -f --symbolic "${varctx}/vbx"/*.vdi "${varctx}/Snapshots"
Pour procéder à l'installation de ces logiciels, et c'est là que tout se gâte, je veux utiliser le premier lecteur de CD de la machine soit pour y monter l'image iso, soit lui faire correspondre le lecteur CD de l'hôte. Je n'ai pour l'instant pas encore tester ce deuxième besoin, car mes machines "perdent" leurs disques dans les manipulations que je fais et qui sont les suivantes :
if ${loquace}; then zenity --info --window-icon="info" --text="Installation de la machine VirtualBox"; fi
if ${cdrom}; then
medium="host:/dev/sr0"
else
medium="${varjeu}/${Jeu}.iso"
fi
VBoxManage storageattach "${vbx_mv_uuid}" \
--storagectl "Contrôleur IDE" \
--port 0 \
--device 1 \
--type dvddrive \
--medium "${medium}"
scriptinstall
VBoxManage storageattach "${vbx_mv_uuid}" \
--storagectl "Contrôleur IDE" \
--port 1 \
--device 0 \
--type dvddrive \
--medium "/.ciel/scripts/CielWindows.iso"
VirtualBox --startvm "${vbx_mv_uuid}" --fullscreen
VBoxManage storageattach "${vbx_mv_uuid}" \
--storagectl "Contrôleur IDE" \
--port 0 \
--device 1 \
--type dvddrive \
--medium emptydrive
VBoxManage storageattach "${vbx_mv_uuid}" \
--storagectl "Contrôleur IDE" \
--port 1 \
--device 0 \
--type dvddrive \
--medium emptydrive
scriptinstall crée l'image "CielWindows" que la machine hôte exécute au démarrage
A partir de là, je constate un comportement qui me paraît aléatoire, et mes machines virtuelles deviennent inacessibles. Le fichier vbox se vide de ses HardDisks. J'y retrouve en effet le code suivant
<HardDisks/>
<DVDImages>
<Image uuid="{7bc889cd-4a1f-46d6-ab85-66f48d246fab}" location="/media/Multimedia/Ciel_Iconiochore/Justine et la pierre de feu/Justine et la pierre de feu.iso"/>
<Image uuid="{866ca08c-fe76-43bd-823f-dff9ef01e713}" location="/.ciel/scripts/CielWindows.iso"/>
</DVDImages>
Merci à quiconque pourra me donner des pistes d'investigation.
Arbiel
Dernière modification par Arbiel (Le 12/07/2012, à 18:15)
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#2 Le 10/07/2012, à 17:31
- Haleth
Re : [Résolu] [VirtualBox] Gestion incorrecte des disques de mach. virt.
Si t'as beaucoup de VM et que c'est pas pour jouer, tu devrais utiliser des systèmes plus performant que virtualbox
Prend un hyperviseur de niveau 1, genre kvm
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#3 Le 10/07/2012, à 18:57
- Arbiel
Re : [Résolu] [VirtualBox] Gestion incorrecte des disques de mach. virt.
Bonsoir
C'est pour un club informatique ouvert à des adultes handicapés mentaux. La performance n'est pas un problème.
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#4 Le 10/07/2012, à 22:10
- Arbiel
Re : [Résolu] [VirtualBox] Gestion incorrecte des disques de mach. virt.
Bonsoir
Ne cherchez plus.
Je viens de constater qu'au cours de mes manipulations, j'ai dû modifier l'organisation de mes fichiers de sorte que la référence au fichier "Windows XP.vdi" est passée d'absolue à relative, et ce doit être là la source de mes problèmes.
Je passerai en résolu dès que j'aurai pu vérifier que tout se passe bien maintenant.
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#5 Le 11/07/2012, à 17:57
- Arbiel
Re : [Résolu] [VirtualBox] Gestion incorrecte des disques de mach. virt.
Bonsoir
Ma précédente hypothèse ne s'est pas vérifiée. Donc, si quelqu'un dispose d'informations sur ce qui ne va pas, je reste preneur.
D'avance, merci
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#6 Le 12/07/2012, à 18:14
- Arbiel
Re : [Résolu] [VirtualBox] Gestion incorrecte des disques de mach. virt.
Finalement j'ai opté pour une approche radicalement différente. Plutôt que de me perdre dans tous les ordres VBoxManage pour paramétrer mes machines, j'ai construit un fichier modèle.vbox dans lequel j'ai introduit des paramètres bash que je remplace ensuite par la commande
sed {liste de motifs "-e s/\${param}/${param}/g" modèle.vbox 1>nouvelle_machine.vbox
et cela fonctionne parfaitement.
Je marque le sujet comme résolu, bien qu'il ne le soit pas du tout, afin de permettre à quiconque confronté au même problème d'appliquer éventuellement la même méthode
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne