Оверселлинг
Оверселлинг позволяет продать больше ресурсов сервера, чем есть на самом деле. Если провайдер использует оверселлинг, то он может разместить большее количество виртуальных машин (ВМ) без увеличения мощности сервера. При этом фактически для ВМ не будет выделено ресурсов больше, чем есть на сервере.
Например, провайдер продаёт и размещает ВМ на сервере с объёмом оперативной памяти (RAM) 32 GB. По тарифу на одну ВМ выделяется 4 GB RAM. Таким образом провайдер сможет продать 8 ВМ. Чтобы разместить большее количество ВМ, провайдер включил для сервера оверселлинг с коэффициентом 1.5. Доступный для продажи объём RAM увеличился до 48 GB и теперь на сервере можно разместить 12 ВМ.
Оверселлинг возможен при условии, что ВМ потребляют меньше ресурсов, чем для них было выделено при создании. Например, для ВМ выделено 4 GB RAM, но фактически используется только 1 GB. Свободная оперативная память может быть задействована при создании других ВМ.
Обратите внимание!
При запуске ВМ используют всю выделенную для них оперативную память. Если это приведёт к отсутствию свободной памяти на сервере, некоторые сиcтемные процессы могут завершиться аварийно.
Обратите внимание!
Оверселлинг может снизить общую производительность созданных ВМ.
Логика работы оверселлинга в VMmanager
VMmanager поддерживает оверселлинг:
- CPU;
- оперативной памяти;
- дискового пространства — только для файлового хранилища и ZFS.
Настройки оверселлинга CPU и оперативной памяти можно указать для кластера и отдельно для каждого узла. Коэффициенты дискового пространства можно указать для хранилища кластера и отдельно для хранилища каждого узла. Чтобы посчитать доступное количество ресурса, VMmanager умножит фактическое количество на указанный коэффициент.
При подключении узла кластера его коэффициенты оверселлинга по умолчанию совпадают с коэффициентами кластера. Если изменить коэффициенты для кластера, то они не будут изменены для уже подключённых узлов. Новые коэффициенты действуют только для новых узлов.
Информация о настройках оверселлинга отображается в списке узлов.
Информация о настройках оверселлинга
Настройка оверселлинга CPU
Для кластера
- Перейдите в Кластеры → нажмите на название кластера.
- В разделе Общие настройки укажите Коэффициент оверселлинга CPU.
- Нажмите Сохранить.
Также вы можете указать коэффициент оверселлинга при создании кластера.
Настройка оверселлинга CPU для кластера
Для узла кластера
- Перейдите в Узлы → нажмите на название узла.
- Нажмите Настройки распределения VM.
- Укажите Ограничение количества vCPU — максимальное количество vCPU, которое можно выделить для ВМ на этом узле.
- Нажмите Сохранить.
Также вы можете указать ограничение количества vCPU при подключении узла.
Настройка оверселлинга CPU для узла кластера
Настройка оверселлинга RAM
Для кластера
- Перейдите в Кластеры → нажмите на название кластера.
- В разделе Общие настройки укажите Коэффициент оверселлинга RAM на узле.
- Нажмите Сохранить.
Также вы можете указать коэффициент оверселлинга при создании кластера.
Настройка оверселлинга RAM для кластера
Для узла кластера
- Перейдите в Узлы → нажмите на название узла.
- Нажмите Настройки распределения VM.
- Укажите Коэффициент оверселлинга.
- Нажмите Сохранить.
Также вы можете указать коэффициент оверселлинга при подключении узла.
Настройка оверселлинга RAM для узла кластера
Настройка оверселлинга диска
Коэффициент оверселлинга для хранилища узла кластера вы можете настроить через интерфейс платформы или API, для хранилища кластера — только через API. В интерфейсе платформы оверселлинг можно настроить в карточке узла или кластера.
Настройка в карточке узла
- Перейдите в Узлы → выберите узел → Локальные хранилища →
.
- Введите коэффициент оверселлинга.
- Нажмите Сохранить.
Настройка в карточке кластера
- Перейдите в Кластеры → выберите кластер → Локальные хранилища.
- Нажмите Изменить в колонке Оверселлинг.
- Введите коэффициент оверселлинга.
- Нажмите Сохранить.
Настройка через API
Получите токен авторизации:
curl -X POST 'https://domain.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
CODEПояснения к командеdomain.com — доменное имя или IP-адрес сервера с платформой
admin_email — email администратора платформы
admin_pass — пароль администратора платформы
В ответ придёт сообщение вида:
Пример ответа в JSON
{ "confirmed": true, "id": "6", "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a" }
CODEСохраните из полученного ответа значение параметра token — токен авторизации.
- Задайте коэффициент оверселлинга дисков:
для хранилища кластера:
curl -H "x-xsrf-token: <token>" https://domain.com/vm/v3/cluster/<cluster_id>/storage/<storage_id>/hdd_overselling -d '{"value":<ratio>}'
CODEПояснения к команде<token> — токен авторизации
domain.com — доменное имя сервера с VMmanager
<cluster_id> — id кластера VMmanager
<storage_id> — id хранилища кластера
<ratio> — коэффициент оверселлинга диска. Минимальное значение — 0,5, максимальное — 5.
для хранилища узла кластера:
curl -H "x-xsrf-token: <token>" https://domain.com/vm/v3/node/<node_id>/storage/<storage_id>/hdd_overselling -d '{"value":<ratio>}'
CODEПояснения к команде<token> — токен авторизации
domain.com — доменное имя сервера с VMmanager
<node_id> — id узла кластера VMmanager
<storage_id> — id хранилища узла кластера
<ratio> — коэффициент оверселлинга диска. Минимальное значение — 0,5, максимальное — 5.