J'ai joué avec des machines virtuelles latley, et je me demandais si je pouvais exécuter une machine virtuelle à l'intérieur d'une machine virtuelle?
C'est possible?
Est-ce pratique?
virtualization
virtual-machines
Testeur101
la source
la source
Réponses:
L'imbrication de VM est quelque chose qui a été fait pour toujours sur le matériel IBM Mainframe. Ce matériel fait beaucoup de choses pour rendre le processus très très efficace. Vous pouvez avoir des VM imbriquées à une profondeur arbitraire et cela fonctionne très bien.
Le matériel PC a très récemment rendu cela à peine possible. Un document sur le site Web de VMware en parle, mais l'essentiel est que vous pouvez avoir des machines virtuelles imbriquées à 2 profondeurs, mais uniquement sur du matériel très moderne qui prend en charge une véritable virtualisation matérielle (VT-x ou AMD-V), et la deuxième profondeur de machine virtuelle doit être exécuter l'ancienne virtualisation de style de traduction BT / binaire. Il existe également de sévères restrictions sur les moniteurs virtuels que vous pouvez exécuter sur l'invité interne.
Inutile de dire que ce n'est pas pris en charge et je m'attendrais à ce qu'il soit vraiment floconneux si vous faites quoi que ce soit même à distance bizarre (comme Hyper-V sous ESX). Et les performances ne seront pas bonnes, qu'elles soient stables ou non.
la source
Oui, vous pouvez. Par exemple, sous Linux, vous pouvez exécuter Xen avec plusieurs machines virtuelles exécutant OpenVZ, VirtualServer ou un autre type de système de machine virtuelle. C'est très certainement possible et aussi très pratique selon votre objectif.
L'une des raisons pour lesquelles je pourrais penser à cela est d'exécuter plusieurs serveurs sur une seule machine physique. Que vous l'exécutiez en tant que niveau unique de hiérarchie de machines virtuelles ou en plusieurs dépend de votre plan d'isolation des ressources.
la source
Si vous avez besoin d'un système spécifique, par exemple hérité, à virtualiser, vous pouvez toujours le faire dans le logiciel, l'imbrication n'est pas un problème alors. Essayez qemu, je l'ai fait au niveau 2 avec, mais vous pouvez aller plus loin, les performances le rendront probablement inutile, cependant. BTW, l'architecture PC était un présage fait par IBM, mais pour des utilisations totalement différentes de ce à quoi elle est utilisée aujourd'hui.
la source
Je ne pense pas que la plupart des packages de virtualisation vous permettront d'exécuter une machine virtuelle dans une machine virtuelle. Je sais que VMware vérifiera quand il est installé pour voir s'il est installé sur une machine virtuelle, et j'espère que d'autres produits feront de même. Je ne pense pas que les instructions CPU nécessaires seraient présentées à partir de l'hyperviseur fonctionnant sur le matériel jusqu'à la VM pour atteindre la deuxième VM. Si cela fonctionnait, vous ajouteriez également des frais généraux sans rien obtenir en retour.
Quant à savoir si c'est pratique - je ne vois pas pourquoi. Si vous avez besoin d'une autre machine virtuelle, vous pouvez simplement l'exécuter à côté de celle que vous avez déjà en cours d'exécution. Je ne peux pas imaginer un cas où vous devez avoir une machine virtuelle exécutée dans une autre machine virtuelle. Les frais généraux supplémentaires sans un gain proportionnel de certaines ressources rendraient cela impossible.
la source
Oui. Il existe même des moyens d'exécuter VMware ESX / vSphere sur une machine virtuelle. Je ne sais pas pourquoi vous voudriez jamais en pratique, mais cela a été fait.
la source
Oui, vous POUVEZ, mais comme tant de choses ne signifie pas que vous devriez. J'ai vu un serveur ESX virtualisé exécutant une machine virtuelle qui contient un autre serveur ESX virtuel. Certes, c'était un test juste pour voir si cela pouvait être fait (et c'est possible), je ne le recommanderais vraiment pas.
la source
Cela dépend de la technique de virtualisation. Si vous utilisez des solutions qui ne sont pas de la "vraie" virtualisation comme UML, vous pouvez les exécuter à l'intérieur, par exemple, VMWare. Ou eux-mêmes d'ailleurs.
Les installations basées sur UML peuvent s'exécuter à l'intérieur de VM VMWare et d'autres installations basées sur UML (même imbriquées). Les mesures de performances ne seront pas belles cependant!
la source
Oui, c'est possible mais vraiment lent.
C'est particulièrement utile si vous louez un serveur avec une IP publique allouée limitée (qui dépend par exemple de votre adresse MAC pour ne pas empoisonner le réseau de votre fournisseur de serveur); et que vous souhaitez que votre IP VM soit pontée pour communiquer directement avec Internet. Donc, lorsque vous ne pouvez pas avoir plus de, par exemple, 3 adresses IP publiques, mais que vous avez besoin de 10 VM, c'est une assez bonne idée d'avoir des VM dans une VM globale: vous n'utiliserez qu'une seule de vos IP publiques données, puis ont de nombreuses machines virtuelles sous-pontées.
Mais vous pouvez réellement utiliser un mélange de configuration de pont et de réseau routé, c'est juste plus difficile en ce qui concerne la configuration.
la source
Pour autant que je sache, ce n'est pas possible, mais VMware ESX peut fonctionner dans VMware Workstation par exemple. À mon humble avis, il n'est bon que pour les tests.
la source
Comme beaucoup de gens l'ont déjà dit: bien sûr, c'est possible. Cela dépend de la qualité de l'émulation du matériel VM et du logiciel de virtualisation que vous utilisez. VMWare Workstation, au moins, ne veut pas que vous le virtualisiez.
Quant à savoir si c'est pratique, nous devrions peut-être vous poser la question: pourquoi auriez-vous besoin de faire ce genre de chose? Qu'y a-t-il de mal à simplement exécuter deux VM côte à côte? Et dans quelle mesure demandez-vous si c'est pratique? Autrement dit, si vous craignez qu'il soit pratique d'installer et de configurer, probablement pas. Si vous êtes plus préoccupé par son utilisation pratique, encore une fois, je ne peux penser à rien pour quoi je devrais faire à moins que je ne recherche des bogues dans le logiciel de virtualisation ou quelque chose.
la source
Oui. Vois ici:
Comment exécuter VMWare ESX ou ESXi dans une machine virtuelle?
la source
Vous pouvez, mais je ne le recommande pas.
Les performances sont généralement fortement affectées dans l'ensemble de ce processus sur la machine "invité de l'invité". Si vous devez vraiment le faire sans le matériel et les logiciels spécialisés, bonne chance à vous. Cependant, ce n'est généralement pas une bonne pratique, en particulier avec les méthodes courantes utilisées pour réaliser la virtualisation.
Je sais que si vous essayez d'exécuter VMWare dans des systèmes VMWare, il se plaindra et ne vous laissera pas le faire. Je ne suis pas sûr de VirtualBox. Je connais quelques personnes qui, pour une raison quelconque, déploient des conteneurs Docker dans des conteneurs Docker (ou du moins disent-ils). La morale de l'histoire est la suivante: bien que cela soit possible, ce n'est probablement pas intelligent de le faire à moins de vraiment savoir ce que vous faites.
Je ne connais personnellement aucun cas d'utilisation réel pour cela au-delà du réseautage.
la source