Алгоритм создания виртуального сервера

Материал из ISPWiki
Перейти к: навигация, поиск

За создание виртуального сервера отвечает обработчик ./processing/pmvmmgr.

Если к тарифному плану подключено несколько обработчиков, то при создании услуги:

  • первым выбирается модуль обработки с наименьшим приоритетом
  • при возникновении ошибки во время создания услуги может быть осуществлен переход к следующему обработчику; при смене обработчика предпочтение отдается обработчикам, настроенным на тот же IPmanager, что и предыдущий обработчик; приоритет модуля обработки также учитывается - первым будет выбран обработчик с наименьшим приоритетом

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

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

Процесс создания виртуального сервера состоит из нескольких этапов:

  1. Получение основного IP-адреса
  2. Предварительная подготовка
  3. Выполнение команды на создание сервера
  4. Ожидание завершения работы команды создания сервера и завершение создания услуги

Получение основного IP-адреса

Адрес выделяется в IPmanager, привязанном к текущему модулю обработки. Во время установки сервера IP-адрес выделяется только в том случае, если:

  • услуга еще не имеет выделенного IP-адреса
  • услуга имеет выделенный адрес, но он был выделен на другом IPmanager (данная ситуация возможна при переборе модулей обработки); в данном случае дополнительно запускается текущая операция по удалению существующего IP-адреса на предыдущем IPmanager


При ошибке выделения IP-адреса осуществляется переход к следующему модулю обработки.

Предварительная подготовка

На данном этапе выполняются следующие задачи (их состав зависит от настроек тарифного плана, а также от параметров, заданных пользователем при заказе услуги):

  • генерация бесплатного доменного имени;
  • создание пользователя в панели управления;
  • создание аккаунта для серверов имен;
  • выделение лицензии для панели управления;
  • создание доменной записи для бесплатного доменного имени.

Все задачи запускаются параллельно в разных процессах; отводится таймаут (5 минут) на выполнение, по истечении которого этап считается неудачным, создание сервера прерывается, но при этом запрещается перебор обработчиков

При переборе обработчиков:

  • пользователь панели управления создается на новом сервере и, при необходимости, удаляется на старом
  • лицензия на панель управления перезаказывается в случае, если произошла смена основного IP-адреса либо сервера лицензий, заданного для нового обработчика
  • доменная запись для бесплатного доменного имени пересоздается в случае, если произошла смена основного IP-адреса


Выполнение команды на создание сервера

На данном этапе генерируется команда на создание виртуального сервера и выполняется в панели управления.
При ошибке происходит переход к следующему модулю обработки.
Дополнительно, перед выполнением команды проверяется существование виртуального сервера в панели управления (это актуально, если из-за ошибки во время предыдущего запуска сервер повторно открывается на том же обработчике - в некоторых случаях имеется вероятность, что сервер все-таки был создан)


Ожидание завершения работы команды создания сервера и завершение создания услуги

На ожидание создания сервера отводится 30 минут (однако в среднем сервера открываются значительно быстрее).
Если за это время обнаруживается ошибка, то:

  • создается текущая операция по удалению сервера на текущем модуле обработки; если данная операция за 10 попыток не завершится удачей, то будет создана задача в технический отдел
  • осуществляется переход к следующему обработчику и осуществляется повторная попытка открытия сервера, начиная с п.1