Frage Virtueller Speicher in virtualisierten Maschinen (Datei in VM austauschen?)


Was sind die Meinungen über das Erlauben von virtuellem Speicher? Innerhalb eine virtuelle Maschine?

Zum Beispiel, ein Host-Rechner mit 8 Gig Arbeitsspeicher, könnte ich 4 VMs mit je 2 Gig (ungefähr) laufen lassen und es würde keinen Host-Swapping geben. In jeder VM könnte ich jedoch eine 2Gig-Auslagerungsdatei haben, so dass der virtuelle Server über 4 Gigabyte nutzbaren Arbeitsspeicher, 2 physische 2 virtuelle Arbeitsspeicher verfügt.

ODER ... Ich könnte jeder VM 4 Gig von "Speicher" geben und den Host 8Gig echten Arbeitsspeicher und 8G virtuellen Arbeitsspeicher verwenden und keine Auslagerungsdatei in jeder VM haben. Jede VM hätte immer noch "4Gig", aber das Paging würde auf dem Host stattfinden.

Der warm-fuzzy Teil von mir sagt Setup Paging in jedem Gast wie Sie ein echter Server und Sie sind gut. Aber die analytische Seite von mir sieht zwei Hauptvorteile darin, den Host-Speicher zu überbinden und keine Paging in der VM zu haben. Zuerst wird das IO für den virtuellen Speicher durch das Host-Betriebssystem gehandhabt, das näher am blanken Metall ist, also sollte es schneller sein. Und zweitens wäre Paging nur erforderlich ob Der Host hatte nicht den Speicher verfügbar. Wenn der Gast 4Gig wollte, aber andere Gäste ihren Speicher nicht benutzen würden, wäre kein Paging erforderlich.

Gedanken?


7
2018-05-05 16:55


Ursprung




Antworten:


Ich bin kein Virtualisierungsexperte (in der Tat denke ich, dass es meistens das falsche Tool für den Job ist), aber nach dem, was ich gelesen habe, sollte es nicht erlaubt sein, dass Ihr Gastbetriebssystem ausgetauscht wird. Der Hauptgrund für das Verhindern des Auslagerns ist, dass es eine Möglichkeit darstellt, ein Betriebssystem zu erraten, einen großen Teil der E / A-Bandbreite des Hosts zu speichern.

Außerdem wollen Sie nicht vorgeben, dass der Host über mehr physikalischen Speicher verfügt, als er es hat, da dadurch der Host stark wechselt, aber das Debuggen von Leistungsproblemen in den Räte-Betriebssystemen wird sehr schwierig sein, weil das von ihrem Standpunkt aus ist of view werden sie nicht getauscht, und keines der Tools auf Betriebssystemebene im Gast wird es anzeigen.

Es kann sogar sein, dass mit Tools wie Xen und VmWare Speicher auf dem Host-Betriebssystem wegen der Verwendung von Balloon-Speichertreibern nicht überkomprimiert werden kann.


5
2018-05-05 17:01





Dies hängt stark von den Folgen der Speicherüberlastung auf Ihrem Host-Betriebssystem ab. Ich wäre ein wenig mehr als genervt, wenn ich zum Beispiel den ausgelaufenen Linux-Killer meine virtuelle Maschine töten würde. Ich neige dazu, für jedes Gastbetriebssystem einen kleineren, separaten, vorinstallierten, Snapshot-unabhängigen (falls für Ihre VM-Lösung geeignet) virtuellen Datenträger zur Verfügung zu stellen, sicherzustellen, dass das Festplatten-Image nicht fragmentiert und / oder auf einem schnellen Laufwerk gehostet und konfiguriert wird Der Gast-Swap-Bereich, der sich auf diesem virtuellen Laufwerk befindet. Hypervisor-Speicherverwaltung ist heute gut genug, um den Unterschied zwischen OOM-Host-Swapping und OOM-Gast-Swapping nicht zu spüren, und ich kann Gastverhalten unabhängig voneinander feineinstellen. Beste aus beiden Welten.


3
2018-05-05 17:00





Ich würde Ihrem Gast aufgrund von E / A-Problemen keinen virtuellen Speicher geben. Ich würde Ihrem Host auch nicht virtuellen Speicher und dem Gast zu viel physischen Speicher geben, da der Gast nicht wirklich erkennen würde, dass er virtuellen Speicher anstelle von physischem Speicher verwendet.

Was Sie nicht mit irgendwelchen Lösungen verlässt, aber mehr Speicher zu kaufen. Sie können wirklich keine Alternative für mehr Speicher bekommen. Es ist so billig, wenn Ihr Server mehr unterstützt, würde ich mehr bekommen.


1
2018-05-05 17:16



Sie haben in der Post nicht erwähnt, welchen Gast oder Host Sie verwenden wollten. Wenn Sie planen, Windows-Hosts mit ESX zu virtualisieren, können Sie ihre fantastische Technologie für die Deduplizierung von Arbeitsspeicher verwenden, die dem Kopieren auf Schreibseiten für verschiedene Betriebssystemprozesse ähnelt, außer dass sie nach identischen Speicherseiten in und quer sucht Hosts und weist sie der gleichen physischen Seite im Speicher zu. Die Verwendung von ESX zur Virtualisierung von Windows-Hosts zum Testen der Einsparungen beim physischen Speicherbedarf war erstaunlich. - Dave Cheney