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

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

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

Если тип услуги - colocation (размещение серверов), то при открытии создается задача для технического отдела, описанные ниже шаги не выполняются.


При построении списка свободных в панели управления серверов, для каждого сервера учитывается, что:

  • у него нет владельца;
  • доменное имя равно "free.ds";
  • отсутствуют проблемы с оборудованием (флаг hwproblem в xml);
  • для сервера не включена опция "Защитить сервер" (флаг forcelock в xml, в списке серверов отображается значок со щитом).


При обработке команды открытия сервера выполняются следующие действия:

  1. Определяется тип сервера по внутреннему имени тарифа
  2. Если при заказе не задано доменное имя, то происходит генерация бесплатного доменного имени.
  3. Создается пользователь в панели управления.
  4. Определяется список свободных серверов заданного типа - если таковых не оказалось, создание сервера завершается с ошибкой.
  1. В цикле для каждого сервера из списка выполняется:
    1. Владельцем сервера выставляется администратор панели (пользователь, под которым настроена интеграция с DCImanager 5). В случае ошибки на одном из следующих шагов владелец сервера не меняется, это гарантирует, что ошибочный сервер не будет выдаваться повторно во время дальнейшей обработки заказов.
    2. В базе данных обновляется конфиг модуля обработки - если сервер является последним с данным типом, это исключает возможность заказа услуги.
    3. Выставляется доменное имя сервера; для этого в цикле доменное имя выставляется для всех IP-адресов сервера.
    4. При необходимости включается доступ к серверу (если сервер заблокирован администратором) и осуществляется его запуск. Таймаут на запуск - 30 минут, если сервер за это время не включится, произойдет откат и переход к следующему свободному серверу.
    5. Заказ лицензии на панель управления.
    6. Установка операционной системы. Таймаут на установку для Windows - 200 минут, для Linux - 140. При неудаче или превышении времени ожидания - откат и переход к следующему свободному серверу.
    7. Владельцем сервера выставляется пользователь.
    8. При необходимости создается аккаунт для серверов имен.
    9. В BILLmanager вызывается функция dedic.open, завершающая обработку услуги; после работы функции статус услуги меняется на "Активен".
    10. Перед переходом к следующему свободному серверу происходит обновление списка свободных серверов.
  2. Если ни один из свободных серверов не был успешно обработан, открытие услуги завершается с ошибкой. В данном случае, если к тарифному плану подключено более одного модуля обработки, будет осуществлен переход к следующему обработчику и процедура создания сервера повторится сначала, но уже на новом обработчике.

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

Внимание! Тип сервера задается по внутреннему имени тарифа если не включена галочка Новый тип серверов. В DCImanager при этом должна быть включена опция Option OldServerType. Если опция OldServerType не включена, то внутреннее имя тарифа должно соответствовать полю Конфигурация из DCImanager.