Ist es möglich, eine riesige virtuelle Maschine auf mehrere physische Commodity-Server zu verteilen?
Hier ist unser Anwendungsfall:
- Wir müssen einen 32-Prozessor-Datenbankserver mit 64 GB RAM implementieren
- Wir haben keinen physischen Server mit einer solchen Kapazität
- Wir haben viele Server mit kleineren Ressourcen.
Gibt es eine Technologie oder (besser) ein Produkt, mit dem wir diese Server verwenden können, um eine VM mit der erforderlichen Kapazität zu erstellen? Können wir beispielsweise 8 physische 4-Prozessor-Computer mit jeweils 8 GB RAM zu einer "logischen Einheit" mit 32 Prozessoren und 64 GB RAM kombinieren und einen Oracle-Server einrichten, der all diese Kapazität nutzt?
Bevor wir diese Frage gestellt haben, haben wir ähnliche Fragen gelesen, aber keine Antwort gefunden.
- Kombinieren Sie mehrere physische Server zu einem virtuellen Server
- Cloud Computing - Mehrere physische Computer, ein logischer Computer
Vielleicht könnte uns jetzt jemand einen Hinweis geben?
virtualization
user54614
quelle
quelle
Antworten:
Es gibt ein kommerzielles Produkt von ScaleMP namens vSMP. Sie können mehrere x86-Systeme zu einer einzigen virtuellen Instanz zusammenfassen. Ich habe das noch nie persönlich versucht, aber ich habe eine Präsentation von ihnen durchgesehen. Wenn ich mich richtig erinnere, gibt es spezielle Anforderungen, damit dies funktioniert, und Sie benötigen zusätzliche Hardware (Infiniband für schnelle Verbindungen mit geringer Latenz). Es könnte auch einen hübschen Cent kosten!
quelle
Es gibt keine Möglichkeit, genau die gleiche Funktionalität wie bei einem einzelnen 32-Prozessor-Computer mit mehreren separaten Servern zu erhalten. Am besten schauen Sie sich Clustering oder Grid Computing an. Richtig gemacht, können Sie eine vergleichbare Leistung erzielen ... und ein höheres Maß an Hochverfügbarkeit. Viele Ihrer Fragen hängen auch von Ihrem "db" -Typ ab. Microsoft SQL Server funktioniert erheblich anders als MySQL oder Oracle ... und die Skalierbarkeit ist auch völlig anders.
Alternativ ... möchten Sie vielleicht in Betracht ziehen, dass jemand die Datenbank für Sie erstellt ... wie die Verwendung des EC2 RDS ...
Leider gibt es keine Möglichkeit, mehrere physische Server miteinander zu kombinieren und VMware darauf zu platzieren, um einen einzigartigen, überaus leistungsstarken virtuellen Server zu erhalten.
quelle
"TheCompWiz" hat Ihre Frage sinnvoll beantwortet.
Ich möchte immer noch sagen, dass Sie einen Hypervisor erstellen können, der es einer einzelnen VM ermöglicht, mehrere physische Hosts zu überspannen, und diese VM "korrekt" ausführen kann, wenn alles funktioniert.
Aber selbst bei wirklich guten Hochgeschwindigkeitsnetzwerken zwischen den physischen Hosts wäre die Leistung eines solchen Dings wirklich schrecklich und würde viel langsamer laufen als eine kleinere VM, die in einen einzelnen dieser Hosts passt. Sie müssten die Cache-Kohärenz-Eigenschaften einer einzelnen VM simulieren, indem Sie jeden einzelnen Lese- oder Schreibvorgang des Speichers abfangen, den das Gastbetriebssystem und die Anwendung ausgeführt haben. Dies würde die Kosten für den Speicherzugriff mit Tausenden, wenn nicht Millionen multiplizieren.
Kein kommerzieller Hypervisor-Anbieter ermöglicht so etwas. Es wurde im Labor versucht. Niemand hat sich die Mühe gemacht, daraus ein Produkt zu machen.
Um den Punkt noch einmal zu unterstreichen, suchen Sie nach einer Lösung für das Clustering.
quelle
VMWare tut es. Es heißt DRS oder Distributed Resources Scheduler. Sie können die Ressourcen von 16 Servern kombinieren. Sie können diese Summe dann auf eine oder mehrere virtuelle Umgebungen verteilen.
quelle