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

Можно изменить объем ресурсов ЦП и ОЗУ, используемых виртуальной машиной, применив к ней другой тип ВМ. Для изменения размера работающей ВМ необходимо сначала разрешить для нее горячее подключение ЦП и ОЗУ. Настройки горячего подключения можно изменить как для новых, так и для существующих ВМ.

Запущенная виртуальная машина имеет лимит изменения размера, определяющий максимальное число виртуальных ЦП и максимальный объем ОЗУ, которые можно выделить этой ВМ. Лимит изменения размера для виртуальных ЦП является статическим и равен 64 для всех ВМ. Лимит изменения размера для ОЗУ, напротив, является динамическим и зависит от объема ОЗУ, который запущенная ВМ использует в настоящее время. Этот лимит обновляется при запуске ВМ, а его значения перечислены в таблице ниже.

Текущий размер ОЗУ в ГиБ Ограничение размера ОЗУ в ГиБ
1-4 16
5-8 32
9-16 64
17-32 128
33-64 256
65-128 512
129-256 1024

Например, можно изменить размер запущенной ВМ, изменив тип ВМ с 16 ГиБ ОЗУ на тип ВМ с 256 ГиБ в два подхода.

  1. Измените размер ВМ, установив тип ВМ с 64 ГиБ.
  2. Выключите ВМ и запустите ее снова, чтобы обновить лимит изменения размера.
  3. Измените размер ВМ, установив тип ВМ с 256 ГиБ.

Ограничения

  • Нельзя изменить тип для ВМ с освобожденными ресурсами. Чтобы изменить размер такой ВМ, сначала назначьте ей ресурсы.
  • Нельзя уменьшить число ЦП и объем ОЗУ для запущенных ВМ.
  • [Для всех гостевых систем Linux] Если в ВМ не установлены дополнения гостевой ОС, новые ядра могут быть в состоянии офлайн после горячего подключения ЦП. Проверить, какие ядра ЦП находятся в состоянии онлайн, можно с помощью команды cat /sys/devices/system/cpu/online. Чтобы активировать ядра ЦП в состоянии офлайн, выполните команду echo 1 > /sys/devices/system/cpu/cpu<cpu_number>/online.

Предварительные требования

  • Перед изменением типа ВМ убедитесь, что сервер, на котором размещена ВМ, имеет достаточно ресурсов ЦП и ОЗУ для нового размера ВМ.
  • Перед изменением размера запущенной ВМ убедитесь, что гостевая операционная система поддерживает горячее подключение ЦП и ОЗУ (см. раздел Поддерживаемые гостевые операционные системы). Учтите, что в противном случая после изменения размера гостевая ОС может работать нестабильно. Чтобы увеличить ресурсы ЦП и ОЗУ для такой гостевой ОС, необходимо сначала остановить виртуальную машину.
  • Перед изменением размера запущенной ВМ убедитесь, что в гостевой операционной системе установлены последние обновления.

Как разрешить или запретить горячее подключение ЦП и ОЗУ для виртуальной машины

Панель администратора

  1. Перейдите на экран Вычисления > Виртуальные машины > Виртуальные машины и убедитесь, что нужная виртуальная машина находится в состоянии «Выключена», а затем щелкните по ней.
  2. На вкладке Сводка нажмите значок карандаша в поле Горячее подключение ЦП и ОЗУ.

  3. Установите или снимите флажок Разрешить горячее подключение, а затем нажмите галочку, чтобы сохранить изменения.

Если горячее подключение ЦП и ОЗУ разрешено, можно изменять тип для работающей ВМ.

Интерфейс командной строки

Используйте следующую команду:

vinfra service compute server set <server> {--allow-live-resize | --deny-live-resize}
--allow-live-resize
Разрешает изменение размера виртуальной машины в онлайн-режиме.
--deny-live-resize
Запрещает изменение размера виртуальной машины в онлайн-режиме.
<server>
Идентификатор или имя виртуальной машины.

Например, чтобы разрешить горячее подключение ЦП и ОЗУ для виртуальной машины myvm, выполните:

# vinfra service compute server set myvm --allow-live-resize

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

Панель администратора

  1. Перейдите на экран Вычисления > Виртуальные машины > Виртуальные машины и щелкните по нужной ВМ.
  2. На вкладке Сводка щелкните по значку карандаша в поле Тип ВМ.
  3. В окне Тип ВМ выберите новый тип ВМ и нажмите Готово.

Интерфейс командной строки

Используйте следующую команду:

vinfra service compute server resize --flavor <flavor> <server>
--flavor <flavor>
Применение типа с идентификатором или именем.
<server>
Идентификатор или имя виртуальной машины.

Например, чтобы изменить тип виртуальной машины myvm на small, выполните:

# vinfra service compute server resize myvm --flavor small