Второй рабочий сервер в кластере 1С:Предприятия 8.3: от установки до проверки

· 10 мин

Содержание

Чтобы добавить сервер в кластер 1С, поставьте на новую машину сервер 1С:Предприятия той же версии платформы, что и на действующем, откройте порты 1540, 1541 и 1560–1591, затем в консоли администрирования кластера создайте новый элемент в ветке Рабочие серверы и укажите имя компьютера. Через минуту на новом сервере появятся рабочие процессы rphost.

Чаще всего добавление срывается не в консоли, а раньше: разные релизы платформы, имя сервера не разрешается по DNS, порты закрыты брандмауэром. Ниже разобран каждый шаг, настройки нового рабочего сервера и разбор ошибок по симптомам.

Как устроен кластер и зачем нужен центральный сервер

Кластер серверов 1С — это группа компьютеров, которые совместно обслуживают одни и те же информационные базы. На каждом компьютере работают свои процессы:

  • 🧭 ragent — агент сервера. Слушает порт 1540, принимает первое обращение клиента и подключения консоли.
  • 🗂️ rmngr — менеджер кластера. Порт главного менеджера по умолчанию 1541. Хранит реестр кластера, распределяет соединения.
  • ⚙️ rphost — рабочие процессы. Именно они выполняют серверный код и работают с СУБД. Им выделяется диапазон портов, по умолчанию 1560–1591.

Рабочий сервер бывает двух видов. Центральный хранит копию реестра кластера (список баз, администраторов, настроек) и может сам отвечать клиентам на первичный запрос. Обычный рабочий только запускает рабочие процессы и берёт часть нагрузки.

Вид сервераЧто на нём работаетКогда выбирать
Центральныйагент, менеджер кластера, рабочие процессы, копия реестранужна отказоустойчивость: при падении первого сервера кластер продолжит работу
Рабочий (не центральный)рабочие процессы и служебные менеджерынужно просто разнести нагрузку по нескольким машинам

Отказоустойчивость задаётся в свойствах кластера параметром «Уровень отказоустойчивости». Он имеет смысл, только если центральных серверов два и больше.

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

Подготовка: версия платформы, имена и порты

Одинаковая версия платформы

Все серверы кластера работают на одном и том же номере платформы, вплоть до последней цифры: 8.3.25.1374 и 8.3.25.1445 вместе не уживутся. Разрядность серверов лучше тоже выдержать одинаковой — так проще с внешними компонентами и драйверами СУБД.

Номер платформы действующего сервера видно в консоли администрирования (в свойствах рабочего сервера и в списке рабочих процессов) и в пути установки, например C:\Program Files\1cv8\8.3.25.1445\.

Разрешение имён в обе стороны

Серверы обращаются друг к другу по именам компьютеров, а не по IP. Проверьте с каждого сервера:

ping srv1c-02
ping srv1c-01
nslookup srv1c-02

Если в сети нет нормального DNS, пропишите оба имени в hosts на всех серверах кластера и на клиентских машинах:

# C:\Windows\System32\drivers\etc\hosts
192.168.10.11   srv1c-01
192.168.10.12   srv1c-02

На Linux тот же файл лежит в /etc/hosts. Имя должно совпадать с тем, что возвращает команда hostname на самой машине: под этим именем сервер регистрирует себя в кластере.

Порты брандмауэра

ПортКто слушаетОткуда должен быть доступен
1540агент сервера ragentс других серверов кластера, с машины, где открыта консоль, с клиентов
1541главный менеджер кластера rmngrс других серверов и клиентов
1560–1591рабочие процессы и служебные менеджерыс других серверов и со всех клиентов
1545сервер администрирования ras (если используете rac)с машины администратора

Правило для Windows можно создать одной командой в консоли, запущенной от имени администратора:

netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Если диапазон портов на действующих серверах изменён, откройте именно его. Проверить, что порт доступен с соседней машины, удобно через PowerShell: Test-NetConnection srv1c-02 -Port 1540.

Учётная запись службы и права администраторов

От чьего имени работает агент

Установщик по умолчанию создаёт локального пользователя USR1CV8 и запускает под ним службу «Агент сервера 1С:Предприятия 8.3». Для одного сервера этого хватает. Для кластера из нескольких машин удобнее доменная учётная запись службы: её проще контролировать, и ей легче выдать права на сетевые ресурсы (каталоги выгрузки, файлы обмена).

Учётной записи службы нужны:

  • 🔑 право «Вход в качестве службы» (Log on as a service);
  • 📁 полный доступ к каталогу реестра кластера (srvinfo) и к каталогу временных файлов;
  • 📊 членство в группе «Пользователи журналов производительности» (Performance Log Users) — без неё сервер не получает данные о загрузке процессов;
  • 🗄️ доступ к СУБД — если базы подключены с проверкой подлинности Windows.

Если на первом сервере служба работает под доменной учётной записью, запустите под ней же и агент на новом сервере.

Администраторы кластера и центрального сервера

В 1С две отдельные группы администраторов:

  1. Администраторы центрального сервера (агента) — задаются на уровне агента конкретной машины.
  2. Администраторы кластера — задаются в свойствах кластера и нужны для любых изменений внутри него, включая добавление рабочих серверов.

Если в кластере заведены администраторы, консоль при добавлении сервера спросит логин и пароль. Держите эти данные под рукой заранее. Пароль администратора кластера нельзя сбросить из консоли: при его потере восстанавливают каталог srvinfo из резервной копии при остановленной службе или обращаются к тому, кто настраивал сервер.

Добавляем сервер в кластер: порядок действий

Шаг 1. Установите сервер на новую машину

  1. Запустите установщик технологической платформы той же версии, что и на действующем сервере.
  2. Отметьте компоненты «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия».
  3. Выберите установку сервера как службы Windows и укажите учётную запись (по умолчанию USR1CV8 или доменную).
  4. После установки убедитесь, что служба агента запущена.

Типовая строка запуска службы выглядит так (видна в свойствах службы, поле «Исполняемый файл»):

"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" -debug

Параметры -port, -regport и -range должны соответствовать портам, которые вы открыли в брандмауэре.

На Linux пакет сервера ставится той же версии; в новых версиях платформы служба управляется через systemd (имя юнита содержит номер версии — посмотрите его командой systemctl list-units | grep 1cv8).

Шаг 2. Разберитесь с локальным кластером на новой машине

При первом запуске агент сам создаёт на своей машине пустой «Локальный кластер» на порту 1541. Если новый сервер будет только рабочим или центральным в уже существующем кластере, этот пустой кластер не нужен: он занимает тот же порт 1541 и путает при администрировании.

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

Шаг 3. Подключите консоль к действующему кластеру

  1. Откройте «Администрирование серверов 1С Предприятия» (консоль MMC). Если консоль не открывается или пуста, зарегистрируйте её библиотеку командой regsvr32 "C:\Program Files\1cv8\8.3.25.1445\bin\radmin.dll" от имени администратора.
  2. Добавьте центральный сервер, если его ещё нет в дереве: имя компьютера и порт 1540.
  3. Раскройте дерево: Central 1C:Enterprise 8.3 servers → srv1c-01 → Кластеры → <имя кластера>.

Шаг 4. Создайте рабочий сервер

  1. В дереве кластера выделите ветку Рабочие серверы.
  2. Вызовите контекстное меню и выберите Создать → Рабочий сервер.
  3. Заполните поля:
    • Описание — понятное имя, например «Сервер 1С №2»;
    • Компьютер — сетевое имя новой машины (srv1c-02);
    • IP-порт — порт агента на новом сервере, обычно 1540;
    • Диапазоны IP-портов — 1560:1591 или ваш диапазон;
    • Центральный сервер — флажок, если сервер должен хранить копию реестра;
    • Порт главного менеджера кластера — обычно 1541.
  4. Нажмите «ОК». При запросе введите логин и пароль администратора кластера.

Шаг 5. Проверьте результат

Через 30–60 секунд новый сервер появится в списке Рабочие серверы. Раскройте ветку Рабочие процессы кластера: там должны быть строки с именем новой машины. На самой машине в диспетчере задач появятся процессы rphost.exe и rmngr.exe.

Если пользуетесь сервером администрирования ras, состав кластера можно посмотреть из командной строки:

rac cluster list
rac server list --cluster=<UUID кластера>

Создавать сервер через rac тоже можно; набор параметров для вашей версии смотрите в справке rac help server.

Параметры рабочего сервера, которые стоит настроить сразу

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

ПараметрЗа что отвечаетС чего начать
Количество ИБ на процесссколько баз обслуживает один rphost8 и меньше; для крупной базы — 1, чтобы она жила в своих процессах
Количество соединений на процесссколько пользователей обслуживает один rphostпо умолчанию 128; при тяжёлых операциях снижают
Менеджер под каждый сервисвыносить служебные сервисы в отдельные rmngrвключают на нагруженном центральном сервере
Временно допустимый объём памяти процессовпорог, после которого процессы помечаются к перезапускуоколо 70–80% свободной памяти сервера
Критический объём памяти процессовпри превышении процессы завершаютсявыше предыдущего порога
Интервал превышения допустимого объёма памятисколько секунд терпеть превышение300

Критический объём памяти обрывает сеансы пользователей на проблемном процессе. Не ставьте его впритык к рабочему потреблению, иначе получите обрывы посреди дня.

Требования назначения функциональности

В свойствах рабочего сервера есть отдельная вкладка с требованиями назначения функциональности. Через неё решают, какие задачи сервер берёт на себя: например, запретить новому серверу выполнять фоновые задания конкретной базы или, наоборот, отдать ему только фоновые задания. Часть таких настроек распределения нагрузки работает лишь при серверной лицензии уровня КОРП.

Лицензии

Серверная лицензия привязывается к компьютеру. Рабочие процессы на новой машине должны получить свою серверную лицензию: программную, активированную на этом сервере, или аппаратный ключ, установленный на нём. Без неё процессы на новом сервере не смогут обслуживать базы. Клиентские лицензии при этом остаются общими.

Если сервер не добавляется: разбор ошибок

Диагностика: выберите симптом

Что ещё проверить, если симптом не из списка

  • 🔄 Пересоберите порядок действий. Удалите неудачно добавленный рабочий сервер в консоли, проверьте сеть и добавьте его заново. Перед удалением убедитесь, что на нём нет активных сеансов: соединения пользователей, которые на нём работают, оборвутся.
  • 🧱 Антивирус и сетевые фильтры. Добавьте каталог установки платформы и каталог srvinfo в исключения.
  • 🕒 Время на серверах. Синхронизируйте часы всех машин с одним источником: расхождение мешает доменной проверке подлинности.
  • 📜 Технологический журнал. Включите его на новом сервере с событиями EXCP и CONN — в нём видно, на каком соединении и с какой ошибкой обрывается обмен.

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

Частые вопросы

Можно ли добавить в кластер сервер на Linux, если первый работает на Windows?
Да, кластер может быть смешанным. Главное — одинаковый номер платформы, разрешение имён в обе стороны и открытые порты.
Нужно ли переносить информационные базы на новый сервер?
Нет. Базы зарегистрированы в кластере, а не на конкретной машине. Данные остаются в СУБД, новый сервер просто начинает обслуживать соединения к тем же базам.
Сколько центральных серверов имеет смысл держать?
Для отказоустойчивости достаточно двух. Каждый центральный сервер синхронизирует реестр кластера, поэтому делать центральными все машины без нужды не стоит.
Как вывести сервер из кластера?
Переведите нагрузку на другие серверы, дождитесь, пока на нём не останется сеансов, и удалите его в ветке рабочих серверов консоли. Удалять последний центральный сервер нельзя.
Нужно ли обновлять платформу на всех серверах одновременно?
Да. После обновления одного сервера кластер перестанет нормально работать, пока версии не выровняются. Обновление планируют на нерабочее время для всех машин сразу.