1650
Commentaire:
|
4599
commentaire sur l'usage de trap
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
= TAF pour pouvoir virtualiser correctement = == Idée principale == * Mettre l'image disque-winxp sur un serveur |
|
Ligne 2: | Ligne 5: |
'''TAF pour pouvoir virtualiser correctement''' | * Mettre le snapshot sur le disque dur local pour le traitement des diffèrences |
Ligne 4: | Ligne 7: |
*Installer VirtualBox_1.5.2_OSE sur une machine de test, et le configurer. - 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}}} - Lancer winxp dans virtualbox et configurer (cf. partage de documents) |
* 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 * 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 11: | Ligne 22: |
* 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 == * 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 15: | Ligne 31: |
* Appliquer les droits nécessaires au fichier ou se trouve l'image et le fichier de configuration pour un accès multiutilisateurs du genre {{{ sudo chmod 770 /usr/share/Vbox}}} |
* Essai de [https://help.ubuntu.com/community/ATAOverEthernet ATAoverEThernet] ... impossible en multiaccess de disque-winxp.vdi |
Ligne 18: | Ligne 33: |
* Mettre le disque-winxp.vdi sur le serveur NFS avec les droits 440, appartenant au groupe vbox. (/usr/local) | |
Ligne 19: | Ligne 35: |
* 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 }}} |
* Faire un script qui automatise le management et le démarrage de vbox, |
Ligne 25: | Ligne 37: |
Rendre l'image immutable {{{ VBoxmanage registerimage disk winxp.vdi -type immutable }}} |
{{{ #!/bin/bash |
Ligne 28: | Ligne 40: |
VDI=/usr/local TMP=/mnt/VBOX/TMP MAPAGE=/nfs$HOME/Desktop/ |
|
Ligne 29: | Ligne 44: |
* Partage de fichier entre la machine virtuel WinXP et le poste host Ubuntu. -sur WinXP, click droite sur mes documents, et mettre le chemin unc: \\Vboxsrv\Documents -sur le poste client y a rien à faire, les documents se retrouvent dans /home/$USERNAME/Documents |
if [ -e $HOME/.VirtualBox ] ; then rm -rf $HOME/.VirtualBox fi |
Ligne 33: | Ligne 48: |
''note: quand on se log la premiere fois sur un compte utilisateur simple ou même avec pouvoir sur winXP, le partage est inacessible. Il faut être administrateur pour avoir droit au partage. Par très secure'' | # Nettoyage des disques de diffèrences au cas ou le trap ne fonctionne pas if [ -e $TMP/* ] ; then rm -rf $TMP/{* fi |
Ligne 35: | Ligne 53: |
# 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'' |
|
Ligne 36: | Ligne 85: |
---- ==== 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> }}} |
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 * 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>