+7 495 230 03 03 8 800 222 50 03
DevOps

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

Высоконагруженные системы 1С требуют тщательной проработки схем отказоустойчивости, чтобы бизнес не испытывал простоев, а все сбои были незаметны для конечного потребителя. Мы пристально анализируем возможности отказоустойчивости в разных системах, вплоть до холодного резервного копирования на европейские сервера (дублирование на уровне ЦОД). В данной инструкции рассмотрим возможность кластеризации сервера 1С. Мы подобрали два аналогичных сервера, чтобы получилось распределить нагрузку на сервера 1С.
За основу возьмем самую востребованную отказоустойчивость – распределение сеансов происходит в зависимости от доступной производительности кластера 1С.
Описание скрина

Схема 1 – Распеределение сеансов в зависимости от доступной производительности кластера 1С.

Установка платформы 1С

Установка платформы 1С:Предприятия 8 происходит в обычном формате без каких-либо дополнительных нюансов. Главным критерием является установка компонентов “Сервер 1С:Предприятия 8” и “Администрирование сервера 1С:Предприятия” как на рисунке 1. Эти компоненты требуется установить на двух серверах для построения отказоустойчивости 1С. Учетная запись USR1CV8 создается при установке с нужными параметрами (рекомендуем не давать этой учетной записи права “Администратора”). В нашем примере мы устанавливаем на платформу 8.3.25.1445 все компоненты для демонстрации работы.
Описание скрина

Рисунок 1 – Установка компонентов платформы.

После успешной установки платформы, переходим по пути (у вас платформа может быть другая, из-за этого и отличается последняя папка):
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\1C Предприятие 8 (x86-64)\Дополнительно\8.3.25.1445
Ярлык “Регистрация утилиты администрирования серверов x86-64 (8.3.25.1445)” нажимаем ПКМ => “Запуск от имени “Администратора”, после этого появляется окно об успешной регистрации, как на рисунке 2. Данную процедуру требуется выполнить на двух серверах 1С.
Описание скрина

Рисунок 2 – Оповещения успешной регистрации утилиты.

Шаг установки завершаем, можно перейти в Службы Windows и убедится, что служба “Агент сервера 1С:Предприятия 8.3 (x86-64)” выполняется. Если нет, то надо запускать вручную и смотреть по ошибке.

Основные ошибки:

  • неверно введен пароль учетной записи, от которой стартует служба. В таком случае нужно в самой службе перейти на вкладку “Вход в систему” и ввести правильные учетные данные. После применения, снова попробовать запустить службу;
  • учетная запись, от которой запускается служба, не имеет доступа к папке “C:\Program Files\1cv8\srvinfo” или аналогичной (в зависимости от того, какой путь указан до srvinfo). В таком случае, требуется предоставить доступ учетной записи на папку srvinfo с правами “изменение”;
  • ошибки в настройке службы для агента. В таком случае, лучше переустановить платформу или внести изменения в реестр вручную. Для примера, строка выглядит по умолчанию:
    "C:\Program Files\1cv8\8.3.25.1445\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Настройка кластера 1С

После успешной установки платформы открываем ярлык на первом сервере:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\1C Предприятие 8 (x86-64)\Дополнительно\Администрирование серверов 1С Предприятия x86-64.lnk
Появляется консоль кластера, нажимаем ПКМ “Central 1C:Enterprise 8.3 servers” => Создать => Центральный сервер 1С:Предприятия 8.3 Прописываем параметры первого по имени сервера операционной системы, как на скриншоте ниже:
Описание скрина

Рисунок 3 – Подключение к центральному серверу.

Подключаемся к локальному кластеру, нажимаем ПКМ и выбираем “Свойства” и производим небольшие оптимизации кластера, в нашем случае:
  • Имя кластера: сделали общее имя кластера для удобства подключения;
  • Интервал перезапуска: 86400 – тем rphost перезапускается каждый день и решает некоторые проблемы с утечкой оперативной памяти;
  • Уровень отказоустойчивости: 0 – для текущей настройки этого уровня хватает, если менять на 1, то уже требуется как минимум 3 сервера 1С для бесшовного переключения сеансов;
  • Режим распределения нагрузки: Приоритет по производительности – в таком случае 1С будет сама распределять сеанс по своему внутреннему механизму анализа производительности.
Описание скрина

Рисунок 4 – настройка локального кластера.

Чтобы начать подключение второго центрального сервера 1С, нам требуется подключиться к нему и удалить локальный кластер для освобождения портов центрального сервера. Для этого можем в этой же оснастке администрирования или на втором сервере так же подключаем центральный сервер аналогично первому, пример на рисунке 5:
Описание скрина

Рисунок 5 – подключение второго центрального сервера.

Переходим в “Кластеры” нажимаем ПКМ по “Локальный кластер” и Удалить – подтверждаем предупреждение, как на рисунке 6:
Описание скрина

Рисунок 6 – подтверждение удаления локального кластера.

После того, как удалили локальный кластер на втором сервере, переходим в оснастку первого центрального сервера, нажимаем ПКМ “Рабочие сервера => Создать => Рабочий сервер” и вводим данные для подключения второго сервера как на рисунке 7. Главное – заполнить “Компьютер для добавления”.
Описание скрина

Рисунок 7 – подключение рабочего сервера.

После добавления, можно наблюдать в “Рабочих серверах” второй добавленный сервер, нажимаем по нему ПКМ => “Свойства” и в открывшейся оснастке ставим галку “Центральный сервер”, как на рисунке 8:
Описание скрина

Рисунок 8 – активация центрального сервера.

Нажимаем “ОК” и переходим к следующему этапу. На этом этапе мы настроим требования назначения, для этого переходим “Рабочие серверы” => разворачиваем первый рабочий сервер и нажимаем ПКМ “Требования назначения функциональности => Создать => Требования назначения функциональности”. Выставляем такие же назначения, как на рисунке 9. Напоминаем, что это именно для нашей задачи, обозначенной в начале статьи. По ссылке https://its.1c.ru/db/v8325doc#bookmark:cs:TI000000042 можно изучить различные назначения функциональности под каждую задачу (схему отказоустойчивости).
Описание скрина

Рисунок 9 – назначения функциональности.

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

Нюансы при построении кластера

  1. В первую очередь, есть момент по системе лицензирования. На каждом центральном сервере требуется своя лицензия 1С. Дополнительно многопользовательские клиентские лицензии лучше распределять между центральными серверами или поднять третий сервер только под роль лицензирования. Тем самым в случае падения одного из центральных серверов, сеансы смогут перейти на второй сервер с клиентскими лицензиями.
  2. Когда подключаете информационную базу к тонкому/толстому клиенту или публикуете информационную базу – не забывайте прописывать два центральных сервера в кластере серверов через запятую, как на рисунке 10, например:
    Server1C_MASTER,Server1C_SLAVE
    В таком случае, если отключается первый сервер, то пользователи смогут подключиться через второй.
Описание скрина

Рисунок 10 – добавление информационной базы.

  1. Если добавляете Администраторов в консоли кластера, то и на центральных серверах нужно указать аналогичную учетную запись, чтобы прошла аутентификация кластера, как на рисунке 11. Иначе могут быть различные проблемы при работе кластера, а также в ТЖ часто выходит ошибка, например:
05:52.137091-0,EXCP,3,level=WARNING,process=ragent,p:processName=##AdminProcess##,OSThread=5580,t:clientID=51,t:applicationName=SrvrConsole,t:computerName=Server1C_MASTER,Exception=acea3e6e-3687-4792-8319-09c009274c9a,Descr='src\rserver\src\RMngrCalls.cpp(532):
acea3e6e-3687-4792-8319-09c009274c9a: Администратор кластера не аутентифицирован'
Описание скрина

Рисунок 11 – Добавление администраторов.

Завершение

Настройка кластера 1С из двух серверов завершена – сеансы будут распределяться по нагрузке серверов 1С. Мониторинг правильной работы мы можем наблюдать на вкладке “Рабочие процессы”, как на рисунке 12. Там же мы видим доступную производительность.
Если работа кластера происходит некорректно или имеются какие-то дополнения к инструкции, то просим писать об этом в комментариях.
Описание скрина

Рисунок 12 – проверка рабочих процессов.

Дата публикации: 2 июня 2021
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

  • Аноним

    Добрый день, я настроил кластер на два 1с серверу по инструкции которое показано выше указан инструкции, но у меня не получается после появление на обу сервер одинокого кластер 1С не работает.
    в чем
    может причина или я ошибаюс

    • https://efsol.ru/ EFSOL

      Добрый день. Напишите нам в чате.

  • Аноним

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

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.