Frage Wie wird Speicher im ESXi-Server zugewiesen?


Wir haben einen ESXi 4.1 Server mit 48 GB RAM.

Für jede VM reservieren wir 4 GB Speicher. Da der Server 13 virtuelle Maschinen hat, denkt mein Manager, dass das falsch ist.

Ich werde ihnen erklären, dass ESXi tatsächlich Speicher selbst verwalten wird, aber sie haben mich gefragt, wie viel Speicher ich für den ESXi-Server selbst zugewiesen habe.

Ich habe keine zugewiesen (ich habe noch nicht einmal von einer Option gehört, Speicher für den ESXi-Server selbst zuzuweisen).

Wie ist der Speicher für den ESXi-Server reserviert? Wie verteilt / verteilt RAM RAM ohne Probleme zwischen virtuellen Maschinen?


18
2017-08-23 11:29


Ursprung




Antworten:


Es ist viel mehr als nur ESXi hier in Frage,

  1. Jede VM verbraucht bis zu 4 GB + "Overhead", was dokumentiert ist Hier. Dies hängt von den vCPUs und dem zugewiesenen Speicher ab. Mindestens wird jede VM verwenden 4261,98 MB (4096 + 165.98)
  2. ESXi eigenen Speicheraufwand, dies ist hardwareabhängig. Die einfachste Möglichkeit ist es, auf die System Speichernutzung im vSphere-Client. Aus dem Gedächtnis erinnere ich mich, dass es um die 1,3GB Marke geht, aber wie gesagt ist das sehr abhängig von der Hardware.

Speicherzuweisung und -überladung erklärt

Beachten Sie, dass der Hypervisor wird nicht all diesen Speicher im Voraus reservierenEs hängt von der Verwendung der VM ab. Es lohnt sich jedoch zu verstehen, was passieren wird, wenn die VMs versuchen, den ihnen zugewiesenen Speicher zuzuweisen und zu verwenden.

Der maximale Wert, den Ihr VM + -Host verwenden wird, ist ungefähr 55 GBs  Kilometerstand kann variieren

  • 1,3 GB von ESXi verwendet
  • 4261,98 MB * 13 von den VMs verwendet

Es gibt einen weiteren Aspekt, der berücksichtigt werden muss, und das sind Speicherschwellenwerte. Standardmäßig wird VMware darauf abzielen, 6% frei zu haben (hohe Speicherschwelle). Also die 55 GBs von verwendetem Speicher muss auf reduziert werden ~ 45GBs

Das bedeutet, dass der Host ungefähr 10.500 MB Speicher hat, den er zurückfordern muss, wenn die VMs den ihnen zugewiesenen Speicher verwenden. Es gibt drei Dinge, die ESX benötigt, um zusätzliche 10,5 GB zu finden.

Speicher-Wiederherstellungs-Methoden

  1. Transparente Seitenfreigabe
  2. Speicherballon
  3. Hypervisor-Swapping

Sie sollten lesen und verstehen Verständnis der Speicherressourcenverwaltung in VMware ESX Server.

Abhängig von einer großen Anzahl von Faktoren, kann / könnte eine Kombination aller drei auf einem überbestimmten Host auftreten. Sie müssen Ihre Umgebung testen und diese Metriken überwachen, um die Auswirkungen der Überbindung zu verstehen.

Einige grobe Regeln, die es wert sind zu wissen (alles in der obigen Veröffentlichung und anderen Quellen).

  1. Transparente Seitenfreigabe nicht für VMs, die 2/4 MB Seiten verwenden. Wenn Sie Ihren Windows-VMs 4096 MB zugewiesen haben, verwenden sie standardmäßig die 2/4 MB-Seiten (PAE-abhängig). Nur unter dem Druck des Speichers wird VMware die großen Seiten auf 4 KB Seiten zerlegen, die geteilt werden können. TPS beruht auf der Verwendung von Leerlauf-CPU-Zyklen und dem Scannen von Speicherseiten mit einer bestimmten Rate. Es bringt Speicher relativ langsam zurück (denke eine Stunde statt Minuten). Ein Sturm bedeutet also, dass TPS Ihnen nicht helfen wird. Von den drei hat dies die geringste Auswirkung auf die Leistung. Mehr aus dem Dokument,

Bei der hardwaregestützten Speichervirtualisierung (zum Beispiel Intel EPT   Hardware Assist und AMD RVI Hardware Assist [6]) Systeme wird ESX   automatisch physische Seiten des Gastes mit großen physischen Seiten des Hosts zurück   (2MB zusammenhängender Speicherbereich anstelle von 4KB für reguläre Seiten) für   bessere Performance durch weniger TLB-Fehlschläge. In solchen Systemen wird ESX   nicht teilen diese großen Seiten, weil: 1) die Wahrscheinlichkeit, zwei zu finden   große Seiten mit identischen Inhalten sind niedrig und 2) der Overhead von   einen Bit-für-Bit-Vergleich für eine 2MB-Seite ist viel größer als für eine   4KB Seite. ESX generiert jedoch weiterhin Hashwerte für die 4-KB-Seiten innerhalb von   jede große Seite. Da ESX während Host keine großen Seiten austauscht   swapping, die große Seite wird in kleine Seiten aufgeteilt, damit diese   Vorgenerierte Hashes können verwendet werden, um die kleinen Seiten vor ihnen zu teilen   sind ausgelagert. Kurz gesagt, wir können keine Seitenfreigaben für beobachten   hardwaregestützte Speichervirtualisierungssysteme bis zum Host-Speicher   überlastet.

  1. Ballonfahren kickt als nächstes (Schwellenwerte sind konfigurierbar, standardmäßig ist dies der Fall, wenn der Host weniger als 6% freien Speicher hat (zwischen High und Software). Stellen Sie sicher, dass Sie den Treiber installieren und achten Sie auf Java und gelang es Anwendungen im Allgemeinen. Das Betriebssystem hat keine Erkenntnisse darüber, was der Garbage Collector als nächstes tun wird, und es wird Seiten treffen, die auf die Festplatte ausgelagert wurden. Es ist nicht ungewöhnlich, dass Server, die Java-Anwendungen ausführen, Swap-Anwendungen ausschließlich deaktivieren, um sicherzustellen, dass dies nicht geschieht. Sehen Sie sich Seite 17 von vSphere Memory Management, SPECjbb, an

  2. Hypervisor-Swapping, von den drei Methoden ist das einzige Garantien "Speicher", der dem Hypervisor zu einer festgelegten Zeit zur Verfügung steht. Dies wird verwendet, wenn 1 & 2 nicht genug Speicher zur Verfügung stellen, um unter dem zu bleiben schwer Schwelle (Standardwert von 2% freier Speicher). Wenn Sie die Leistungsmesswerte (Ihre eigenen) durchlesen, werden Sie feststellen, dass dies die schlechteste Leistung der drei ist. Ziel ist es, dies um jeden Preis zu vermeiden, da die Auswirkungen auf die Leistung bei fast allen Anwendungen sehr bemerkbar sind zweistelliger Prozentsatz

  3. Es gibt noch einen weiteren zu beachtenden Zustand niedrig (standardmäßig 1%). Aus dem Handbuch kann dies Ihre Leistung drastisch reduzieren,

In einem seltenen Fall, in dem der Host-freie Speicher unter den unteren Schwellenwert fällt,   Der Hypervisor beansprucht weiterhin Speicher durch Auslagerung und Speicher   Komprimierung und blockiert zusätzlich die Ausführung aller virtuellen   Maschinen, die mehr Speicher als ihr Zielspeicher verbrauchen   Zuordnungen.

Zusammenfassung

Der entscheidende Punkt zu betonen ist, dass es unmöglich ist, aus den Whitepapers vorherzusagen, wie sich Ihre Umgebung verhalten wird.

  1. Wie viel kann TPS Ihnen geben? (Abhängig davon, wie ähnlich Ihre VMs mit ihrem Betriebssystem, Service Pack und laufenden Anwendungen sind)
  2. Wie schnell weisen Ihre VMs Ihren Speicher zu? Je schneller sie sind, desto wahrscheinlicher ist es, dass Sie zum nächsten Schwellenwert springen, bevor das weniger wirkungsvolle Speicher-Wiederherstellungs-Schema Sie in Ihrem aktuellen Schwellenwert halten kann.
  3. Je nach Anwendung hat jedes Speicherrückgewinnungsschema sehr unterschiedliche Auswirkungen.

Testen Sie Ihre durchschnittlichen Szenarien, Ihr 95% Perzentilszenario und schließlich Ihr Maximum, um zu verstehen, wie Ihre Umgebung ausgeführt wird.


Bearbeiten 1

Es lohnt sich, das mit vSphere 4 (oder 4.1 kann sich nicht erinnern) hinzuzufügen, es ist jetzt möglich, den Hypervisor-Swap auf dem lokalen Datenträger aber noch zu platzieren Bewegung die VM. Wenn Sie gemeinsam genutzten Speicher verwenden, wird dringend empfohlen, die Hypervisor-Auslagerungsdatei standardmäßig auf dem lokalen Datenträger zu speichern. Auf diese Weise wird sichergestellt, dass sich bei einem Host mit hohem Speicherdruck nicht alle anderen vSphere-Hosts / VMs auf demselben gemeinsam genutzten Speicher auswirken.

Bearbeiten 2

Basiert auf Kommentaren, machte die Tatsache, dass ESX den Speicher nicht im Voraus fett zugeordnet ...

Bearbeiten 3

Etwas mehr über Gedächtnisschwellen erklärt.


25
2017-08-23 12:03



VMware nicht zuordnen Speicher, der nicht verwendet wird; Der eigentliche Grund, warum Überkomprimierung funktioniert, liegt darin, dass der VM nur die maximale Speichermenge zugewiesen wird wenn es darum bittet. Sobald alles zugewiesen ist, werden die Anforderungen für zusätzlichen Speicher durch den Austausch ersetzt. - adaptr
Hast du dieses Bit gesehen, bevor du diesen Kommentar hinzugefügt hast? "Beachten Sie, dass der Hypervisor den gesamten Speicher nicht im Voraus reserviert, sondern abhängig von der Verwendung der VM. Es ist jedoch sinnvoll zu verstehen, was passieren wird, wenn die VMs versuchen, den ihnen zugewiesenen Speicher zuzuweisen und zu verwenden." - M Afifi
Da das ganz offensichtlich eines der Hauptanliegen des OPs war (WIE beschwört Vmware Speicher, die ich NICHT HABE?), Sollte es oben auf der Liste stehen, nicht als nachträglicher Einfall. Du erklärst Erinnerung Verwendungszweck rückwärts durch Erklärung der Reklamation. Warum ? - adaptr
Wie ist es rückwärts? Die Antwort besagt, dass Sie so viel Speicher zugewiesen haben. Es wird es nicht im Voraus reservieren. Wenn dies der Fall ist (basierend auf der VM-Speicherauslastung), ist dies die Auswirkung. Kann nicht wirklich jemandem sagen, mach dir keine Sorgen darüber. Wenn Sie den Speicher zu viel nutzen, sollten Sie die Auswirkungen kennen. - M Afifi


VMware (und andere Virtualisierungstechnologien) Aktie Ressourcen (Speicher, Prozessorzeit, E / A verschiedener Arten) zwischen VMs nach verschiedenen Algorithmen.

Es ist möglich zu overcommit Ressourcen, da nicht alle VMs die gesamte Verarbeitung, Speicher oder I / O verwenden, die sie ständig benötigen. VMware Resource Management Guide ist wahrscheinlich der beste Ort, um sich darüber zu informieren, was in ESXi möglich ist.

Sie können auch den Effekt der Algorithmen verwalten, indem Sie verschiedene VMs für unterschiedliche Ressourcen gewichten - z. Sie könnten einer Anwendungsserver-VM eine höhere Gewichtung für den Prozessor geben als eine Dateiserver-VM. Die Out-of-the-Box-Einstellungen werden jedoch den meisten Anforderungen sehr gut gerecht. In einigen Fällen reichen einige Konfigurationsschritte aus, um Manager zu beruhigen, die es nicht ganz verstehen, aber seien Sie vorsichtig und lesen Sie die Dokumentation für Ihre VMware-Version und verstehen Sie, was Sie tun. Wenn Ihr Manager keine weitere Beruhigung benötigt, verwenden Sie einfach die Standardeinstellungen.

Beachten Sie, dass Overcommitment nicht unbedingt immer eine gute Idee ist, insbesondere wenn Sie auf einem einzelnen Server virtualisiert haben. Sie sollten die Verwendung von Ressourcen in Ihrem ESXi-System überwachen und bei Bedarf zusätzliche Hosts / Ressourcen hinzufügen, wenn Sie häufig alle oder mehrere Ressourcen verbrauchen.


4
2017-08-23 11:42





Lassen Sie Ihre VMWare ESXi-Installation damit umgehen. Sie können RAM-Ressourcen auf VMWare-Systemen aufgrund der Verwendung von Memory-Ballooning-, Komprimierungs- und Deduplizierungstechniken.

Wenn die virtuellen Maschinen ein ähnliches Betriebssystem verwenden, gibt es dort einige Einsparungen. Stellen Sie sicher, dass die VMWare-Tools in den Gast-VMs aktiviert sind, um diese Funktionen vollständig zu nutzen.


2
2017-08-23 12:03