7479
Commentaire:
|
5365
VBOXGuestAdditions_Tools
|
Texte supprimé. | Texte ajouté. |
Ligne 3: | Ligne 3: |
* Mettre tous ceux qui est lourd sur la machine proprement dite '' /usr/share/Vbox/VDI '' .* 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 |
* 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.a. Soit une configuration de la machine "type" en mode graphique == Lancer virtualbox et aller dans préfèrences ou Settings |
== I. Configuration de la machine type/modele == |
Ligne 17: | 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 * 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/$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 20: | Ligne 25: |
* 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 22: | Ligne 27: |
. au lieu de faire ''sudo chmod 777 /usr/share/Vbox'' autant donner les droits au groupe vboxusers.... |
* 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 25: | Ligne 33: |
* Ajouter les utilisateurs (pourquoi pas groupes!) dans vboxusers ''sudo usermod -G vboxusers -a $USERNAME '' |
|
Ligne 28: | Ligne 34: |
* 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 31: | Ligne 41: |
vboxmanage setproperty vdifolder /usr/share/VBox/VDI vboxmanage setproperty machinefolder default vboxmanage setproperty vrdpauthlibrary default vboxmanage setproperty hwvirtexenabled no }}} |
#!/bin/bash |
Ligne 36: | Ligne 43: |
* Rendre l'image immutable avant de l'attacher | VDI=/usr/local TMP=/mnt/VBOX/TMP MAPAGE=/nfs$HOME/Desktop/ |
Ligne 38: | Ligne 47: |
{{{ vboxmanage registerimage disk iso.vdi -type immutable }}} |
if [ -e $HOME/.VirtualBox ] ; then rm -rf $HOME/.VirtualBox fi |
Ligne 41: | Ligne 51: |
* 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 47: | Ligne 56: |
{{{ 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 50: | Ligne 59: |
* 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 52: | Ligne 62: |
* Sur le poste hote Definir un dossier de partage | # faire reconnaitre notre image modele vboxmanage registerimage disk disque-winxp.vdi -type immutable |
Ligne 54: | Ligne 65: |
{{{ vboxmanage sharedfolder add WinXP -name Documents -hostpath "/nfs/home/$USERNAME/Documents" }}} |
# creer la machine du nom de "WinXP" vboxmanage createvm -name WinXP -register |
Ligne 57: | Ligne 68: |
. 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 61: | Ligne 71: |
/!\ Sous WinXP {{{ net use z: \\Vboxsvr\Documents}}} |
# supprimer les extradatas vboxmanage setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn" |
Ligne 65: | Ligne 74: |
vboxmanage sharedfolder add WinXP -name Documents -hostpath $MAPAGE | |
Ligne 66: | Ligne 76: |
* Lancer WinXP sur Vbox en interface graphique: ''vboxmanage startvm WinXP -gui'' | # Interface avec mode seamless # vboxmanage startvm WinXP -gui |
Ligne 68: | Ligne 79: |
== 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 pas efficace .* 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 74: | Ligne 88: |
* 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! -~ ==== 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 qui remplacera certaines instances des fichiers de conf à partir d'un fichier de conf type ==== .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 91: |
. * '' 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 :( '' . * 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 |
Ligne 106: | Ligne 101: |
. * 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 |
|
Ligne 107: | Ligne 106: |
. * 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 |
{{{ |
Ligne 116: | Ligne 108: |
* VirtualBox_1.5.0 livré avec l'auf-desktop, sinon installer VirtualBox_1.5.2_OSE | <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 ==== |
Ligne 118: | Ligne 122: |
.* 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 ''' |
* Test VMDK 1. Lancer VMDK depuis Gestionnaire de disk VBox Sinon Convertir une image VMDK de vmware en VDI |
Ligne 124: | Ligne 126: |
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] |
|
Ligne 125: | Ligne 131: |
==== Erreurs rencontrées ==== | * 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.. |
Ligne 127: | Ligne 136: |
* --( ''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." '')-- -->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!!! * '' --( 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 ??? )--'' * ç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?? |
* Test foad Implementer le test sur quelques utilisateurs dans la salle foad |
Ligne 143: | Ligne 140: |
* --( 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 777 à iso.vdi, mais qui engendre un autre problème: si l'utilisateur peut rendre la machine normal alors c'est foutue!!!! grrr * 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 |
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
a. VirtualBox.xml (1,3 Ko)
- b. WinXP.xml (2,6 ko)
- * 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/$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>
A tester
- Test VMDK
- Lancer VMDK depuis Gestionnaire de disk VBox
- Sinon Convertir une image VMDK de vmware en VDI
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]
- Si test ok mettre sur le serveur NFS
- Lancer VMDK depuis Gestionnaire de disk VBox
- 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..
- Si test ok passer a test foad
- Tester l'acces de l'image depuis plusieurs machines du CDR
- Test foad
- Implementer le test sur quelques utilisateurs dans la salle foad