Kann eine virtualisierte Maschine über die CPU- und RAM-Ressourcen mehrerer zugrunde liegender physischer Maschinen verfügen?

16

Wir untersuchen die Implementierung einiger virtualisierter Server, wissen jedoch nicht, was für uns besser geeignet ist. Einige Leute sagen, dass es besser ist, zwei riesige Server zu haben, andere sagen, dass es zehn Middle-End-Server gibt.

Wir haben eine ältere Visual Foxpro-Anwendung, die heutzutage auf Dual Xeon E5405 bei 2 GHz und 16 Gbit RAM ausgeführt wird. Der aktuelle Server wird aufgrund der Anzahl der aktiven Benutzer und des darauf ausgeführten Prozesses zu langsam. Durch die Virtualisierung dieses Servers profitieren wir von einer schnelleren Notfallwiederherstellung.

Die Frage ist also, ob wir mit zehn physischen Servern mit 1,7 GHz und 4 Gbit RAM einen Server in vier Maschinen virtualisieren könnten und einen virtualisierten Server mit 6,8 GHz und 16 Gbit Arbeitsspeicher? Wenn ja, gibt es eine Möglichkeit, wie Sie, wenn eine Maschine anhält, diese virtuelle Maschine automatisch für eine andere verwaltet und die entsprechende Wartung darauf ausführt und später wieder darauf zurückgreift.

Danniel Magno
quelle
2
FoxPro? Beeindruckend. Könnten Sie beispielsweise keinen HP Server mit zwei CPUs mit septem Kern und einer Tonne RAM anstelle vieler zusammen gruppierter Computer haben? Sie Stromrechnung wäre wahrscheinlich weniger, wenn etwas anderes.
Tombull89
Die Antwort auf die Frage in Ihrem dritten Absatz lautet in den meisten Fällen NEIN . So funktioniert das nicht. Normalerweise können Sie keine 4 1,7-GHz-4-GB-Computer nehmen und mithilfe der Virtualisierung einen einzelnen 6,8-GHz-16-GB-Computer erstellen. Wenn Sie jedoch einen einzelnen Server mit zwei 3,4-GHz-Prozessoren und 16 GB RAM haben, können Sie problemlos 4 separate Instanzen von Windows Server auf diesem Computer ausführen.
Joel Coel
1
Ich denke, dass dies die nächste Phase der Virtualisierung sein wird. Es könnte mich weniger interessieren, mehr virtuelle Maschinen auf eine physische Maschine zu setzen. Ich würde es lieben, wenn ich 10 Desktops nehmen und deren Ressourcen in einem einzigen virtuellen Server kombinieren könnte.
Aaron Kempf
Es ist nicht die nächste Phase, es ist schon da. Seit über 50 Jahren. Großrechner funktionieren so ziemlich. Und heute gibt es bereits eine Firma, die es anbietet.
TomTom
1
kann ich eine Instanz von Windows auf 20 Mainframes ausführen? Das habe ich nicht gedacht!
Aaron Kempf

Antworten:

38

Ja, Sie können mit ScaleMP mehrere x86-Computer zu einem größeren virtuellen x86-Computer kombinieren . Kompatibel mit Xen- und KVM-Hypervisoren können Sie dann VMs erstellen, die sich über mehrere physische Maschinen erstrecken.

Anschließend können Sie eine große Windows-VM in Ihrem Xen- oder KVM-Hypervisor über Ihrem ScaleMP-Cluster ausführen.

Hier ist eine Beschreibung, die etwas einfacher zu lesen ist als die Website: http://www.readwriteweb.com/solution-series/2011/10/cost-effective-clustering-with.php

Tim Kennedy
quelle
3
+1 dafür, dass sie einer der Freunde sind, die wissen, wovon sie sprechen - das ist definitiv keine Mainstream-Technologie, aber es ist möglich. Dies taucht regelmäßig auf und die meisten Antworten zeigen nur, wie ahnungslos Menschen sein können - sie wissen einfach nicht, was möglich ist.
TomTom
1
Obwohl dies technisch korrekt ist, wäre dies für das, was das OP zu erreichen versucht, zumindest auf der Grundlage der verfügbaren Informationen völlig ungeeignet.
Joel Coel
2
Wieso das? OP forderte eine Möglichkeit an, einen virtuellen Server über mehrere physische Maschinen zu verteilen. Außerdem erwähnte er eine ältere Virtual FoxPro-Anwendung, was bedeutete, dass er Windows als Virtual Server-Betriebssystem ausführen musste. Wenn Sie Windows in Xen oder KVM über ScaleMP ausführen, wird GENAU aktiviert, was das OP anfordert.
Tim Kennedy
Das ist fantastisch! Ich hatte keine Ahnung, dass es das gibt. Ich ging davon aus, dass die Antwort "Nein, dieses Flat Out ist nicht möglich, weil die Leistung schrecklich wäre"
Earlz
2
@Earlz "Possible" und "Bad Performance" sind allerdings zwei ziemlich unterschiedliche Dinge;)
Izkata
2

Sie haben ein grundlegendes Missverständnis der Virtualisierung. Sie können nicht eine virtuelle Maschine auf mehrere Virtualisierungshosts verteilen. Mit der Virtualisierung können Sie mehrere virtuelle Maschinen auf einem einzigen Host ausführen.

Bildbeschreibung hier eingeben

langer Hals
quelle
2
Genauer gesagt: Festplatten können auf diese Weise kombiniert werden (dies ist sinnvoll, da die Netzwerkgeschwindigkeit in der Regel die Festplattenzugriffsgeschwindigkeit bei Weitem übersteigt), während Speicher und CPUs dies nicht können (der resultierende virtuelle Speicher und die virtuelle CPU wären zu langsam).
reinierpost 18.10.12
16
-1. Lerne bevor du sprichst. In Bezug auf die meisten kommerziellen Hypervisoren haben Sie Recht. Ernsthaft. Aber so muss es nicht funktionieren, und ja, die andere Seite ist möglich - es gibt mindestens einen Anbieter, der das macht. Erfordert jedoch ernsthafte Hardware (Infiniband zur Verarbeitung der Speicherbandbreite), ist mit Overhead verbunden und der Preis ist hoch, simuliert jedoch im Grunde einen NUMA-Computer, bei dem jeder physische Computer ein NUMA-Knoten ist. Google ist dein Freund;) Ja, es gibt einen. Oder Sie lesen die richtige Antwort von Tim Kennedy;)
TomTom