Оверселлинг позволяет продать больше ресурсов сервера, чем есть на самом деле. Если провайдер использует оверселлинг, то он может разместить большее количество виртуальных машин (ВМ) без увеличения мощности сервера. При этом фактически для ВМ не будет выделено ресурсов больше, чем есть на сервере.

Например, провайдер продаёт и размещает ВМ на сервере с объёмом оперативной памяти (RAM) 32 ГБ. По тарифу на одну ВМ выделяется 4 ГБ RAM. Таким образом провайдер сможет продать 8 ВМ. Чтобы разместить большее количество ВМ, провайдер включил для сервера оверселлинг с коэффициентом 1.5. Доступный для продажи объём RAM увеличился до 48 ГБ и теперь на сервере можно разместить 12 ВМ. 

Оверселлинг возможен при условии, что ВМ потребляют меньше ресурсов, чем для них было выделено при создании. Например, для ВМ выделено 4 ГБ RAM, но фактически используется только 1 ГБ. Свободная оперативная память может быть задействована при создании других ВМ.

  • Оверселлинг может снизить общую производительность созданных ВМ.
  • При запуске ВМ используют всю выделенную для них оперативную память. Если это приведёт к отсутствию свободной памяти на сервере, некоторые сиcтемные процессы могут завершиться аварийно.

Логика работы оверселлинга в VMmanager


VMmanager поддерживает оверселлинг:

  • CPU;
  • оперативной памяти;
  • дискового пространства — только для файлового хранилища, NAS и ZFS.

Настройки оверселлинга CPU и оперативной памяти можно указать для кластера и отдельно для каждого узла. Коэффициенты дискового пространства можно указать:

  • файловое хранилище и ZFS — для хранилища кластера и отдельно для хранилища каждого узла;
  • NAS — только для хранилища кластера.

Чтобы посчитать доступное количество ресурса, VMmanager умножит фактическое количество на указанный коэффициент. 

При подключении узла кластера его коэффициенты оверселлинга по умолчанию совпадают с коэффициентами кластера. Если изменить коэффициенты для кластера, то они не будут изменены для уже подключённых узлов. Новые коэффициенты действуют только для новых узлов. 

Информация о настройках оверселлинга отображается в карточке узла.

Информация о настройках оверселлинга

Настройка оверселлинга CPU


Для кластера

  1. Перейдите в раздел Кластеры → нажмите на название кластера.
  2. В разделе Общие настройки укажите Коэффициент оверселлинга CPU.
  3. Нажмите кнопку Сохранить.

Также вы можете указать коэффициент оверселлинга при создании кластера. 

 

Настройка оверселлинга CPU для кластера

Для узла кластера

  1. Перейдите в раздел Узлы → нажмите на название узла. 
  2. Перейдите в раздел Настройки распределения VM
  3. Укажите Ограничение количества vCPU — максимальное количество vCPU, которое можно выделить для ВМ на этом узле.
  4. Нажмите кнопку Сохранить

Также вы можете указать ограничение количества vCPU при подключении узла.

Настройка оверселлинга CPU для узла кластера

Настройка оверселлинга RAM


Для кластера

  1. Перейдите в раздел Кластеры → нажмите на название кластера.
  2. В разделе Общие настройки укажите Коэффициент оверселлинга RAM на узле
  3. Нажмите кнопку Сохранить

Также вы можете указать коэффициент оверселлинга при создании кластера. 

Настройка оверселлинга RAM для кластера

Для узла кластера

  1. Перейдите в раздел Узлы → нажмите на название узла. 
  2. Перейдите в раздел Настройки распределения VM
  3. Укажите Коэффициент оверселлинга
  4. Нажмите кнопку Сохранить

Также вы можете указать коэффициент оверселлинга при подключении узла.

Настройка оверселлинга RAM для узла кластера

Настройка оверселлинга диска


В интерфейсе платформы оверселлинг можно настроить в карточке узла или кластера. Коэффициент оверселлинга для файлового или ZFS-хранилища кластера можно задать только через API.

Настройка в карточке узла

  1. Перейдите в раздел Узлы → выберите узел →раздел Локальные хранилища → значок .

  2. Введите Коэффициент оверселлинга.
  3. Нажмите кнопку Сохранить.

Настройка в карточке кластера

Файловое хранилище

  1. Перейдите в раздел Кластеры → выберите кластер → раздел Локальные хранилища → выберите хранилище.
  2. Нажмите Изменить в колонке Оверселлинг.
  3. Введите Коэффициент оверселлинга.
  4. Нажмите кнопку Сохранить.

NAS

  1. Перейдите в раздел Кластеры → выберите кластер → раздел Сетевые хранилища → выберите хранилище → значок .
  2. Введите Коэффициент оверселлинга.
  3. Нажмите кнопку Сохранить.

Настройка через API

  1. Получите токен авторизации:

    curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" '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,
      "expires_at": null,
      "id": "6",
      "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a"
    }
    CODE

    Сохраните полученное значение параметра token — токен авторизации.

  2. Задайте коэффициент оверселлинга дисков:
    • для хранилища кластера:

      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.