Второй рабочий сервер в кластере 1С:Предприятия 8.3: от установки до проверки
Содержание
Чтобы добавить сервер
в кластер 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С две отдельные группы администраторов:
- Администраторы центрального сервера (агента) — задаются на уровне агента конкретной машины.
- Администраторы кластера — задаются в свойствах кластера и нужны для любых изменений внутри него, включая добавление рабочих серверов.
Если в кластере заведены администраторы, консоль при добавлении сервера спросит логин и пароль. Держите эти данные под рукой заранее. Пароль администратора кластера нельзя сбросить из консоли: при его потере восстанавливают каталог srvinfo из резервной копии при остановленной службе или обращаются к тому, кто настраивал сервер.
Добавляем сервер в кластер: порядок действий
Шаг 1. Установите сервер на новую машину
- Запустите установщик технологической платформы той же версии, что и на действующем сервере.
- Отметьте компоненты «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия».
- Выберите установку сервера как службы Windows и укажите учётную запись (по умолчанию
USR1CV8или доменную). - После установки убедитесь, что служба агента запущена.
Типовая строка запуска службы выглядит так (видна в свойствах службы, поле «Исполняемый файл»):
"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С Предприятия» (консоль MMC). Если консоль не открывается или пуста, зарегистрируйте её библиотеку командой
regsvr32 "C:\Program Files\1cv8\8.3.25.1445\bin\radmin.dll"от имени администратора. - Добавьте центральный сервер, если его ещё нет в дереве: имя компьютера и порт 1540.
- Раскройте дерево:
Central 1C:Enterprise 8.3 servers → srv1c-01 → Кластеры → <имя кластера>.
Шаг 4. Создайте рабочий сервер
- В дереве кластера выделите ветку
Рабочие серверы. - Вызовите контекстное меню и выберите
Создать → Рабочий сервер. - Заполните поля:
- Описание — понятное имя, например «Сервер 1С №2»;
- Компьютер — сетевое имя новой машины (
srv1c-02); - IP-порт — порт агента на новом сервере, обычно 1540;
- Диапазоны IP-портов —
1560:1591или ваш диапазон; - Центральный сервер — флажок, если сервер должен хранить копию реестра;
- Порт главного менеджера кластера — обычно 1541.
- Нажмите «ОК». При запросе введите логин и пароль администратора кластера.
Шаг 5. Проверьте результат
Через 30–60 секунд новый сервер появится в списке Рабочие серверы. Раскройте ветку Рабочие процессы кластера: там должны быть строки с именем новой машины. На самой машине в диспетчере задач появятся процессы rphost.exe и rmngr.exe.
Если пользуетесь сервером администрирования ras, состав кластера можно посмотреть из командной строки:
rac cluster list
rac server list --cluster=<UUID кластера>
Создавать сервер через rac тоже можно; набор параметров для вашей версии смотрите в справке rac help server.
Параметры рабочего сервера, которые стоит настроить сразу
Свойства нового сервера открываются двойным щелчком по нему в ветке Рабочие серверы. Значения по умолчанию работают, но для нагруженного кластера их стоит пересмотреть.
| Параметр | За что отвечает | С чего начать |
|---|---|---|
| Количество ИБ на процесс | сколько баз обслуживает один rphost | 8 и меньше; для крупной базы — 1, чтобы она жила в своих процессах |
| Количество соединений на процесс | сколько пользователей обслуживает один rphost | по умолчанию 128; при тяжёлых операциях снижают |
| Менеджер под каждый сервис | выносить служебные сервисы в отдельные rmngr | включают на нагруженном центральном сервере |
| Временно допустимый объём памяти процессов | порог, после которого процессы помечаются к перезапуску | около 70–80% свободной памяти сервера |
| Критический объём памяти процессов | при превышении процессы завершаются | выше предыдущего порога |
| Интервал превышения допустимого объёма памяти | сколько секунд терпеть превышение | 300 |
Критический объём памяти обрывает сеансы пользователей на проблемном процессе. Не ставьте его впритык к рабочему потреблению, иначе получите обрывы посреди дня.
Требования назначения функциональности
В свойствах рабочего сервера есть отдельная вкладка с требованиями назначения функциональности. Через неё решают, какие задачи сервер берёт на себя: например, запретить новому серверу выполнять фоновые задания конкретной базы или, наоборот, отдать ему только фоновые задания. Часть таких настроек распределения нагрузки работает лишь при серверной лицензии уровня КОРП.
Лицензии
Серверная лицензия привязывается к компьютеру. Рабочие процессы на новой машине должны получить свою серверную лицензию: программную, активированную на этом сервере, или аппаратный ключ, установленный на нём. Без неё процессы на новом сервере не смогут обслуживать базы. Клиентские лицензии при этом остаются общими.
Если сервер не добавляется: разбор ошибок
Что ещё проверить, если симптом не из списка
- 🔄 Пересоберите порядок действий. Удалите неудачно добавленный рабочий сервер в консоли, проверьте сеть и добавьте его заново. Перед удалением убедитесь, что на нём нет активных сеансов: соединения пользователей, которые на нём работают, оборвутся.
- 🧱 Антивирус и сетевые фильтры. Добавьте каталог установки платформы и каталог
srvinfoв исключения. - 🕒 Время на серверах. Синхронизируйте часы всех машин с одним источником: расхождение мешает доменной проверке подлинности.
- 📜 Технологический журнал. Включите его на новом сервере с событиями
EXCPиCONN— в нём видно, на каком соединении и с какой ошибкой обрывается обмен.
Перезапуск службы агента на действующем центральном сервере обрывает все сеансы пользователей кластера. Делайте это только в согласованное окно, когда в базах никто не работает.