Работа с кластером серверов 1С:Предприятие требует точной настройки каждого узла через центральную консоль управления. Добавление нового сервера — процедура, которая может понадобиться при масштабировании системы, замене оборудования или перераспределении нагрузки. Однако даже опытные администраторы сталкиваются с нюансами: от неверных прав до конфликтов версий плагинов защиты.
В этой статье мы разберём три официальных способа добавления сервера в консоль (через интерфейс, командную строку и конфигурационные файлы), проанализируем типичные ошибки с кодами 2147483648 и 0x80004005, а также дадим чек-лист для проверки работоспособности после добавления. Особое внимание уделим 1С:Предприятию 8.3.20+, где изменилась логика работы с ragent-процессами.
Если вы администрируете распределённую систему с несколькими рабочими серверами или только начинаете настройку кластера — эта инструкция поможет избежать часов отладки. Все шаги протестированы на актуальных сборках платформы (по состоянию на первый квартал 2026 года).
1. Подготовка к добавлению сервера: требования и предварительные настройки
Прежде чем добавлять сервер в консоль 1С, убедитесь, что выполнены ключевые условия:
- 🔹 Версии платформы на центральном и добавляемом сервере совпадают (допустимо отличие в минорных обновлениях, например
8.3.20.1549и8.3.20.1680). - 🔹 На добавляемом сервере установлен и запущен
сервис 1С:Предприятия (x86-64)(проверьте вservices.msc). - 🔹 Порты
1540-1541(по умолчанию) открыты для связи между серверами. Для кластеров с большим количеством рабочих процессов может потребоваться диапазон1540-1591. - 🔹 Учётная запись, под которой работает служба 1С, имеет права на запись в каталог кластера (обычно
C:\ProgramData\1C\1cv8).
Критическое внимание уделите сетевым настройкам. Если серверы находятся в разных подсетях, проверьте маршрутизацию и правила фаервола. Например, в Windows Server 2022 по умолчанию может блокироваться трафик между узлами кластера. Используйте команду для проверки соединения:
Test-NetConnection -ComputerName ИМЯ_СЕРВЕРА -Port 1540
Для Linux-серверов (если используете 1С:Предприятие для Linux) дополнительно проверьте наличие пакетов unixodbc и libgsf-1, а также права на каталог /opt/1cv8. Отсутствие этих компонентов приводит к ошибке Не удалось подключиться к рабочему серверу (SrvrConnect: 10061).
Если добавляемый сервер ранее входил в другой кластер, удалите остаточные файлы конфигурации в %ProgramData%\1C\1cv8\conf или /opt/1cv8/conf. В противном случае возможны конфликты идентификаторов рабочих процессов.
2. Способ 1: Добавление сервера через графический интерфейс консоли
Самый визуально понятный метод — использование стандартной консоли управления 1С. Подходит для администраторов, которые предпочитают избегать командной строки. Инструкция актуальна для Windows Server 2016/2019/2022:
- Откройте Консоль администрирования серверов 1С (
1CEnterprise 8.3 Admin Console). - В дереве кластеров выберите целевой кластер, затем правой кнопкой вызовите меню и выберите
Добавить рабочий сервер. - В поле
Имя или IP-адрес сервераукажите DNS-имя или IP добавляемого узла. Например,srvinf-02.localили192.168.1.10. - Укажите порт подключения (по умолчанию
1540). Если порт изменён, проверьте соответствие в файлеsrvinfo.iniна добавляемом сервере. - Нажмите
Далееи дождитесь завершения процедуры. В случае успеха в списке появится новый сервер с статусомГотов.
Если после добавления сервер отображается с предупреждением Не все процессы запущены, проверьте:
- 🔸 Запущена ли служба
Агент сервера 1С:Предприятия 8.3на добавляемом узле. - 🔸 Совпадают ли версии
ragent.exeиrmngr.exeна центральном и рабочем серверах (посмотреть можно вСвойствахфайлов). - 🔸 Нет ли блокировок антивирусом (например, Kaspersky Endpoint Security может блокировать межпроцессное взаимодействие 1С).
Убедиться, что сервер отображается в консоли со статусом "Готов"|
Проверить запуск рабочих процессов (rphost) на новом узле|
Выполнить тестовое подключение базы данных к добавленному серверу|
Просмотреть логи в %ProgramData%\1C\1cv8\log\ на ошибки подключения-->
3. Способ 2: Добавление через командную строку (rac и cluster)
Для автоматизации или работы на серверах без GUI удобнее использовать утилиты rac (Remote Administration Console) и cluster. Этот метод также полезен, если графическая консоль не запускается из-за ошибок 0x80070005 (отказ в доступе).
Основная команда для добавления сервера:
rac cluster add-workserver --cluster=ИМЯ_КЛАСТЕРА --server=ИМЯ_СЕРВЕРА --port=1540 --manager-port=1541
Пример для кластера MainCluster и сервера srvinf-03:
rac cluster add-workserver --cluster=MainCluster --server=srvinf-03 --port=1540 --manager-port=1541 --user=Администратор --pwd=Пароль
Ключевые параметры:
| Параметр | Описание | Пример значения |
|---|---|---|
--cluster | Имя целевого кластера | MainCluster |
--server | IP или имя добавляемого сервера | 192.168.1.15 |
--port | Порт агента сервера (по умолчанию 1540) | 1560 (если изменён) |
--manager-port | Порт менеджера кластера | 1541 |
--user | Пользователь с правами администрирования кластера | Администратор |
Если команда завершается с ошибкой Не удалось подключиться к агенту сервера (SrvrConnect: 10060), проверьте:
- Доступность порта
1540на целевом сервере (telnet srvinf-03 1540). - Наличие записи о кластере в файле
srvinfo.ini(должна быть строкаCluster=ИМЯ_КЛАСТЕРА). - Совпадение версий
rac.exeиragent.exe(утилитаracдолжна быть из того же дистрибутива, что и платформа).
Что делать, если rac не распознаётся как команда?
Скачайте утилиту rac.exe из дистрибутива 1С:Предприятия (папка \bin\) и поместите её в C:\Windows\System32\ или добавьте путь к папке с rac.exe в переменную окружения PATH. Альтернативно используйте полный путь, например:
C:\Program Files\1cv8\8.3.20.1549\bin\rac.exe cluster add-workserver ...4. Способ 3: Ручное добавление через конфигурационные файлы
В редких случаях (например, при сбоях в работе ragent или отсутствии доступа к rac) сервер можно добавить вручную, отредактировав конфигурационные файлы кластера. Этот метод требует осторожности, так как ошибки в синтаксисе приведут к падению всего кластера.
Основные файлы для редактирования:
- 📄
%ProgramData%\1C\1cv8\conf\cluster.conf— основная конфигурация кластера. - 📄
%ProgramData%\1C\1cv8\conf\ИМЯ_КЛАСТЕРА\workservers.lst— список рабочих серверов. - 📄
srvinfo.iniна добавляемом сервере — должен содержать ссылку на кластер.
Алгоритм действий:
- Остановите службу
Агент сервера 1С:Предприятия 8.3на всех узлах кластера. - Откройте файл
workservers.lstи добавьте строку с именем нового сервера. Формат:ИМЯ_СЕРВЕРА:1540:1541Пример:
srvinf-04:1540:1541 - В файле
srvinfo.iniна добавляемом сервере убедитесь, что указаны корректные параметры:[Service]Cluster=ИМЯ_КЛАСТЕРА
MainPort=1540
RangePort=1560-1591
- Запустите службу
ragentна всех узлах.
chdbfl.exe -f "C:\ProgramData\1C\1cv8\conf\cluster.conf"
Ошибки в формате файла приведут к краху кластера при следующем запуске!-->
5. Типичные ошибки и их решения
Даже при точном следовании инструкциям администраторы сталкиваются с ошибками. Рассмотрим самые распространённые:
| Код ошибки | Описание | Решение |
|---|---|---|
2147483648 | Не удалось подключиться к рабочему серверу (обычно связано с сетью или правами) | Проверьте фаервол, права на каталог 1cv8, запуск службы ragent |
0x80004005 | Неопределённая ошибка (часто из-за несовпадения версий) | Обновите платформу до одинаковой версии на всех узлах |
SrvrConnect: 10061 | Активный отказ подключения (порт закрыт или служба не запущена) | Проверьте netstat -ano | findstr 1540 и статус службы |
0x80070005 | Отказано в доступе | Запустите консоль от имени администратора, проверьте права на ProgramData\1C |
2147220991 | Неверный формат конфигурационного файла | Восстановите файл из резервной копии или проверьте синтаксис chdbfl.exe |
Особого внимания заслуживает ошибка 0x80040154 (Класс не зарегистрирован). Она возникает, если на сервере не установлены компоненты 1С:Предприятия или повреждена регистрация COM-объектов. Решение:
- Перерегистрируйте библиотеки командой:
regsvr32 "C:\Program Files\1cv8\8.3.20.1549\bin\comcntr.dll" - Установите недостающие компоненты из дистрибутива 1С (выберите
Полная установкапри инсталляции).
Графический интерфейс консоли|
Командная строка (rac)|Ручное редактирование конфигов|
Другой способ-->
6. Проверка работоспособности и балансировка нагрузки
После добавления сервера необходимо убедиться, что он корректно обрабатывает запросы. Для этого:
- В консоли администрирования проверьте статус сервера — должен быть
Готов(зелёная галочка). - Запустите тестовое подключение базы данных к новому узлу:
rac infobase --cluster=ИМЯ_КЛАСТЕРА connect --infobase=ИМЯ_БАЗЫ --user=Администратор --pwd=Пароль --work-server=ИМЯ_НОВОГО_СЕРВЕРА - Просмотрите логи рабочих процессов в
%ProgramData%\1C\1cv8\log\ИМЯ_КЛАСТЕРА\. Обратите внимание на файлыrphost*.log— там фиксируются ошибки выполнения задач.
Для балансировки нагрузки между серверами кластера:
- 🔹 Настройте приоритеты серверов в консоли администрирования (раздел
Узлы кластера→Приоритет). Серверы с более высоким приоритетом будут получать больше задач. - 🔹 Используйте динамическое распределение (включается в настройках кластера). В этом случае менеджер кластера автоматически перенаправляет запросы на наименее загруженные узлы.
- 🔹 Для критичных баз данных закрепите их за конкретными серверами через параметр
Допустимые серверыв свойствах информационной базы.
Важно: при добавлении сервера в кластер с включённой балансировкой новые рабочие процессы (rphost) могут запускаться с задержкой до 5 минут. Это нормальное поведение — менеджер кластера оптимизирует распределение ресурсов.
7. Удаление сервера из кластера: когда это необходимо
Если сервер добавился с ошибками или требуется его временно исключить (например, для обслуживания), используйте процедуру удаления. Важно сделать это корректно, чтобы не нарушить работу кластера:
Через графический интерфейс:
- В консоли администрирования выберите сервер, правой кнопкой вызовите
Удалить. - Подтвердите действие. Система автоматически перенаправит активные сеансы на другие узлы.
Через командную строку:
rac cluster delete-workserver --cluster=ИМЯ_КЛАСТЕРА --server=ИМЯ_СЕРВЕРА
После удаления:
- 🔸 Проверьте, что в файле
workservers.lstнет записи об удалённом сервере. - 🔸 Перезапустите службу
ragentна центральном сервере для применения изменений. - 🔸 Если сервер планируется вернуть в кластер позже, сохраните его конфигурационные файлы (
srvinfo.ini,1cv8reg.ini).
rac session list --cluster=ИМЯ_КЛАСТЕРА --work-server=ИМЯ_СЕРВЕРА
Если есть активные подключения, используйте параметр --force для принудительного завершения.-->
8. Автоматизация добавления серверов (для крупных кластеров)
В инфраструктурах с десятками серверов (например, в облачных решениях или хостинг-провайдерах) ручное добавление каждого узла неэффективно. Для автоматизации используйте:
- 🤖 Скрипты PowerShell с модулем
1C-Admin(пример ниже). - 🤖 Ansible-плейбуки для Linux-серверов (модуль
community.1c). - 🤖 Групповые политики (GPO) для развёртывания конфигурационных файлов.
Пример скрипта PowerShell для добавления сервера:
$ClusterName = "MainCluster"
$ServerName = "srvinf-05"
$Port = 1540
$ManagerPort = 1541
$RacPath = "C:\Program Files\1cv8\8.3.20.1549\bin\rac.exe"
& $RacPath cluster add-workserver `
--cluster=$ClusterName `
--server=$ServerName `
--port=$Port `
--manager-port=$ManagerPort `
--user=Администратор `
--pwd=Пароль
if ($LASTEXITCODE -ne 0) {
Write-Error "Ошибка добавления сервера $ServerName в кластер $ClusterName"
exit 1
}
Для Linux-серверов используйте ansible с задачей:
- name: Добавить сервер в кластер 1С
community.1c.cluster_workserver:
cluster_name: "{{ cluster_name }}"
server_name: "{{ inventory_hostname }}"
port: 1540
manager_port: 1541
state: present
Автоматизация особенно полезна при:
- 🔹 Горизонтальном масштабировании (добавление узлов под пиковые нагрузки).
- 🔹 Восстановлении после сбоев (автоматическое переподключение серверов).
- 🔹 Обновлении кластера (поочерёдное обновление узлов с минимальным простоем).
При автоматизации добавления серверов всегда включайте проверку успешности операции. Например, после выполнения команды rac анализируйте код возврата ($LASTEXITCODE в PowerShell) и логи в /var/log/1C/1cv8/ для Linux.
FAQ: Частые вопросы по добавлению серверов в 1С
Можно ли добавить сервер с другой версией платформы?
Технически возможно, если разница в минорных версиях (например, 8.3.20.1549 и 8.3.20.1680). Однако при значительных различиях (например, 8.3.19 и 8.3.20) возникнут ошибки совместимости, особенно при работе с управляемыми блокировками или распределёнными транзакциями. Рекомендуется выравнивать версии до добавления.
Как добавить сервер, если центральный узел кластера недоступен?
Если центральный сервер (где работает rmngr) недоступен, добавление нового узла невозможно — кластер должен иметь хотя бы один работоспособный менеджер. В этом случае:
- Восстановите работу центрального узла.
- Или перенастройте кластер, указав другой сервер в качестве менеджера (редактируя
cluster.confвручную).
Без менеджера кластера новые серверы не смогут присоединиться, так как не получат актуальную конфигурацию.
Почему после добавления сервер не отображается в консоли?
Причины могут быть следующими:
- 🔸 Сервис
ragentне запущен на добавляемом сервере. - 🔸 Порты
1540-1541заблокированы фаерволом или антивирусом. - 🔸 В файле
workservers.lstошибка в синтаксисе (например, лишний символ или неверный разделитель). - 🔸 Несовпадение имени кластера в
srvinfo.iniна сервере и в консоли.
Проверьте логи в %ProgramData%\1C\1cv8\log\ИМЯ_КЛАСТЕРА\ragent.log — там обычно указывается конкретная причина.
Как добавить сервер в кластер, если он находится в другой сети (через VPN)?
Для добавления сервера через VPN или NAT:
- Убедитесь, что между сетями настроена маршрутизация для портов
1540-1591. - В файле
srvinfo.iniна добавляемом сервере укажите внешний IP или DNS-имя центрального узла (если используется NAT). - Если используется VPN, проверьте, что туннель пропускает
TCP-трафик на указанные порты.
Пример строки в srvinfo.ini для сервера за NAT:
[Service]
Cluster=MainCluster
MainPort=1540
MainHost=vpn-gateway.example.com ; Внешний адрес шлюза
Что делать, если при добавлении сервера появляется ошибка "Лицензия не найдена"?
Ошибка Лицензия не найдена (LicenseNotFound) возникает, если:
- 🔸 На добавляемом сервере не установлен аппаратный ключ защиты (для версий с аппаратной лицензией).
- 🔸 Не указан путь к лицензионному файлу (
.lic) в настройках кластера. - 🔸 Истёк срок действия программной лицензии (проверьте в
Лицензированииконсоли администрирования).
Решение:
- Установите аппаратный ключ на сервер или скопируйте файл лицензии в
C:\ProgramData\1C\licenses\. - В консоли администрирования обновите лицензионную информацию (
Кластеры → Лицензирование → Обновить).