3101
Commentaire:
|
7919
Zenity
|
Texte supprimé. | Texte ajouté. |
Ligne 2: | Ligne 2: |
== Configuration sur la machine de test == * Installer VirtualBox_1.5.2_OSE * Installer VirtualBox à partir de la source Virtualbox_1.5.2_OSE.tar.bz2 * Convertir l'archive en un paquet debian *.deb {{{dpkg-buildpackage -rfakeroot}}} * Installer le paquet {{{dpkg -i 'virtual_*.deb}}} * Appliquer les droits nécessaires au fichier ou se trouve l'image et le fichier de configuration pour un accès multiutilisateurs au lieu de faire ''sudo chmod 777 /usr/share/Vbox'' autant donner les droits au groupe vboxusers.... * Modifier les paramètres par défaut de VirtualBox {{{VBoxManage setproperty vdifolder "/usr/share/VBox/VDI" | machinefolder "/usr/share/VBox/Machines" | vrdpauthlibrary default| hwvirtexenabled no }}} * Rendre l'image immutable avant de l'attacher ''VBoxmanage registerimage disk winxp.vdi -type immutable'' * Créer la machine virtuelle ''vboxmanage createvm -name WinXP -register''. ''on peut aussi ajouter l'option -settingsfile "/usr/share/Vbox/Machines/WinXP.xml" '' * Attacher le disque à la machine virtuelle: vboxmanage modifyvm WinXP -hda iso.vdi * Partage de fichier entre la machine virtuel WinXP et le poste host Ubuntu. * Sur le poste hote Definir un dossier de partage ''vboxmanage sharedfolder add WinXP -name Documents -hostpath "/home/$USERNAME/Documents"'' le dossier partager doit se retrouver sur dans les dossiers personnels de l'utilisateur du serveur! ''note:'' '' Message d'erreur à régler: text = Shared folder path '/home/ndimby/Documents' is not absolute'' * sur WinXP, click droite sur mes documents pour mapper "mes documents" avec ''/home/$USERNAME/Documents'', et mettre le chemin unc: ''\\Vboxsrv\Documents'' * Si on veut un lecteur logique dans poste de travail on peut aussi faire un ''net use z: \\Vboxsvr\Documents'' ''note:'' ''* quand on se log la premiere fois sur un compte utilisateur simple ou même avec pouvoir sur winXP, le partage est inacessible. On se logue en tant qu'admin, le partage fonctionne. On se relog en tant user sans pouvoir, le partage fonctionne. conclusion temporaire: autant laisser le compte administrateur en autologon. Par très secure pour les installations à gogo.!!!'' ''* Le client winxp ne peut ni supprimer ni deplacer ces fichiers dans l'explorateur windows de "Mes documents", par contre sur le client hote Ubuntu c'est niquel. Meme avec du chmod 777 ça passe pas ???'' * Lancer WinXP sur Vbox en interface graphique: ''vboxmanage startvm WinXP -gui'' == Configuration sur les machines foad == * Diffuser les images winxp.vdi sur directement sur /usr/share/VBox/VDI et les config sur /usr/share/VBox/Machines de chaque poste clients ''si on crée un fichier de configuration sur une machine cliente et qu'on y attache juste le disk image de la machine de test, en demarant la machine guest on a "Err. lecture disque Entrer Ctrl+Alt+Suppr pour redémarrer." '' |
== Idée principale == * Mettre l'image disque-winxp sur un serveur * Mettre le snapshot sur le disque dur local pour le traitement des diffèrences * Ceux qui restent sur les dossiers personnels (serveur nfs) de l'utilisateur .* Les fichiers de configuration statiques en taille .a. VirtualBox.xml (1,3 Ko) .b. WinXP.xml (2,6 ko) .* Les fichiers de logs (126 ko) == I. Configuration de la machine type/modele == * Configurer virtualbox en mode graphique :), l'essentiel est d'avoir une "bonne" config de Windows XP * Installer le VBOXGuestAdditions_Tools_1.5.0_OSE.iso qui est un correctif, essentiel pour le partage de dossier, graphisme etc...que du bien * Configuration de Windows avec un disque en mode normal. Droits: (rwx) .* Mappage de "mes documents" avec ''/$HOME/Documents'', et mettre le chemin unc: ''\\VBOXSVR\Documents'' .* Création d'un lecteur logique pour simuler le lecteur usb dans le poste de travail du guest: '' net use z: \\VBOXSVR\FlashDisk '' .* Logiciels dépendant de la formation == II. Configuration sur les machines foad == * Créer une partition de 5Go pour mettre le snapshot, monter sur /mnt/VBOX/TMP Donner les droits aux dossiers /mnt/VBOX/TMP à tous les vboxusers. {{{ sudo chmod 666 /dev/vboxdrv sudo adduser $LOGNAME vboxusers sudo groupadd vboxusers sudo chown -R .vboxusers /mnt/VBOX/TMP sudo chmod 770 /mnt/VBOX/TMP }}} * Essai de [https://help.ubuntu.com/community/ATAOverEthernet ATAoverEThernet] ... impossible en multiaccess de disque-winxp.vdi * Mettre le disque-winxp.vdi sur le serveur NFS avec les droits 440, appartenant au groupe vbox. (/usr/local) * Faire un script qui automatise le management et le démarrage de vbox, {{{ #!/bin/bash # # Script qui permet aux uilisateurs d'installer une image windows sous virtualbox # VDI contient l'image du disque winxp mis sur le serveur nfs # TMP contient l'image de diffèrence. Il est préfèrable de monter une partition sur TMP VBOXMANAGE=$(which vboxmanage) ZENITY=$(which zenity) #Prend comme argument le nom de la nouvelle machine VBOXVMUUID=$1 #VDI=/srv/images/aigeme VDI=/mnt/AIGEME MAPAGE=/nfs$HOME/Documents FLASH=/nfs$HOME/.FlashDisk #TMP=/srv/local/vbox TMP=/mnt/VBOX/TMP #Nom du disk DISKFILE=XP-AIGEME.vdi # Tips pour les usb, dans VBOX ose if [ ! -d $FLASH ] ; then mkdir $FLASH ln -s /media/disk/ $FLASH/ fi # Test de Zenity if [ ! -x ${ZENITY} ]; then echo "Erreur: l'outil Zenity n'est pas installé." exit 1 fi if [ ! $# = 1 ]; then ${ZENITY} --error --title "Argument nécessaire" --text "Ce script doit faire appel à un argument: l'UUID/nom de la machine virtuel doit être mis en argument." exit 2 fi # Nettoyer le répertoire home/.Virtualbox/defaults if [ -f $HOME/.VirtualBox//.nfs* ]; then sleep 3 ${ZENITY} --error --title "Erreur suppression nfs*** " --text " Ressource occupée, redémarrer l'application" exit 2 fi # Re-nettoyage rm -rf $HOME/.VirtualBox/ # Nettoyage des disques de diffèrences if [ ! -d $TMP ] ; then ${ZENITY} --error --title " Erreur d'accès disque temp." --text "La partition temporaire est innaccessible " exit 1 elif [ -n "$TMP" -a -e $TMP/* ] ; then rm -rf $TMP/{* fi # repertoires des images sources des machines sur le serveur nfs ${VBOXMANAGE} setproperty vdifolder $VDI/ # conf des machines restent dans le homedir ${VBOXMANAGE} setproperty machinefolder defaults # faire reconnaitre notre image modele if [ ! -e $VDI/$DISKFILE ] ; then ${ZENITY} --error --title " Erreur d'accès disque " --text "L'image disque ${DISK} ne peut être trouver " fi # rendre le disque immutable ${VBOXMANAGE} registerimage disk $DISKFILE -type immutable # creer la machine du nom de "WinXP" ${VBOXMANAGE} createvm -name ${VBOXVMUUID} -register # lui attacher l'image disque avec les options audio et nat ${VBOXMANAGE} modifyvm ${VBOXVMUUID} -hda $DISKFILE -nic1 nat -snapshotfolder $TMP -audio alsa if ${VBOXMANAGE} showvminfo ${VBOXVMUUID} | grep ^Primary\ master > /dev/null; then DISKFILE=$(${VBOXMANAGE} showvminfo ${VBOXVMUUID} | grep ^Primary\ master | sed -e "s/Primary\ master:\ *//" -e 's/\ *(UUID.*$//') if [ ! -r ${DISKFILE} ]; then ${ZENITY} --error --title "Disque primaire non trouvé" --text "L'image disque pour le disque primaire, ${DISKFILE}, ne peut être trouvé." exit 1 fi fi # supprimer les extradatas ${VBOXMANAGE} setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn" ${VBOXMANAGE} setextradata global "GUI/Customizations noMenuBar,noStatusBar" # Partage des dossiers entre XP et Ubuntu vboxmanage sharedfolder add ${VBOXVMUUID} -name Documents -hostpath $MAPAGE/ vboxmanage sharedfolder add ${VBOXVMUUID} -name FlashDisk -hostpath $FLASH/ # lancement de vbox VBOXOUT=$(${VBOXMANAGE} startvm ${VBOXVMUUID}) VBOXCODE=$? if [ ! ${VBOXCODE} = 0 ]; then echo -e ${VBOXOUT} VBOXERROR=$(echo ${VBOXOUT} | grep "\[\!\]\ Text" | sed "s/.*\[\!\]\ Text\ *=\ *//") VBOXERROR=$(echo ${VBOXERROR} | sed "s/\ \[\!\].*//") ${ZENITY} --error --title "Erreur lors du lancement de la machine virtuelle" --text " Une erreur s'est produite lors du lancement de la machine virtuelle: ${VBOXERROR} tapez \"${VBOXMANAGE} startvm ${VBOXVMUUID}\" pour plus de détails." exit 4 fi }}} ---- ==== Remarques ==== . * '' Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir la fenêtre :( '' . * Pour modifier le type de l'image pour la maintenance, sachant qu'on a disque-winxp.vdi, avec un chmod rwx {{{ vboxmanage modifyvm WinXP -hda none vboxmanage unregisterimage disk disque-winxp.vdi vboxmanage registerimage disk disque-winxp.vdi -type normal vboxmanage modifyvm WinXP -hda disque-winxp.vdi vboxmanage startvm WinXP -gui }}} . et c'est reparti en n'oubliant pas de remettre le mod en read-only /!\ Avant de copier l'image modele faire un petit {{{ vboxmanage modifyvm WinXP -hda none vboxmanage unregisterimage disk disque-winxp.vdi }}} . * Pour les fichiers de configurations, on a 3 types de uuid: . 1. Celui qui spécifie le nom de la machine virtuelle: WinXp . 2. L'uuid qui spécifie le "disque dur", qu'il soit immutable ou non . 3. Et enfin un dernier qui est spécifié quand le type est immutable {{{ <MachineRegistry> <MachineEntry src="Machines/WinXP/WinXP.xml" uuid="{f4270d7d-2c5f-4776-46af-e43f34e655dd}"/> </MachineRegistry> ..... <HardDisk type="immutable" uuid="{85330e70-3e98-488c-0586-f01e5685fec3}"> <VirtualDiskImage filePath="/mnt/e1.1/disque-winxp.vdi"/> <DiffHardDisk uuid="{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}"> <VirtualDiskImage filePath="/mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi"/> </DiffHardDisk> </HardDisk> </HardDisks> }}} ==== A tester ==== * Test VMDK 1. Lancer VMDK depuis Gestionnaire de disk VBox Sinon Convertir une image VMDK de vmware en VDI 2. Tester le mode immutable VMDK sur VirtualBox Si test ok mettre sur le serveur NFS sinon créer une nouvelle image vdi avec les logs de [http://wiki.auf.org/wikiteki/FOAD/AIGEME AIGEME] * Test X-access Tester l'acces de l'image depuis plusieurs machines du CDR Si test ok passer a test foad sinon verifier les permissions, type etc.. * Test foad Implementer le test sur quelques utilisateurs dans la salle foad |
TAF pour pouvoir virtualiser correctement
Idée principale
* Mettre l'image disque-winxp sur un serveur
* Mettre le snapshot sur le disque dur local pour le traitement des diffèrences
* Ceux qui restent sur les dossiers personnels (serveur nfs) de l'utilisateur
- * Les fichiers de configuration statiques en taille
a. VirtualBox.xml (1,3 Ko)
- b. WinXP.xml (2,6 ko)
- * Les fichiers de logs (126 ko)
I. Configuration de la machine type/modele
* Configurer virtualbox en mode graphique :), l'essentiel est d'avoir une "bonne" config de Windows XP
* Installer le VBOXGuestAdditions_Tools_1.5.0_OSE.iso qui est un correctif, essentiel pour le partage de dossier, graphisme etc...que du bien
* Configuration de Windows avec un disque en mode normal. Droits: (rwx)
* Mappage de "mes documents" avec /$HOME/Documents, et mettre le chemin unc: \\VBOXSVR\Documents
* Création d'un lecteur logique pour simuler le lecteur usb dans le poste de travail du guest: net use z: \\VBOXSVR\FlashDisk
- * Logiciels dépendant de la formation
II. Configuration sur les machines foad
* Créer une partition de 5Go pour mettre le snapshot, monter sur /mnt/VBOX/TMP
- Donner les droits aux dossiers /mnt/VBOX/TMP à tous les vboxusers.
sudo chmod 666 /dev/vboxdrv sudo adduser $LOGNAME vboxusers sudo groupadd vboxusers sudo chown -R .vboxusers /mnt/VBOX/TMP sudo chmod 770 /mnt/VBOX/TMP
* Essai de [https://help.ubuntu.com/community/ATAOverEthernet ATAoverEThernet] ... impossible en multiaccess de disque-winxp.vdi
* Mettre le disque-winxp.vdi sur le serveur NFS avec les droits 440, appartenant au groupe vbox. (/usr/local)
* Faire un script qui automatise le management et le démarrage de vbox,
# # Script qui permet aux uilisateurs d'installer une image windows sous virtualbox # VDI contient l'image du disque winxp mis sur le serveur nfs # TMP contient l'image de diffèrence. Il est préfèrable de monter une partition sur TMP VBOXMANAGE=$(which vboxmanage) ZENITY=$(which zenity) #Prend comme argument le nom de la nouvelle machine VBOXVMUUID=$1 #VDI=/srv/images/aigeme VDI=/mnt/AIGEME MAPAGE=/nfs$HOME/Documents FLASH=/nfs$HOME/.FlashDisk #TMP=/srv/local/vbox TMP=/mnt/VBOX/TMP #Nom du disk DISKFILE=XP-AIGEME.vdi # Tips pour les usb, dans VBOX ose if [ ! -d $FLASH ] ; then mkdir $FLASH ln -s /media/disk/ $FLASH/ fi # Test de Zenity if [ ! -x ${ZENITY} ]; then echo "Erreur: l'outil Zenity n'est pas installé." exit 1 fi if [ ! $# = 1 ]; then ${ZENITY} --error --title "Argument nécessaire" --text "Ce script doit faire appel à un argument: l'UUID/nom de la machine virtuel doit être mis en argument." exit 2 fi # Nettoyer le répertoire home/.Virtualbox/defaults if [ -f $HOME/.VirtualBox//.nfs* ]; then sleep 3 ${ZENITY} --error --title "Erreur suppression nfs*** " --text " Ressource occupée, redémarrer l'application" exit 2 fi # Re-nettoyage rm -rf $HOME/.VirtualBox/ # Nettoyage des disques de diffèrences if [ ! -d $TMP ] ; then ${ZENITY} --error --title " Erreur d'accès disque temp." --text "La partition temporaire est innaccessible " exit 1 elif [ -n "$TMP" -a -e $TMP/* ] ; then rm -rf $TMP/{* fi # repertoires des images sources des machines sur le serveur nfs ${VBOXMANAGE} setproperty vdifolder $VDI/ # conf des machines restent dans le homedir ${VBOXMANAGE} setproperty machinefolder defaults # faire reconnaitre notre image modele if [ ! -e $VDI/$DISKFILE ] ; then ${ZENITY} --error --title " Erreur d'accès disque " --text "L'image disque ${DISK} ne peut être trouver " fi # rendre le disque immutable ${VBOXMANAGE} registerimage disk $DISKFILE -type immutable # creer la machine du nom de "WinXP" ${VBOXMANAGE} createvm -name ${VBOXVMUUID} -register # lui attacher l'image disque avec les options audio et nat ${VBOXMANAGE} modifyvm ${VBOXVMUUID} -hda $DISKFILE -nic1 nat -snapshotfolder $TMP -audio alsa if ${VBOXMANAGE} showvminfo ${VBOXVMUUID} | grep ^Primary\ master > /dev/null; then DISKFILE=$(${VBOXMANAGE} showvminfo ${VBOXVMUUID} | grep ^Primary\ master | sed -e "s/Primary\ master:\ *//" -e 's/\ *(UUID.*$//') if [ ! -r ${DISKFILE} ]; then ${ZENITY} --error --title "Disque primaire non trouvé" --text "L'image disque pour le disque primaire, ${DISKFILE}, ne peut être trouvé." exit 1 fi fi # supprimer les extradatas ${VBOXMANAGE} setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn" ${VBOXMANAGE} setextradata global "GUI/Customizations noMenuBar,noStatusBar" # Partage des dossiers entre XP et Ubuntu vboxmanage sharedfolder add ${VBOXVMUUID} -name Documents -hostpath $MAPAGE/ vboxmanage sharedfolder add ${VBOXVMUUID} -name FlashDisk -hostpath $FLASH/ # lancement de vbox VBOXOUT=$(${VBOXMANAGE} startvm ${VBOXVMUUID}) VBOXCODE=$? if [ ! ${VBOXCODE} = 0 ]; then echo -e ${VBOXOUT} VBOXERROR=$(echo ${VBOXOUT} | grep "\[\!\]\ Text" | sed "s/.*\[\!\]\ Text\ *=\ *//") VBOXERROR=$(echo ${VBOXERROR} | sed "s/\ \[\!\].*//") ${ZENITY} --error --title "Erreur lors du lancement de la machine virtuelle" --text " Une erreur s'est produite lors du lancement de la machine virtuelle: ${VBOXERROR} tapez \"${VBOXMANAGE} startvm ${VBOXVMUUID}\" pour plus de détails." exit 4 fi
Remarques
* Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir la fenêtre
- * Pour modifier le type de l'image pour la maintenance, sachant qu'on a disque-winxp.vdi, avec un chmod rwx
vboxmanage modifyvm WinXP -hda none vboxmanage unregisterimage disk disque-winxp.vdi vboxmanage registerimage disk disque-winxp.vdi -type normal vboxmanage modifyvm WinXP -hda disque-winxp.vdi vboxmanage startvm WinXP -gui
- et c'est reparti en n'oubliant pas de remettre le mod en read-only
Avant de copier l'image modele faire un petit
vboxmanage modifyvm WinXP -hda none vboxmanage unregisterimage disk disque-winxp.vdi
- * Pour les fichiers de configurations, on a 3 types de uuid:
1. Celui qui spécifie le nom de la machine virtuelle: WinXp
- 2. L'uuid qui spécifie le "disque dur", qu'il soit immutable ou non
- 3. Et enfin un dernier qui est spécifié quand le type est immutable
<MachineRegistry> <MachineEntry src="Machines/WinXP/WinXP.xml" uuid="{f4270d7d-2c5f-4776-46af-e43f34e655dd}"/> </MachineRegistry> ..... <HardDisk type="immutable" uuid="{85330e70-3e98-488c-0586-f01e5685fec3}"> <VirtualDiskImage filePath="/mnt/e1.1/disque-winxp.vdi"/> <DiffHardDisk uuid="{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}"> <VirtualDiskImage filePath="/mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi"/> </DiffHardDisk> </HardDisk> </HardDisks>
A tester
- Test VMDK
- Lancer VMDK depuis Gestionnaire de disk VBox
- Sinon Convertir une image VMDK de vmware en VDI
Tester le mode immutable VMDK sur VirtualBox
- Si test ok mettre sur le serveur NFS
sinon créer une nouvelle image vdi avec les logs de [http://wiki.auf.org/wikiteki/FOAD/AIGEME AIGEME]
- Si test ok mettre sur le serveur NFS
- Lancer VMDK depuis Gestionnaire de disk VBox
- Test X-access
- Tester l'acces de l'image depuis plusieurs machines du CDR
- Si test ok passer a test foad
- sinon verifier les permissions, type etc..
- Si test ok passer a test foad
- Tester l'acces de l'image depuis plusieurs machines du CDR
- Test foad
- Implementer le test sur quelques utilisateurs dans la salle foad