Bei der Konfiguration von Prozessoreinstellungen für eine neue virtuelle Maschine gibt es mehrere wichtige Konzepte zu verstehen: wie man die Anzahl der Prozessorkerne pro CPU und CPU-Kerne pro Sockel berechnet und wie diese Einstellungen die Geschwindigkeit der virtuellen Maschinen beeinflussen. Darüber hinaus ist es wichtig zu verstehen, was eine bessere VM-Leistung gewährleistet: die Begrenzung der Anzahl von Prozessoren und mehr CPU-Kerne oder mehr Prozessoren mit weniger Kernen?
Lesen Sie weiter, um mehr über diese Konzepte und die Grundprinzipien für die CPU-Konfiguration für virtuelle Maschinen auf ESXi-Hosts zu erfahren.
Terminologie
Lassen Sie uns mit den Definitionen der Begriffe beginnen, die bei der Konfiguration von CPU-Einstellungen für virtuelle Maschinen verwendet werden. Diese Begriffe helfen beim Verständnis des Arbeitsprinzips und vermeiden Verwirrung über die Anzahl der Kerne pro CPU, CPU-Kerne pro Sockel und die Anzahl der CPU-Kerne gegenüber der Geschwindigkeit.
CPU-Sockel
A CPU Socket is a physical connector on the motherboard to which a single physical CPU is connected. A motherboard has at least one CPU socket. Server motherboards usually have multiple CPU sockets that support multiple multicore processors. CPU sockets are standardized for different processor series. Intel and AMD use different CPU sockets for their processor families.
CPU
A CPU (central processing unit, microprocessor chip, or processor) is a computer component. It is the electronic circuitry with transistors that is connected to a socket. A CPU executes instructions to perform calculations, run applications, and complete tasks.
Als die Taktfrequenz von Prozessoren der Hitzegrenze nahe kam, änderten Hersteller die Architektur von Prozessoren und begannen, Prozessoren mit mehreren CPU-Kernen herzustellen. Um Verwirrung zwischen physischen Prozessoren und logischen Prozessoren oder Prozessorkernen zu vermeiden, bezeichnen einige Hersteller einen physischen Prozessor als Sockel.
Prozessorkern
A CPU core is the part of a processor containing the L1 cache. The CPU core performs computational tasks independently without interacting with other cores and external components of a “big” processor that are shared among cores. Basically, a core can be considered as a small processor built into the main processor that is connected to a socket. Applications should support parallel computations to use multicore processors rationally.
Hyperthreading
Hyper-Threading ist eine Technologie, die von Ingenieuren von Intel entwickelt wurde, um parallele Berechnungen auf Prozessoren zu ermöglichen, die nur einen Prozessorkern haben. Das Debüt von Hyper-Threading war im Jahr 2002, als der Pentium 4 HT-Prozessor veröffentlicht wurde und für Desktop-Computer positioniert wurde. Ein Betriebssystem erkennt einen Single-Core-Prozessor mit Hyper-Threading als Prozessor mit zwei logischen Kernen (nicht physischen Kernen). Ebenso erscheint ein Vier-Kern-Prozessor mit Hyper-Threading für ein Betriebssystem als Prozessor mit 8 Kernen. Je mehr Threads auf jedem Kern laufen, desto mehr Aufgaben können parallel ausgeführt werden.
Moderne Intel-Prozessoren haben sowohl mehrere Kerne als auch Hyper-Threading. Hyper-Threading ist normalerweise standardmäßig aktiviert und kann im BIOS aktiviert oder deaktiviert werden. AMD Simultaneous Multi-Threading (SMT) ist das Pendant zu Hyper-Threading für AMD-Prozessoren.
vCPU
A vCPU is a virtual processor that is configured as a virtual device in the virtual hardware settings of a VM. A virtual processor can be configured to use multiple CPU cores. A vCPU is connected to a virtual socket.
CPU-Überbuchung
CPU-Überbuchung ist die Bereitstellung von mehr logischen Prozessoren (CPU-Kernen des physischen Hosts) für VMs als die Gesamtanzahl der verfügbaren logischen Prozessoren auf dem physischen Host. CPU-Überbuchung ermöglicht eine erhöhte Flexibilität und Effizienz bei der Ressourcennutzung, kann jedoch zu Leistungseinbußen führen, wenn die Gesamtnachfrage die verfügbare physische CPU-Kapazität überschreitet.
NUMA
NUMA (Non-Uniform Memory Access) ist ein Computerspeicherdesign, das in Mehrprozessorcomputern verwendet wird. Die Idee besteht darin, für jeden Prozessor separaten Speicher bereitzustellen (im Gegensatz zu UMA, bei dem alle Prozessoren über einen Bus auf gemeinsamen Speicher zugreifen). Gleichzeitig kann ein Prozessor über einen gemeinsamen Bus auf Speicher zugreifen, der anderen Prozessoren gehört (alle Prozessoren greifen auf den gesamten Speicher des Computers zu). Ein CPU hat den Leistungsvorteil, auf seinen eigenen lokalen Speicher schneller zugreifen zu können als auf anderen Speicher in einem Mehrprozessorcomputer.
Diese grundlegenden Architekturen werden in modernen Mehrprozessorcomputern gemischt. Prozessoren sind auf einem Multicore-CPU-Paket oder Knoten gruppiert. Prozessoren, die zu demselben Knoten gehören, teilen sich den Zugriff auf Speichermodule wie bei der UMA-Architektur. Außerdem können Prozessoren über eine gemeinsame Verbindung auf Speicher des entfernten Knotens zugreifen. Prozessoren tun dies für die NUMA-Architektur, aber mit langsamerer Leistung. Dieser Speicherzugriff erfolgt über die CPU, die diesen Speicher besitzt, anstatt direkt.
NUMA-Knoten sind CPU/Speicher-Paare, die aus einem CPU-Sockel und den nächstgelegenen Speichermodulen bestehen. NUMA wird in der Regel im BIOS als Knoteninterleaving oder Einstellung für interleaved memory konfiguriert.
Beispiel: Ein ESXi-Host hat zwei Sockel (zwei CPUs) und 256 GB RAM. Jede CPU hat 6 Prozessorkerne. Dieser Server enthält zwei NUMA-Knoten. Jeder NUMA-Knoten hat 1 CPU-Sockel (eine CPU), 6 Kerne und 128 GB RAM.
ESXi versucht immer, Speicher für eine VM aus einem nativen (heimischen) NUMA-Knoten zuzuweisen. Ein Heimknoten kann automatisch geändert werden, wenn es Änderungen in den VM-Lasten und ESXi-Serverlasten gibt.
vNUMA
Virtual NUMA (vNUMA) ist das Pendant zu NUMA für virtuelle Maschinen von VMware. Ein vNUMA verbraucht Hardware-Ressourcen von mehr als einem physischen NUMA-Knoten, um optimale Leistung zu bieten. Die vNUMA-Technologie stellt die NUMA-Topologie einem Gastbetriebssystem zur Verfügung. Dadurch ist das Gastbetriebssystem über die zugrunde liegende NUMA-Topologie informiert und kann sie effizient nutzen. Die virtuelle Hardwareversion einer VM muss 8 oder höher sein, um vNUMA zu verwenden.
Die Behandlung von vNUMA wurde in VMware vSphere 6.5 erheblich verbessert, und diese Funktion wird nicht mehr durch den Wert der CPU-Kerne pro Socket in der VM-Konfiguration gesteuert. Standardmäßig ist vNUMA für VMs aktiviert, die mehr als 8 logische Prozessoren (vCPUs) haben. Sie können vNUMA manuell für eine VM aktivieren, indem Sie die VMX-Konfigurationsdatei der VM bearbeiten und die Zeile numa.vcpu.min=X hinzufügen, wobei X die Anzahl der vCPUs für die virtuelle Maschine ist.
Berechnung der Anzahl der Kerne
Lassen Sie uns herausfinden, wie man die Anzahl der physischen CPU-Kerne, logischen CPU-Kerne und anderer Parameter auf einem Server berechnet.
- Die Gesamtzahl der physischen CPU-Kerne auf einer Host-Maschine wird mit der Formel berechnet:
(Die Anzahl der Prozessor-Sockets) x (Die Anzahl der Kerne/Prozessor) = Die Anzahl der physischen Prozessorkerne
Nur Prozessor-Sockets mit installierten Prozessoren müssen berücksichtigt werden.
- Wenn Hyper-Threading unterstützt wird, berechnen Sie die Anzahl der logischen Prozessorkerne unter Verwendung der Formel:
(Die Anzahl der physischen Prozessorkerne) x (2 Threads/physischer Prozessor) = die Anzahl der logischen Prozessoren
- Schließlich verwenden Sie eine einzige Formel zur Berechnung der verfügbaren Prozessorressourcen, die VMs zugewiesen werden können:
(CPU-Sockel) x (CPU-Kerne) x (Threads)
Zum Beispiel, wenn Sie einen Server mit zwei Prozessoren haben, von denen jeder 4 Kerne hat und Hyper-Threading unterstützt, dann ist die Gesamtzahl der logischen Prozessoren, die VMs zugewiesen werden können:
2(CPUs) x 4(Kerne) x 2(HT) = 16 logische Prozessoren
Ein logischer Prozessor kann als ein Prozessor oder ein CPU-Kern für eine VM in den VM-Einstellungen zugewiesen werden.
Bezüglich virtueller Maschinen können sie aufgrund von Hardware-Emulationsfunktionen mehrere Prozessoren und CPU-Kerne in ihrer Konfiguration für den Betrieb verwenden. Ein physischer CPU-Kern kann als virtueller CPU oder ein virtueller CPU-Kern für eine VM konfiguriert werden.
- Die Gesamtzahl der Taktzyklen, die für eine VM verfügbar sind, wird wie folgt berechnet:
(Die Anzahl der logischen Sockel) x (Die Taktfrequenz des CPUs)
Zum Beispiel, wenn Sie ein virtuelles Gerät (VM) so konfigurieren, dass es 2 vCPUs mit 2 Kernen verwendet, wenn Sie einen physischen Prozessor haben, dessen Taktfrequenz 3,0 GHz beträgt, dann beträgt die Gesamttaktfrequenz 2x2x3=12 GHz. Wenn CPU-Überbuchung auf einem ESXi-Host verwendet wird, kann die verfügbare Frequenz für ein VM geringer sein als berechnet, wenn VMs CPU-intensive Aufgaben ausführen.
Einschränkungen für CPU-Kerne pro Sockel
Die CPU/Kern-Einschränkungen in vSphere 7.0 Update 1 und vSphere 8.0 sind wie folgt aufgeführt.
- Die maximale Anzahl von virtuellen Prozessorsockeln, die einem VM zugewiesen werden kann, beträgt 768. Wenn Sie mehr als 768 virtuelle Prozessoren zuweisen möchten, konfigurieren Sie ein VM zur Verwendung von Mehrkernprozessoren.
- Die maximale Anzahl von Prozessorkernen, die einem einzelnen VM zugewiesen werden kann, beträgt 768. Ein virtuelles Gerät kann nicht mehr CPU-Kerne verwenden als die Anzahl der logischen Prozessorkerne auf einem physischen Gerät.
- CPU-Hot-Add. Wenn ein VM 128 vCPUs oder weniger als 128 vCPUs hat, können Sie das CPU-Hot-Add-Feature für dieses VM nicht verwenden und die CPU-Konfiguration eines VM ändern, während ein VM im laufenden Zustand ist.
Betriebssystem-CPU-Einschränkungen . Wenn ein Betriebssystem eine Begrenzung für die Anzahl der Prozessoren hat und Sie mehr virtuelle Prozessoren für ein VM zuweisen, werden die zusätzlichen Prozessoren nicht identifiziert und von einem Gast-OS verwendet. Einschränkungen können durch technische Gestaltung des Betriebssystems und Einschränkungen der Betriebssystemlizenzierung verursacht werden. Beachten Sie, dass es Betriebssysteme gibt, die pro Sockel und pro CPU-Kern lizenziert sind (z.B.Windows Server 2019 ). - OS CPU-Einschränkungen. Wenn ein Betriebssystem eine Begrenzung für die Anzahl der Prozessoren aufweist und Sie mehr virtuelle Prozessoren für eine VM zuweisen, werden die zusätzlichen Prozessoren vom Gast-OS nicht erkannt und genutzt. Einschränkungen können durch technische Design des OS und OS-Lizenzierungsbeschränkungen verursacht werden. Beachten Sie, dass es Betriebssysteme gibt, die pro Sockel und pro CPU-Kern lizenziert sind (z. B. Windows Server 2019).
CPU-Unterstützungslimits für einige Betriebssysteme:
- Windows 10 Pro – 2 CPUs
- Windows 10 Home – 1 CPU
- Windows 10 Workstation – 4 CPUs
- Windows Server 2019 Standard/Datacenter – 64 CPUs
- Windows XP Pro x64 – 2 CPUs
- Windows 7 Pro/Ultimate/Enterprise – 2 CPUs
- Windows Server 2003 Datacenter – 64 CPUs
Sie können die Konfigurationsobergrenzen für die vSphere-Version, die in Ihrer Umgebung verwendet wird, auf der VMware-Website nachschlagen.
Konfigurationsempfehlungen
Für ältere vSphere-Versionen empfehlen wir die Verwendung von Sockeln gegenüber Kernen in der VM-Konfiguration. Zunächst könnten Sie keinen signifikanten Unterschied in CPU-Sockeln oder CPU-Kernen in der VM-Konfiguration für die VM-Leistung feststellen. Seien Sie sich einiger Konfigurationsmerkmale bewusst, die einen Unterschied machen. Denken Sie an NUMA und vNUMA, wenn Sie mehrere virtuelle Prozessoren (Sockel) für eine VM zur optimalen Leistung einrichten.
Wenn vNUMA nicht automatisch konfiguriert wird, spiegeln Sie die NUMA-Topologie des physischen Servers. Hier sind einige Empfehlungen für VMs in VMware vSphere 6.5 und später:
- Wenn Sie die Anzahl der logischen Prozessoren (vCPUs) für eine VM definieren, bevorzugen Sie die Konfiguration „Kerne pro Sockel“. Fahren Sie fort, bis die Anzahl die Anzahl der CPU-Kerne auf einem einzelnen NUMA-Knoten auf dem ESXi-Server übersteigt. Wenden Sie dasselbe Prinzip an, bis Sie die Menge an Speicher überschreiten, die für einen einzelnen NUMA-Knoten Ihres physischen ESXi-Servers verfügbar ist
- Manchmal ist die Anzahl der logischen Prozessoren für Ihre VM-Konfiguration größer als die Anzahl der physischen CPU-Kerne auf einem einzelnen NUMA-Knoten oder die Menge des vorhandenen Arbeitsspeichers ist höher als die Gesamtmenge des Speichers, der für einen einzelnen NUMA-Knoten verfügbar ist. Betrachten Sie es, die Anzahl der logischen Prozessoren (vCPUs) auf die Mindestanzahl von NUMA-Knoten aufzuteilen, um eine optimale Leistung zu erzielen.
- Setzen Sie keine ungerade Anzahl von vCPUs, wenn die CPU-Anzahl oder die Menge des Speichers die Anzahl der CPU-Kerne überschreitet. Gleiches gilt, wenn der Speicher die Menge des Speichers für einen einzelnen NUMA-Knoten auf einem physischen Server überschreitet.
- Erstellen Sie keine VM, die eine Anzahl von vCPUs hat, die größer ist als die Anzahl der physischen Prozessorkerne auf Ihrem physischen Host.
- Wenn Sie vNUMA aufgrund Ihrer Anforderungen nicht deaktivieren können, aktivieren Sie nicht das Feature „vCPU Hot-Add“.
Wenn ein Gastbetriebssystem und andere Software, die auf einer VM installiert sind, pro Prozessor lizenziert sind, konfigurieren Sie eine VM so, dass sie weniger Prozessoren mit mehr CPU-Kernen verwendet. Zum Beispiel ist Windows Server 2012 R2 pro Sockel lizenziert, und Windows Server 2016 ist pro Kern lizenziert.
Wenn Sie CPU-Überbuchung in der Konfiguration Ihrer VMware-Virtual Machines verwenden, beachten Sie diese Werte:
1:1 bis 3:1 – Es sollten keine Probleme beim Ausführen von VMs auftreten
- 3:1 bis 5:1 – Leistungsdegradation wird beobachtet
- 6:1 – Bereiten Sie sich auf Probleme durch signifikante Leistungsdegradation vor
- Die CPU-Überbuchung mit normalen Werten kann in Test- und Entwicklungsumgebungen ohne Risiken verwendet werden.
Konfiguration von VMs auf ESXi-Hosts
Zuerst bestimmen Sie die Anzahl der logischen Prozessoren (Anzahl der CPUs) Ihres physischen Hosts, die für eine virtuelle Maschine für eine ordnungsgemäße Arbeit mit ausreichender Leistung benötigt werden. Definieren Sie dann die Anzahl der virtuellen Sockets mit Prozessoren (Anzahl der Sockets im vSphere Client) und die Anzahl der CPU-Kerne (Cores per Socket), die Sie für eine VM festlegen sollten, wobei Sie die vorherigen Empfehlungen und Einschränkungen im Hinterkopf behalten. Die folgende Tabelle kann Ihnen bei der Auswahl der benötigten Konfiguration helfen.
Zuerst bestimmen Sie die Anzahl der logischen Prozessoren (Anzahl der CPUs) Ihres physischen Hosts, die für eine virtuelle Maschine erforderlich ist, um ordnungsgemäß mit ausreichender Leistung zu arbeiten. Definieren Sie dann die Anzahl der virtuellen Sockel mit Prozessoren (Anzahl der Sockel im vSphere Client) und die Anzahl der CPU-Kerne (Kerne pro Sockel), die Sie für eine VM festlegen sollten, wobei Sie die vorherigen Empfehlungen und Einschränkungen im Auge behalten. Die unten stehende Tabelle kann Ihnen dabei helfen, die erforderliche Konfiguration auszuwählen.
Wenn Sie mehr als 8 logische Prozessoren für eine VM zuweisen müssen, bleibt die Logik dieselbe. Um die Anzahl der logischen CPUs im vSphere Client zu berechnen, multiplizieren Sie die Anzahl der Sockel mit der Anzahl der Kerne. Wenn Sie beispielsweise eine VM konfigurieren müssen, die 2-Prozessorsockel verwendet, von denen jeder 2 CPU-Kerne hat, dann ist die Gesamtzahl der logischen CPUs 2*2=4. Das bedeutet, dass Sie in den virtuellen Hardwareoptionen der VM im vSphere Client 4 CPUs auswählen müssen, um diese Konfiguration anzuwenden.
Konfigurieren von Kernen pro CPU im vSphere Client
Lassen Sie uns erklären, wie Sie CPU-Optionen für eine VM in VMware vSphere Client konfigurieren. Geben Sie die IP-Adresse Ihres vCenter Servers in einen Webbrowser ein und öffnen Sie VMware vSphere Client. Öffnen Sie im Navigator Hosts und Clusters und wählen Sie die gewünschte virtuelle Maschine aus, die Sie konfigurieren möchten. Stellen Sie sicher, dass die VM heruntergefahren ist, um die CPU-Konfiguration ändern zu können. Der Konfigurationsprozess ist in vSphere 6.x, 7.0 und 8.0 identisch.
- Klicken Sie mit der rechten Maustaste auf die VM und wählen Sie im Kontextmenü Bearbeiten von Einstellungen, um die Einstellungen der virtuellen Maschine zu öffnen.
- Erweitern Sie den Abschnitt CPU im Tab Virtuelles Hardware des Fensters Einstellungen bearbeiten.
- CPU. Klicken Sie auf das Dropdown-Menü im CPU-String und wählen Sie die Gesamtzahl der benötigten logischen Prozessoren für diese VM. In diesem Beispiel wählen wir 4 logische Prozessoren für die Ubuntu-VM (blog-Ubuntu1).
- Kerne pro Sockel. Klicken Sie in diesem String auf das Dropdown-Menü und wählen Sie die benötigte Anzahl von Kernen für jeden virtuellen Sockel (Prozessor).
- CPU Hot Plug. Wenn Sie diese Funktion verwenden möchten, aktivieren Sie das Kontrollkästchen CPU Hot Add aktivieren. Denken Sie an Einschränkungen und Anforderungen.
- Reservierung. Wählen Sie die garantierte Mindestzuweisung der CPU-Taktrate (Frequenz, MHz oder GHz) für eine virtuelle Maschine auf einem ESXi-Host oder in einem Cluster.
- Grenze. Wählen Sie die maximale CPU-Taktrate für einen VM-Prozessor. Diese Frequenz ist die maximale Frequenz für eine virtuelle Maschine, selbst wenn diese VM die einzige VM auf dem ESXi-Host oder im Cluster mit mehr freien Prozessorressourcen ist. Die gesetzte Grenze gilt für alle virtuellen Prozessoren einer VM. Wenn eine VM 2 einzelkernige Prozessoren hat und die Grenze 1000 MHz beträgt, arbeiten beide virtuelle Prozessoren mit einer Gesamt-Taktrate von einer Million Zyklen pro Sekunde (500 MHz pro Kern).
- Aktien. Dieser Parameter definiert die Priorität des Ressourcenverbrauchs durch virtuelle Maschinen (Niedrig, Normal, Hoch, Benutzerdefiniert) auf einem ESXi-Host oder Ressourcenpool. Im Gegensatz zu den Reservierungs- und Grenzwert Parametern wird der Aktien- Parameter nur für eine VM angewendet, wenn es an CPU-Ressourcen innerhalb eines ESXi-Hosts, Ressourcenpools oder DRS-Clusters mangelt.
Verfügbare Optionen für den Aktien- Parameter:
- Niedrig – 500 Aktien pro virtuellem Prozessor
- Normal – 1000 Aktien pro virtuellem Prozessor
- Hoch – 2000 Aktien pro virtuellem Prozessor
- Benutzerdefiniert – einen benutzerdefinierten Wert festlegen
Je höher der Wert der Aktien ist, desto mehr CPU-Ressourcen werden für eine VM innerhalb eines ESXi-Hosts oder eines Ressourcenpools bereitgestellt.
- Hardwarevirtualisierung. Aktivieren Sie dieses Kontrollkästchen, um die verschachtelte Virtualisierung zu ermöglichen. Diese Option ist nützlich, wenn Sie eine VM innerhalb einer VM zu Test- oder Bildungszwecken ausführen möchten.
- Leistungsindikatoren. Diese Funktion wird verwendet, um einer Anwendung, die innerhalb der virtuellen Maschine installiert ist, das Debuggen und Optimieren nach der Messung der CPU-Leistung zu ermöglichen.
- Zuordnung zur Ausführungsaffinität. Diese Option wird verwendet, um einer VM einen bestimmten Prozessor zuzuweisen. Der eingegebene Wert kann wie folgt aussehen: „0, 2, 4-7“.
- I/O MMU. This feature allows VMs to have direct access to hardware input/output devices such as storage controllers, network cards, and graphic cards (rather than using emulated or paravirtualized devices). I/O MMU is also called Intel Virtualization Technology for Directed I/O (Intel VT-d) and AMD I/O Virtualization (AMD-V). I/O MMU is disabled by default. Using this option is deprecated in vSphere 7.0. If I/O MMU is enabled for a VM, the VM cannot be migrated with vMotion and is not compatible with snapshots, memory overcommit, suspended VM state, physical NIC sharing, and NSX network virtualization.
Wenn Sie einen eigenständigen ESXi-Host verwenden und den VMware Host Client zum Konfigurieren von VMs in einem Webbrowser verwenden, ist das Konfigurationsprinzip das gleiche wie für den VMware vSphere Client.
Konfigurieren von Kernen pro CPU in VMware Workstation
Wenn Sie sich in der VMware Workstation mit dem vCenter Server oder ESXi-Host verbinden und die VM-Einstellungen einer vSphere-VM öffnen, können Sie die grundlegende Konfiguration der virtuellen Prozessoren bearbeiten.
- Klicken Sie auf VM > Einstellungen, wählen Sie den Hardware Tab und klicken Sie auf Prozessoren.
- Wählen Sie die Anzahl der virtuellen Prozessoren (Sockets) und die Anzahl der Kerne pro Prozessor aus.
In der folgenden Bildschirmansicht sehen Sie die Prozessorkonfiguration für dieselbe Ubuntu-VM, die zuvor im vSphere Client konfiguriert wurde.
Die Anzahl der insgesamt vorhandenen Prozessorkerne (logische Kerne physischer Prozessoren auf einem ESXi-Host oder Cluster) wird automatisch berechnet und angezeigt. Im Vergleich dazu stellen Sie in der Benutzeroberfläche des vSphere Client die Anzahl der insgesamt vorhandenen Prozessorkerne (die CPU-Option) ein, wählen die Anzahl der Kerne pro Prozessor und dann wird die Anzahl der virtuellen Sockets berechnet und angezeigt.
Konfigurieren von VM-Prozessoren in PowerCLI
Wenn Sie lieber die Kommandozeilenschnittstelle verwenden, um Komponenten von VMware vSphere zu konfigurieren, verwenden Sie PowerCLI, um die CPU-Konfiguration von VMs zu bearbeiten. Lassen Sie uns herausfinden, wie man die VM-CPU-Konfiguration für eine VM, die Ubuntu 19 ist, in PowerCLI bearbeitet. Die Befehle werden für VMs verwendet, die ausgeschaltet sind.
- Um eine VM so zu konfigurieren, dass sie zwei einzelkernige virtuelle Prozessoren verwendet (zwei virtuelle Sockel werden verwendet), verwenden Sie den Befehl:
get-VM -name Ubuntu19 | set-VM -NumCpu 2
Geben Sie eine andere Zahl ein, wenn Sie eine andere Anzahl von Prozessoren (Sockeln) für eine VM festlegen möchten.
- Im folgenden Beispiel sehen Sie, wie man eine VM so konfiguriert, dass sie zwei dualkernige virtuelle Prozessoren verwendet (2 Sockel werden verwendet):
$VM=Get-VM -Name Ubuntu19
$VMSpec=New-Object -Type VMware.Vim.VirtualMachineConfigSpec -Property @{ "NumCoresPerSocket" = 2}
$VM.ExtensionData.ReconfigVM_Task($VMSpec)
$VM | Set-VM -NumCPU 2
- Sobald eine neue CPU-Konfiguration auf die virtuelle Maschine angewendet wird, wird diese Konfiguration in der VMX-Konfigurationsdatei der VM gespeichert. In unserem Fall überprüfen wir die Datei Ubuntu19.vmx im VM-Verzeichnis auf dem Datastore (/vmfs/volumes/datastore2/Ubuntu19/). Die Zeilen mit der neuen CPU-Konfiguration befinden sich am Ende der VMX-Datei.
numvcpus = „2“
cpuid.coresPerSocket = „2“
- Wenn Sie die Anzahl der Prozessoren (Sockets) für eine VM reduzieren müssen, verwenden Sie denselben Befehl wie zuvor, jedoch mit weniger Menge. Um beispielsweise einen Prozessor (Socket) für eine VM festzulegen, verwenden Sie diesen Befehl:
get-VM -name Ubuntu19 | set-VM -NumCpu 1
Der Hauptvorteil der Verwendung von PowerCLI besteht in der Möglichkeit, mehrere VMs im Großformat zu konfigurieren. Aufgabenautomatisierung ist wichtig und praktisch, wenn die Anzahl der zu konfigurierenden virtuellen Maschinen hoch ist. Verwenden Sie VMware-Cmdlets und die Syntax von Microsoft PowerShell, um Skripte zu erstellen.
Abschluss
Die Leistung von Anwendungen, die auf einer VM ausgeführt werden, hängt von der richtigen CPU- und Speicherkonfiguration ab. In VMware vSphere 6.5 und späteren Versionen sollten mehr Kerne in der CPU für virtuelle Maschinen eingestellt und der Ansatz „CPU-Kerne pro Socket“ verwendet werden. Wenn Sie vSphere-Versionen älter als vSphere 6.5 verwenden, konfigurieren Sie die Anzahl der Sockets, ohne die Anzahl der CPU-Kerne für eine VM zu erhöhen, aufgrund des unterschiedlichen Verhaltens von vNUMA in neueren und älteren vSphere-Versionen. Beachten Sie das Lizenzmodell der Software, die Sie auf einer VM installieren müssen. Wenn die Software pro CPU lizenziert ist, konfigurieren Sie mehr Kerne pro CPU in den VM-Einstellungen.
Beim Einsatz virtueller Maschinen in VMware vSphere sollten Sie nicht vergessen, VMware-Backup-Tools zu verwenden. Verwenden Sie NAKIVO Backup & Replication, um Ihre virtuellen Maschinen zu sichern, einschließlich VMs, die mehrere Kerne pro CPU haben. Regelmäßige Backups helfen Ihnen, Ihre Daten zu schützen und die Daten im Falle eines Desasters wiederherzustellen.
Source:
https://www.nakivo.com/blog/the-number-of-cores-per-cpu-in-a-virtual-machine/