Кластер серверов 1С:Предприятие 8.3 — установка, рабочие серверы и защита
Содержание
Кластер серверов
1С создаётся сам при установке сервера 1С:Предприятия как службы: агент ragent поднимает «Локальный кластер» на порту 1541, а рабочие процессы rphost занимают диапазон 1560–1591. Дальше вы добавляете в этот кластер второй и следующие рабочие серверы через консоль администрирования, задаёте балансировку и уровень отказоустойчивости. Отдельной кнопки «создать кластер с нуля» в обычной работе почти не нужно.
Главные проблемы начинаются не на установке, а потом: серверы не видят друг друга по имени, файрвол режет порты, версии платформы на узлах разные. Порядок действий для Windows и Linux, приведённый здесь, позволяет собрать кластер с первого раза. Всё описанное относится к платформе 8.3 и не зависит от конфигурации: БП, ЗУП, УТ и ERP работают в кластере одинаково.
Подготовка серверов и сети под кластер 1С
Кластер — это несколько компьютеров, на каждом из которых стоит одна и та же сборка сервера 1С. Один из них центральный: на нём хранится реестр кластера. Остальные — рабочие серверы, которые берут на себя сеансы пользователей.
Минимальные ориентиры для рабочего сервера:
- 🖥️ процессор — 4 ядра и больше, высокая частота важнее числа ядер: код 1С в одном вызове выполняется в один поток;
- 💾 память — от 16 ГБ на сервер 1С, для 50+ пользователей ERP или УТ — 32–64 ГБ;
- 💽 диск — SSD под каталог
srvinfoи временные файлы; - 🌐 сеть — от 1 Гбит/с между серверами 1С и СУБД, задержка внутри стойки, без VPN между узлами кластера.
СУБД (PostgreSQL или MS SQL Server) лучше держать на отдельной машине. На небольших внедрениях до 20–30 пользователей сервер 1С и СУБД на одном железе работают нормально, если памяти хватает обоим.
Какие порты открыть
| Порт | Кто слушает | Зачем |
|---|---|---|
| 1540 | агент сервера ragent | первое подключение клиента и консоли |
| 1541 | менеджер кластера rmngr | реестр кластера, распределение сеансов |
| 1560–1591 | рабочие процессы rphost | обработка запросов пользователей |
| 1545 | сервер администрирования ras | только если используете rac или сторонние консоли |
Схема подключения такая: клиент идёт к агенту на 1540, тот отдаёт адрес менеджера кластера на 1541, менеджер назначает рабочий процесс из диапазона портов. Диапазон задаётся в свойствах рабочего сервера, поэтому на каждом узле он может быть своим.
Имена компьютеров
Все узлы должны находить друг друга по короткому имени, а не только по IP. Сервер 1С при регистрации запоминает именно имя хоста. Если DNS в сети нет или он ненадёжен, пропишите все узлы в hosts на каждом сервере и на клиентах:
192.168.10.11 srv1c-01
192.168.10.12 srv1c-02
192.168.10.20 srv-db
На Windows файл лежит в C:\Windows\System32\drivers\etc\hosts, на Linux — /etc/hosts.
Windows или Linux: на чём поднимать кластер
Обе системы поддерживаются официально, сервер 1С на них функционально одинаков. Выбор обычно определяют не возможности 1С, а то, кто будет сопровождать серверы.
| Критерий | Windows Server 2016+ | Linux (Debian, Ubuntu, RHEL-совместимые) |
|---|---|---|
| Стоимость ОС | платная лицензия Windows и CAL | дистрибутив бесплатен |
| Консоль администрирования | MMC-оснастка ставится вместе с сервером | MMC запускают с Windows-машины или используют rac |
| СУБД рядом | удобно с MS SQL Server | удобно с PostgreSQL |
| Внешние компоненты и COM | работают все | COM-объекты недоступны, часть внешних компонент только под Windows |
| Порог входа для администратора | ниже | нужен опыт с systemd, правами, локалями |
Если в конфигурации есть доработки через COM (например, обмен с Excel через ComObject на сервере), Linux потребует переделки этого кода. Для типовых конфигураций разницы нет.
Установка центрального сервера и агента кластера
На Windows
- Запустите
setup.exeиз дистрибутива технологической платформы для Windows x86-64. - В списке компонентов включите «Сервер 1С:Предприятия 8 (x86-64)» и «Администрирование сервера 1С:Предприятия».
- Отметьте установку сервера как службы Windows и создайте пользователя
USR1CV8(или укажите заранее созданную доменную учётную запись). - После установки проверьте в
services.mscслужбу «Агент сервера 1С:Предприятия 8.3 (x86-64)» — она должна быть в состоянии «Выполняется».
Если службу нужно пересоздать вручную, например с нестандартными портами или каталогом, это делается из папки bin установленной версии:
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -port 1540 -regport 1541 -range 1560:1591 -d "D:\srvinfo"
ragent.exe -start
Каталог srvinfo на быстром диске — хорошая привычка: туда пишутся журналы регистрации и сеансовые данные.
На Debian и Ubuntu
Начиная с платформы 8.3.20 сервер для Linux поставляется единым установщиком .run вместо набора пакетов. Пример установки сервера и модуля веб-сервера без вопросов:
chmod +x setup-full-8.3.xx.xxxx-x86_64.run
sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended --enable-components server,ws
Платформа ляжет в /opt/1cv8/x86_64/<версия>/. В этой же папке есть готовый файл службы systemd. Подключите и запустите его:
V=8.3.xx.xxxx
sudo systemctl link /opt/1cv8/x86_64/$V/srv1cv8-$V@.service
sudo systemctl enable srv1cv8-$V@default
sudo systemctl start srv1cv8-$V@default
sudo systemctl status srv1cv8-$V@default
Служба работает от пользователя usr1cv8, каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8. До первого запуска проверьте, что в системе сгенерирована локаль ru_RU.UTF-8, и установите шрифты Microsoft Core Fonts: без них криво формируются печатные формы и PDF на сервере.
Подключаем консоль администрирования
На Windows консоль — MMC-оснастка. Если после установки она открывается пустой или с ошибкой загрузки, зарегистрируйте библиотеку той версии, к которой подключаетесь:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Затем откройте «Администрирование серверов 1С Предприятия», добавьте центральный сервер по имени, порт 1540. Внутри вы увидите «Локальный кластер» с портом 1541 и один рабочий сервер — это и есть готовый кластер.
Для Linux-узла без графики поднимите сервер администрирования и работайте через rac:
/opt/1cv8/x86_64/$V/ras cluster --daemon
/opt/1cv8/x86_64/$V/rac cluster list
Версия radmin.dll на машине администратора должна совпадать с версией сервера. При обновлении платформы на сервере регистрируйте новую библиотеку, иначе консоль не подключится.
Как добавить в кластер 1С второй рабочий сервер
Новый узел готовят так же: ставят ту же сборку платформы, запускают агент как службу. Затем подключают его к существующему кластеру из консоли центрального сервера.
- В консоли раскройте
Кластеры → Локальный кластер → Рабочие серверы. - В контекстном меню выберите «Создать» → «Рабочий сервер».
- Укажите имя компьютера (как в
hosts), IP-порт 1540 и диапазон портов, например1560:1591. - Сохраните. Через несколько секунд на новом узле запустятся процессы
rmngrиrphost.
Ключевые параметры в свойствах рабочего сервера:
- ⚙️ «Количество ИБ на процесс» — сколько баз обслуживает один
rphost. Значение 0 — без ограничений; 1 — каждой базе свой процесс, это изолирует тяжёлую базу от остальных. - ⚙️ «Количество соединений на процесс» — когда процесс наберёт этот предел, менеджер запустит следующий
rphost. - 🧠 «Временно допустимый объём памяти процессов» и «Критический объём памяти процессов» — пороги, после которых сервер начинает перезапускать процессы и отказывать в новых вызовах.
- 🏛️ флаг «Центральный сервер» — у такого узла будет своя копия реестра кластера и свой менеджер. Это основа отказоустойчивости.
Рабочие процессы rphost в 8.3 запускаются и останавливаются автоматически по этим параметрам. Отдельно «добавлять процессы» руками не нужно.
Несколько рабочих серверов в одном кластере, резервирование кластера и требования назначения функциональности работают только с серверной лицензией уровня КОРП. С лицензией ПРОФ кластер фактически ограничен одним рабочим сервером. Уровень лицензии проверьте до покупки железа под второй узел.
Балансировка нагрузки и отказоустойчивость кластера
Балансировку менеджер кластера делает сам: новый сеанс уходит на тот рабочий сервер, где сейчас меньше нагрузки. Повлиять на это можно тремя способами.
Режим распределения нагрузки
В свойствах кластера есть параметр «Режим распределения нагрузки»:
- «Приоритет по производительности» — сеансы раздаются с учётом скорости обработки вызовов на узлах. Это вариант по умолчанию.
- «Приоритет по памяти» — сервер старается занять меньше процессов и экономит ОЗУ. Подходит, когда память — узкое место.
Требования назначения функциональности
Это правила «кто что делает» в свойствах рабочего сервера. Типичный сценарий для крупной базы: все регламентные задания выполняет отдельный узел, а пользователи работают на остальных. Тогда ночное закрытие месяца или обмены не тормозят интерактивную работу.
Правило задаётся по объекту требования (например, «Клиентское соединение» или «Фоновое задание»), типу требования («Назначать» или «Не назначать») и, при необходимости, по конкретной информационной базе.
Уровень отказоустойчивости
Параметр «Уровень отказоустойчивости» в свойствах кластера показывает, сколько рабочих серверов могут одновременно выйти из строя без потери сеансов. Чтобы он работал, нужно минимум два узла с флагом «Центральный сервер».
| Узлов в кластере | Центральных | Разумный уровень отказоустойчивости |
|---|---|---|
| 2 | 2 | 1 |
| 3 | 2–3 | 1 |
| 4+ | 3 | 1–2 |
Каждая единица уровня — это дополнительная копия сеансовых данных на соседнем узле. Выше уровень — больше сетевого трафика и нагрузки на память.
Отдельно существует резервирование кластеров целиком: в консоли у кластера есть раздел, где к основному кластеру добавляют резервный на другом сервере. Это защита от падения центрального узла вместе с реестром.
Оптимизация производительности кластера серверов
Большая часть «тормозов» в кластере связана не с 1С, а с окружением. Вот что проверяют в первую очередь:
- План электропитания. На Windows Server включите «Высокая производительность». Режим «Сбалансированный» снижает частоту процессора, и однопоточные операции 1С заметно проседают.
- Антивирус. Исключите из проверки каталог
srvinfo, папку платформы и файлы СУБД. Сканирование журнала регистрации на лету даёт задержки на каждой записи. - Перезапуск процессов. В свойствах кластера задайте «Интервал перезапуска» (например, 86400 секунд — раз в сутки) и «Допустимый объём памяти». Тогда
rphost, накопивший утечки, будет плавно заменён новым процессом. - Проблемные процессы. Включите «Принудительно завершать проблемные процессы»: зависший
rphostсервер завершит сам, а не через звонок пользователя. - Журнал регистрации. Для нагруженных баз переводите его в формат SQLite с регулярным сокращением, иначе каталог
srvinfoразрастается до десятков гигабайт.
Для сравнения узлов между собой практики используют синтетический тест Гилёва: он показывает, насколько быстро рабочий сервер выполняет типовую нагрузку 1С. Запустите его на каждом узле — сервер с заметно худшим результатом сразу видно.
Перезапуск рабочего процесса вручную обрывает сеансы пользователей, которые на нём работают. Делайте его вне рабочего времени или предупредите людей заранее.
Безопасность кластера 1С
Свежий кластер открыт для любого, кто знает адрес сервера: подключиться консолью и удалить базу может кто угодно в сети. Закройте это сразу после установки.
- 🔐 Администратор центрального сервера. В консоли раскройте сервер →
Администраторы, создайте учётную запись с паролем. Первой учётной записью должен быть именно ваш администратор, иначе вы закроете доступ себе. - 🔐 Администратор кластера. То же в узле
Кластеры → Локальный кластер → Администраторы. Без него любой пользователь консоли может создавать и удалять информационные базы. - 🧱 Файрвол. Порты 1540, 1541 и диапазон
rphostоткрывайте только для подсетей клиентов и узлов кластера. Порт 1545 дляras— только для машин администраторов. - 👤 Учётная запись службы.
USR1CV8не должен быть администратором ОС. Ему нужны права на каталогsrvinfo, на временную папку и право «Вход в качестве службы». - 🛡️ Профили безопасности. В свойствах кластера есть раздел профилей безопасности: он ограничивает, к каким каталогам, внешним компонентам и COM-объектам может обращаться код конфигурации. Полезно для баз с внешними обработками от подрядчиков.
- 🔒 Защищённое соединение. Параметр кластера «Защищённое соединение» шифрует трафик между клиентом и сервером. Включайте, если клиенты подключаются из недоверенных сегментов сети.
Пароль администратора кластера храните в менеджере паролей отдела. Если его потеряли, вариантов немного: остановить службу и восстановить файл
реестра кластера 1CV8Clst.lst из резервной копии, сделанной до установки пароля. Поэтому каталог реестра стоит регулярно копировать.
Ошибки при создании кластера и как их убрать
Отдельный случай — после обновления платформы на одном узле кластер «разваливается». Все рабочие серверы одного кластера должны работать на одной и той же сборке. Обновляйте узлы в одно окно обслуживания, остановив службы на всех, и только потом запускайте их снова. Пользователей предупредите: на время работ сеансы оборвутся.