Свой сервер 1С:Предприятия 8.3 за один день: от установки до первой базы

· 10 мин

Содержание

Чтобы создать кластер серверов 1С, достаточно установить компонент «Сервер 1С:Предприятия 8 (x86-64)» и запустить его как службу: при первом старте агент сам создаёт «Локальный кластер» на порту 1541. Дальше в консоли администрирования к кластеру добавляют информационные базы, а при росте нагрузки — второй рабочий сервер. Отдельной кнопки «Создать кластер с нуля» в обычной установке нет и не требуется.

Выбор схемы простой. Один сервер с 1С и СУБД на одной машине закрывает фирму на 10–40 пользователей. Разнесённая схема (сервер 1С отдельно, СУБД отдельно) нужна, когда пользователей больше или база тяжелее 50–100 ГБ. Несколько рабочих серверов в одном кластере — для отказоустойчивости и сотен сеансов.

Из чего состоит кластер серверов 1С и зачем он нужен

Кластер — это группа процессов, которые обслуживают клиентов 1С в клиент-серверном режиме. Клиент не открывает файл базы, как в файловом варианте. Он отправляет запросы серверу, а тот работает с СУБД.

Состав кластера:

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

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

Зачем переходить на кластер с файловой базы:

  • 📈 файловая база начинает тормозить уже на 10–15 одновременных пользователях;
  • 🔒 клиент-серверный режим даёт управляемые блокировки и меньше конфликтов при проведении;
  • 🌐 базу удобно публиковать для удалённых сотрудников и подключать к обменам;
  • 🛡️ резервное копирование делается средствами СУБД, без выгона пользователей.

Требования к серверу 1С: железо, ОС, лицензии

Ниже — ориентиры для бухгалтерии и торговли на типовых конфигурациях. Тяжёлые ERP-базы требуют больше.

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

Что подготовить до установки:

  1. ОС. Windows Server 2016 и новее либо 64-битный Linux из списка поддерживаемых (Ubuntu, Debian, Astra Linux, РЕД ОС, Альт и др.).
  2. СУБД. Microsoft SQL Server, PostgreSQL (сборка с патчами для 1С), IBM Db2 или Oracle. Для PostgreSQL берите сборку, совместимую с вашей версией платформы.
  3. Дистрибутив платформы той же версии, что и у клиентов. Клиент и сервер должны совпадать по номеру версии полностью.
  4. Лицензия на сервер. Без неё кластер не будет обслуживать клиентов. Это программная лицензия (активируется на сервере) или аппаратный ключ. Плюс клиентские лицензии по числу одновременных пользователей.
  5. Постоянный IP или DNS-имя. Клиенты и рабочие серверы обращаются к центральному серверу по имени, оно должно разрешаться с каждой машины.
  6. Порты 1540, 1541, 1545 и диапазон 1560–1591 открыты между серверами и для клиентов.

Ориентир по лицензиям: программная лицензия на сервер x86-64 стоит примерно 85–100 тыс. руб., версия КОРП — заметно дороже. Клиентские лицензии на 10 рабочих мест — ориентировочно 60–70 тыс. руб. Точные цены уточняйте у партнёра.

Одна машина или несколько: выбор архитектуры кластера

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

СхемаКогда выбиратьПлюсыРиски
1С + СУБД на одном сервередо 30–40 пользователей, одна-две базыдёшево, минимум сети1С и СУБД делят память
Сервер 1С и сервер СУБД раздельно40–150 пользователей, тяжёлые отчётыпамять и диски не конкурируютнужна быстрая сеть между ними (от 1 Гбит/с, лучше 10)
Несколько рабочих серверов в кластереот 150 пользователей, требования к простоюраспределение нагрузки, резервлицензия КОРП для части функций, сложнее сопровождение

Для распределённой схемы важны два понятия:

  • Центральный сервер — на нём работает менеджер кластера и хранится реестр. Флаг «Центральный сервер» стоит в свойствах рабочего сервера.
  • Уровень отказоустойчивости — свойство кластера: сколько центральных серверов может выйти из строя без остановки работы. Для уровня 1 нужны минимум два центральных сервера.

Как создать кластер 1С на Windows Server

Установка серверных компонентов

  1. Запустите setup.exe из дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows».
  2. В списке компонентов отметьте «Сервер 1С:Предприятия 8 (x86-64)» и «Модули расширения веб-сервера», если будете публиковать базы.
  3. Поставьте флажок установки сервера как службы Windows. Установщик предложит создать пользователя USR1CV8 — согласитесь или укажите доменную учётную запись.
  4. На шаге установки драйвера защиты включайте его только при аппаратном ключе.
  5. После установки проверьте службу «Агент сервера 1С:Предприятия 8.3 (x86-64)» в services.msc: состояние «Выполняется».

На этом кластер уже создан. Каталог реестра — C:\Program Files\1cv8\srvinfo.

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

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

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

После обновления платформы регистрацию повторяют с новым номером версии: консоль должна совпадать с версией сервера.

Ручная установка службы с нужными параметрами

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

cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -port 1540 -regport 1541 -range 1560:1591 -d "D:\srvinfo" -debug
ragent.exe -start

Для второго экземпляра берут другой набор портов, например -port 2540 -regport 2541 -range 2560:2591, и отдельный каталог.

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

Развёртывание кластера 1С на Linux

Установка сервера

Начиная с версии 8.3.20 для Linux есть единый установщик setup-full-8.3.xx.xxxx-x86_64.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,server_admin

Состав компонентов смотрите в справке установщика: --help. Платформа ставится в /opt/1cv8/x86_64/8.3.xx.xxxx/, служба работает от пользователя usr1cv8.

Запуск как службы systemd

В свежих версиях в каталог платформы кладётся готовый юнит. Подключите и запустите его:

sudo systemctl link /opt/1cv8/x86_64/8.3.xx.xxxx/srv1cv8-8.3.xx.xxxx@.service
sudo systemctl enable srv1cv8-8.3.xx.xxxx@default
sudo systemctl start srv1cv8-8.3.xx.xxxx@default
systemctl status srv1cv8-8.3.xx.xxxx@default

Реестр кластера по умолчанию лежит в домашнем каталоге usr1cv8: /home/usr1cv8/.1cv8/1C/1cv8.

Управление кластером без графической консоли

Оснастки MMC на Linux нет. Варианты:

  • подключиться к Linux-серверу консолью с любой Windows-машины: в консоли добавляется центральный сервер по имени и порту 1540;
  • работать через ras + rac прямо на сервере.

Запуск сервера администрирования и первые команды:

/opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --daemon
/opt/1cv8/x86_64/8.3.xx.xxxx/rac localhost:1545 cluster list
/opt/1cv8/x86_64/8.3.xx.xxxx/rac localhost:1545 infobase summary list --cluster=<uuid-кластера>

UUID кластера берётся из вывода cluster list. Полный перечень команд — rac help.

Нужен ли Wine для 32-битного сервера

Нет. Сервер 1С для Linux — нативный 64-битный, 32-битных серверных сборок для Linux в актуальных версиях нет. Запускать Windows-сервер 1С под Wine — неподдерживаемая схема: сеансы падают, лицензирование и драйвер защиты работают нестабильно. Через Wine иногда пытаются запустить Windows-консоль администрирования, но проще и надёжнее подключаться к кластеру консолью с Windows-машины или через rac.

Настройка кластера: рабочие процессы, серверы, базы

Свойства рабочего сервера

Откройте консоль: Центральные серверы → <имя сервера> → Кластеры → Локальный кластер → Рабочие серверы → <сервер> → Свойства. Ключевые поля:

  • Количество ИБ на процесс — сколько баз может обслуживать один рабочий процесс. Значение 1 изолирует базы друг от друга: зависание одной не тянет остальные.
  • Количество соединений на процесс — сколько сеансов обслуживает один rphost. При тяжёлых отчётах значение снижают, и сервер запускает больше процессов.
  • Максимальный объём памяти рабочих процессов — общий потолок для всех rphost сервера.
  • Безопасный расход памяти за один вызов — защита от «тяжёлого» запроса, который съедает всю память.
  • Диапазон IP-портов — откуда рабочие процессы берут порты. Здесь же меняют диапазон, если 1560–1591 занят.
  • Менеджер под каждый сервис — выносит сервисы кластера в отдельные процессы rmngr, полезно на нагруженных серверах.

Добавление второго рабочего сервера

  1. Установите на новую машину сервер 1С той же версии и запустите службу.
  2. В консоли на центральном сервере: Рабочие серверы → Создать → Рабочий сервер. Укажите имя машины и порт агента 1540.
  3. Если сервер должен подхватить роль менеджера при сбое — отметьте «Центральный сервер».
  4. В «Требованиях назначения функциональности» рабочего сервера можно закрепить за ним, например, фоновые задания конкретной базы.

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

Информационные базы → Создать → Информационная база. Заполните:

ПолеЧто указать
Имяимя базы в кластере, без пробелов, например buh_main
Сервер баз данныхимя сервера СУБД (для PostgreSQL можно с портом)
Тип СУБДMS SQL Server или PostgreSQL
База данныхимя базы в СУБД
Пользователь и пароль сервера БДучётная запись с правом создавать базы (sa, postgres или выделенная)
Смещение дат2000 для MS SQL, для PostgreSQL — 0
Создать базу данных в случае её отсутствиявключить для новой базы
Установить блокировку регламентных заданийвключить для копий и тестовых баз

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

Тайм-ауты и ограничения: сеансы, память, фоновые задания

Тайм-аут неактивного соединения и спящие сеансы

При обрыве связи сеанс не закрывается сразу, а «засыпает», удерживая лицензию. Управляют этим два параметра в свойствах информационной базы (задаются в секундах):

  • Время засыпания пассивного сеанса — через сколько секунд без связи с клиентом сеанс уходит в сон. По умолчанию 300.
  • Время завершения спящего сеанса — через сколько секунд спящий сеанс завершается и освобождает лицензию.

Если лицензий не хватает из-за «висящих» сеансов, уменьшают второе значение: например, до 600–1800 секунд. Слишком короткие значения вредят пользователям с нестабильным интернетом — их будет выкидывать при каждом сбое.

Перезапуск рабочих процессов по памяти и по времени

В свойствах кластера, тоже в секундах:

  • Интервал перезапуска — плановый перезапуск rphost, например 86400 (раз в сутки). Сеансы переносятся на новый процесс.
  • Допустимый объём памяти и Интервал превышения допустимого объёма памяти — процесс, который дольше заданного времени держит память сверх порога, перезапускается.
  • Принудительно завершать проблемные процессы — снимает зависшие процессы автоматически.

Сколько фоновых заданий может работать одновременно

Поля «максимум фоновых заданий» в свойствах кластера нет. Нагрузку от фоновых заданий ограничивают так:

  • 🔹 выносят их на отдельный рабочий сервер через требования назначения функциональности;
  • 🔹 отключают лишние регламентные задания в самой конфигурации (в типовых — в разделе Администрирование);
  • 🔹 в конфигурациях на БСП уменьшают число потоков для массовых операций, например обновления данных после перехода на новый релиз;
  • 🔹 снижают «Количество соединений на процесс», чтобы тяжёлые задания расходились по разным rphost.

Мониторинг и оптимизация кластера 1С

Что смотреть регулярно:

  • 📊 Сеансы и соединения в консоли: кто держит лицензии, какие сеансы спят. Через rac — rac session list --cluster=<uuid>.
  • 📊 Рабочие процессы: память, число соединений, «Доступная производительность». Если она проседает на одном процессе — там тяжёлый пользовательский запрос.
  • 📊 Технологический журнал (logcfg.xml в каталоге conf платформы) — исключения, долгие запросы, взаимоблокировки. Включайте точечно: полный журнал за час занимает гигабайты.
  • 📊 Счётчики и ограничения потребления ресурсов в консоли кластера — показывают, какой пользователь или база грузит процессор и память, и позволяют прервать слишком «дорогие» сеансы.

Типовые шаги оптимизации:

  1. Разнесите СУБД и сервер 1С по разным дискам или машинам.
  2. Для MS SQL ограничьте память СУБД, оставив 1С и ОС минимум 8–16 ГБ.
  3. Задайте «Количество ИБ на процесс» = 1, если на сервере несколько крупных баз.
  4. Настройте плановые регламентные операции в СУБД: обновление статистики ежедневно, перестроение индексов раз в неделю.
  5. Чистите каталог сеансовых данных snccntx* в реестре кластера только при остановленной службе — это помогает при «распухшем» кэше и странных ошибках после обновления.

Остановка службы для очистки кэша завершает все сеансы. Предупредите пользователей и делайте это вечером или в выходные.

Частые вопросы о создании кластера 1С

Можно ли поставить два кластера на одну машину?
Да. Зарегистрируйте второй экземпляр агента с другими портами (например, 2540/2541 и диапазон 2560:2591) и отдельным каталогом реестра. Так держат на одном сервере две разные версии платформы.
Нужен ли отдельный сервер СУБД для небольшой фирмы?
Нет. До 30–40 пользователей 1С и СУБД нормально уживаются на одной машине с 32 ГБ памяти и SSD.
Почему клиент видит сервер, но не подключается к базе?
Чаще всего закрыт диапазон портов рабочих процессов 1560–1591 или имя сервера не разрешается с клиентской машины. Проверьте брандмауэр и файл hosts.
Как задать администратора кластера?
В консоли: Локальный кластер → Администраторы → Создать. После этого консоль и rac запрашивают логин и пароль. Пароль храните в менеджере паролей: восстановить его без доступа к серверу нельзя.
Обязательно ли обновлять сервер вместе с клиентами?
Да. Клиент подключается только к серверу той же версии платформы, поэтому сервер и все клиентские места обновляют одновременно.