Ćwiczenie — Poprawne określanie rozmiaru maszyn wirtualnych

Ukończone

Maszyny wirtualne muszą mieć rozmiary stosowne do oczekiwanej pracy. Maszyna wirtualna bez odpowiedniej ilości pamięci lub zasobów procesora CPU ulegnie awarii przy zbyt dużym obciążeniu lub będzie działać zbyt wolno, a tym samym nieefektywnie.

Wstępnie zdefiniowane rozmiary maszyn wirtualnych

Podczas tworzenia maszyny wirtualnej można podać wartość rozmiaru maszyny wirtualnej, która określa ilość zasobów obliczeniowych poświęconych maszynie wirtualnej, w tym procesor CPU, procesor GPU i pamięć udostępnioną maszynie wirtualnej z platformy Azure.

Platforma Azure definiuje zestaw wstępnie zdefiniowanych rozmiarów maszyn wirtualnych dla systemów Linux i Windows, z których mają być wybierane na podstawie oczekiwanego użycia.

Typ Rozmiary opis
Ogólnego przeznaczenia Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0–7 Zrównoważona moc procesora CPU w stosunku do pamięci. Opcja idealna w przypadku tworzenia i testowania, małych i średnich aplikacji oraz rozwiązań dotyczących danych.
Optymalizacja pod kątem obliczeń Fs, F Duża moc procesora CPU w stosunku do pamięci. Opcja dobra w przypadku aplikacji o średnim ruchu, urządzeń sieciowych i procesów wsadowych.
Optymalizacja pod kątem pamięci Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D Duża ilość pamięci na rdzeń. Opcja bardzo dobra w przypadku relacyjnych baz danych, średnich i dużych pamięci podręcznych oraz analizowania w pamięci.
Optymalizacja pod kątem magazynu Ls Wysoka przepływność dysku i duża liczba operacji we/wy. Opcja idealna w przypadku danych big data oraz baz danych SQL i NoSQL.
Optymalizacja pod kątem procesora GPU NV, NC Maszyny wirtualne wyspecjalizowane pod kątem intensywnego renderowania grafiki i edytowania materiałów wideo.
Wysoka wydajność H, A8-11 Maszyny wirtualne z najbardziej wydajnymi procesorami CPU oraz, opcjonalnie, interfejsami sieciowymi zapewniającymi wysoką przepływność (RDMA).

Dostępne rozmiary zmieniają się w zależności od regionu, w którym tworzysz maszynę wirtualną. Aby wyświetlić listę dostępnych rozmiarów, użyj polecenia vm list-sizes. Spróbuj wpisać następujące polecenie w usłudze Azure Cloud Shell:

az vm list-sizes --location eastus --output table

Poniżej przedstawiono skrócony wynik dla regionu 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

Określanie rozmiaru podczas tworzenia maszyny wirtualnej

Nie określiliśmy rozmiaru podczas tworzenia maszyny wirtualnej, więc platforma Azure wybrała domyślny rozmiar ogólnego przeznaczenia. Możemy jednak określić rozmiar w ramach polecenia vm create, używając parametru --size. Na przykład możesz użyć następującego polecenia, aby utworzyć dwurdzeniową maszynę wirtualną:

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"

Ostrzeżenie

Twoja warstwa subskrypcji wymusza limity dotyczące liczby zasobów, które możesz utworzyć, a także całkowitego rozmiaru tych zasobów. Limity przydziału zależą od typu subskrypcji i regionu. Interfejs wiersza polecenia platformy Azure informuje o przekroczeniu tego limitu z powodu błędu Przekroczono limit przydziału. Jeśli wystąpi ten błąd we własnej płatnej subskrypcji, możesz poprosić o podniesienie limitów skojarzonych z subskrypcją płatną (do 10 000 procesorów wirtualnych) za pośrednictwem bezpłatnego żądania online.

Zmiana rozmiaru istniejącej maszyny wirtualnej

Możemy również zmienić rozmiar istniejącej maszyny wirtualnej, jeśli obciążenie ulegnie zmianie lub jeśli rozmiar został niepoprawnie zmieniony podczas tworzenia. Użyjmy pierwszej utworzonej maszyny wirtualnej SampleVM. Przed zażądaniem zmiany rozmiaru musimy sprawdzić, czy żądany rozmiar jest dostępny w klastrze, w którym nasza maszyna wirtualna jest częścią. Możemy użyć vm list-vm-resize-options polecenia :

az vm list-vm-resize-options \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --name SampleVM \
    --output table

To polecenie zwraca listę wszystkich możliwych konfiguracji rozmiaru dostępnych w grupie zasobów. Jeśli żądany rozmiar nie jest dostępny w naszym klastrze, ale jest dostępny w regionie, możemy cofnąć przydział maszyny wirtualnej. To polecenie zatrzymuje uruchomioną maszynę wirtualną i usuwa ją z bieżącego klastra bez utraty żadnych zasobów. Następnie możemy zmienić jego rozmiar, co spowoduje ponowne utworzenie maszyny wirtualnej w nowym klastrze, w którym jest dostępna konfiguracja rozmiaru.

Uwaga

W piaskownicy środowiska Microsoft Learn istnieje ograniczenie do kilku rozmiarów maszyn wirtualnych.

Aby zmienić rozmiar maszyny wirtualnej, użyjemy vm resize polecenia . Na przykład możemy dowiedzieć się, że nasza maszyna wirtualna jest zbyt słaba do wykonania danego zadania. Możemy podnieść go do D2s_v3, gdzie ma 2 rdzenie wirtualne i 8 GB pamięci. Wpisz następujące polecenie w usłudze Cloud Shell:

az vm resize \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --name SampleVM \
    --size Standard_D2s_v3

To polecenie zajmuje kilka minut, aby zmniejszyć zasoby maszyny wirtualnej, a po zakończeniu zwraca nową konfigurację JSON.