Frage Ist es möglich, eine virtuelle Maschine in einer anderen virtuellen Maschine einzurichten?


Ich habe mit virtuellen Maschinen gespielt und mich gefragt, ob ich eine virtuelle Maschine in einer virtuellen Maschine ausführen könnte.
 Ist es möglich?
 Ist es praktisch?


28
2017-07-28 13:50


Ursprung


Ein praktischer Grund ist, wenn Sie einen Server mieten. Ob der Server physisch oder virtuell ist, spielt keine Rolle - es ist mein Server. Und wenn ich VirtualPC oder Virtual Server auf meinem Server installieren will: das ist meine Aufgabe. - Ian Boyd
Das ist nicht wirklich ein praktischer Grund, da die "Praktikabilität" der Installation einer VM innerhalb einer VM letztlich davon abhängt, ob es praktisch ist, diese Fähigkeit in der gewählten HW + SW-Plattform zu implementieren. Nur weil jemand "will", macht es das nicht praktisch. - Joe Internet
Für jeden, der sich fragt, warum man das machen möchte, hier ist mein Grund, obwohl ich zugeben muss, dass es kein Grund "der realen Welt" ist und dass ich nicht wirklich an einen von denen denken kann. Ich studiere für die RHCSA-Prüfung, aber ich habe keinen Zugang zu einem System mit Hardware-Virtualisierung. Daher habe ich gehofft, dies auf einer virtuellen RHEL-Maschine zu erreichen, die als Amazon AWS-Instanz läuft. Da die AWS-Maschine (fast sicher) selbst eine virtuelle Maschine ist, würde die Ausführung von KVM geschachtelte VMs erfordern. - Stephen C


Antworten:


Das Verschachteln von VMs ist auf IBM Mainframe-Hardware schon lange vorbei. Diese Hardware macht viele Dinge, um den Prozess sehr effizient zu machen. Sie können VMs in einer beliebigen Tiefe verschachteln lassen und es funktioniert sehr gut.

PC-Hardware hat es in letzter Zeit irgendwie möglich gemacht. EIN dokumentieren auf der Website von VMware diskutiert es, aber das Wesentliche ist, dass Sie VMs 2 tief verschachtelt, aber nur auf sehr moderne Hardware, die echte Hardware-Virtualisierung (VT-x oder AMD-V) unterstützt, und die zweite VM-Tiefe muss ausgeführt werden ältere Stil BT / binäre Übersetzung Stil Virtualisierung. Die virtuellen Monitore, die Sie auf dem internen Gast ausführen können, unterliegen ebenfalls strengen Einschränkungen.

Unnötig zu sagen, dass es nicht unterstützt wird, und ich würde erwarten, dass es wirklich flockig ist, wenn Sie irgendetwas auch nur annähernd komisch machen (wie Hyper-V unter ESX). Und die Leistung wird nicht gut sein, unabhängig davon, ob es stabil ist.


25
2017-07-28 15:28



Dieses Dokument hat sich seit der Erstellung dieses Dokuments erheblich geändert, ebenso wie der Stand der Technik. Diese Antwort ist, wie sie geschrieben wurde, heute wirklich nicht anwendbar. Überlege, es zu aktualisieren. - Michael Hampton♦
@MichaelHampton Ihre Kommentare sind sehr skeptisch und klingen optimistisch; Könnten Sie eine aktualisierte Antwort oder einen Link zu einer geben? - ILMostro_7
Hier ist ein Link zu einem Fedora-Wiki Seite, die beschreibt, wie aktiviert wird verschachtelte virt im KVM. - ILMostro_7
Nur zur Bestätigung - Soweit Hyper-V-Angebot von MS geht, glaube ich, dass verschachtelte VM bis heute nicht unterstützt wird. - RBT


Ja, du kannst. Unter Linux können Sie beispielsweise Xen mit mehreren VMs ausführen, auf denen OpenVZ, VirtualServer oder eine andere Art von VM-System ausgeführt wird. Es ist sehr wahrscheinlich möglich und auch sehr praktisch je nach Ihrem Zweck.

Ein Grund, warum ich mir das vorstellen könnte, ist, mehrere Server auf einer einzigen physischen Maschine zu betreiben. Ob Sie es als eine Ebene der VM-Hierarchie oder mehrere Ebenen ausführen, hängt von Ihrem Ressourcenisolationsplan ab.


2
2017-07-28 16:15





Wenn Sie ein spezielles Legacy-System benötigen, das virtualisiert werden soll, können Sie dies immer in Software tun. Die Verschachtelung ist dann kein Problem. Probieren Sie qemu aus, ich habe es 2 Level tief gemacht, aber Sie können tiefer gehen, die Performance wird es aber wahrscheinlich nutzlos machen. Übrigens, die PC-Architektur wurde von IBM entwickelt, aber für völlig andere Zwecke, als sie heute verwendet werden.


2
2018-06-01 06:32





Ich glaube nicht, dass die meisten Virtualisierungspakete die Ausführung einer VM in einer VM ermöglichen. Ich weiß, dass VMware prüft, ob es installiert ist, um zu sehen, ob es in einer VM installiert ist, und ich hoffe, dass andere Produkte dasselbe tun. Ich denke nicht, dass die notwendigen CPU-Anweisungen von dem Hypervisor, der auf der Hardware läuft, durch die VM hindurch präsentiert werden, um die zweite VM zu erreichen. Wenn es funktioniert, würden Sie auch Overhead hinzufügen, ohne etwas dafür zu bekommen.

Ob es praktisch ist - ich verstehe nicht warum. Wenn Sie eine andere VM benötigen, können Sie sie einfach neben der bereits ausgeführten ausführen. Ich kann mir keinen Fall vorstellen, in dem eine VM in einer anderen VM ausgeführt werden muss. Der zusätzliche Overhead ohne einen proportionalen Gewinn einer Ressource würde dies unpraktisch machen.


1
2017-07-28 13:55





Ja. Es gibt sogar Möglichkeiten, VMware ESX / vSphere in einer virtuellen Maschine auszuführen. Ich weiß nicht, warum du es jemals in der Praxis machen wolltest, aber es ist getan worden.


1
2017-07-28 13:55



Ich habe Leute gesehen, die ESX in einer VM testen möchten, aber die Installation erfordert zusätzliche Arbeit, die über die normale Installationsmethode hinausgeht. Es ist nicht etwas, das out of the box funktioniert. - baumgart


Ja, Sie können aber wie so viele Dinge nicht, dass Sie 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 es getan werden könnte (und es kann) Ich würde es wirklich nicht empfehlen.


1
2017-07-28 13:57





Es 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.

UML-basierte Installationen können in VMWare-VMs und anderen UML-basierten Installationen (sogar verschachtelt) ausgeführt werden. Die Leistungsmetriken werden jedoch nicht schön sein!


1
2017-07-28 14:05





Ja, es ist möglich, aber sehr langsam.

Dies ist besonders nützlich, wenn Sie einen Server mit begrenzter zugewiesener öffentlicher IP-Adresse mieten (was zum Beispiel von Ihrer MAC-Adresse abhängt, um das Netzwerk Ihres Server-Providers nicht zu vergiften); und dass Sie möchten, dass Ihre VM IP überbrückt wird, um direkt mit dem Internet zu kommunizieren. Wenn Sie beispielsweise nicht mehr als 3 öffentliche IP-Adressen haben können, aber 10 VM benötigen, ist es eine gute Idee, VMs in einer globalen VM zu haben: Sie verwenden nur eine Ihrer öffentlichen IP-Adressen und dann haben viele unterbrückte VMs.

Aber Sie könnten tatsächlich eine Mischung aus Bridge und Routed Network Config verwenden, es ist nur schwieriger in Bezug auf die Konfiguration.


1
2017-12-09 15:00





Soweit ich weiß ist es nicht möglich, aber VMware ESX kann Lauf in VMware Workstation zum Beispiel. IMHO ist es nur gut zum Testen.


0
2017-07-28 13:58





Wie viele Leute schon gesagt haben: Natürlich ist es möglich. Es hängt davon ab, wie gut die VM-Hardware emuliert wird und welche Virtualisierungssoftware Sie verwenden. VMWare Workstation möchte zumindest nicht, dass Sie es virtualisieren.

Wenn es praktisch ist, sollten wir vielleicht die Frage an Sie stellen: Warum sollten Sie so etwas tun? Was ist falsch daran, zwei VMs nebeneinander auszuführen? Und in welchem ​​Maße fragen Sie, ob es praktisch ist? Das heißt, wenn Sie sich Sorgen darüber machen, dass das Einrichten und Konfigurieren praktisch ist, wahrscheinlich nicht. Wenn Sie sich mehr Sorgen um die praktische Verwendung machen, kann ich mir nichts vorstellen, für das ich das tun müsste, es sei denn, ich suche nach Fehlern in der Virtualisierungssoftware oder so.


0
2017-07-28 14:05