Изменение ресурсов виртуальных машин
Можно изменить объем ресурсов ЦП и ОЗУ, используемых виртуальной машиной, применив к ней другой тип ВМ. Для изменения размера работающей ВМ необходимо сначала разрешить для нее горячее подключение ЦП и ОЗУ. Настройки горячего подключения можно изменить как для новых, так и для существующих ВМ.
Запущенная виртуальная машина имеет лимит изменения размера, определяющий максимальное число виртуальных ЦП и максимальный объем ОЗУ, которые можно выделить этой ВМ. Лимит изменения размера для виртуальных ЦП является статическим и равен 64 для всех ВМ. Лимит изменения размера для ОЗУ, напротив, является динамическим и зависит от объема ОЗУ, который запущенная ВМ использует в настоящее время. Этот лимит обновляется при запуске ВМ, а его значения перечислены в таблице ниже.
| Текущий размер ОЗУ в ГиБ | Ограничение размера ОЗУ в ГиБ |
|---|---|
| 1-4 | 16 |
| 5-8 | 32 |
| 9-16 | 64 |
| 17-32 | 128 |
| 33-64 | 256 |
| 65-128 | 512 |
| 129-256 | 1024 |
Например, можно изменить размер запущенной ВМ, изменив тип ВМ с 16 ГиБ ОЗУ на тип ВМ с 256 ГиБ в два подхода.
- Измените размер ВМ, установив тип ВМ с 64 ГиБ.
- Выключите ВМ и запустите ее снова, чтобы обновить лимит изменения размера.
- Измените размер ВМ, установив тип ВМ с 256 ГиБ.
Ограничения
- Нельзя изменить тип для ВМ с освобожденными ресурсами. Чтобы изменить размер такой ВМ, сначала назначьте ей ресурсы.
- Нельзя уменьшить число ЦП и объем ОЗУ для запущенных ВМ.
- [Для всех гостевых систем Linux] Если в ВМ не установлены дополнения гостевой ОС, новые ядра могут быть в состоянии офлайн после горячего подключения ЦП. Проверить, какие ядра ЦП находятся в состоянии онлайн, можно с помощью команды
cat /sys/devices/system/cpu/online. Чтобы активировать ядра ЦП в состоянии офлайн, выполните командуecho 1 > /sys/devices/system/cpu/cpu<cpu_number>/online.
Предварительные требования
- Перед изменением типа ВМ убедитесь, что сервер, на котором размещена ВМ, имеет достаточно ресурсов ЦП и ОЗУ для нового размера ВМ.
- Перед изменением размера запущенной ВМ убедитесь, что гостевая операционная система поддерживает горячее подключение ЦП и ОЗУ (см. раздел Поддерживаемые гостевые операционные системы). Учтите, что в противном случая после изменения размера гостевая ОС может работать нестабильно. Чтобы увеличить ресурсы ЦП и ОЗУ для такой гостевой ОС, необходимо сначала остановить виртуальную машину.
- Перед изменением размера запущенной ВМ убедитесь, что в гостевой операционной системе установлены последние обновления.
Как разрешить или запретить горячее подключение ЦП и ОЗУ для виртуальной машины
Панель администратора
- Перейдите на экран Вычисления > Виртуальные машины > Виртуальные машины и убедитесь, что нужная виртуальная машина находится в состоянии «Выключена», а затем щелкните по ней.
-
На вкладке Сводка нажмите значок карандаша в поле Горячее подключение ЦП и ОЗУ.
- Установите или снимите флажок Разрешить горячее подключение, а затем нажмите галочку, чтобы сохранить изменения.
Если горячее подключение ЦП и ОЗУ разрешено, можно изменять тип для работающей ВМ.
Интерфейс командной строки
Используйте следующую команду:
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
Как изменить тип виртуальной машины
Панель администратора
- Перейдите на экран Вычисления > Виртуальные машины > Виртуальные машины и щелкните по нужной ВМ.
- На вкладке Сводка щелкните по значку карандаша в поле Тип ВМ.
- В окне Тип ВМ выберите новый тип ВМ и нажмите Готово.
Интерфейс командной строки
Используйте следующую команду:
vinfra service compute server resize --flavor <flavor> <server>
--flavor <flavor>- Применение типа с идентификатором или именем.
<server>- Идентификатор или имя виртуальной машины.
Например, чтобы изменить тип виртуальной машины myvm на small, выполните:
# vinfra service compute server resize myvm --flavor small