Клиент-серверная 1С: из чего состоит сервер и когда без него не обойтись

· 9 мин

Содержание

Сервер 1С — это отдельная программа «Сервер 1С:Предприятия», которая выполняет код конфигурации и работает с базой данных вместо компьютеров пользователей. Данные при этом хранятся не в файле 1Cv8.1CD, а в СУБД: Microsoft SQL Server или PostgreSQL. Пользователь на своём компьютере держит только тонкий клиент, а расчёты, проведение и отчёты идут на сервере.

Нужен он, когда в базе одновременно работают больше 10–15 человек, база выросла за 10–20 ГБ, или файловый вариант начал «висеть» на блокировках. Для бухгалтерии из трёх человек сервер чаще избыточен: файловая база справится, а лицензия и обслуживание стоят заметных денег.

Сервер 1С и файловая база: в чём разница

В файловом варианте каждый компьютер сам открывает файл базы по сети и сам всё считает. Чем больше людей, тем больше сеть гоняет данные, и тем чаще они ждут друг друга. Блокировки там табличные: один человек проводит документ — другие стоят.

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

  • 🖥️ код конфигурации выполняется на сервере, клиенту уходит готовый результат;
  • 🗄️ данные лежат в СУБД, она умеет блокировать отдельные записи, а не целые таблицы;
  • 🔐 доступ к файлам базы у пользователей не нужен, их нельзя случайно скопировать или удалить;
  • 📈 можно добавить рабочие процессы и серверы, когда нагрузка растёт.
ПризнакФайловая базаКлиент-серверная
Где хранятся данныеФайл 1Cv8.1CD в папкеБаза в СУБД
Где выполняется кодНа компьютере пользователяНа сервере 1С
Комфортно пользователейДо 5–10Десятки и сотни
Нужна лицензия на серверНетДа
Резервное копированиеКопия папки или выгрузка .dtСредствами СУБД
Сложность администрированияМинимальнаяНужен человек, который понимает СУБД и кластер

Конфигурация в обоих вариантах одна и та же. Перенести базу из файлового режима на сервер можно через выгрузку и загрузку .dt без доработок кода.

Какие бывают серверы 1С и что выбрать

Сама программа одна, различается лицензия, которая разрешает её запуск. Без лицензии сервер базу не обслужит.

Сервер МИНИ. Вариант на 5 подключений для небольших компаний. Ограничение по числу сеансов жёсткое, поэтому брать его стоит только если рост штата не ожидается.

Сервер ПРОФ. Стандартный выбор для малого и среднего бизнеса. Количество пользователей ограничено только клиентскими лицензиями и мощностью железа.

Сервер КОРП. Добавляет механизмы для крупных внедрений: расширенные настройки отказоустойчивости кластера, балансировку нагрузки и управление ресурсами. Нужен, когда простой базы на час стоит дороже самой лицензии.

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

Лицензия на сервер не заменяет клиентские. Каждому одновременно работающему пользователю всё равно нужна клиентская лицензия.

СУБД выбирают отдельно:

  • PostgreSQL — бесплатная, ставится и на Linux, и на Windows. Использовать нужно сборку с патчами для 1С (дистрибутив от фирмы 1С или Postgres Pro), обычный PostgreSQL с 1С работает хуже.
  • Microsoft SQL Server — платная лицензия, привычна администраторам Windows. Есть бесплатная редакция Express, но у неё лимиты на размер базы и память, для рабочей 1С она быстро станет тесной.
  • IBM Db2 и Oracle — поддерживаются платформой, в малом бизнесе почти не встречаются.

Как устроен сервер 1С изнутри

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

  • ragent — агент сервера. Работает как служба, слушает порт 1540. Клиент и консоль администрирования сначала обращаются к нему.
  • rmngr — менеджер кластера, порт 1541. Хранит список баз, сеансов, блокировок и настройки кластера.
  • rphost — рабочие процессы. Именно они выполняют код конфигурации и ходят в СУБД. Порты берутся из диапазона, по умолчанию 1560–1591; диапазон задаётся в свойствах рабочего сервера.
  • ras — сервер администрирования. Нужен, чтобы управлять кластером из командной строки через rac или из сторонних консолей.

Путь запроса выглядит так: тонкий клиент → агент (1540) → менеджер кластера (1541) → рабочий процесс из диапазона → СУБД. Поэтому при настройке брандмауэра открывают все три группы портов, а не только 1540.

Каталог служебных данных кластера по умолчанию на Windows — C:\Program Files\1cv8\srvinfo. Внутри лежит папка reg_1541 со списком баз и кэшем сеансовых данных.

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

Требования к железу и программам

Точного калькулятора нет: всё зависит от конфигурации и привычек пользователей. Ориентиры для ERP и УТ выше, для БП и ЗУП ниже.

Пользователей одновременноПроцессорПамять (сервер 1С + СУБД на одной машине)Диск
до 104 ядра16 ГБSSD
10–306–8 ядер32 ГБNVMe SSD
30–8012–16 ядер64 ГБNVMe, база и журналы СУБД на разных дисках
больше 80разнести 1С и СУБД на разные машиныот 64 ГБ на каждуюNVMe

Что важнее всего:

  • ⚡ частота ядра. Код 1С внутри одного вызова выполняется в один поток, поэтому 8 быстрых ядер полезнее 32 медленных;
  • 💾 диск под СУБД. На HDD сервер 1С не спасёт;
  • 🧠 память под СУБД. Чем больше база помещается в кэш, тем быстрее отчёты.

Операционная система: Windows Server 2016 и новее или Linux (Debian, Ubuntu, РЕД ОС, Astra Linux и другие из списка поддерживаемых). Версия сервера 1С должна совпадать с версией платформы на клиентах до последней цифры: клиент 8.3.24.1548 не подключится к серверу 8.3.24.1467.

Установка и первичная настройка

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

1. Поставить СУБД

Установите PostgreSQL для 1С или MS SQL Server. Задайте пароль пользователя postgres или sa, проверьте, что служба СУБД запущена.

2. Поставить сервер 1С

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

3. Подключить консоль администрирования

Консоль — оснастка MMC «Администрирование серверов 1С Предприятия». Если она пишет, что не может создать объект, зарегистрируйте библиотеку от имени администратора:

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

Номер версии в пути подставьте свой. Регистрировать нужно ту же версию, что и у сервера, иначе консоль не увидит кластер.

4. Получить лицензию на сервер

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

5. Создать базу

В консоли раскройте кластер, на ветке «Информационные базы» выберите «Создать → Информационная база». Заполните:

  • имя базы в кластере — его пользователи укажут при подключении;
  • тип СУБД, адрес сервера СУБД, имя базы данных, пользователь и пароль СУБД;
  • флажок «Создать базу данных в случае её отсутствия»;
  • флажок «Установить блокировку регламентных заданий» — если база будет копией для тестов.

Затем загрузите в пустую базу .dt или конфигурацию через Конфигуратор.

6. Подключить пользователей

В окне запуска 1С: «Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия». Кластер серверов — имя компьютера сервера, имя базы — как в консоли.

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

Обслуживание: копии, обновления, контроль нагрузки

Резервные копии

Основной способ — средствами СУБД: план обслуживания в SQL Server или pg_dump для PostgreSQL по расписанию. Это быстро и не мешает работе пользователей.

Выгрузка .dt из Конфигуратора удобна для переноса базы, но на большой базе идёт долго. Как единственный способ резервирования её не используйте.

Копия, которую ни разу не восстанавливали, — не копия. Раз в месяц разворачивайте её в тестовую базу и открывайте.

Обслуживание СУБД

Раз в неделю ночью: обновление статистики и реиндексация в SQL Server, VACUUM ANALYZE в PostgreSQL. Без этого запросы со временем замедляются, а 1С тут ни при чём.

Обновление платформы

  1. Выберите окно, когда никто не работает : пользователям нужно выйти из базы.
  2. Установите новую версию сервера рядом со старой, остановите службу старой версии и запустите новую.
  3. Обновите платформу на клиентах или настройте автоматическое обновление клиента с сервера.

Старую версию не удаляйте сразу: если что-то пошло не так, откатиться можно, просто запустив её службу.

Контроль нагрузки

  • в консоли смотрите сеансы, соединения и блокировки по каждой базе;
  • для поиска медленных мест включают технологический журнал через файл logcfg.xml в каталоге conf платформы;
  • из командной строки список кластеров и сеансов даёт rac cluster list и rac session list, при запущенном ras. Остальные команды смотрите в rac help.

Типичные проблемы с сервером 1С

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

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

Ещё одна ловушка — антивирус. Если он проверяет каталог srvinfo и файлы СУБД на лету, сервер заметно замедляется. Добавьте эти каталоги в исключения.

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

Можно ли поставить сервер 1С на обычный компьютер, а не на серверное железо?
Можно, для 5–10 пользователей это рабочий вариант. Нужны SSD, достаточно памяти и стабильное питание через ИБП. Windows 10/11 подойдёт, но для круглосуточной работы надёжнее серверная ОС или Linux.
Сервер 1С и терминальный сервер — это одно и то же?
Нет. Терминальный сервер отдаёт пользователям удалённый рабочий стол, на котором запущен клиент 1С. Сервер 1С обслуживает саму базу. Их часто ставят вместе, но это разные вещи и разные лицензии.
Можно ли держать на одном сервере несколько баз?
Да. В одном кластере работают десятки баз разных конфигураций. Лицензия на сервер одна, клиентские считаются по одновременным сеансам во всех базах.
Нужен ли сервер 1С для работы через интернет?
Не обязательно. Веб-доступ можно настроить и к файловой базе через веб-сервер. Но при большом числе удалённых пользователей клиент-серверный вариант работает стабильнее.
Можно ли вернуться с сервера на файловую базу?
Да. Выгрузите .dt из серверной базы и загрузите в новую файловую. Конфигурация и данные перенесутся полностью.