Обеспечение бесперебойной работы системы 1С — одна из приоритетных задач системного администратора. Платформа 1С:Предприятие 8.3 предоставляет механизмы создания отказоустойчивого кластера, который позволяет системе продолжать работу даже при выходе из строя одного из серверов. Разберем подробно, как настроить такую конфигурацию на примере платформы версии 8.3.18, и выясним, какие нюансы могут возникнуть в процессе синхронизации узлов.
Прежде чем приступать к настройке, проанализируем важное ограничение: полноценная отказоустойчивость (автоматическое переключение сеансов и репликация реестра) доступна только в версии КОРП. В версии ПРОФ вы можете добавить несколько рабочих серверов для распределения нагрузки, но при падении центрального сервера работа всего кластера будет остановлена. Выясним, что нам понадобится для работы:
ragent (агент сервера 1С).Рассмотрим ситуацию, когда у нас есть два сервера: Server1 (основной) и Server2 (дополнительный). Наша задача — объединить их в один кластер так, чтобы каждый мог выполнять функции центрального сервера.
Server1.Server2.Server2 и установим флаг «Центральный сервер». Это критически важно, так как только центральные серверы могут хранить копию реестра кластера и управлять сеансами в случае сбоя основного узла.Обратите внимание на типичную ошибку: после добавления Server2 в кластер на Server1, локальный кластер на самом Server2 должен быть удален или остановлен, чтобы не возникало конфликтов портов и путаницы в управлении.
Проанализируем параметры самого кластера. Мало просто добавить второй сервер, нужно явно указать системе, сколько узлов могут выйти из строя без остановки работы. Посмотрим на свойство «Уровень отказоустойчивости» в настройках кластера:
0 (по умолчанию) — отказоустойчивость отключена.1 — кластер выдержит падение одного сервера. Для этого требуется минимум 2 центральных сервера.n — требуется n+1 центральных серверов.Установим значение 1. После этого система должна начать процесс репликации данных реестра (файлов конфигурации кластера, списка баз и пользователей) между узлами.
Часто администраторы сталкиваются с ситуацией, когда настройки в консоли выполнены, но на втором сервере в папке srvinfo ничего не появляется, а при отключении первого сервера система «виснет». Рассмотрим способ принудительной инициализации синхронизации, который помог участникам обсуждения.
Если автоматическая репликация не стартует, выполним следующие действия:
srvinfo (за исключением логов и временных файлов) с Server1 на Server2.Это действие позволяет второму серверу «увидеть» структуру кластера, которую он должен обслуживать. В дальнейшем, при наличии лицензий КОРП и установленного уровня отказоустойчивости, rmngr (менеджер кластера) будет синхронизировать изменения автоматически.
Для того чтобы ресурсы распределялись корректно, разберем механизм «Требования назначений функциональности». Мы должны гарантировать, что критически важные сервисы (Сервис управления сеансами, Сервис блокировок) могут работать на обоих серверах.
Создадим для каждого сервера правила:
rphost.Выясним причину, по которой у пользователя может возникать ошибка соединения при падении первого сервера, даже если кластер настроен верно. Причина кроется в строке подключения в списке баз. Если там указан только один адрес, клиент 1С не узнает, куда обращаться, если этот адрес недоступен.
Правильная строка подключения должна содержать список всех центральных серверов через запятую:
Srvr="192.168.0.15,192.168.1.5";Ref="Accounting_Base";
В этом случае клиентское приложение, потеряв связь с первым IP-адресом, автоматически попытается установить соединение со вторым. Если на втором сервере активен менеджер кластера с актуальной копией реестра, пользователь продолжит работу практически без прерывания (за исключением активных на момент сбоя транзакций).
Создание отказоустойчивого кластера требует комплексного подхода: от проверки типа лицензий до ручной корректировки строк подключения у пользователей. Мы проанализировали основные этапы и увидели, что в некоторых случаях для запуска синхронизации требуется «подтолкнуть» систему путем копирования файлов реестра srvinfo. Соблюдение этих правил позволит вам создать стабильную систему, устойчивую к аппаратным сбоям серверного оборудования.