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/

* Ceux qui restent sur les dossiers personnels (serveur nfs) de l'utilisateur

I.a. Soit une configuration de la machine "type" en mode graphique

I.b. Soit on fait une configuration sur la machine "type" en mode console (plus compliqué et perte de temps)

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

* Ajouter les utilisateurs (pourquoi pas groupes!) dans vboxusers

* 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 /usr/share/VBox/VDI 
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"

vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /tmp

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

/!\ Sous WinXP

net use z: \\Vboxsvr\Documents

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

II. Configuration sur les machines foad en mode console

* Diffuser l'image iso.vdi directement sur /usr/share/VBox/VDI/ de chaque poste client

* 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


Remarques

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

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

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

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

* 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