5865
Commentaire: Mode plein ecran
|
8011
|
Texte supprimé. | Texte ajouté. |
Ligne 30: | Ligne 30: |
sudo chmod 666 /dev/vboxdrv sudo adduser $LOGNAME vboxusers sudo groupadd vboxusers |
|
Ligne 34: | Ligne 37: |
* Essai de [https://help.ubuntu.com/community/ATAOverEthernet ATAoverEThernet] ... impossible en multiaccess de disque-winxp.vdi | * Essai de [[https://help.ubuntu.com/community/ATAOverEthernet|ATAoverEThernet]] ... impossible en multiaccess de disque-winxp.vdi |
Ligne 39: | Ligne 42: |
Ligne 41: | Ligne 43: |
Ligne 42: | Ligne 45: |
# | |
Ligne 46: | Ligne 50: |
VDI=/usr/local/diskimage/aigeme | VBOXMANAGE=$(which vboxmanage) ZENITY=$(which zenity) #Prend comme argument le nom de la nouvelle machine VBOXVMUUID=$1 #VDI=/srv/images/aigeme VDI=/mnt/AIGEME |
Ligne 49: | Ligne 60: |
TMP=/srv/local/vbox DISK=XP-AIGEME.vdi |
#TMP=/srv/local/vbox TMP=/mnt/VBOX/TMP #Nom du disk DISKFILE=XP-AIGEME.vdi |
Ligne 58: | Ligne 71: |
# 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 |
|
Ligne 60: | Ligne 84: |
if [ -f $HOME/.VirtualBox//.nfs* ]; then |
if [ -f $HOME/.VirtualBox//.nfs* ]; then |
Ligne 63: | Ligne 86: |
echo " Ressource occupée, redémarrer l'application" exit else rm -rf $HOME/.VirtualBox/ # Nettoyage des disques de diffèrences if [ ! -d $TMP ] ; then echo "Fichier temporaire innaccessible, contacter votre administrateur" |
${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 " |
Ligne 74: | Ligne 100: |
fi # repertoires des images sources des machines sur le serveur nfs vboxmanage setproperty vdifolder $VDI/ |
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 |
Ligne 80: | Ligne 158: |
# conf des machines restent dans le homedir vboxmanage setproperty machinefolder defaults # faire reconnaitre notre image modele if [ -e $VDI/$DISK ]; then vboxmanage registerimage disk $DISK -type immutable # creer la machine du nom de "WinXP" vboxmanage createvm -name "WinXP" -register # lui attacher l'image disque avec les options audio et nat vboxmanage modifyvm "WinXP" -hda $DISK -nic1 nat -snapshotfolder $TMP -audio alsa # supprimer les extradatas vboxmanage setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn" # Partage des dossiers entre XP et Ubuntu vboxmanage sharedfolder add "WinXP" -name Documents -hostpath $MAPAGE/ vboxmanage sharedfolder add "WinXP" -name FlashDisk -hostpath $FLASH/ else echo " Disque image innaccessible, contacter votre administrateur " exit 1 fi # Interface simple plein écran vboxsdl -vm "WinXP" -fullscreen fi |
|
Ligne 113: | Ligne 160: |
Ligne 126: | Ligne 174: |
/!\ Avant de copier l'image modele faire un petit {{{ vboxmanage modifyvm WinXP -hda none vboxmanage unregisterimage disk disque-winxp.vdi }}} |
|
Ligne 154: | Ligne 208: |
sinon créer une nouvelle image vdi avec les logs de [http://wiki.auf.org/wikiteki/FOAD/AIGEME AIGEME] | sinon créer une nouvelle image vdi avec les logs de [[http://wiki.auf.org/wikiteki/FOAD/AIGEME|AIGEME]] |
Ligne 166: | Ligne 220: |
=== Misc === Templates de distros en VDI http://veedee-eyes.com:82/veedeeeyes/book |
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 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 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
Misc
Templates de distros en VDI http://veedee-eyes.com:82/veedeeeyes/book