Сервер 1С, СУБД и первая база в кластере: порядок развёртывания

· 10 мин

Содержание

Клиент-серверная база 1С создаётся в три хода: ставите СУБД (PostgreSQL для 1С или MS SQL Server), устанавливаете сервер 1С:Предприятия той же версии, что у клиентов, и добавляете базу через окно запуска: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия. Саму базу данных в СУБД руками создавать не нужно — платформа сделает это сама, если отметить флажок «Создать базу данных в случае ее отсутствия».

Типичная ситуация: файловая база на общей папке выросла до 10–15 ГБ, пользователей стало 15–20, и закрытие месяца идёт с ошибками блокировок. Переезд на сервер решает эту проблему, но только если развернуть его в правильном порядке. Ниже — порядок для 1С 8.3 на Windows Server 2016 и новее; на Linux логика та же, отличаются команды установки.

Какую схему выбрать и что подготовить до установки

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

СхемаКогда подходитМинусы
Сервер 1С и СУБД на одной машинеДо нескольких десятков пользователей, 1–5 базСУБД и рабочие процессы делят память
Сервер 1С и СУБД на разных машинахКрупные базы, сотня и более пользователейНужна быстрая сеть между серверами
Терминальный сервер + сервер 1СУдалённые филиалы, слабые клиентские ПКЕщё одна машина и лицензии RDS

Что подготовить заранее:

  • 🖥️ Сервер с 64-разрядной ОС. Ориентир для одной машины на 20–30 пользователей — от 16 ГБ памяти и SSD/NVMe-диски под базы. Память нужна прежде всего СУБД.
  • 🔑 Лицензию на сервер 1С (программную или аппаратный ключ). Клиентские лицензии тоже должны быть доступны: их можно держать на сервере 1С, тогда их получают все подключившиеся.
  • 🌐 Постоянное имя и IP-адрес сервера. Клиенты обращаются к нему по имени, поэтому имя должно разрешаться с каждого ПК — через DNS домена или файл hosts.
  • 📦 Дистрибутив платформы нужной версии. Сервер и клиенты должны быть одной версии с точностью до последней цифры, иначе подключение не пройдёт.
  • 🗂️ Выгрузку текущей базы в файл .dt, если переносите существующую базу.

Сразу выберите версию платформы, на которой будете работать минимум полгода, и поставьте её и на сервер, и на все клиентские машины. Смена версии сервера потом потребует обновить всех клиентов одновременно.

Установка СУБД для клиент-серверной базы 1С

1С 8.3 работает с MS SQL Server, PostgreSQL, IBM Db2 и Oracle. На практике выбирают из первых двух.

Вариант 1. PostgreSQL

Обычный PostgreSQL из официального дистрибутива не подходит: нужна сборка с патчами под 1С. Её выпускают фирма 1С и компании, поставляющие Postgres Pro. Версию сборки подбирайте под версию платформы по списку совместимости на сайте поставщика.

  1. Запустите установщик сборки PostgreSQL для 1С.
  2. Укажите каталог данных на быстром диске, отдельном от системного.
  3. Задайте пароль суперпользователя postgres — он понадобится при создании базы.
  4. Оставьте порт 5432, если на сервере нет другой СУБД.
  5. После установки проверьте, что служба PostgreSQL запущена.

Если сервер 1С и PostgreSQL стоят на разных машинах, разрешите подключение с сервера 1С в файле pg_hba.conf. Пример строки для подсети 192.168.1.0/24:

host    all    all    192.168.1.0/24    scram-sha-256

После правки pg_hba.conf перечитайте конфигурацию или перезапустите службу PostgreSQL.

Вариант 2. MS SQL Server

  1. В мастере установки отметьте компонент «Службы ядра СУБД» (Database Engine Services).
  2. Параметры сортировки (collation) — Cyrillic_General_CI_AS. Это важно: при другой сортировке 1С может вести себя некорректно.
  3. Режим проверки подлинности — смешанный (Windows и SQL Server). Задайте пароль sa или создайте отдельный логин для 1С с ролью dbcreator.
  4. Ограничьте максимальную память SQL Server в свойствах экземпляра, если на той же машине стоит сервер 1С. Иначе SQL заберёт почти всю память и рабочим процессам 1С не хватит.

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

Установка сервера 1С:Предприятия

Сервер ставится тем же установщиком платформы (setup.exe из дистрибутива 64-разрядной технологической платформы для Windows), только с другим набором компонентов.

  1. Запустите установщик и выберите выборочную установку.
  2. Отметьте компоненты:
    • «1С:Предприятие 8» — клиент, нужен для создания базы и Конфигуратора прямо на сервере;
    • «Сервер 1С:Предприятия 8»;
    • «Администрирование сервера 1С:Предприятия» — это консоль кластера.
  3. На следующем шаге оставьте флажок «Установить сервер 1С:Предприятия как сервис Windows».
  4. Выберите пользователя, от имени которого будет работать служба: установщик предлагает создать USR1CV8. Задайте ему пароль и запомните.
  5. Завершите установку.

После установки в списке служб появится агент сервера 1С с именем вида 1C:Enterprise 8.3 Server Agent (x86-64). Проверьте, что он запущен и тип запуска — «Автоматически».

Рабочие файлы кластера хранятся в каталоге srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo). Если системный диск маленький, путь к каталогу можно сменить в параметрах службы. Сеансовые данные и журналы регистрации там занимают заметное место.

Порты, которые нужно открыть в брандмауэре

ПортКто слушаетЗачем
1540Агент сервера (ragent)Первичное обращение клиента и консоли
1541Менеджер кластера (rmngr)Работа с кластером
1560–1591Рабочие процессы (rphost)Обмен данными с клиентами
5432 / 1433PostgreSQL / MS SQLТолько если СУБД на другой машине

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

Регистрация кластера 1С в консоли администрирования

При установке службой агент сразу создаёт «Локальный кластер» на порту 1541. Его нужно увидеть в консоли.

Первый запуск консоли. Ярлык «Администрирование серверов 1С Предприятия» открывает оснастку MMC. Если она пишет, что не может создать оснастку, библиотеку консоли нужно зарегистрировать. Запустите от имени администратора ярлык «Регистрация утилиты администрирования серверов» из того же раздела меню «Пуск» или выполните команду:

regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"

Вместо 8.3.xx.xxxx подставьте номер установленной версии. Если на компьютере стоит несколько версий, регистрируйте radmin.dll той же версии, что и сервер.

Добавление сервера в консоль:

  1. В дереве консоли щёлкните правой кнопкой по узлу «Центральные серверы 1С:Предприятия».
  2. Выберите Создать → Центральный сервер 1С:Предприятия.
  3. Укажите имя компьютера (или IP), протокол TCP и порт 1540.
  4. Раскройте узел сервера: внутри появится «Кластеры» с локальным кластером.

Сразу задайте администратора кластера (узел кластера → «Администраторы»). Без него управлять кластером может любой, кто запустит консоль в сети. Пароль сохраните в надёжном месте: восстановить его потом можно только через администратора сервера и резервную копию файлов кластера.

Если лицензии хранятся на сервере, убедитесь, что в свойствах рабочего сервера включено использование лицензий. Иначе при подключении клиентов возможна ошибка о том, что лицензия не найдена.

Создание информационной базы в кластере сервера 1С

Базу создают либо из окна запуска 1С, либо из консоли кластера. Через окно запуска удобнее: база сразу попадает в список.

  1. На сервере (или на любом ПК с клиентом той же версии) запустите 1С и нажмите Добавить.
  2. Выберите «Создание новой информационной базы».
  3. Для переноса существующей базы выберите «Создание информационной базы без конфигурации»: конфигурацию и данные потом загрузите из .dt. Для новой — создание из шаблона.
  4. Укажите название, как база будет видна в списке, и тип расположения «На сервере 1С:Предприятия».
  5. Заполните параметры подключения:
ПолеЧто указать
Кластер серверов 1С:ПредприятияИмя сервера, например srv1c
Имя информационной базы в кластереКороткое латинское имя, например buh
Тип СУБДPostgreSQL или MS SQL Server
Сервер баз данныхИмя сервера СУБД (localhost, если на той же машине)
Имя базы данныхИмя базы в СУБД, удобно совпадает с именем в кластере
Пользователь сервера БД / парольpostgres или логин SQL Server
Смещение датДля MS SQL — 2000; для PostgreSQL поле не используется
  1. Отметьте «Создать базу данных в случае ее отсутствия».
  2. При переносе рабочей базы на тестовую копию отметьте «Установить блокировку регламентных заданий», чтобы копия не начала обмены и загрузки.
  3. Нажмите «Далее» и «Готово». Создание занимает от нескольких секунд до пары минут.

Загрузка данных из .dt. Откройте новую базу в Конфигураторе и выполните Администрирование → Загрузить информационную базу. Укажите файл выгрузки и подтвердите. Загрузка полностью заменяет содержимое базы, поэтому делайте её только в пустую или заведомо ненужную базу.

Не загружайте .dt в базу, где уже работают пользователи: все их данные будут заменены содержимым файла.

Готовая база в кластере видна в консоли администрирования: узел кластера → «Информационные базы».

Подключение клиентов и проверка, что база работает

На каждом клиентском ПК:

  1. Установите клиент 1С той же версии, что и сервер.
  2. В окне запуска нажмите Добавить → Добавление в список существующей информационной базы.
  3. Тип расположения — «На сервере 1С:Предприятия», кластер — имя сервера, база — имя в кластере (buh).

Строка подключения в итоге выглядит так:

Srvr="srv1c";Ref="buh";

Её удобно раздать пользователям через общий список баз или файл .v8i. Тонкий клиент работает с серверной базой напрямую, отдельной публикации на веб-сервере для локальной сети не требуется.

Быстрая проверка. Запустите базу под пользователем и откройте консоль кластера: в узле «Сеансы» должен появиться сеанс, а в «Рабочие процессы» — хотя бы один процесс. Для диагностики из командной строки есть утилита rac (работает через сервер администрирования ras): например, rac cluster list выводит кластеры, rac session list --licenses — сеансы и выданные лицензии. Остальные параметры смотрите в rac help.

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

Что настроить сразу после запуска

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

  • 💾 Резервное копирование средствами СУБД. Выгрузка .dt для серверной базы не замена бэкапу: она требует монопольного доступа и не даёт восстановить базу на момент времени. Настройте план обслуживания в MS SQL или ежедневный pg_dump в PostgreSQL.
  • 🧹 Обслуживание индексов и статистики. В MS SQL — задания обновления статистики и перестроения индексов в плане обслуживания. В PostgreSQL — регулярный VACUUM ANALYZE (автоочистку не отключайте).
  • 👤 Права службы. Пользователь USR1CV8 должен иметь полные права на каталог srvinfo и на каталоги, куда база пишет файлы (обмены, выгрузки). Нехватка прав проявляется ошибками записи файлов в процессе работы.
  • 🔒 Администратор кластера и пользователи базы. Кластер под паролем, у базы — список пользователей с паролями и хотя бы один администратор.
Можно ли перевести файловую базу 1С в клиент-серверную без потери данных?
Да. Выгрузите файловую базу в .dt через Конфигуратор, создайте пустую базу на сервере и загрузите в неё файл. Данные, пользователи и конфигурация переносятся полностью.
Нужна ли отдельная лицензия на сервер 1С?
Да, для работы сервера 1С:Предприятия нужна лицензия на сервер, и она отличается от клиентских лицензий. Клиентские лицензии нужны дополнительно — на число одновременных подключений.
Что выбрать: PostgreSQL или MS SQL Server?
PostgreSQL для 1С бесплатен и работает на Windows и Linux, MS SQL требует покупки лицензий, но многим администраторам привычнее. Для небольших компаний обе СУБД справляются с нагрузкой; решает опыт администратора и бюджет.
Можно ли создать несколько баз на одном сервере 1С?
Да. В одном кластере можно держать десятки баз, у каждой своё имя в кластере и своя база данных в СУБД. Ограничение — ресурсы сервера: память, диск и процессор.
Как вернуть серверную базу в файловый вариант?
Выгрузите серверную базу в .dt, создайте новую файловую базу без конфигурации и загрузите файл через Администрирование → Загрузить информационную базу.