FAQ VirtualisationConsultez toutes les FAQ
Nombre d'auteurs : 13, nombre de questions : 73, dernière mise à jour : 7 mars 2022 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com, de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.
Un grand merci à tous ceux qui ont pris de leur temps pour la réalisation de cette FAQ.
Aux rédacteurs : remerciements tout d'abord à tous ceux qui ont rédigé les questions et les réponses.
Aux relecteurs techniques : merci à Siguillaume, Viduc et Christophe .
Aux correcteurs : remerciements également aux personnes qui ont relu les textes pour supprimer un maximum de fautes de français. Merci à ced pour ses efforts.
Aux visiteurs : remerciements enfin à tous ceux qui ont consulté cette FAQ, et qui, par leurs remarques, nous ont aidés à la perfectionner.
Merci également à milkoseck pour son aide précieuse à la finalisation de cette FAQ.
Et pour finir, un merci tout spécial à dourouc05 qui a créé notre logo.
Sur ce, nous vous souhaitons une bonne lecture.
L'équipe Virtualisation
Pour rendre votre machine visible sur le réseau avec une adresse IP donnée via votre DHCP ou configurée en dure, vous devez connecter votre VM avec une connexion par pont :
Laissez les autres options par défaut. Au besoin, vous pourrez changer le type de carte virtuelle si votre OS ne gère pas le modèle.
Cliquez ensuite sur « OK ».
Lancez enfin votre VM. Vous pouvez y configurer votre carte soit en DHCP, soit en IP fixe. Votre machine est désormais accessible depuis votre réseau grâce à son adresse IP.
Note : la solution « IP fixe » nécessite de disposer d’une adresse IP libre dans votre réseau.
1- Pourquoi ?
On peut vouloir augmenter la taille d’un disque virtuel, car on a vu trop juste à sa création (exactement comme pour un disque physique qui se retrouve plein un peu après sa mise en service), ou on peut vouloir la réduire, car on a besoin d’espace sur le disque physique de l’hôte et par chance le disque virtuel a de l’espace libre (sinon ça ne peut pas fonctionner).
2- Comment
Avant d’aller plus loin, les rédacteurs conseillent fortement de faire depuis le host une sauvegarde du fichier contenant le disque virtuel.
En ce qui concerne le disque virtuel statique, il suffira d’en créer un nouveau à la taille désirée, puis de l’attacher à la machine virtuelle éteinte, la démarrer et enfin utiliser les outils de l’OS virtuel pour dupliquer les données du disque à supprimer vers le nouveau, exactement comme avec des disques physiques.
Cette copie peut également se faire depuis la machine hôte en « montant » les fichiers représentant ces disques et en utilisant les outils de l’hôte.
a) Augmenter la taille :
On utilisera depuis le host l’option (voir les commandes en annexe) --resize x (où x est le nouvel espace total désiré en mégaoctets) pour, par exemple, passer la taille d’un disque de 10 Go à 15, 20, … Go. Et il faudra ensuite utiliser les outils de l’OS virtuel pour initialiser/assigner/utiliser ce nouvel espace disponible.
b) Diminuer la taille :
Il y a un peu de travail avant : il faut supprimer tous les fichiers temporaires, puis vérifier que le disque est sain (chkdsk sous Windows, fsck sous Linux) et enfin le défragmenter (Windows) afin que l’espace occupé se retrouve au début du disque.
Ensuite, deux méthodes :
Méthode 1 : on va pouvoir « récupérer » l’espace libre à la fin du disque après l’avoir rempli de zéros avec nullfile ou sdelete sous Windows ou zerofree sous Linux. Pour ce faire on arrête la machine virtuelle, on compacte depuis le host le fichier virtuel (les zones précédemment remplies de zéros ne vont plus occuper de place, ce qui va réduire la taille du fichier sur le host) avec l’option --compact et ensuite on assigne à la machine virtuelle un live-cd Linux qu’on va booter et on lancera l’outil graphique gparted :
Exemple avec un disque NTFS virtuel de 10 Go, où l’on voit que seulement 2,65 Go sont occupés.
Il suffira de ramener la taille de cette partition à la valeur désirée, par exemple 5 Go, et de demander à gparted de faire le travail :
Enfin, on arrête à nouveau la machine virtuelle pour supprimer le live-cd, on la redémarre et on peut constater avec les outils de gestion de disque qu’on a maintenant une zone non allouée :
Disque virtuel de 10 Go comportant deux partitions, sous Windows XP.
Vu du host, le fichier du disque virtuel dynamique ne pèse que 3 Go environ après compactage, et même si dans le gestionnaire de machines virtuelles il est toujours considéré comme un disque de 10 Go (en effet, l’option --resize n’est pas disponible pour la réduction), il ne pourra pas grossir au-delà des 4,88 Go disponibles dans la machine virtuelle : il suffira de ne pas toucher à la zone non allouée !
On aura bien gagné 5 Go sur le host, ou plutôt, on ne les occupera jamais : ils seront donc disponibles.
Rappel : un disque dur dynamique de 10 Go nouvellement créé ne pèse que quelques dizaines de ko sur le host. Mais s’il est ensuite rempli dans la machine virtuelle de 10 Go de vidéos par exemple, il pèsera également 10 Go sur le host. Si après on supprime ces vidéos, l’espace va être libéré dans la machine virtuelle mais pas dans le fichier sur le host : d’où la nécessité de la préparation indiquée plus haut (remplissage de zéros dans la machine virtuelle, puis option --compact dans le host).
Méthode 2 : on crée un autre disque virtuel à la taille désirée, on l’assigne à la machine qu’on démarre avec un live-cd comme précédemment, et ensuite on recopie avec l’outil dd les données du disque source sur le nouveau disque cible :
Code : | Sélectionner tout |
dd if=/dev/disque_source of=/dev/disque_cible bs=1M
Ensuite, on arrête la machine virtuelle, on la reconfigure en changeant les disques et voilà ! C’est fini, on peut redémarrer la machine virtuelle sur son nouveau disque, plus petit.
3- Annexe
Extrait de la documentation VirtualBox version 4.2.51 :
Avec la commande modifyhd, vous pouvez modifier les caractéristiques d’une image de disque après l’avoir créée :
VBoxManage modifyhd <uuid>|<nomfichier>
[--type normal|writethrough|immutable|shareable| readonly|multiattach]
[--autoreset on|off]
[--compact]
[--resize <megabytes>|--resizebyte <octets>]
Note: Malgré le “hd” du nom de la sous-commande, la commande fonctionne avec toutes les images de disque et pas seulement les disques durs. Pour être compatible avec les anciennes versions de VirtualBox, la commande “modifyvdi” est également supportée et a été associée en interne à la commande “modifyhd”.
L’image de disque doit être spécifiée soit par son UUID (si le média est enregistré), soit par le nom du fichier. Les images enregistrées peuvent être listées par VBoxManage list hdds (voir chapitre 8.4, VBoxManage list, page 127 pour plus d’informations). Un nom de fichier doit être spécifié en tant que chemin valide, soit absolu soit relatif en partant du répertoire actuel.
Les options suivantes sont disponibles :
• Avec l’argument --type, vous pouvez modifier le type d’une image existante entre le mode normal, immuable, write-through et autres modes ; voir chapitre 5.4, Modes spéciaux d’écriture d’images, page 90 pour des détails.
• Pour les disques durs immuables seulement (de différenciation), l’option --autoreset on|off détermine si le disque est automatiquement réinitialisé à chaque démarrage de la VM (de nouveau, voir chapitre 5.4, Modes spéciaux d’écriture d’images, page 90). Par défaut, c’est actif.
• L’option --compact peut être utilisée pour compresser des images de disque (à savoir supprimer des blocs qui ne contiennent que des zéros). Cela rallégera une image à taille dynamique ; cela réduira la taille physique de l’image sans changer la taille logique du disque virtuel. La compression fonctionne aussi bien pour les images de base que celles de différenciation créées dans un instantané.
Pour que l’opération soit efficace, il faut d’abord libérer de l’espace dans le système invité en y mettant des zéros via le logiciel adapté. Pour les invités Windows, vous pouvez utiliser l’outil sdelete de Microsoft. Exécutez sdelete -z dans l’invité pour mettre des zéros dans l’espace libre avant de compresser [note jipété : avant de compacter !] l’image de disque virtuel. Pour Linux, utilisez l’outil zerofree qui supporte les systèmes de fichiers ext2/ext3. Pour les invités Mac OS X, utilisez utilisez la fonction Supprimer l’espace libre de l’outil de disque intégré. Utilisez-y Zero Out Data.
Remarquez que la compression n’est actuellement disponible que pour les images VDI. Vous pouvez obtenir la même chose en mettant des zéros sur les blocs libres et clonant le disque vers un autre format dynamique. Vous pouvez utiliser ce contournement jusqu’à ce que la compression soit supportée pour les autres formats de disque que VDI.
• L’option --resize x (où x est le nouvel espace total désiré en mégaoctets) vous permet de modifier la capacité d’une image existante ; ceci ajuste la taille logique d’un disque virtuel sans beaucoup changer la taille physique. Cela ne fonctionne actuellement que pour les formats VDI et VHD et pour les variantes, à taille dynamique, et vous ne pouvez l’utiliser que pour augmenter (ou réviser) la capacité. Par exemple, si vous avez créé au départ un disque de 10 G à présent plein, vous pouvez utiliser la commande --resize 15360 pour passer la capacité à 15 G (15 360 Mo) sans devoir créer une nouvelle image et y copier toutes les données à partir d’une machine virtuelle. Cependant, remarquez que cela ne change que la capacité du lecteur ; vous devrez ensuite, en général, utiliser un outil de gestion des partitions dans l’invité pour ajuster la partition principale et remplir le lecteur.
L’option --resizebyte x fait presque la même chose mais x est exprimé en octets au lieu de mégaoctets.
Par défaut, les machines virtuelles sont prévues pour synchroniser leurs horloges avec l'hôte. C'est une opération exécutée automatiquement par les Additions Tools.
Pour désactiver cette synchronisation sur une machine virtuelle, utilisez la commande suivante :
Code : | Sélectionner tout |
vboxmanage setextradata "Identifiant de la machine" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
Code : | Sélectionner tout |
vboxmanage setextradata "Identifiant de la machine" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0"
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.