Центральный и рабочий сервер 1С 8.3: регистрация в консоли и в кластере
Содержание
Чтобы добавить сервер
в консоль 1С, откройте «Администрирование серверов 1С Предприятия», щёлкните правой кнопкой по ветке Central 1C:Enterprise 8.3 servers и выберите Создать → Центральный сервер 1С:Предприятия 8.3. В поле «Имя» укажите сетевое имя или IP-адрес машины, порт оставьте 1540. После этого в дереве появятся кластеры этого сервера.
Если же нужно не просто увидеть сервер в консоли, а подключить вторую машину к уже работающему кластеру, путь другой: Кластеры → <ваш кластер> → Рабочие серверы → Создать → Рабочий сервер. Первый вариант — это «подключить консоль к серверу
», второй — «расширить кластер». Для скриптов и Linux без графики есть третий путь: утилита rac через сервер администрирования ras.
| Задача | Где делается | Когда выбирать |
|---|---|---|
| Увидеть и администрировать сервер | Ветка центральных серверов в консоли | Сервер уже работает, нужен доступ к нему с вашего ПК |
| Добавить машину в кластер | Ветка «Рабочие серверы» кластера | Нужна вторая точка для нагрузки или резерв |
| То же без графики | rac server insert | Linux, удалённые площадки, десятки серверов |
Подготовка машины перед добавлением сервера
Большинство неудачных попыток ломаются ещё до консоли. Проверьте пять вещей.
- 🔢 Одинаковая версия платформы. На всех серверах кластера и в консоли должна стоять одна и та же сборка, например
8.3.24.1586везде. Совпадение до последней цифры обязательно: агент другой сборки в кластер не встанет. - ⚙️ Служба агента запущена. В Windows это служба «Агент сервера 1С:Предприятия 8.3». В Linux на платформах начиная с 8.3.21 — systemd-юнит вида
srv1cv8-8.3.24.1586@default. Проверьте, что служба в состоянии «Выполняется». - 🌐 Открыты порты. Стандартная схема:
1540— агент,1541— менеджер кластера,1560:1591— рабочие процессы. Если используетеras, добавьте1545. Порты должны быть открыты в обе стороны между всеми серверами кластера и от клиентов к серверам. - 🧭 Имена разрешаются. Каждый сервер должен находить остальные по короткому имени. Клиенты тоже: после подключения к агенту клиент идёт к рабочему процессу по имени машины, которое прописано в кластере.
- 🔑 Лицензия на новом рабочем сервере. Если машина будет запускать рабочие процессы, ей нужна своя серверная лицензия.
Проверить связь до агента можно ещё до открытия консоли:
Test-NetConnection srv-1c-02 -Port 1540
Test-NetConnection srv-1c-02 -Port 1541
Если DNS в сети нет или он отдаёт не те адреса, пропишите соответствие в C:\Windows\System32\drivers\etc\hosts на каждом сервере и на терминальных серверах:
192.168.10.21 srv-1c-01
192.168.10.22 srv-1c-02
Берите короткие имена без домена, если кластер уже зарегистрирован с ними. Смешивать srv-1c-02 и srv-1c-02.corp.local в одном кластере — частый источник ошибок подключения.
Как добавить центральный сервер в консоль администрирования
Этот способ нужен, когда сервер 1С уже установлен и работает, а вы хотите управлять им со своего компьютера или с другой машины.
Если консоли нет или она не открывается
Ярлык «Администрирование серверов 1С Предприятия» появляется при установке компонента «Администрирование сервера 1С:Предприятия». Консоль — это оснастка MMC, которая работает через библиотеку radmin.dll. Её нужно зарегистрировать той же версии, что и сервер.
Запустите командную строку от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"
Для 32-разрядной платформы путь будет C:\Program Files (x86)\1cv8\.... После обновления платформы на сервере перерегистрируйте radmin.dll новой версии — иначе консоль старой сборки не сможет работать с агентом.
Регистрация центрального сервера
- Откройте консоль от имени администратора Windows.
- Раскройте корень и найдите ветку
Central 1C:Enterprise 8.3 servers. - Правой кнопкой —
Создать → Центральный сервер 1С:Предприятия 8.3. - Заполните поля:
- Протокол —
TCP/IP, другого варианта там нет; - Имя — сетевое имя или IP-адрес сервера;
- IP порт — порт агента, по умолчанию
1540; - Описание — по желанию, например «Бухгалтерия, основной».
- Протокол —
- Нажмите «ОК» и раскройте новый узел. Должны появиться ветки «Администраторы» и «Кластеры».
Если агент запущен на нестандартном порту, например 2540, именно его и укажите в поле «IP порт».
Если на сервере заданы администраторы центрального сервера, при раскрытии узла консоль запросит логин и пароль. Это учётная запись администратора 1С, а не пользователя Windows.
Добавление рабочего сервера в кластер через консоль
Это главный сценарий для масштабирования: вторая машина начинает принимать рабочие процессы и, при необходимости, менеджеры кластера.
На новой машине сначала установите сервер 1С той же версии и убедитесь, что служба агента работает. После установки агент сам создаёт на ней «Локальный кластер». Если баз в нём нет и он не нужен, его можно удалить из консоли, подключившись к этой машине как к центральному серверу.
Шаги в консоли основного сервера
- Раскройте
<основной сервер> → Кластеры → <ваш кластер> → Рабочие серверы. - Правой кнопкой по «Рабочие серверы» —
Создать → Рабочий сервер. - Заполните карточку:
| Поле | Что указать | Пример |
|---|---|---|
| Описание | Понятное имя | srv-1c-02 |
| Компьютер | Сетевое имя новой машины | srv-1c-02 |
| IP порт | Порт агента на новой машине | 1540 |
| Диапазон IP портов | Порты рабочих процессов | 1560:1591 |
| Порт главного менеджера кластера | Порт менеджера на этом сервере | 1541 |
| Центральный сервер | Флажок, если машина будет резервным центральным | по ситуации |
- Ниже в той же карточке — параметры ограничений: количество информационных баз на процесс, количество соединений на процесс, критичный и временно допустимый объём памяти процессов. Для начала оставьте значения по умолчанию.
- Нажмите «ОК». Через несколько секунд в ветке «Рабочие процессы» должны появиться процессы с новой машины.
Диапазон портов рабочих процессов задаётся именно в свойствах рабочего сервера. Если на одной машине работают два агента разных версий, дайте им непересекающиеся диапазоны, например 1560:1591 и 2560:2591.
Нужен ли флажок «Центральный сервер»
Если флажок стоит, новая машина хранит копию реестра кластера и может принять на себя роль центрального при отказе основного. Для настоящего резервирования этого мало: в свойствах кластера нужно поднять «Уровень отказоустойчивости» хотя бы до 1, а в списке подключения клиентов указать оба сервера через запятую: srv-1c-01,srv-1c-02.
Если машина нужна только для расчётов, флажок не ставьте. Так проще диагностика: реестр кластера живёт в одном месте.
Добавление сервера командой rac
Консоль на Linux не работает
: она есть только для Windows. На Linux и при массовых операциях используют пару утилит: ras — сервер администрирования, и rac — клиент к нему. Обе лежат в каталоге bin платформы.
Запуск сервера администрирования
На машине с центральным сервером запустите ras, указав адрес агента:
ras cluster --port=1545 localhost:1540
В Windows его удобнее зарегистрировать службой, чтобы он поднимался сам:
sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1586\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto
sc start "1C:Enterprise 8.3 Remote Server"
Пробел после binPath= и start= обязателен — такой синтаксис у sc.
Последовательность команд
Сначала узнайте идентификатор кластера:
rac localhost:1545 cluster list
В выводе нужна строка cluster : <UUID>. Затем посмотрите текущие рабочие серверы:
rac localhost:1545 server list --cluster=<UUID>
И добавьте новый:
rac localhost:1545 server insert --cluster=<UUID> --agent-host=srv-1c-02 --agent-port=1540 --port-range=1560:1591 --name=srv-1c-02
Если в кластере заданы администраторы, к каждой команде добавьте --cluster-user=<логин> --cluster-pwd=<пароль>. Полный список параметров для вашей версии покажет rac help server — набор необязательных ключей между релизами платформы меняется.
Автоматизация для большого кластера
Когда серверов больше трёх-четырёх, держите их список в файле и добавляйте скриптом. Пример для Windows: файл servers.txt содержит по одному имени машины в строке.
@echo off
set RAC="C:\Program Files\1cv8\8.3.24.1586\bin\rac.exe"
set RAS=localhost:1545
set CL=<UUID кластера>
for /f "usebackq delims=" %%S in ("servers.txt") do (
echo Добавляю %%S
%RAC% %RAS% server insert --cluster=%CL% --agent-host=%%S --agent-port=1540 --port-range=1560:1591 --name=%%S
)
%RAC% %RAS% server list --cluster=%CL%
Тот же цикл на Linux:
#!/bin/bash
RAC=/opt/1cv8/x86_64/8.3.24.1586/rac
CL="<UUID кластера>"
while read -r S; do
echo "Добавляю $S"
"$RAC" localhost:1545 server insert --cluster="$CL" \
--agent-host="$S" --agent-port=1540 --port-range=1560:1591 --name="$S"
done < servers.txt
"$RAC" localhost:1545 server list --cluster="$CL"
Последняя команда в обоих скриптах выводит итоговый список — по нему сразу видно, какая машина не добавилась. Пароль администратора кластера в скрипт не вписывайте: передавайте его переменной окружения или вводите при запуске.
Параметры службы агента и каталог кластера
«Ручного» добавления сервера правкой файлов у платформы нет. Реестр кластера хранится в каталоге службы, по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541, в файле 1CV8Clst.lst. Не правьте 1CV8Clst.lst руками на работающем сервере — испорченный реестр кластера означает недоступность всех баз.
Вручную меняют другое — параметры запуска агента. Если на новой машине нужны нестандартные порты или каталог srvinfo, это задаётся при установке службы или в строке её запуска. В Windows строку видно в свойствах службы, поле «Исполняемый файл»:
"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Здесь -port — порт агента, -regport — порт менеджера кластера, -range — диапазон рабочих процессов, -d — каталог реестра. Изменить строку можно через раздел реестра службы в HKLM\SYSTEM\CurrentControlSet\Services.
Правка параметров требует перезапуска службы агента. При перезапуске оборвутся все сеансы пользователей на этом сервере — делайте это вне рабочего времени и заранее предупредите людей.
Перед любыми изменениями в кластере скопируйте каталог srvinfo\reg_1541 при остановленной службе. Это единственный способ быстро вернуть кластер, если что-то пошло не так.
Проверка работы нового сервера и распределение нагрузки
Добавить сервер мало — нужно убедиться, что он реально принимает работу.
- ✅ В ветке «Рабочие процессы» есть процессы с именем новой машины в колонке «Компьютер».
- ✅ В ветке «Сеансы» у части пользователей рабочий процесс находится на новой машине.
- ✅ Пользователь с терминального сервера открывает базу без ошибок — значит, имя нового сервера разрешается и с клиентских машин.
Как кластер распределяет сеансы
В свойствах кластера есть «Режим распределения нагрузки»: приоритет по производительности или по памяти. По умолчанию кластер сам направляет новые соединения в менее загруженный процесс.
Тонкая настройка делается через «Требования назначения функциональности» в ветке рабочего сервера. Там можно, например, указать, что фоновые задания и обслуживание конкретной базы выполняются только на одной машине. Типичная схема: на мощном сервере — тяжёлые регламентные задания, на втором — интерактивные пользователи.
Перед тем как резать функциональность требованиями, поработайте неделю с настройками по умолчанию и посмотрите на память процессов. Иначе сложно понять, помогла настройка или помешала.
Как убрать сервер из кластера
Удаление нужно при выводе машины из эксплуатации, замене железа или если сервер добавили по ошибке. Делайте это аккуратно.
- В ветке рабочего сервера создайте требование назначения функциональности с типом «Не назначать» для всех объектов. Новые сеансы перестанут попадать на эту машину.
- Дождитесь, пока пользователи сами выйдут, или предупредите их заранее: принудительное завершение процессов обрывает сеансы, несохранённые данные теряются.
- Убедитесь, что на сервере не осталось рабочих процессов.
- Правой кнопкой по рабочему серверу — «Удалить».
Через rac то же самое:
rac localhost:1545 server list --cluster=<UUID>
rac localhost:1545 server remove --cluster=<UUID> --server=<UUID сервера>
Если удаляемый сервер был отмечен как центральный, сначала проверьте, что в кластере остаётся другой центральный сервер. И не забудьте убрать его имя из строки подключения клиентов.
Ошибки при добавлении сервера и что с ними делать
Частые вопросы
Можно ли добавить в кластер сервер с другой версией платформы?
Сколько рабочих серверов можно добавить в один кластер?
Нужно ли ставить СУБД на второй рабочий сервер?
Почему у коллеги в консоли нет моих серверов?
appsrvrs.lst каталога %APPDATA%\1C\1cv8. Под другой учётной записью список будет пустым — серверы нужно добавить заново или скопировать этот файл.