Modifications entre les versions 52 et 82 (s'étendant sur 30 versions)
Version 52 à la date du 2007-11-15 15:35:14
Taille: 9300
Commentaire:
Version 82 à la date du 2007-12-05 17:37:08
Taille: 4599
Commentaire: commentaire sur l'usage de trap
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 8: Ligne 5:
* Mettre le snapshot sur le disque dur local pour le traitement des diffèrences
Ligne 15: Ligne 13:
== I.a. Soit une configuration de la machine "type" en mode graphique ==
  Avant de lancer faire: groupadd vboxusers; sudo chgrp vboxusers /dev/vboxdrv; chmod 666 /dev/vboxdrv
  Donner aux fichiers de conf cités plus haut les permissions ont les faisant appartenir au groupe vboxusers: '' sudo chgrp -R vboxusers /mnt/VBOX/
  Lancer virtualbox et aller dans préfèrences ou Settings
== I. Configuration de la machine type/modele ==
Ligne 20: Ligne 15:
== I.b. Soit on fait une configuration sur la machine "type" en mode console (plus compliqué et perte de temps) == * Configurer virtualbox en mode graphique :), l'essentiel est d'avoir une "bonne" config de Windows XP
* Configuration de Windows avec un disque en mode normal. Droits: (rwx)
 .* Mappage de "mes documents" avec ''/home/$USERNAME/Documents'', et mettre le chemin unc: ''\\Vboxsrv\Documents''
 .* Si on veut un lecteur logique dans poste de travail du guest: '' net use z: \\Vboxsvr\Documents ''
 .* Logiciels dépendant de la formation
Ligne 23: Ligne 22:
* Appliquer les droits nécessaires au fichier ou se trouve l'image seule pour un accès multiutilisateurs == II. Configuration sur les machines foad ==
Ligne 25: Ligne 24:
 . au lieu de faire
 ''sudo chmod 777 /usr/share/Vbox'' autant donner les droits au groupe vboxusers.... donc sudo adduser
* 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 28: Ligne 30:
* Ajouter les utilisateurs (pourquoi pas groupes!) dans vboxusers
  ''sudo usermod -G vboxusers -a $USERNAME ''
Ligne 31: Ligne 31:
* 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 * 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,
Ligne 34: Ligne 38:
vboxmanage setproperty vdifolder /usr/share/VBox/VDI
vboxmanage setproperty machinefolder default
vboxmanage setproperty vrdpauthlibrary default
vboxmanage setproperty hwvirtexenabled no }}}
#!/bin/bash
Ligne 39: Ligne 40:
 * Rendre l'image immutable avant de l'attacher VDI=/usr/local
TMP=/mnt/VBOX/TMP
MAPAGE=/nfs$HOME/Desktop/
Ligne 41: Ligne 44:
{{{
vboxmanage registerimage disk iso.vdi -type immutable }}}
if [ -e $HOME/.VirtualBox ] ; then
    rm -rf $HOME/.VirtualBox
fi
Ligne 44: Ligne 48:
 * 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:
# Nettoyage des disques de diffèrences au cas ou le trap ne fonctionne pas
if [ -e $TMP/* ] ; then
    rm -rf $TMP/{*
fi
Ligne 50: Ligne 53:
{{{
vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /tmp}}}
# repertoires des images sources des machines sur le serveur nfs
vboxmanage setproperty vdifolder $VDI
Ligne 53: Ligne 56:
* Partage de fichiers entre la machine virtuel WinXP et le poste host Ubuntu. # conf des machines restent dans le homedir
vboxmanage setproperty machinefolder defaults
Ligne 55: Ligne 59:
 * Sur le poste hote Definir un dossier de partage # faire reconnaitre notre image modele
vboxmanage registerimage disk disque-winxp.vdi -type immutable
Ligne 57: Ligne 62:
{{{
vboxmanage sharedfolder add WinXP -name Documents -hostpath "/nfs/home/$USERNAME/Documents" }}}
# creer la machine du nom de "WinXP"
vboxmanage createvm -name WinXP -register
Ligne 60: Ligne 65:
 . 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
# lui attacher l'image disque
vboxmanage modifyvm WinXP -hda disque-winxp.vdi -nic1 nat -snapshotfolder $TMP -audio alsa
Ligne 64: Ligne 68:
/!\ Sous WinXP
{{{
net use z: \\Vboxsvr\Documents}}}
# supprimer les extradatas
vboxmanage setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn"
Ligne 68: Ligne 71:
vboxmanage sharedfolder add WinXP -name Documents -hostpath $MAPAGE
Ligne 69: Ligne 73:
*  Lancer WinXP sur Vbox en interface graphique: ''vboxmanage startvm WinXP -gui'' # Interface avec mode seamless
#
vboxmanage startvm WinXP -gui
Ligne 71: Ligne 76:
== II. Configuration sur les machines foad en mode console ==
* Diffuser l'image iso.vdi directement sur /usr/share/VBox/VDI/ de chaque poste client
 .* archiver, copier, coller et mettre le tout sur un DVD :) et mettre un petit script qui va faire du cp et du sed au demmarage....
 .* Mettre sur un serveur nfs, trop gourmand en ressources...
 .* Peut être l'[http://www.nas-central.org/index.php?title=Vblade_-_ATA_over_Ethernet ATAoE Pojects ] avec un serveur Vblade ...
# Interface simple
vboxsdl -vm WinXP

# Capture du signal à l'arret avec suppression des images de diff
trap "rm -rf $TMP/{*; exit" 0 1 2 3 9 15

}}}
  . ''Le `trap` sert à intercepter les signaux envoyés au script lui même. C'est pour cette raison qu'on le place plutôt en début de script. Sinon, s'il s'agit uniquement de nettoyer les fichiers qui traînent après la sortie de la machine virtuelle, inutile de faire un `trap` : il suffit de faire le `rm` directement. -- ProgFou''
Ligne 77: Ligne 85:

* Créer un autre compte ndimby2 pour pouvoir tester si vbox marche sur un autre utilisateur à part ndimby

==== II.1. Refaire les mêmes étapes: création et configuration des fichiers pour être réutilisables ====


  {{{
vboxmanage setproperty vdifolder /usr/share/Vbox/VDI
vboxmanage setproperty machinefolder default
vboxmanage setproperty vrdpauthlibrary default
vboxmanage setproperty hwvirtexenabled no
vboxmanage createvm -name WinXP -register
vboxmanage sharedfolder add WinXP -name Documents -hostpath "/nfs/home/$USERNAME/Documents"
vboxmanage registerimage disk /usr/share/Vbox/VDI/iso.vdi -type immutable
vboxmanage modifyvm WinXP -hda /usr/share/Vbox/VDI/iso.vdi -nic1 nat
}}}

==== II.2. Ou bien créer un script (à faire) ====

 . *. Faire tourner le script à la main! Remplacer les instances ndimby par ndimby2 ou de l'utilisateur courant du fichier de conf type /.VirtualBox/Machines/WinXP/WinXP.xml
 {{{
      <SharedFolders>
        <SharedFolder hostPath="/nfs/home/ndimby/Documents" name="Documents"/>
      </SharedFolders>}}}
 . *. Ne pas oublier de donner les droits par rapport aux utilisateurs sur WinXP.xml
Ligne 107: Ligne 89:

 . * 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:
 . * Pour modifier le type de l'image pour la maintenance, sachant qu'on a disque-winxp.vdi, avec un chmod rwx
Ligne 117: Ligne 92:
 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 121: Ligne 96:
 . et c'est reparti  . et c'est reparti en n'oubliant pas de remettre le mod en read-only
Ligne 135: Ligne 110:
          <VirtualDiskImage filePath="/mnt/VBOX//iso.vdi"/>           <VirtualDiskImage filePath="/mnt/e1.1/disque-winxp.vdi"/>
Ligne 142: Ligne 117:
   . * 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 * Configuration de Windows avec un disque en mode normal. Droits: (rwx)

  • * Mappage de "mes documents" avec /home/$USERNAME/Documents, et mettre le chemin unc: \\Vboxsrv\Documents

  • * Si on veut un lecteur logique dans poste de travail du guest: net use z: \\Vboxsvr\Documents

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

VDI=/usr/local
TMP=/mnt/VBOX/TMP
MAPAGE=/nfs$HOME/Desktop/

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

# Nettoyage des disques de diffèrences au cas ou le trap ne fonctionne pas
if [ -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
vboxmanage registerimage disk disque-winxp.vdi -type immutable

# creer la machine du nom de "WinXP"
vboxmanage createvm -name WinXP -register

# lui attacher l'image disque
vboxmanage modifyvm WinXP -hda disque-winxp.vdi -nic1 nat -snapshotfolder $TMP -audio alsa

# supprimer les extradatas
vboxmanage setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn"

vboxmanage sharedfolder add WinXP -name Documents -hostpath $MAPAGE

# Interface avec mode seamless
# vboxmanage startvm WinXP -gui

# Interface simple
vboxsdl -vm WinXP

# Capture du signal à l'arret avec suppression des images de diff
trap "rm -rf $TMP/{*; exit" 0 1 2 3 9 15
  • Le trap sert à intercepter les signaux envoyés au script lui même. C'est pour cette raison qu'on le place plutôt en début de script. Sinon, s'il s'agit uniquement de nettoyer les fichiers qui traînent après la sortie de la machine virtuelle, inutile de faire un trap : il suffit de faire le rm directement. -- ProgFou


Remarques

  • * Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir le 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> 

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