Упражнение. Корректное изменение размера виртуальных машин

Завершено

Размеры виртуальных машин должны соответствовать ожидаемой рабочей нагрузке. Виртуальная машина без правильного объема памяти или ЦП не выдержит нагрузки или будет работать слишком медленно и неэффективно.

Стандартные размеры виртуальных машин

При создании виртуальной машины можно указать значение размера виртуальной машины, определяющее объем вычислительных ресурсов, выделенных виртуальной машине, включая ЦП, GPU и память, доступную виртуальной машине из Azure.

Azure определяет набор предопределенных размеров виртуальных машин для Linux и Windows, из которых следует выбирать на основе ожидаемого использования.

Тип Размеры Description
Универсальные Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0–7 Сбалансированное соотношение ресурсов ЦП и памяти. Идеально подходят для разработки и тестирования малых и средних приложений и решений для обработки данных.
Оптимизированные для вычислений Fs, F Высокое соотношение ресурсов ЦП и памяти. Подходят для приложений со средним объемом трафика, сетевых устройств и пакетных процессов.
Оптимизированные для памяти Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D Высокое соотношение ресурсов памяти и числа ядер. Отлично подходят для реляционных баз данных, кэша среднего и большого объема, а также выполняющейся в памяти аналитики.
Оптимизированные для хранилища Ls Высокая пропускная способность дисков и количество операций ввода-вывода. Идеальный вариант для работы с большими данными, а также с базами данных SQL и NoSQL.
Оптимизированные для GPU NV, NC Специализированные виртуальные машины, предназначенные для ресурсоемкой отрисовки изображений и редактирования видео.
Высокопроизводительные H, A8–A11 Виртуальные машины с самыми мощными ЦП, для которых можно настроить сетевые интерфейсы с высокой пропускной способностью (RDMA).

Доступные размеры зависят от региона, где вы создаете виртуальную машину. Список доступных размеров можно получить с помощью команды vm list-sizes. Попробуйте ввести следующую команду в Azure Cloud Shell:

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

Ниже приведен сокращенный ответ для 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

Настройка размера виртуальной машины при ее создании

Мы не указали размер при создании виртуальной машины, поэтому в Azure выбран универсальный размер по умолчанию. Но мы можем указать размер с помощью команды vm create с параметром --size. Например, можно использовать следующую команду для создания двух основных виртуальных машин:

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"

Предупреждение

Ваш уровень подписки ограничивает количество ресурсов, которые вы можете создавать, а также общий размер этих ресурсов. Квоты зависят от типа подписки и региона. Azure CLI позволяет узнать, когда превышено это ограничение с ошибкой "Превышена квота". Если в платной подписке у вас возникнет эта ошибка, вы можете запросить увеличение лимита по платной подписке (до 10 000 виртуальных ЦП), отправив бесплатный онлайн-запрос.

Изменение размера существующей виртуальной машины

Можно также изменить размер существующей виртуальной машины, если изменена рабочая нагрузка или если при создании виртуальной машины был выбран неправильный размер. Мы будем использовать первую виртуальную машину, которую мы создали — SampleVM. Перед отправкой запроса на изменение размера мы должны проверить, доступен ли желаемый размер в кластере, где расположена наша виртуальная машина. Мы можем использовать vm list-vm-resize-options команду:

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

Эта команда возвращает список всех возможных конфигураций размера, доступных в группе ресурсов. Если нужный размер недоступен в нашем кластере, но доступен в регионе, мы можем освободить виртуальную машину. Эта команда останавливает запущенную виртуальную машину и удаляет ее из текущего кластера без потери ресурсов. Затем мы можем изменить его размер, который повторно создает виртуальную машину в новом кластере, где доступна конфигурация размера.

Примечание.

Возможности песочницы Microsoft Learn ограничены лишь несколькими размерами виртуальных машин.

Чтобы изменить размер виртуальной машины, мы будем использовать vm resize команду. Например, предположим, что наша виртуальная машина недостаточно мощная для требуемой задачи. Мы можем заменить ее улучшенным вариантом D2s_v3 с двумя виртуальными ядрами и 8 ГБ памяти. Введите следующую команду в Cloud Shell:

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

Эта команда занимает несколько минут, чтобы уменьшить ресурсы виртуальной машины, и после этого она возвращает новую конфигурацию JSON.