Создание отказоустойчивого кластера серверов 1С:Предприятие 8.3: Гайд
- Аварийное завершение работы пользователей 1С при сбое или перезагрузке одного сервера приложений.
- Потеря несохраненных данных клиентских сессий и повторная авторизация в базах.
- Ошибки связи с рабочими процессами
Сеанс отсутствует или удаленв консоли администрирования.
1. Архитектура отказоустойчивого кластера 1С
Кластер высокой доступности требует минимум 2 центральных сервера и нечетное число серверов (или резервных хостов) для поддержания кворума.
2. Добавление второго центрального сервера в кластер
В консоли Администрирования серверов 1С (ras / rac или mmc):
# Регистрация второго рабочего сервера в кластере
rac server insert --cluster=<cluster_id> \
--name="app-node-2" \
--agent-host="192.168.10.12" \
--agent-port=1540 \
--port-range="1560:1591"3. Настройка уровня отказоустойчивости (Fault Tolerance Level)
Уровень отказоустойчивости определяет количество серверов кластера, одновременный выход из строя которых не приводит к прерыванию работы сеансов:
# Установка уровня отказоустойчивости = 1 (допускается падение 1 хоста)
rac cluster update --cluster=<cluster_id> \
--fault-tolerance-level=1 \
--session-fault-tolerance-level=14. Настройка сервисов кластера и репликации сеансов
В свойствах кластера настройте репликацию данных:
- Режим синхронизации сеансов:
Автоматически; - Резервирование рабочих процессов: включите флаг автозапуска резервных rphost на втором узле.
5. Настройка строки подключения на клиентах
В файле ibases.v8i укажите оба сервера кластера через запятую:
Connect=Srvr="app-node-1,app-node-2";Ref="trade_db"; Частые вопросы (FAQ)
Сколько серверов требуется для отказоустойчивого кластера 1С?
Для обеспечения уровня отказоустойчивости = 1 требуется минимум два физических или виртуальных сервера с настроенными службами ragent, rmngr и rphost.
Что происходит с открытыми сессиями при падении одного из серверов?
При включенной репликации сессий (session fault tolerance) клиент незаметно переподключается ко второму рабочему серверу кластера без потери контекста сеанса.
Почему после падения сервера сессии завершаются с ошибкой?
Проверьте, что в свойствах базы данных 1С не установлен запрет на репликацию сеансов, а в строке подключения клиентов на рабочих местах перечислены все серверы кластера.
Как управлять кластером 1С в Linux без графической консоли Windows?
Используйте утилиту командной строки rac, подключенную к демону ras: rac session --cluster=<ID> list.