Упражнение. Корректное изменение размера виртуальных машин
Размеры виртуальных машин должны соответствовать ожидаемой рабочей нагрузке. Виртуальная машина без правильного объема памяти или ЦП не выдержит нагрузки или будет работать слишком медленно и неэффективно.
Стандартные размеры виртуальных машин
При создании виртуальной машины можно указать значение размера виртуальной машины, определяющее объем вычислительных ресурсов, выделенных виртуальной машине, включая ЦП, 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.