3537
Commentaire:
|
10086
corriger /usr/share en /mnt/VBOX
|
Texte supprimé. | Texte ajouté. |
Ligne 2: | Ligne 2: |
== Configuration sur la machine de test == * 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}}} * Appliquer les droits nécessaires au fichier ou se trouve l'image et le fichier de configuration pour un accès multiutilisateurs au lieu de faire ''sudo chmod 777 /usr/share/Vbox'' autant donner les droits au groupe vboxusers.... * Modifier les paramètres par défaut de VirtualBox {{{VBoxManage setproperty vdifolder "/usr/share/VBox/VDI" | machinefolder "/usr/share/VBox/Machines" | vrdpauthlibrary default| hwvirtexenabled no }}} |
== 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 .a. VirtualBox.xml (1,3 Ko) .b. WinXP.xml (2,6 ko) .* Les fichiers de logs (126 ko) == 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.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 . au lieu de faire ''sudo chmod 777 /mnt/VBOX'' autant donner les droits au groupe vboxusers.... donc sudo adduser * 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 }}} |
Ligne 26: | Ligne 41: |
{{{ VBoxmanage registerimage disk winxp.vdi -type immutable }}} * Créer la machine virtuelle '' vboxmanage createvm -name WinXP -register ''. '' on peut aussi ajouter l'option -settingsfile "/usr/share/Vbox/Machines/WinXP.xml" '' * Attacher le disque à la machine virtuelle et faire une translation d'adresse: {{{ vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat }}} * Partage de fichier entre la machine virtuel WinXP et le poste host Ubuntu. |
{{{ 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. |
Ligne 36: | Ligne 56: |
{{{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! |
{{{ 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! |
Ligne 41: | Ligne 62: |
* Si on veut un lecteur logique dans poste de travail on peut aussi faire un {{{''net use z: \\Vboxsvr\Documents''}}} ''note:'' ''* 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. conclusion temporaire: autant laisser le compte administrateur en autologon. Par très secure pour les installations à gogo!!!'' ''* 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 ???'' |
* Si on veut un lecteur logique dans poste de travail on peut aussi faire un /!\ Sous WinXP {{{ net use z: \\Vboxsvr\Documents}}} |
Ligne 51: | Ligne 71: |
== Configuration sur les machines foad == * Diffuser les images winxp.vdi sur directement sur /usr/share/VBox/VDI et les config sur /usr/share/VBox/Machines de chaque poste clients |
== II. Configuration sur les machines foad en mode console == * Diffuser l'image iso.vdi directement sur /mnt/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 ... |
Ligne 57: | Ligne 80: |
'''''note'''''' Pour modifier le type de l'image, ici 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 '' ''si on crée un autre fichier de configuration sur une machine cliente et qu'on y attache juste le disk image de la machine de test, en demarant la machine guest on a "Err. lecture disque Entrer Ctrl+Alt+Suppr pour redémarrer." '' |
==== II.1. Refaire les mêmes étapes: création et configuration des fichiers pour être réutilisables ==== {{{ vboxmanage setproperty vdifolder /mnt/VBOX/ 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>}}} . * Tentative de script de test pour décompresser et copier les fichiers de configuration {{{ #!/bin/bash # Variable username qui récupère le nom d'utilisateur courant S_USER=$USERNAME # Prendre les fichiers de conf dans le répertoire et le mettre dans le home de l'utilisateur cp /mnt/VBOX/VirtualBox_Conf.tar.gz /home/${S_USER}/ # Aller à la racine du home de l'user cd /home/${S_USER}/ tar -xvzf VirtualBox_Conf.tar.gz #supprimer le fichier *.tar.gz pour éviter de prendre trop d'espace disque rm VirtualBox_Conf.tar.gz # Remplacer les occurences de @UTILISATEUR@ sed -i -e "s/@UTILISATEUR@/${S_USER}/g" WinXP.xml echo " ... OK " exit 0 }}} . *. Ne pas oublier de donner les droits par rapport aux utilisateurs sur WinXP.xml ---- ==== 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 |
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
a. VirtualBox.xml (1,3 Ko)
- b. WinXP.xml (2,6 ko)
- * Les fichiers de logs (126 ko)
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.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
- au lieu de faire
sudo chmod 777 /mnt/VBOX autant donner les droits au groupe vboxusers.... donc sudo adduser
* 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" * Partage de fichiers entre la machine virtuel WinXP et le poste host Ubuntu. sur WinXP, click droite sur mes documents pour mapper "mes documents" avec Sous WinXP * Lancer WinXP sur Vbox en interface graphique:
* Diffuser l'image iso.vdi directement sur /mnt/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.... * Peut être l'[http://www.nas-central.org/index.php?title=Vblade_-_ATA_over_Ethernet ATAoE Pojects ] avec un serveur Vblade ... * Créer un autre compte ndimby2 pour pouvoir tester si vbox marche sur un autre utilisateur à part ndimby
* 1. Celui qui spécifie le nom de la machine virtuelle: WinXp * 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 dpkg-buildpackage -rfakeroot dpkg -i 'virtual_*.deb
* -->Solution: Bien configurée le fichier de config, détacher et déenregistrer le disque avant de supprimer l'ancien fichier de config * --> 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 ! vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /mnt/VBOX
vboxmanage sharedfolder add WinXP -name Documents -hostpath "/nfs/home/$USERNAME/Documents"
/home/$USERNAME/Documents, et mettre le chemin unc: \\Vboxsrv\Documents net use z: \\Vboxsvr\Documents
II. Configuration sur les machines foad en mode console
II.1. Refaire les mêmes étapes: création et configuration des fichiers pour être réutilisables
vboxmanage setproperty vdifolder /mnt/VBOX/
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)
<SharedFolders>
<SharedFolder hostPath="/nfs/home/ndimby/Documents" name="Documents"/>
</SharedFolders>
#!/bin/bash
# Variable username qui récupère le nom d'utilisateur courant
S_USER=$USERNAME
# Prendre les fichiers de conf dans le répertoire et le mettre dans le home de l'utilisateur
cp /mnt/VBOX/VirtualBox_Conf.tar.gz /home/${S_USER}/
# Aller à la racine du home de l'user
cd /home/${S_USER}/
tar -xvzf VirtualBox_Conf.tar.gz
#supprimer le fichier *.tar.gz pour éviter de prendre trop d'espace disque
rm VirtualBox_Conf.tar.gz
# Remplacer les occurences de @UTILISATEUR@
sed -i -e "s/@UTILISATEUR@/${S_USER}/g" WinXP.xml
echo " ... OK "
exit 0
Remarques
Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir le fenêtre -rw------- 1 ndimby users 330310144 2007-11-15 15:01 /mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.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
<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>
Erreurs rencontrées
- 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