Modifications entre les versions 98 et 104 (s'étendant sur 6 versions)
Version 98 à la date du 2008-01-14 16:41:00
Taille: 5865
Commentaire: Mode plein ecran
Version 104 à la date du 2008-02-27 19:55:26
Taille: 8011
Commentaire:
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
  • * 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
    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 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

Misc

Templates de distros en VDI http://veedee-eyes.com:82/veedeeeyes/book

NdimbyAndriantsoavina/NotesPerso (dernière édition le 2011-09-08 11:12:41 par NdimbyAndriantsoavina)