Ich habe latley mit virtuellen Maschinen gespielt und mich gefragt, ob ich eine virtuelle Maschine in einer virtuellen Maschine ausführen kann.
Ist es möglich?
Ist es praktisch
virtualization
virtual-machines
Tester101
quelle
quelle
Antworten:
Das Verschachteln von VMs wurde für immer auf IBM Mainframe-Hardware durchgeführt. Diese Hardware leistet eine Menge, um den Prozess sehr, sehr effizient zu gestalten. Sie können VMs bis zu einer beliebigen Tiefe verschachteln lassen, was sehr gut funktioniert.
PC-Hardware hat dies in letzter Zeit kaum möglich gemacht. In einem Dokument auf der VMware-Website wird dies erläutert. Das Wichtigste ist jedoch, dass Sie VMs bis zu einer Tiefe von 2 verschachteln können, jedoch nur auf sehr moderner Hardware, die echte Hardwarevirtualisierung (VT-x oder AMD-V) unterstützt. Die zweite VM-Tiefe muss angegeben werden Ausführen der älteren BT / Binary Translation Style-Virtualisierung. Es gibt auch strenge Einschränkungen für die virtuellen Monitore, die Sie auf dem inneren Gast ausführen können.
Es ist unnötig zu erwähnen, dass es nicht unterstützt wird, und ich würde erwarten, dass es wirklich auffällig ist, wenn Sie etwas tun, das auch nur aus der Ferne seltsam ist (wie Hyper-V unter ESX). Und die Leistung wird nicht gut sein, unabhängig davon, ob sie stabil ist.
quelle
Ja, du kannst. Unter Linux können Sie Xen beispielsweise mit mehreren VMs ausführen, auf denen OpenVZ, VirtualServer oder ein anderes VM-System ausgeführt wird. Dies ist mit Sicherheit möglich und je nach Verwendungszweck auch sehr praktisch.
Ein Grund, den ich mir dabei vorstellen könnte, ist die Ausführung mehrerer Server auf einer einzigen physischen Maschine. Ob Sie es als einzelne oder als mehrere Ebenen der VM-Hierarchie ausführen, hängt von Ihrem Ressourcenisolierungsplan ab.
quelle
Wenn Sie ein bestimmtes, beispielsweise älteres, zu virtualisierendes System benötigen, können Sie es jederzeit in Software ausführen. Die Verschachtelung ist dann kein Problem. Versuchen Sie qemu, ich habe es 2 Level tief damit gemacht, aber Sie können tiefer gehen, die Leistung wird es jedoch wahrscheinlich unbrauchbar machen. Übrigens, die PC-Architektur war ein von IBM hergestelltes Nomen, das jedoch für ganz andere Zwecke verwendet wurde als heute.
quelle
Ich glaube nicht, dass Sie mit den meisten Virtualisierungspaketen eine VM in einer VM ausführen können. Ich weiß, dass VMware bei der Installation überprüft, ob es in einer VM installiert ist, und ich hoffe, dass andere Produkte dies auch tun. Ich glaube nicht, dass die erforderlichen CPU-Anweisungen vom Hypervisor, der auf der Hardware bis zur VM ausgeführt wird, bis zur zweiten VM übermittelt werden. Wenn es funktioniert hat, würden Sie auch Overhead hinzufügen, ohne etwas dafür zu bekommen.
Ob es praktisch ist, verstehe ich nicht. Wenn Sie eine andere VM benötigen, können Sie diese einfach neben der bereits ausgeführten VM ausführen. Ich kann mir keinen Fall vorstellen, in dem eine VM in einer anderen VM ausgeführt werden muss. Der zusätzliche Aufwand ohne einen proportionalen Gewinn irgendeiner Ressource würde dies unpraktisch machen.
quelle
Ja. Es gibt sogar Möglichkeiten, VMware ESX / vSphere in einer virtuellen Maschine auszuführen. Ich weiß nicht, warum Sie jemals in der Praxis wollen würden, aber es wurde getan.
quelle
Ja, Sie KÖNNEN, aber so viele Dinge mögen, heißt nicht, dass Sie das sollten. Ich habe einen virtualisierten ESX-Server gesehen, auf dem eine virtuelle Maschine mit einem anderen virtuellen ESX-Server ausgeführt wird. Zugegeben, es war ein Test, nur um zu sehen, ob er durchgeführt werden konnte (und kann). Ich würde ihn wirklich nicht empfehlen.
quelle
Das hängt von der Virtualisierungstechnik ab. Wenn Sie Lösungen verwenden, die keine "echte" Virtualisierung wie UML sind, können Sie diese beispielsweise in VMWare ausführen. Oder sich selbst für diese Angelegenheit.
UML-basierte Installationen können in VMWare-VMs und anderen UML-basierten Installationen (auch verschachtelt) ausgeführt werden. Die Performance-Metriken werden allerdings nicht besonders hübsch sein!
quelle
Ja, es ist möglich, aber sehr langsam.
Dies ist besonders nützlich, wenn Sie einen Server mit einer begrenzten öffentlichen IP-Adresse mieten (dies hängt beispielsweise von Ihrer MAC-Adresse ab, damit das Netzwerk Ihres Serveranbieters nicht vergiftet wird). und dass Sie möchten, dass Ihre VM-IP überbrückt wird, um direkt mit dem Internet zu kommunizieren. Wenn Sie also nicht mehr als beispielsweise 3 öffentliche IP-Adressen haben können, aber 10 VMs benötigen, ist es eine gute Idee, VMs in einer globalen VM zu haben: Sie verwenden nur eine Ihrer angegebenen öffentlichen IP-Adressen und dann habe viele unterbrückte VMs.
Sie können jedoch auch eine Mischung aus Bridge- und gerouteter Netzwerkkonfiguration verwenden. Die Konfiguration ist jedoch schwieriger.
quelle
Soweit ich weiß , es ist nicht möglich, aber VMware ESX kann laufen in VMware Workstation zum Beispiel. IMHO ist es nur zum Testen gut.
quelle
Wie viele Leute schon gesagt haben: Natürlich ist es möglich. Dies hängt davon ab, wie gut die VM-Hardware emuliert ist und welche Virtualisierungssoftware Sie verwenden. Zumindest VMWare Workstation möchte nicht, dass Sie es virtualisieren.
Wenn es praktisch ist, sollten wir Ihnen vielleicht die Frage stellen, warum Sie so etwas tun müssen. Was ist falsch daran, nur zwei VMs nebeneinander auszuführen? Und inwieweit fragst du, ob es praktisch ist? Das heißt, wenn Sie befürchten, dass das Einrichten und Konfigurieren praktisch ist, ist dies wahrscheinlich nicht der Fall. Wenn Sie sich mehr Sorgen über die praktische Verwendung machen, fällt mir nichts ein, wofür ich das tun müsste, es sei denn, ich suche nach Fehlern in der Virtualisierungssoftware oder so.
quelle
Ja. Siehe hier:
Wie führe ich VMWare ESX oder ESXi in einer virtuellen Maschine aus?
quelle
Sie können, aber ich empfehle es nicht.
Die Leistung wird in diesem gesamten Prozess auf dem Computer "guest of the guest" normalerweise ziemlich stark beeinträchtigt. Wenn Sie dies wirklich ohne die spezielle Hard- und Software tun müssen, wünschen wir Ihnen viel Glück. Dies ist jedoch im Allgemeinen keine gute Vorgehensweise, insbesondere bei den gängigen Methoden zum Erreichen der Virtualisierung.
Ich weiß, dass Sie sich beschweren, wenn Sie versuchen, VMWare in VMWare-Systemen auszuführen, und dies nicht zulassen. Ich bin mir nicht sicher, was VirtualBox angeht. Ich kenne einige Leute, die aus irgendeinem Grund Docker-Container in Docker-Containern bereitstellen (oder so). Die Moral der Geschichte lautet: Es ist zwar möglich, aber wahrscheinlich nicht klug, es zu tun, es sei denn, Sie wissen wirklich, was Sie tun.
Ich persönlich kenne keinen konkreten Anwendungsfall dafür, der über die Vernetzung hinausgeht.
quelle