Modifications entre les versions 66 et 96 (s'étendant sur 30 versions)
Version 66 à la date du 2007-11-23 10:45:45
Taille: 9749
Commentaire: Attach et pb uuid du disk de diff
Version 96 à la date du 2007-12-20 11:13:58
Taille: 5696
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 3: Ligne 3:
* Mettre tous ceux qui est lourd sur la machine proprement et pourquoi pas une nouvelle partition carrément dite '' /mnt/VBOX/ ''
  .* l'image de l'os (2Go) iso.vdi
  .* le snapshot, pour le traitement de la diffèrence après qu'il soit immutable (8,5ko --> 2Go durant la session de l'utilisateur sur la machine) {05f0......}.vdi avec les permissions sudo chmod 770 /mnt/VBOX/
* Mettre l'image disque-winxp sur un serveur
Ligne 7: Ligne 5:
* Mettre le snapshot sur le disque dur local pour le traitement des diffèrences
Ligne 14: Ligne 13:
== I. Configuration de la machine type ==
  
* Donner les droits aux systèmes pour autoriser l'utilisateur
 '' groupadd vboxusers; sudo chgrp vboxusers /dev/vboxdrv; chmod 777 /dev/vboxdrv ;sudo adduser $USERNAME vboxusers ''
== I. Configuration de la machine type/modele ==
Ligne 19: Ligne 15:
* Donner aux fichiers de conf cités plus haut les permissions ont les faisant appartenir au groupe vboxusers:
'' sudo chgrp -R vboxusers /mnt/VBOX/ ''
* Configurer virtualbox en mode graphique :), l'essentiel est d'avoir une "bonne" config de Windows XP
Ligne 22: Ligne 17:
* Appliquer les droits nécessaires aux fichiers ou se trouve l'image seule pour un accès multiutilisateurs * Installer le VBOXGuestAdditions_Tools_1.5.0_OSE.iso qui est un correctif, essentiel pour le partage de dossier, graphisme etc...que du bien
Ligne 24: Ligne 19:
* Ajouter les utilisateurs (pourquoi pas groupes!) dans vboxusers
  ''sudo usermod -G vboxusers -a $USERNAME ''


* Modifier les paramètres par défaut de VirtualBox,
 Laisser les fichiers de conf dans leurs emplacements d'origines ie. dans chaque repertoire perso des utilisateurs

{{{
vboxmanage setproperty vdifolder /mnt/VBOX/
vboxmanage setproperty machinefolder default
vboxmanage setproperty vrdpauthlibrary default
vboxmanage setproperty hwvirtexenabled no }}}

* Rendre l'image immutable avant de l'attacher

{{{
vboxmanage registerimage disk iso.vdi -type immutable }}}

* Créer la machine virtuelle
{{{
vboxmanage createvm -name WinXP -register}}}
'' on peut aussi ajouter l'option -settingsfile "/nfs/$USERNAME/.VirtualBox/Machines/WinXP/WinXP.xml" ''
 
* Attacher le disque à la machine virtuelle, faire une translation d'adresse et mettre les snapshots dans un dossier temporaire:

{{{
vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /mnt/VBOX }}}

* Partage de fichiers 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 "/nfs/home/$USERNAME/Documents" }}}

 . le dossier partagé doit se être sur dans les dossiers personnels de l'utilisateur de la machine hôte, donc sur le serveur nfs!
 .* 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

/!\ Sous WinXP
{{{
net use z: \\Vboxsvr\Documents}}}


* Lancer WinXP sur Vbox en interface graphique: ''vboxmanage startvm WinXP -gui''

* La configuration en mode graphique est beaucoup plus simple. Ne pas oublié d'activé l'usb, le son (mode ALSA), le dossier de partage ou bien les proprietés par defauts.

* Configuration dans WinXP:
 .* Plugins flash, ActiveX dans iexplorer
* 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 ''
Ligne 79: Ligne 27:
* Créer une partition de 5Go pour mettre le disque et le snapshot, monter sur /mnt/VBOX * 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 chown -R .vboxusers /mnt/VBOX/TMP
     sudo chmod 770 /mnt/VBOX/TMP }}}
Ligne 81: Ligne 33:
* Diffuser l'image iso.vdi et le snapshot directement sur /mnt/VBOX/ de chaque poste client
 .1. archiver, copier, coller et mettre le tout sur une clé USB :)
Ligne 84: Ligne 34:
 .Tentative de script de test pour décompresser et copier les fichiers de configuration * Essai de [https://help.ubuntu.com/community/ATAOverEthernet ATAoverEThernet] ... impossible en multiaccess de disque-winxp.vdi
Ligne 86: Ligne 36:
 .* A executer en tant que super user
 {{{
       #!/bin/bash
       
    # Opération de SU
    # Copie et extraction des images
       echo "Copie en cours ..."
       cp /media/disk/Image_Backup.tar.gz /mnt/VBOX/
       cd /mnt/VBOX/
       tar -xvzf Image_Backup.tar.gz
* Mettre le disque-winxp.vdi sur le serveur NFS avec les droits 440, appartenant au groupe vbox. (/usr/local)
Ligne 97: Ligne 38:
     #Distribution des droits
       chgrp vboxusers /dev/vboxdrv
       chmod 777 /dev/vboxdrv
       sudo adduser $USERNAME vboxusers
       chown $USERNAME "/mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi"
       exit 0
 }}}
 
 .* A executer a partir d'un prompt de l'utilisateur
 {{{
     #!/bin/bash
     # Commandes propre à l'utilisateur
       cd "$HOME"
     # Comment se déloguer de root, et exécuter des commandes de simple utilisateur?
     # Prendre les fichiers de conf dans le répertoire et le mettre dans le home de l'utilisateur
       tar -xzf /media/disk/VirtualBox_Conf.tar.gz
* Faire un script qui automatise le management et le démarrage de vbox,
Ligne 114: Ligne 40:
     # Remplacer les occurences de @HOME@ du fichier xml
     # <SharedFolders>
     # <SharedFolder hostPath="@HOME@/Documents" name="Documents"/>
     # </SharedFolders>
       sed -i -e "s|@HOME@|$HOME|g" .VirtualBox/Machines/WinXP/WinXP.xml
{{{
#!/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
Ligne 120: Ligne 46:
       echo " ... OK " #VDI=/usr/local/diskimage/aigeme
VDI=/mnt/AIGEME
MAPAGE=/nfs$HOME/Documents
FLASH=/nfs$HOME/.FlashDisk
#TMP=/srv/aigeme/tmp
TMP=/mnt/VBOX/TMP/
DISK=XP-AIGEME.vdi
Ligne 122: Ligne 54:
       exit 0 }}} if [ -e $HOME/.VirtualBox ] ; then
    rm -rf $HOME/.VirtualBox
fi
Ligne 124: Ligne 58:
 .2. option 2: Peut être l'[http://www.nas-central.org/index.php?title=Vblade_-_ATA_over_Ethernet ATAoE Pojects ] avec un serveur Vblade ... # Nettoyage des disques de diffèrences
if [ ! -d $TMP ] ; then
 echo "Fichier temporaire innaccessible, contacter votre administrateur"
 exit 1
elif [ -n "$TMP" -a -e $TMP/* ] ; then
     rm -rf $TMP/{*
fi


# Tips pour les usb, dans VBOX ose
if [ ! -d $FLASH ] ; then
 mkdir $FLASH
 ln -s /media/disk/ $FLASH/
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/$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
vboxsdl -vm "WinXP"



}}}
Ligne 129: Ligne 116:
 . * '' Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir le fenêtre :( ''

 . * Après que ndimby s'est connecté et qu'il a manipulé vbox, il se deconnecte. Ndimby2 se connecte et veut lancer vbox. Il recoit une erreur que le disque est unbootable. Donc on relance une deuxième fois. Et la ca marche! Et inversement. On a remarqué en effet que Vbox change le propriétaire et le groupe du disk automatiquement. Si on utilise le même disque de différence, vbox génère une erreur en changeant de compte car le disque de diffèrence n'appartient pas au compte courant (ndimby2). Et la corrige tout de suite après.
 {{{
 -rw------- 1 ndimby users 330310144 2007-11-15 15:01 /mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi }}}

  . ''Peut-être parce que virtualbox « corriger » les droits ? Ré-essayer en mettant un `umask 007` avant le lancement de virtualbox. -- ProgFou''

 . * Pour modifier le type de l'image, sachant qu'on a iso.vdi:
 . * '' 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
Ligne 140: Ligne 120:
 vboxmanage unregisterimage disk iso.vdi
 vboxmanage registerimage disk iso.vdi -type normal
 vboxmanage modifyvm WinXP -hda iso.vdi
 vboxmanage unregisterimage disk disque-winxp.vdi
 vboxmanage registerimage disk disque-winxp.vdi -type normal
 vboxmanage modifyvm WinXP -hda disque-winxp.vdi
Ligne 144: Ligne 124:
 . et c'est reparti  . et c'est reparti en n'oubliant pas de remettre le mod en read-only
Ligne 158: Ligne 138:
          <VirtualDiskImage filePath="/mnt/VBOX//iso.vdi"/>           <VirtualDiskImage filePath="/mnt/e1.1/disque-winxp.vdi"/>
Ligne 165: Ligne 145:
==== A tester ====
Ligne 166: Ligne 147:
 . * Le fait de détacher le disque dur, et de le remettre créer une nouvelle image de différence avec un uuid différent. Il serait préferable de ne pas afficher Applications->Outils Systèmes->Innotek VirtualBox, autant mettre un lanceur avec ''' vboxmanage startvm WinXP -gui '''  * 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
   
Ligne 168: Ligne 165:
 . * VirtualBox_1.5.0 livré avec l'auf-desktop, sinon 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 '''


==== Erreurs rencontrées ====

* --( ''si on crée un autre fichier de configuration sur une machine cliente et qu'on y attache juste le disque image de la machine de test, en demarant la machine guest on a "Err. lecture disque Entrer Ctrl+Alt+Suppr pour redémarrer." '')--
 -->Solution: Bien configurée le fichier de config, détacher et déenregistrer le disque avant de supprimer l'ancien fichier de config

* '' 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. ''
 --> Solution temporaire: laisser le compte administrateur en autologon. Par très secure pour les installations à gogo!!!

* ça apparait quand on s'y attends pas! des fois des qu'on se log sur winxp, dès fois lorsque on fais des copies !
/!\
''BLUE SCREEN OF DEATH: Le problème peut être du à ce fichier: VBOXSF.sys
 STOP: 0x00000050 ............
 Vboxsf.sys - adresse FAEC3439 base at FAEC3439, Date Stamp 46d80f5a
 ... Vidage de la mémoire physique....''
 --> Solution: relancer 2 à 3 fois vbox mais c'est pas vraiment une solution...vbox 1.5.2??
 
* --( Lorsqu'on attache le disk iso.vdi depuis ndimby2, y a une méchante erreur )--
/!\
''Assertion failed: [mId && children().size() == 0] at '/build/buildd/virtualbox-ose-1.5.0-dfsg2/src/VBox/Main/HardDiskImpl.cpp' (536) in virtual nsresult HardDisk::trySetRegistered(PRBool).
Please contact the product vendor!''
 --> Solution: Donner les permissions au groupe vboxusers en lecture, écriture!
 
* Lorsque la machine hôte est saturé en espace disque on a:
Host system reported disk full. VM execution is suspended. You can resume after freeing some space.

ID Erreur:
DevATA_DISKFULL
Sévérité:
Erreur non Fatale
 -->Solution: Créer une nouvelle partition et appliqué l'idée principale

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 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

#VDI=/usr/local/diskimage/aigeme
VDI=/mnt/AIGEME
MAPAGE=/nfs$HOME/Documents
FLASH=/nfs$HOME/.FlashDisk
#TMP=/srv/aigeme/tmp
TMP=/mnt/VBOX/TMP/
DISK=XP-AIGEME.vdi

if [ -e $HOME/.VirtualBox ] ; then
    rm -rf $HOME/.VirtualBox
fi

# Nettoyage des disques de diffèrences
if [ ! -d $TMP ] ; then
        echo "Fichier temporaire innaccessible, contacter votre administrateur"
        exit 1
elif [ -n "$TMP" -a -e $TMP/* ] ; then 
        rm -rf $TMP/{*
fi


# Tips pour les usb, dans VBOX ose
if [ ! -d $FLASH ] ; then
        mkdir $FLASH
        ln -s /media/disk/ $FLASH/
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/$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
vboxsdl -vm "WinXP"


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
  • * 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

  • 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

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