Документация BILLmanager 6
Документация — ваш лучший друг?
Поделитесь мнением и пройдите небольшой опрос
Пройти опрос

Принцип работы пула серверов

Когда в BILLmanager имеется обработчик услуг, использующий пул серверов, система автоматически создает виртуальные машины и помещает их в пул.

Поместить в пул — значит назначить владельцем виртуальной машины специального клиента, который выполняет роль пула. Для аккаунта-пула автоматически назначается скидка 100% на услуги. Учетная запись такого клиента должна состоять в группе клиентов с правами Разрешить остановку/включение услуг и Игнорировать количество услуг на аккаунт. Настройка прав группы клиентов доступна на странице КлиентыГруппы клиентов → кнопка Изменить.

Автоматические операции

При использовании пула серверов, в автоматическом режиме выполняются следующие операции:

  1. Вычисляется статистика продаж виртуальных серверов. 
  2. Выполняется создание серверов в пул. 
  3. Запускается удаление старых серверов. 

За эти операции отвечает задание в планировщике (cron):

*/3 * * * *	/usr/local/mgr5/sbin/mgrctl -m billmgr itempool.process.cron

Принцип расчета статистики зависит от версии VMmanager:

  • Для VMmanager KVM количество серверов, созданных за период сбора статистики, считается отдельно для каждой комбинации тарифного плана и операционной системы (далее ОС).  

Например, провайдер предоставляет клиентам виртуальные выделенные серверы по тарифному плану "Доступный VDS". Тариф подключен к обработчику услуг "Обработка VDS", который интегрирован с VMmanager KVM. Для обработчика услуг настроен пул серверов: поле "Вычислять статистику за" принимает значение "3", поле "Заказано за период (0 < VDS <= 3)" принимает значение "2", а поле "Заказано за период (3 < VDS <= 6)" принимает значение "4". 

За последние 3 дня у провайдера по тарифу "Доступный VDS" приобрели 1 VDS с предустановленной ОС Ubuntu 16.04 и 5 VDS с предустановленной ОС CentOS 7. В таком случае, в пул серверов будет добавлено 2 сервера с Ubuntu 16.04 и 4 сервера с CentOS 7. 

  • Для VMmanager OVZ количество серверов, созданных за период сбора статистики, считается отдельно для каждой ОС. При создании серверов в пул, тарифный план выбирается автоматически. Будет использован тариф с наименьшим значением сортировки (наиболее высоким приоритетом). 

Например, провайдер предоставляет клиентам виртуальные выделенные серверы по тарифным планам "Доступный VDS" и "Популярный VDS". Значения сортировки тарифов: для "Доступный VDS" — "1" и для "Популярный VDS" — "2". Тарифы подключены к обработчику услуг "Обработка VDS", который интегрирован с VMmanager OVZ. Для обработчика услуг настроен пул серверов: поле Вычислять статистику за принимает значение "3", а поле Заказано за период (3 < VDS <= 6) принимает значение "4". 

За последние 3 дня у провайдера по тарифу "Популярный VDS" приобрели 2 VDS с предустановленной ОС CentOS 7 и по тарифу "Доступный VDS" приобрели 3 VDS с предустановленной ОС CentOS 7. В таком случае, в пул серверов будет добавлено 4 сервера с CentOS 7 с тарифным планом "Доступный VDS". 

Обратите внимание!
Одновременное создание/удаление нескольких серверов через один модуль обработки не поддерживается.

Процесс выдачи серверов из пула

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

В процессе выдачи виртуального сервера происходит:

  1. Копирование параметров: пароля и основного IP-адреса от услуги в пуле к услуге, которую заказал клиент. 
  2. Удаление из базы данных информации об услуге в пуле. 
  3. Смена доменного имени сервера. В VMmanager доменное имя для виртуальной машины заменяется на то, которое клиент указал при заказе услуги. 
  4. Для VMmanager KVM запуск скрипта по смене параметра сервера 'hostname'. Данный шаг выполняется, если на сервере установлена unix-подобная операционная система.
  5. Запуск рецепта, если он был выбран клиентом. 

После отключения опции "Использовать пул" для обработчика услуг, система продолжит выдавать клиентам серверы из пула. Так происходит, пока виртуальные машины не закончатся в пуле, либо пока серверы не устареют и не удалятся автоматически.