Сервер 1С:Предприятия изнутри: кластер, СУБД, лицензии и запуск с нуля

· 11 мин

Содержание

Сервер 1С — это программа из состава платформы 1С:Предприятие 8.3, которая выполняет код конфигурации и посредничает между пользователями и СУБД. Клиент 1С не работает с таблицами базы напрямую. Он отправляет вызовы на сервер 1С, а тот читает и пишет данные в Microsoft SQL Server, PostgreSQL или другую поддерживаемую СУБД.

Такую схему называют клиент-серверным вариантом работы. Она нужна, когда в базе одновременно работают больше 10–15 человек, база выросла за несколько гигабайт или нужны регламентные задания, работающие без открытого клиента.

Клиент-серверный вариант 1С и чем он отличается от файлового

В файловом варианте вся база лежит в одном файле 1Cv8.1CD. Каждый клиент открывает его по сети и сам выполняет всю работу: читает данные, считает отчёты, накладывает блокировки. Сетевая папка становится узким местом уже при десятке пользователей.

В клиент-серверном варианте три звена:

  1. 🖥 Клиент — тонкий клиент, толстый клиент или браузер через веб-сервер. Показывает формы и передаёт команды.
  2. ⚙️ Сервер 1С:Предприятия — выполняет серверный код конфигурации, проводит документы, формирует отчёты, управляет блокировками и сеансами.
  3. 🗄 СУБД — хранит данные в таблицах и выполняет запросы.

Сервер 1С и СУБД можно поставить на одну машину или разнести по разным. Для небольших компаний чаще ставят всё на один сервер. Для нагрузки от 50–100 пользователей СУБД обычно выносят отдельно.

ПризнакФайловый вариантКлиент-серверный вариант
Где хранятся данныеФайл 1Cv8.1CDТаблицы в СУБД
Кто выполняет серверный кодКаждый клиент у себяРабочие процессы сервера 1С
Комфортное число пользователейДо 10–15Десятки и сотни
Регламентные заданияТолько при открытом клиентеВыполняет кластер сам
Резервное копированиеКопия файла или выгрузка .dtСредства СУБД, без остановки работы
ЛицензииТолько клиентскиеКлиентские + лицензия на сервер

Перейти с файловой базы на серверную несложно: выгрузите базу в .dt через Конфигуратор (Администрирование → Выгрузить информационную базу) и загрузите этот файл в новую пустую серверную базу.

Кластер серверов 1С: агент, менеджер и рабочие процессы

Сервер 1С — это не один процесс, а несколько, объединённых в кластер. Даже если у вас одна машина, на ней работает кластер из одного рабочего сервера.

  • 🧭 Агент сервера (ragent) — запускается как служба Windows. Принимает первое обращение клиента, хранит список кластеров и через него работает консоль администрирования.
  • 📋 Менеджер кластера (rmngr) — хранит реестр кластера: список информационных баз, сеансов, администраторов. Распределяет клиентов по рабочим процессам и обслуживает сервисы кластера, например менеджер блокировок.
  • 🔧 Рабочие процессы (rphost) — выполняют серверный код конфигурации и обращаются к СУБД. Именно они потребляют основную память и процессор.
  • 🌐 Сервер администрирования (ras) — нужен, чтобы управлять кластером через утилиту командной строки rac или сторонние инструменты.

Путь клиента такой: он обращается к агенту, агент направляет его к менеджеру кластера, менеджер назначает рабочий процесс, и дальше клиент работает уже с ним.

Порты, которые нужно открыть

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

Если на сервере включён брандмауэр, откройте входящие соединения на 1540, 1541 и весь диапазон рабочих процессов. Закрытый диапазон 1560–1591 — частая причина того, что консоль видит сервер, а пользователи подключиться не могут.

Где лежат настройки кластера

Реестр кластера хранится в каталоге srvinfo. При установке службой по умолчанию это C:\Program Files\1cv8\srvinfo. Внутри — папка reg_1541 с файлом 1CV8Clst.lst (список баз и параметры кластера) и папками сеансовых данных snccntx….

Каталог srvinfo нужно включить в резервное копирование . Без него после сбоя диска придётся заново регистрировать все базы и восстанавливать администраторов кластера.

Требования к серверу 1С и выбор СУБД

Фирма 1С не публикует жёстких требований «на N пользователей». Нагрузку определяют конфигурация, объём данных и характер работы. Ниже — ориентиры из практики для типовых БП 3.0, ЗУП 3.1 и УТ 11.

ПользователейПроцессорОперативная память (сервер 1С + СУБД на одной машине)Диски
До 154 ядра16 ГБSSD
15–508 ядер32–64 ГБSSD/NVMe, отдельный том под базы
50–15012–16 ядер или разнос на две машины64–128 ГБNVMe, отдельно данные, журналы и tempdb

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

Какую СУБД выбрать

  • 🟦 Microsoft SQL Server — привычный выбор на Windows, много специалистов и документации. Для небольших баз подходит бесплатная редакция Express, но у неё есть ограничения по размеру базы и используемой памяти.
  • 🐘 PostgreSQL — бесплатная СУБД, работает и на Windows, и на Linux. Для 1С нужна специальная сборка с доработками под платформу: её выпускает фирма 1С, есть и сборки Postgres Pro. Обычный PostgreSQL из репозитория дистрибутива не подойдёт.
  • 🟧 IBM Db2 и Oracle Database — поддерживаются, но встречаются в основном в крупных внедрениях.

При создании базы на MS SQL укажите смещение дат 2000. Тип datetime в MS SQL не хранит даты раньше 1753 года, а пустая дата в 1С — 01.01.0001, поэтому платформа сдвигает все даты на 2000 лет.

Если сервер 1С и MS SQL стоят на одной машине, ограничьте память SQL Server параметром max server memory. Иначе он займёт почти всю оперативную память, и рабочим процессам 1С её не хватит.

Установка сервера 1С на Windows пошагово

Порядок установки одинаков для всех версий платформы 8.3.2x. Вам понадобится дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Windows» той же версии, что и у клиентов.

Шаг 1. Установка компонентов

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

Шаг 2. Регистрация консоли администрирования

Консоль — это оснастка MMC, которой нужна зарегистрированная библиотека radmin.dll. Если после установки консоль пишет об ошибке оснастки или не открывается, зарегистрируйте библиотеку вручную из командной строки администратора:

regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"

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

Шаг 3. Проверка кластера

Откройте «Администрирование серверов 1С Предприятия» из меню «Пуск». В дереве консоли добавьте центральный сервер по имени компьютера. Установщик уже создал на нём кластер «Локальный кластер» на порту 1541.

Шаг 4. Создание информационной базы

Базу можно создать в консоли (на узле «Информационные базы» кластера) или прямо из окна запуска 1С: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия. Заполните параметры:

  • Кластер серверов — имя компьютера с сервером 1С.
  • Имя информационной базы в кластере — латиницей, без пробелов, например buh.
  • Тип СУБД, сервер баз данных, имя базы данных, пользователь и пароль СУБД.
  • Смещение дат — 2000 для MS SQL.
  • Флажок создания базы данных в случае её отсутствия.
  • Флажок блокировки регламентных заданий — включайте для тестовых копий, чтобы они не отправляли обмены и отчёты от имени рабочей базы.

Установка на Linux

На Linux сервер 1С ставится из того же 64-битного дистрибутива для Linux. Служба агента работает под systemd, с PostgreSQL в паре это самый частый вариант для импортозамещения. Порты и устройство кластера те же. Консоль MMC там не работает: администрируют через ras и rac или через консоль на Windows-машине, подключённой к этому серверу.

Сервер 1С готов к работе
Выполнено: 0 / 6

Настройка кластера: память, перезапуск процессов и сеансы

Свежий кластер работает с настройками по умолчанию. Для маленькой базы этого хватает. При росте нагрузки стоит пройтись по нескольким параметрам.

Параметры рабочего сервера

Откройте в консоли кластер → «Рабочие серверы» → свойства сервера. Здесь задаются:

  • 📈 Количество ИБ на процесс и количество соединений на процесс — как распределять базы и пользователей между процессами rphost.
  • 💾 Критический объём памяти процессов — при его достижении кластер принимает меры, чтобы не уронить весь сервер.
  • ⏱ Временно допустимый объём памяти процессов и интервал превышения — сколько памяти процесс может занимать и как долго, прежде чем кластер его перезапустит.
  • 🔌 Диапазон IP-портов рабочих процессов.

Перезапуск рабочего процесса при превышении памяти проходит мягко: кластер поднимает новый процесс, переводит на него новых клиентов, а старый завершает после ухода сеансов. Это нормальная защита от утечек памяти в долгоживущих процессах.

Сеансы и соединения

В узле «Сеансы» видно, кто работает в базе, с какого компьютера, сколько памяти и времени вызовов израсходовал. Сюда смотрят в первую очередь, когда «всё тормозит».

Удаление сеанса в консоли обрывает работу пользователя без сохранения. Непроведённый документ и незаписанные изменения пропадут. Предупредите человека, прежде чем завершать его сеанс.

Лицензии сервера 1С и права администраторов

Какие лицензии нужны

Для клиент-серверного варианта нужны лицензии двух видов:

  1. 🔑 Лицензия на сервер 1С:Предприятия — одна на каждый рабочий сервер кластера. Бывает версия «МИНИ» до 5 подключений, обычная серверная и КОРП для крупных внедрений.
  2. 👥 Клиентские лицензии — по числу одновременно работающих пользователей.

Лицензии бывают программными (активируются пин-кодом и привязываются к параметрам компьютера) и аппаратными (USB-ключ). Программную клиентскую лицензию удобно активировать прямо на сервере: тогда её выдаёт кластер, и не нужно ставить её на каждый компьютер. За это отвечает флажок разрешения выдачи лицензий сервером в свойствах информационной базы.

Ориентировочно лицензия «Сервер МИНИ» стоит несколько десятков тысяч рублей, обычная 64-битная серверная — около сотни тысяч, КОРП — в разы дороже. Точную цену уточняйте у партнёра 1С на дату покупки.

Посмотреть, какой сеанс какую лицензию занял, можно в консоли (колонки сеанса) или командой rac session list --licenses через сервер администрирования.

Без лицензии на сервер подключиться к серверной базе нельзя: клиент получит ошибку об отсутствии лицензии.

Администраторы кластера и базы

Сразу после установки консоль пускает к кластеру кого угодно, кто достучится до порта 1540. Закройте это:

  1. В консоли откройте кластер → «Администраторы» и создайте администратора кластера с паролем или с аутентификацией ОС.
  2. Аналогично на центральном сервере создайте администратора центрального сервера.
  3. Запишите пароли в хранилище паролей компании.

Права пользователей внутри базы — отдельная история. Они настраиваются в самой конфигурации (в БП 3.0 и ЗУП 3.1 — Администрирование → Настройки пользователей и прав). Администратор кластера не становится автоматически пользователем базы, и наоборот.

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

Диагностика производительности и типичные ошибки сервера 1С

Когда база тормозит, двигайтесь от простого к сложному:

  1. 🔍 Диспетчер задач сервера. Кто занял процессор и память: rphost, sqlservr или посторонний процесс вроде антивируса.
  2. 👤 Сеансы в консоли. Какой сеанс держит долгий серверный вызов. Часто это один пользователь с тяжёлым отчётом за несколько лет.
  3. 🔒 Блокировки. Если пользователи жалуются на ошибку конфликта блокировок, смотрите, кто одновременно проводит документы по одним и тем же регистрам.
  4. 🧾 Технологический журнал. Включается файлом logcfg.xml в каталоге C:\Program Files\1cv8\conf. Пишет исключения, таймауты и взаимоблокировки.

Минимальная настройка журнала для поиска ошибок и блокировок:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\techlog" history="24">
    <event><eq property="name" value="EXCP"/></event>
    <event><eq property="name" value="TTIMEOUT"/></event>
    <event><eq property="name" value="TDEADLOCK"/></event>
    <property name="all"/>
  </log>
</config>

Параметр history="24" хранит журнал за последние 24 часа. Журнал быстро растёт, поэтому кладите его на диск со свободным местом и удаляйте logcfg.xml, когда собрали данные.

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

Очистка сеансовых данных

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

  1. Предупредите пользователей и дождитесь их выхода.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. Удалите папки snccntx… внутри srvinfo\reg_1541. Файл 1CV8Clst.lst не трогайте — в нём список баз.
  4. Запустите службу и проверьте, что базы открываются.

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

Можно ли подключить к серверу 1С файловую базу?
Нет. Сервер 1С работает только с базами в СУБД. Файловую базу нужно выгрузить в .dt и загрузить в новую серверную базу.
Можно ли поставить сервер 1С на обычный компьютер с Windows 10 или 11?
Технически да, для тестов и маленькой команды это работает. Для рабочей базы лучше серверная Windows или Linux: машина не уйдёт в сон и не перезагрузится сама ради обновлений посреди рабочего дня.
Сколько пользователей выдержит сервер 1С?
Кластер рассчитан на сотни и тысячи пользователей. Реальный предел задают процессор, память, диски и качество кода конфигурации, а не сама платформа.
Нужен ли отдельный сервер для СУБД?
До 30–50 пользователей обычно хватает одной машины. При большей нагрузке СУБД выносят на отдельный сервер, чтобы она не конкурировала с рабочими процессами за память.
Можно ли держать на одном сервере 1С разные версии платформы?
Да. Каждая версия ставится в свою папку, а службы агентов запускают на разных портах, например 1540 и 2540. Клиент подключается к серверу своей версии.