Когда в BILLmanager имеется обработчик услуг, использующий пул серверов, система автоматически создает виртуальные машины и помещает их в пул.
Поместить в пул — значит назначить владельцем виртуальной машины специального клиента, который выполняет роль пула. Для аккаунта-пула автоматически назначается скидка 100% на услуги. Учетная запись такого клиента должна состоять в группе клиентов с правами Разрешить остановку/включение услуг и Игнорировать количество услуг на аккаунт. Настройка прав группы клиентов доступна на странице Клиенты → Группы клиентов → кнопка Изменить.
Автоматические операции
При использовании пула серверов, в автоматическом режиме выполняются следующие операции:
- Вычисляется статистика продаж виртуальных серверов.
- Выполняется создание серверов в пул.
- Запускается удаление старых серверов.
За эти операции отвечает задание в планировщике (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".
Процесс выдачи серверов из пула
После заказа виртуального сервера клиентом, запускается процесс обработки услуги. Система выбирает из пула сервер с подходящей конфигурацией, если виртуальную машину не удалось выдать клиенту, то выбирается другой сервер с такой же конфигурацией и т.д. Если не удалось выдать клиенту ни один сервер из пула, или в пуле нет виртуальных машин с нужной конфигурацией, то запускается процесс создания виртуального сервера.
В процессе выдачи виртуального сервера происходит:
- Копирование параметров: пароля и основного IP-адреса от услуги в пуле к услуге, которую заказал клиент.
- Удаление из базы данных информации об услуге в пуле.
- Смена доменного имени сервера. В VMmanager доменное имя для виртуальной машины заменяется на то, которое клиент указал при заказе услуги.
- Для VMmanager KVM запуск скрипта по смене параметра сервера 'hostname'. Данный шаг выполняется, если на сервере установлена unix-подобная операционная система.
- Запуск рецепта, если он был выбран клиентом.
После отключения опции "Использовать пул" для обработчика услуг, система продолжит выдавать клиентам серверы из пула. Так происходит, пока виртуальные машины не закончатся в пуле, либо пока серверы не устареют и не удалятся автоматически.