Сервер 1С:Предприятия изнутри: кластер, СУБД, лицензии и запуск с нуля
Содержание
Сервер 1С — это программа из состава платформы 1С:Предприятие 8.3, которая выполняет код конфигурации и посредничает между пользователями и СУБД. Клиент 1С не работает с таблицами базы напрямую. Он отправляет вызовы на сервер 1С, а тот читает и пишет данные в Microsoft SQL Server, PostgreSQL или другую поддерживаемую СУБД.
Такую схему называют клиент-серверным вариантом работы. Она нужна, когда в базе одновременно работают больше 10–15 человек, база выросла за несколько гигабайт или нужны регламентные задания, работающие без открытого клиента.
Клиент-серверный вариант 1С и чем он отличается от файлового
В файловом варианте вся база лежит в одном файле 1Cv8.1CD. Каждый клиент открывает его по сети и сам выполняет всю работу: читает данные, считает отчёты, накладывает блокировки. Сетевая папка становится узким местом уже при десятке пользователей.
В клиент-серверном варианте три звена:
- 🖥 Клиент — тонкий клиент, толстый клиент или браузер через веб-сервер. Показывает формы и передаёт команды.
- ⚙️ Сервер 1С:Предприятия — выполняет серверный код конфигурации, проводит документы, формирует отчёты, управляет блокировками и сеансами.
- 🗄 СУБД — хранит данные в таблицах и выполняет запросы.
Сервер 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С + СУБД на одной машине) | Диски |
|---|---|---|---|
| До 15 | 4 ядра | 16 ГБ | SSD |
| 15–50 | 8 ядер | 32–64 ГБ | SSD/NVMe, отдельный том под базы |
| 50–150 | 12–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. Установка компонентов
- Запустите
setup.exeиз дистрибутива от имени администратора. - В списке компонентов включите «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». Если нужен доступ через браузер, добавьте «Модули расширения веб-сервера».
- Оставьте флажок установки сервера как сервиса Windows. Выберите создание пользователя
USR1CV8или укажите существующую учётную запись. - Завершите установку. В списке служб появится «Агент сервера 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-машине, подключённой к этому серверу.
Настройка кластера: память, перезапуск процессов и сеансы
Свежий кластер работает с настройками по умолчанию. Для маленькой базы этого хватает. При росте нагрузки стоит пройтись по нескольким параметрам.
Параметры рабочего сервера
Откройте в консоли кластер → «Рабочие серверы» → свойства сервера. Здесь задаются:
- 📈 Количество ИБ на процесс и количество соединений на процесс — как распределять базы и пользователей между процессами
rphost. - 💾 Критический объём памяти процессов — при его достижении кластер принимает меры, чтобы не уронить весь сервер.
- ⏱ Временно допустимый объём памяти процессов и интервал превышения — сколько памяти процесс может занимать и как долго, прежде чем кластер его перезапустит.
- 🔌 Диапазон IP-портов рабочих процессов.
Перезапуск рабочего процесса при превышении памяти проходит мягко: кластер поднимает новый процесс, переводит на него новых клиентов, а старый завершает после ухода сеансов. Это нормальная защита от утечек памяти в долгоживущих процессах.
Сеансы и соединения
В узле «Сеансы» видно, кто работает в базе, с какого компьютера, сколько памяти и времени вызовов израсходовал. Сюда смотрят в первую очередь, когда «всё тормозит».
Удаление сеанса в консоли обрывает работу пользователя без сохранения. Непроведённый документ и незаписанные изменения пропадут. Предупредите человека, прежде чем завершать его сеанс.
Лицензии сервера 1С и права администраторов
Какие лицензии нужны
Для клиент-серверного варианта нужны лицензии двух видов:
- 🔑 Лицензия на сервер 1С:Предприятия — одна на каждый рабочий сервер кластера. Бывает версия «МИНИ» до 5 подключений, обычная серверная и КОРП для крупных внедрений.
- 👥 Клиентские лицензии — по числу одновременно работающих пользователей.
Лицензии бывают программными (активируются пин-кодом и привязываются к параметрам компьютера) и аппаратными (USB-ключ). Программную клиентскую лицензию удобно активировать прямо на сервере: тогда её выдаёт кластер, и не нужно ставить её на каждый компьютер. За это отвечает флажок разрешения выдачи лицензий сервером в свойствах информационной базы.
Ориентировочно лицензия «Сервер МИНИ» стоит несколько десятков тысяч рублей, обычная 64-битная серверная — около сотни тысяч, КОРП — в разы дороже. Точную цену уточняйте у партнёра 1С на дату покупки.
Посмотреть, какой сеанс какую лицензию занял, можно в консоли (колонки сеанса) или командой rac session list --licenses через сервер администрирования.
Без лицензии на сервер подключиться к серверной базе нельзя: клиент получит ошибку об отсутствии лицензии.
Администраторы кластера и базы
Сразу после установки консоль пускает к кластеру кого угодно, кто достучится до порта 1540. Закройте это:
- В консоли откройте кластер → «Администраторы» и создайте администратора кластера с паролем или с аутентификацией ОС.
- Аналогично на центральном сервере создайте администратора центрального сервера.
- Запишите пароли в хранилище паролей компании.
Права пользователей внутри базы — отдельная история. Они настраиваются в самой конфигурации (в БП 3.0 и ЗУП 3.1 — Администрирование → Настройки пользователей и прав). Администратор кластера не становится автоматически пользователем базы, и наоборот.
Если пароль администратора кластера потерян, не пересоздавайте кластер: вы потеряете регистрацию всех баз. Остановите службу агента в нерабочее время (все пользователи будут отключены) и восстановите каталог srvinfo из резервной копии, сделанной до смены пароля, либо обратитесь к администратору, который его ставил.
Диагностика производительности и типичные ошибки сервера 1С
Когда база тормозит, двигайтесь от простого к сложному:
- 🔍 Диспетчер задач сервера. Кто занял процессор и память:
rphost,sqlservrили посторонний процесс вроде антивируса. - 👤 Сеансы в консоли. Какой сеанс держит долгий серверный вызов. Часто это один пользователь с тяжёлым отчётом за несколько лет.
- 🔒 Блокировки. Если пользователи жалуются на ошибку конфликта блокировок, смотрите, кто одновременно проводит документы по одним и тем же регистрам.
- 🧾 Технологический журнал. Включается файлом
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С:Предприятия 8.3».
- Удалите папки
snccntx…внутриsrvinfo\reg_1541. Файл1CV8Clst.lstне трогайте — в нём список баз. - Запустите службу и проверьте, что базы открываются.