Übung: Richtige Größenanpassung bei virtuellen Computern

Abgeschlossen

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.