Ich bin ein absoluter VMware-Nichtkenner, habe aber vor Kurzem 4 VMs auf ESXi eingerichtet. 3 der VMs sind sehr ressourcenarm (ein wenig genutzter Dateiserver, ein wenig genutzter Domänencontroller und ein VMware vMA-Host) und eine ist ressourcenintensiver (ein Terminalserver, der von einem Dutzend Leuten in meinem kleinen Büro genutzt wird).
Die Terminalserver-VM lief während der Spitzenzeiten ziemlich langsam. Ein Blick auf die Leistungsübersicht in vSphere zeigt, dass die CPU-Auslastung ziemlich oft über 90 % gestiegen ist. Auch mein Festplattenlatenzdiagramm weist einige Spitzen auf, die gelegentlich bis zu 500 ms oder so betragen.
Ich habe keine der Einstellungen zur Ressourcenzuweisung in VMware konfiguriert und bin immer davon ausgegangen, dass es intelligent genug wäre, um ausgelasteten VMs die Nutzung verfügbarer Ressourcen zu ermöglichen, wenn weniger ausgelastete VMs diese nicht benötigen. Dies scheint jedoch nicht der Fall zu sein, da die CPU-Auslastung für den gesamten Server nie über 10 % ansteigt und die Festplattenlatenz nie über 4 ms oder so steigt.
Das sagt mir, dass ich vielleicht einige Dinge zur Ressourcenzuweisung in VMware konfigurieren muss, aber ich verstehe nicht ganz, was ich in dieser Situation konfigurieren soll. Soll ich die Anzahl der vCPUs erhöhen oder die Prozessoraffinität konfigurieren? Oder soll ich die Freigabe- oder Reservierungsfunktionen verwenden? Im Grunde möchte ich den anderen VMs nicht völlig die Ressourcen entziehen, aber ich möchte, dass der Terminalserver die Systemressourcen nutzen kann, die verfügbar zu sein scheinen.
Vielen Dank im Voraus für alle Hinweise.
Antwort1
In ESXi wird eine vCPU für die Berechnung einem Kern auf einem echten CPU-Kern zugeordnet. Das bedeutet, dass eine mit 1 vCPU konfigurierte VM auf einem System mit 4 Kernen nie mehr als etwa 1/4 der Kapazität des Systems nutzen kann. Generell sollten Sie VMs weder mit zu vielen vCPUs konfigurieren (da zusätzliche vCPUs den Overhead erhöhen) noch mit zu wenigen (da Sie nicht die volle Kapazität der Hardware nutzen können).
Für ein so einfaches Szenario wie das von Ihnen beschriebene sollten Sie sich nicht mit dem Ressourcenzuweisungssystem oder der Prozessoraffinität herumschlagen müssen. Standardmäßig verwendet ESXi ein System, das jeder VM einen angemessenen Anteil an Ressourcen zuweist, wobei konfigurierte Ressourcen verwendet werden, um zu berechnen, wie viele Anteile eine VM erhält. Sie müssen sich also keine Sorgen um eine Unterversorgung machen.
Es gibt viel über die Leistung in ESXi zu lernen, aber ich würde empfehlen, mit der Lektüre derempfohlene Vorgehensweisewenn Sie wissen möchten, wie Sie das System für eine angemessene Leistung konfigurieren.
Antwort2
Dies kann daran liegen, dass auf Seiten der Terminalserver-VM nicht genügend Ressourcen vorhanden sind.
- Welche Ressourcen haben Sie dieser bestimmten VM zugewiesen?
- Welche Ressourcen sind auf dem ESXi-Host verfügbar?
Es kann zu einer starken Speicherauslastung kommen, die zu Paging/Swapping des virtuellen Speichers führt. Dies kann sich auf die Festplatten-E/A Ihrer einzelnen Terminalserver-VM auswirken, ohne größere Auswirkungen auf den Hypervisor zu haben.
Sehen Sie sich die Speichernutzung des Terminalservers an. Erhöhen Sie sie ggf., wenn möglich. Bewerten Sie auch die CPU-Auslastung. Passen Sie sie entsprechend an, wenn Sie über freie Ressourcen verfügen.