Modifications entre les versions 49 et 64 (s'étendant sur 15 versions)
Version 49 à la date du 2007-11-12 17:15:49
Taille: 8256
Commentaire:
Version 64 à la date du 2007-11-22 13:07:20
Taille: 9167
Commentaire: il faut utiliser $HOME pour le répertoire utilisateur ! car il peut être ailleurs que dans /home...
Texte supprimé. Texte ajouté.
Ligne 6: Ligne 6:
 
Ligne 15: Ligne 14:
== 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 ==
  
* 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 ''
Ligne 20: Ligne 19:
== I.b. Soit on fait une configuration sur la machine "type" en mode console (plus compliqué et perte de temps) == * Donner aux fichiers de conf cités plus haut les permissions ont les faisant appartenir au groupe vboxusers:
'' sudo chgrp -R vboxusers /mnt/VBOX/ ''
Ligne 22: Ligne 22:

* Appliquer les droits nécessaires au fichier ou se trouve l'image seule pour un accès multiutilisateurs

 . au lieu de faire
 ''sudo chmod 777 /usr/share/Vbox'' autant donner les droits au groupe vboxusers.... donc sudo adduser
* Appliquer les droits nécessaires aux fichiers ou se trouve l'image seule pour un accès multiutilisateurs
Ligne 31: Ligne 27:
* 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
* Modifier les paramètres par défaut de VirtualBox,
 L
aisser les fichiers de conf dans leurs emplacements d'origines ie. dans chaque repertoire perso des utilisateurs
Ligne 34: Ligne 32:
vboxmanage setproperty vdifolder /usr/share/VBox/VDI vboxmanage setproperty vdifolder /mnt/VBOX/
Ligne 39: Ligne 37:
 * Rendre l'image immutable avant de l'attacher * Rendre l'image immutable avant de l'attacher
Ligne 44: Ligne 42:
 * Créer la machine virtuelle * Créer la machine virtuelle
Ligne 48: Ligne 46:
 * Attacher le disque à la machine virtuelle, faire une translation d'adresse et mettre les snapshots dans un dossier temporaire:  
* Attacher le disque à la machine virtuelle, faire une translation d'adresse et mettre les snapshots dans un dossier temporaire:
Ligne 51: Ligne 50:
vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /tmp}}} vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /mnt/VBOX }}}
Ligne 55: Ligne 54:
 * Sur le poste hote Definir un dossier de partage * Sur le poste hote Definir un dossier de partage
Ligne 61: Ligne 60:
 * 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
 .* 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
Ligne 71: Ligne 70:
== 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 ...

== II. Configuration sur les machines foad ==

* Créer une partition de 5Go pour mettre le disque et le snapshot, monter sur /mnt/VBOX

* 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 :)

 .Tentative de script de test pour décompresser et copier les fichiers de configuration

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

     #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
 }}}
Ligne 77: Ligne 99:
 .* 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
Ligne 78: Ligne 108:
* Créer un autre compte ndimby2 pour pouvoir tester si vbox marche sur un autre utilisateur à part ndimby
 ~- Ca à l'air de fonctionner à part les écrans bleues! -~
     # 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
Ligne 81: Ligne 114:
       echo " ... OK "
Ligne 82: Ligne 116:
==== II.1. Refaire les mêmes étapes: création et configuration des fichiers pour être réutilisables ====        exit 0 }}}
Ligne 84: Ligne 118:

  {{{
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 qui remplacera certaines instances des fichiers de conf à partir d'un fichier de conf type ====
 .2. option 2: Peut être l'[http://www.nas-central.org/index.php?title=Vblade_-_ATA_over_Ethernet ATAoE Pojects ] avec un serveur Vblade ...
Ligne 98: Ligne 120:
 .II.2.a. Remplacer les instances ndimby, par exemple, du fichier de conf type par le nom de l'utilisateur courant, et le mettre dans /.VirtualBox/VirtualBox.xml ainsi que /.VirtualBox/Machines/WinXP/WinXP.xml, type sed, cp etc ...
 .II.2.b. Ne pas oublier de donner les droits par rapport aux utilisateurs sur WinXP.xml
Ligne 104: Ligne 123:
 . * '' Lorsqu'on modifie un supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir le fenêtre :( ''  . * '' Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir le fenêtre :( ''
Ligne 106: Ligne 125:
 . * Après que ndimby s'est connecté et qu'il a manipulé vbox, il se deconnecte. Ndimby2 se connecte et veut lancer vbox, mais il faut qu'un sudoer lui fasse préalablement un petit '' sudo chmod 770 /mnt/VBOX/{051323...}.vdi. Et inversement, c'est la même chose. Alors que tous les deux sont membres de vboxusers. Pkoi??  . * 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 }}}
Ligne 108: Ligne 129:
  . ''Peut-être parce que virtualbox « corriger » les droits ? Ré-essayer en mettant un `umask 007` avant le lancement de virtualbox. -- ProgFou''
Ligne 110: Ligne 132:
{{{  {{{
Ligne 116: Ligne 138:
et c'est reparti  . et c'est reparti
Ligne 118: Ligne 140:
* VirtualBox_1.5.0 livré avec l'auf-desktop, sinon installer VirtualBox_1.5.2_OSE  . * 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/VBOX//iso.vdi"/>
          <DiffHardDisk uuid="{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}">
            <VirtualDiskImage filePath="/mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi"/>
          </DiffHardDisk>
        </HardDisk>
      </HardDisks> }}}
 
 
 . * VirtualBox_1.5.0 livré avec l'auf-desktop, sinon installer VirtualBox_1.5.2_OSE
Ligne 135: Ligne 177:
* '' --( 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 ??? )--''
Ligne 149: Ligne 189:
 --> Solution: Donner les permissions aux groupe vboxusers en lecture, écriture!  --> Solution: Donner les permissions au groupe vboxusers en lecture, écriture!

TAF pour pouvoir virtualiser correctement

Idée principale

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

* 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

* 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

* Donner aux fichiers de conf cités plus haut les permissions ont les faisant appartenir au groupe vboxusers: sudo chgrp -R vboxusers /mnt/VBOX/

* Appliquer les droits nécessaires aux fichiers ou se trouve l'image seule pour un accès multiutilisateurs

* 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

II. Configuration sur les machines foad

* Créer une partition de 5Go pour mettre le disque et le snapshot, monter sur /mnt/VBOX

* 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 :)

  • Tentative de script de test pour décompresser et copier les fichiers de configuration
  • * 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 
    
         #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 
    
         # 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
    
           echo " ... OK "
    
           exit 0 
  • 2. option 2: Peut être l'[http://www.nas-central.org/index.php?title=Vblade_-_ATA_over_Ethernet ATAoE Pojects ] avec un serveur Vblade ...


Remarques

  • * 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:
     vboxmanage modifyvm WinXP -hda none
     vboxmanage unregisterimage disk iso.vdi
     vboxmanage registerimage disk iso.vdi -type normal
     vboxmanage modifyvm WinXP -hda iso.vdi
     vboxmanage startvm WinXP -gui 
  • et c'est reparti
  • * 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/VBOX//iso.vdi"/>
              <DiffHardDisk uuid="{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}">
                <VirtualDiskImage filePath="/mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi"/>
              </DiffHardDisk>
            </HardDisk> 
          </HardDisks> 
  • * 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

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