Отказоустойчивость SberMobile Server

Отказоустойчивый кластер SberMobile Server включает:

  • Один Главный сервер

  • Один или более Дублирующих серверов

  • Кластеризованную или реплицированную БД, используемую всеми серверами

Отказоустойчивые серверы становятся активными при неполадках у главного сервера, например, вследствие:

  • Сбоя сети

  • Неполадок с оборудованием

  • Сбоя ОС

  • Неполадок SberMobile Server

  • Нехватки дискового пространства

  • Любой другой причины

Режимы работы дублирующего сервера

Дублирующие серверы могут работать в Обычном режиме или режиме Только для чтения. Разница между этими режимами разъясняется ниже. Режим контролируется общими настройками кластера в Режиме дублирования.

Обычный режим

Если возник сбой в работе Главного сервера, дублирующий сервер или кластер SberMobile берут на себя полный контроль. Он контролирует и отслеживает устройства, соединения операторов сервиса и пр. Все изменения в конфигурации и события сохраняются в БД и доступны для Главного сервера, когда он вновь начнет работать.

Режим только для чтения

В режиме только для чтения дублирующий сервер не выполняет изменения в основной БД. Его работа, на первый взгляд, аналогична работе Обычного дублирующего сервера: устройства контролируются, а их настройки конфигурации могут менять операторы, и все функции системы доступны. Однако изменения конфигурации и события не хранятся в БД. Это приводит к следующим ограничениям:

  • События, полученные дублирующим сервером в режиме Только для чтения, будут недоступны, например, при просмотре событий или выстраивании графиков.

  • Все изменения конфигурации будут утрачены, если Главный сервер возобновит работу или Дублирующий сервер будет перезапущен.

Дублирующие узлы в режиме только для чтения очень полезны для быстрого восстановления надежности кластера в случае фатальной поломки Главного узла:

  • Сделать обычный дублирующий узел новым Главным узлом

  • Сделать дублирующий узел только для чтения новым обычным дублирующим узлом, внеся изменения в Режиме дублирования в общих настройках кластера.

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

Лишь одному узлу кластера позволено работать в режиме нормального дублирования. Все остальные дублирующие узлы должны работать в режиме только для чтения.

Сценарии дублирования

В этом разделе описаны несколько конфигураций для типичных дублирующих кластеров. Обратите внимание, что кластер БД изображен на рисунках в виде "облака". Фактически, базы данных, включенные в кластер БД, будут работать на одних и тех же физических серверах, что и инсталляции SberMobile Server.

Два узла

Конфигурация обычного дублирующего узла включает в себя два сервера: Главный сервер и Обычный сервер для дублирования. При неисправности Главного, дублирующий сервер переключается в режим Главного, выполняя за него все операции.

Три узла

Кластер из трех узлов помогает сохранять надежность системы даже при сбое Главного сервера.

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

Установка отказоустойчивого кластера

Выполните следующие шаги, чтобы установить отказоустойчивый кластер SberMobile Server:

  • Установите две или более копий SberMobile Server на разные физические сервера, каждый экземпляр SberMobile Server будет называться Узлом.

  • Настройте хранилище данных, которое используется для каждого сервера, то есть настройте все серверы и единственную  общую (возможно сгруппированную/реплицированную) базу данных.

Использование единственной (сгруппированной и не сгруппированной) базы данных для всех узлов кластера SberMobile Server является абсолютным требованием.

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

Работа в режиме сбоя

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

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

Отключение дублирующих узлов

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

Сигнал тревоги дублирующего узла

При неполадке главного сервера SberMobile в кластере дублирующий узел отправляет Сигнал тревоги. Это позволяет системному администратору быстро оценить ситуацию. По умолчанию администратору отправляется сообщение по e-mail. Однако мы рекомендуем настроить дополнительно и отправку SMS-сообщения, содержащего сигнал тревоги. См. Сигнал тревоги по SMS.

Назначение дублирующего сервера главным

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

Чтобы сделать дублирующий узел главным, необходимо:

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

  • Указать в общих настройках для переключаемого узла Роль в кластере как "главный".

  • Для всех узлов в кластере обновите IP-адрес и порт интерфейса Heartbeat и Heartbeat адреса других узлов на IP-адрес и порт нового главного узла и дублирующего узла.

  • Перезагрузить новый главный узел.

Настройка клиента с учетом дублирования

Чтобы подготовить SberMobile IIoT Platform Client к работе в кластере, необходимо:

  • Создать два или более соединения к серверам на Вашем рабочем пространстве: первое для главного сервера и остальные для дублирующих серверов. Указать адреса для серверов в настройках соединений.

  • Отключить соединения с дублирующими серверами, чтобы не допустить ошибочного соединения при загрузке. Это необходимо, поскольку дублирующие узлы не примут соединения SberMobile IIoT Platform Client , находясь в режиме ожидания.

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

Конфигурация web UI для дублирующего узла

Когда главный узел кластера высокой доступности выходит из строя, системные операторы не могут зайти в Web UI, поскольку IP-адрес и имя хоста дублирующего узла отличается от адреса нерабочего главного узла. У этой проблемы есть два решения:

  • Все операторы могут вручную набрать URL дублирующего узла. На этот случай URL можно сохранить в закладках в браузере.

  • Можно настроить автоматическое переключение в DNS. Наберите в поисковой системе "DNS failover" и Вы найдете возможные решения. Вот одна из таких полезных ссылок: http://www.simplefailover.com/scenario3.aspx

Безопасность кластерных серверов

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