6699
Commentaire:
|
9373
optimisation script
|
Texte supprimé. | Texte ajouté. |
Ligne 3: | Ligne 3: |
* Mettre tous ceux qui est lourd sur la machine proprement dite .* l'image de l'os (1,4Go) .* le snapshot après qu'il soit immutable (166Mo --> X Mo durant la session de l'utilisateur sur la machine) |
* 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/ |
Ligne 8: | Ligne 9: |
.* Les fichiers de configuration a. VirtualBox.xml (1,3 Ko) b. WinXP.xml (2,6 ko) |
.* Les fichiers de configuration statiques en taille .a. VirtualBox.xml (1,3 Ko) .b. WinXP.xml (2,6 ko) |
Ligne 13: | Ligne 14: |
== 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''' * Mais pour le moment on va bosser avec le 1.5.0 livré avec l'auf-desktop * 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.... |
== 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 |
Ligne 32: | 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 {{{ vboxmanage setproperty vdifolder /usr/share/VBox/VDI |
* 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/ |
Ligne 40: | Ligne 37: |
* Rendre l'image immutable avant de l'attacher | * Rendre l'image immutable avant de l'attacher |
Ligne 45: | Ligne 42: |
* Créer la machine virtuelle | * Créer la machine virtuelle |
Ligne 49: | 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 52: | Ligne 50: |
vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /tmp}}} | vboxmanage modifyvm WinXP -hda iso.vdi -nic1 nat -snapshotfolder /mnt/VBOX }}} |
Ligne 56: | Ligne 54: |
* Sur le poste hote Definir un dossier de partage | * Sur le poste hote Definir un dossier de partage |
Ligne 62: | 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 72: | Ligne 70: |
== Configuration sur les machines foad == * 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 ... * 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! -~ I. 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. Ou bien créer un script qui remplacera certaines instances des fichiers de conf à partir d'un fichier de conf type: 1. Remplacer les instances ndimby, par exemple, du fichier de conf type par le nom de l'utilisateur courant, et le mettre dans /nfs/home/$USERNAME/.VirtualBox/VirtualBox.xml 2. Remplacer |
== 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 {{{ #!/bin/bash # Variable username qui récupère le nom d'utilisateur courant S_USER=$USERNAME # Opération de SU # Copie et extraction des images 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 # Commandes propre à l'utilisateur # Comment se déloguer de root, et éxecuter des commandes de simple utilisateur? # Prendre les fichiers de conf dans le répertoire et le mettre dans le home de l'utilisateur cp /media/disk/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@ du fichier xml # <SharedFolders> # <SharedFolder hostPath="/nfs/home/@UTILISATEUR@/Documents" name="Documents"/> # </SharedFolders> # sed -i -e "s/@UTILISATEUR@/${S_USER}/g" 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 ... |
Ligne 107: | Ligne 128: |
====Remarques==== . * '' Lorsqu'on modifie un supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir le fenêtre :( '' |
==== 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'' |
Ligne 112: | Ligne 138: |
{{{ | {{{ |
Ligne 118: | Ligne 144: |
et c'est reparti ==== Erreur rencontré ==== * --( ''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 |
. 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 |
Ligne 127: | Ligne 181: |
--> 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 ??? )--'' |
--> Solution temporaire: laisser le compte administrateur en autologon. Par très secure pour les installations à gogo!!! |
Ligne 137: | Ligne 189: |
--> Solution: ...vbox 1.5.2?? | --> Solution: relancer 2 à 3 fois vbox mais c'est pas vraiment une solution...vbox 1.5.2?? |
Ligne 143: | Ligne 195: |
--> 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 |
--> 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. 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
#!/bin/bash # Variable username qui récupère le nom d'utilisateur courant S_USER=$USERNAME # Opération de SU # Copie et extraction des images 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 # Commandes propre à l'utilisateur # Comment se déloguer de root, et éxecuter des commandes de simple utilisateur? # Prendre les fichiers de conf dans le répertoire et le mettre dans le home de l'utilisateur cp /media/disk/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@ du fichier xml # <SharedFolders> # <SharedFolder hostPath="/nfs/home/@UTILISATEUR@/Documents" name="Documents"/> # </SharedFolders> # sed -i -e "s/@UTILISATEUR@/${S_USER}/g" 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 .. 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