Übung: Richtige Größenanpassung bei virtuellen Computern
Die Größe virtueller Computer muss auf die zu erwartende Verarbeitung abgestimmt werden. Ein virtueller Computer, der nicht über ausreichend Arbeitsspeicher oder CPU-Leistung verfügt, kann überlastet oder so langsam werden, dass er nicht effektiv ist.
Vordefinierte VM-Größen
Wenn Sie eine VM erstellen, können Sie einen Wert für die VM-Größe angeben, der die Menge an Computeressourcen bestimmt, die für die VM reserviert werden, z. B. CPU und GPU. Sie können ebenfalls die Menge an Arbeitsspeicher festlegen, die der VM von Azure zur Verfügung gestellt wird.
Azure enthält eine Reihe von vordefinierten VM-Größen für Linux und Windows, aus denen Sie basierend auf der erwarteten Nutzung auswählen können.
Typ | Größen | BESCHREIBUNG |
---|---|---|
Allgemein | Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 | Ausgewogenes Verhältnis von CPU zu Arbeitsspeicher. Ideal für Entwicklung und Tests, kleine bis mittlere Anwendungen und Datenlösungen. |
Für Compute optimiert | Fs, F | Mehr CPU als Arbeitsspeicher. Geeignet für Anwendungen, Netzwerkgeräte und Stapelverarbeitungsvorgänge mit mittlerer Auslastung. |
Arbeitsspeicheroptimiert | Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D | Hohes Verhältnis von Speicher zu Kern. Hervorragend geeignet für relationale Datenbanken, mittlere bis große Caches und In-Memory-Analysen. |
Speicheroptimiert | Ls | Datenträgerdurchsatz und -E/A auf hohem Niveau. Ideal für Big Data sowie SQL- und NoSQL-Datenbanken. |
GPU-optimiert | NV, NC | Spezialisierte virtuelle Computer für ressourcenintensives Grafikrendering und ressourcenintensive Videobearbeitung. |
Hohe Leistung | H, A8-11 | Die leistungsfähigsten CPU-VMs, die optional über Netzwerkschnittstellen mit hohem Durchsatz (RDMA) verfügen. |
Die verfügbaren Größen hängen von der Region ab, in der Sie den virtuellen Computer erstellen. Mit dem Befehl „vm list-sizes
“ können Sie eine Liste der verfügbaren Größen abrufen. Geben Sie den folgenden Befehl in Azure Cloud Shell ein:
az vm list-sizes --location eastus --output table
Hier finden Sie eine gekürzte Antwort für eastus
:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
2 2048 Standard_B1ms 1 1047552 4096
2 1024 Standard_B1s 1 1047552 2048
4 8192 Standard_B2ms 2 1047552 16384
4 4096 Standard_B2s 2 1047552 8192
8 16384 Standard_B4ms 4 1047552 32768
16 32768 Standard_B8ms 8 1047552 65536
4 3584 Standard_DS1_v2 1 1047552 7168
8 7168 Standard_DS2_v2 2 1047552 14336
16 14336 Standard_DS3_v2 4 1047552 28672
32 28672 Standard_DS4_v2 8 1047552 57344
64 57344 Standard_DS5_v2 16 1047552 114688
....
64 3891200 Standard_M128-32ms 128 1047552 4096000
64 3891200 Standard_M128-64ms 128 1047552 4096000
64 3891200 Standard_M128ms 128 1047552 4096000
64 2048000 Standard_M128s 128 1047552 4096000
64 1024000 Standard_M64 64 1047552 8192000
64 1792000 Standard_M64m 64 1047552 8192000
64 2048000 Standard_M128 128 1047552 16384000
64 3891200 Standard_M128m 128 1047552 16384000
Festlegen einer Größe während der VM-Erstellung
Wir haben beim Erstellen der VM keine Größe angegeben, daher hat Azure eine universelle Standardgröße für uns ausgewählt. Wir können jedoch die Größe mithilfe des --size
-Parameters im vm create
-Befehl angeben. Sie könnten z. B. über den folgenden Befehl eine VM mit zwei Kernen erstellen:
az vm create \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM2 \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--verbose \
--size "Standard_DS2_v2"
Warnung
Je nach Abonnement können Sie unterschiedlich viele und unterschiedlich große Ressourcen erstellen. Kontingentgrenzen hängen von Ihrem Abonnementtyp und Ihrer Region ab. Die Azure CLI informiert Sie darüber, wenn dieser Grenzwert überschritten ist, und gibt den Fehler Kontingent überschritten aus. Wenn dieser Fehler in Ihrem kostenpflichtigen Abonnement angezeigt wird, können Sie eine kostenlose Onlineanforderung übermitteln, um die Grenzwerte Ihres kostenpflichtigen Abonnements auf bis zu 10.000 vCPUs zu erhöhen.
Ändern der Größe einer vorhandenen VM
Wir können die Größe eines vorhandenen virtuellen Computers auch ändern, wenn sich die Workload ändert oder die Größe während der Erstellung falsch festgelegt wurde. Verwenden wir die erste VM, die wir erstellt haben, SampleVM. Vor der Anforderung einer Größenänderung müssen wir überprüfen, ob die gewünschte Größe in dem Cluster verfügbar ist, dem unsere VM angehört. Wir können den Befehl vm list-vm-resize-options
verwenden:
az vm list-vm-resize-options \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--output table
Dieser Befehl gibt eine Liste aller möglichen Größenkonfigurationen zurück, die in der Ressourcengruppe verfügbar sind. Wenn die gewünschte Größe zwar nicht in unserem Cluster, aber in der Region verfügbar ist, können wir die Zuordnung der VM aufheben. Dieser Befehl beendet die ausgeführte VM und entfernt sie aus dem aktuellen Cluster, ohne dass dabei Ressourcen verloren gehen. Dann können wir die Größe ändern, wodurch die VM in einem neuen Cluster erneut erstellt wird, in dem diese Größenkonfiguration verfügbar ist.
Hinweis
Die Microsoft Learn-Sandbox ist auf einige VM-Größen beschränkt.
Zum Ändern der Größe einer VM verwenden wir den Befehl vm resize
. Beispiel: Nehmen wir an, unsere VM ist für den Task, der auf dieser ausgeführt werden soll, nicht ausreichend ausgelastet. Wir könnten sie auf D2s_v3 mit zwei virtuellen Kernen und 8 GB Arbeitsspeicher aufstocken. Geben Sie folgenden Befehl in Cloud Shell ein:
az vm resize \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--size Standard_D2s_v3
Es dauert einige Minuten, bis dieser Befehl die Ressourcen der VM reduziert hat. Nach Abschluss des Vorgangs gibt der Befehl eine neue JSON-Konfiguration zurück.