Сервер 1С:Предприятия 8.3 от установки до мониторинга: что и где настроить

· 10 мин

Содержание

Правильная настройка сервера 1С сводится к пяти вещам: служба агента под отдельной учётной записью, открытые порты 1540, 1541 и 1560–1591, ограничения памяти рабочих процессов, грамотно созданные базы на СУБД и включённый технологический журнал. Всё остальное — тонкая подстройка под нагрузку.

Ниже порядок для платформы 8.3 (сборки 8.3.2x) на Windows Server 2016 и новее и на Linux (Ubuntu, Debian, РЕД ОС, Astra). Настройки кластера и баз в обеих ОС одинаковые, различаются только установка и управление службой.

Что подготовить: железо, ОС и учётная запись

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

Ориентировочные конфигурации (примерно, для типовых БП, ЗУП, УТ):

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

Что сделать в ОС до установки:

  • ⚡ Схема электропитания. В Windows переключите на «Высокая производительность»: в режиме «Сбалансированная» частота процессора плавает, и серверные вызовы проседают.
  • 🕒 Время. Синхронизация с NTP. Расхождение часов между сервером 1С и СУБД ломает регламентные задания и отборы по дате.
  • 🧑‍💻 Учётная запись службы. Заведите отдельного пользователя, например USR1CV8. Ему нужны права «Вход в качестве службы» и членство в группе «Пользователи журналов производительности». Права локального администратора не давайте.
  • 🌐 Имя сервера. Клиенты должны разрешать имя сервера в IP (DNS или файл hosts). Сервер 1С возвращает клиенту адреса рабочих процессов по имени, и если имя не резолвится, подключение рвётся уже после соединения с агентом.

В Linux дополнительно проверьте локаль ru_RU.UTF-8 (locale -a) и установите пакеты шрифтов, если сервер формирует печатные формы в PDF.

Как установить сервер 1С и поднять кластер

Windows

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

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

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

Номер версии подставьте свой. После каждого обновления платформы команду повторяют для новой папки. Затем откройте «Администрирование серверов 1С Предприятия», добавьте центральный сервер по имени — локальный кластер на порту 1541 создаётся при первом запуске службы автоматически.

Linux

Начиная с 8.3.20 дистрибутив поставляется одним файлом setup-full-8.3.xx.xxxx-x86_64.run. Запустите его с ключом установки сервера (список ключей покажет --help), а затем подключите службу через systemd. С 8.3.21 в комплекте есть готовый юнит:

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

Графической консоли в Linux нет. Управлять кластером можно с Windows-машины через ту же оснастку либо из командной строки: поднимите сервер администрирования ras (в той же папке есть юнит ras-8.3.xx.xxxx.service) и обращайтесь к нему утилитой rac. Порт ras по умолчанию — 1545.

/opt/1cv8/x86_64/8.3.24.1548/rac localhost:1545 cluster list

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

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

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

Память и рабочие процессы: какие параметры кластера трогать

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

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

  • 📏 Критический объем памяти процессов. Общий потолок для всех rphost на этом сервере. При превышении платформа обрывает самый тяжёлый вызов. Практичный ориентир — 70–80% от памяти, которая остаётся после ОС и СУБД.
  • 🧮 Временно допустимый объем памяти процессов и интервал его превышения. Мягкий порог: если процессы держатся выше него дольше заданного интервала, платформа завершает самый объёмный вызов.
  • 🧯 Безопасный расход памяти за один вызов. Лимит на одну операцию. Защищает от «зависшего» отчёта без отборов. Для бухгалтерских баз разумно 2–4 ГБ.
  • 🧩 Количество ИБ на процесс и Количество соединений на процесс. По умолчанию 8 и 128. Для крупной базы с сотней пользователей ставят 1 ИБ на процесс: тогда её кэш метаданных не делит процесс с другими базами.

В свойствах самого кластера смотрите:

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

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

Пример расчёта

Сервер с 64 ГБ, СУБД на нём же. MS SQL ограничен 28 ГБ, ОС оставляем 4 ГБ. Под 1С остаётся 32 ГБ. Критический объем — около 24 ГБ (75%), временно допустимый — 20 ГБ с интервалом 300 секунд, безопасный расход за вызов — 3 ГБ.

Файловые и клиент-серверные базы: как их разместить

Файловая база работает без сервера 1С и без СУБД: клиент открывает файл 1Cv8.1CD напрямую. Кластер файловыми базами не управляет и лимиты памяти на них не действуют.

Файловый вариант оправдан для 1–5 одновременных пользователей и баз до нескольких гигабайт. Если людей больше или база растёт, переводите её в клиент-серверный режим: выгрузка .dt в Конфигураторе → создание новой базы на кластере → загрузка .dt.

Если файловая база всё-таки лежит в сетевой папке, держите её на сервере с SSD, а не на NAS. И не открывайте её одновременно из разных версий платформы.

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

В консоли Информационные базы → Создать:

  1. Имя — то, под которым база видна в кластере. Латиница без пробелов, например buh_ooo_romashka.
  2. Защищенное соединение — «Выключено» в локальной сети, «Только соединение» при работе через внешние каналы.
  3. Тип СУБД — MSSQLServer или PostgreSQL.
  4. Сервер баз данных, имя базы данных, пользователь и пароль СУБД.
  5. Смещение дат — 2000 для MS SQL.
  6. Отметьте «Создать базу данных в случае ее отсутствия».
  7. Блокировка регламентных заданий — включите для копий и тестовых баз. Иначе копия начнёт отправлять отчётность, загружать курсы и запускать обмены от имени рабочей организации.
  8. Разрешить выдачу лицензий сервером 1С:Предприятия — включите, если программные лицензии активированы на сервере.

Настройки СУБД, которые влияют на 1С

ПараметрMS SQL ServerPostgreSQL
СборкаОбычная редакция Standard/EnterpriseСборка с патчами для 1С (от 1С или Postgres Pro)
Ограничение памятиmax server memory, оставить ОС и 1С их долюshared_buffers около 25% ОЗУ
ПараллелизмMAXDOP = 1Параметры параллельных запросов не завышать
Модель восстановленияFull + бэкапы журнала для рабочих баз, Simple для тестовыхАрхивирование WAL при необходимости PITR
ОбслуживаниеПерестроение индексов, обновление статистикиVACUUM ANALYZE, контроль автовакуума

Обычный «ванильный» PostgreSQL без патчей с 1С не работает . Берите дистрибутив, который предназначен для 1С, и проверяйте, что его версия поддерживается вашей версией платформы.

Права и безопасность кластера

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

  1. Администратор центрального сервера. В консоли на узле центрального сервера Администраторы → Создать. Можно указать логин с паролем или аутентификацию ОС. После этого анонимный доступ к агенту пропадает.
  2. Администратор кластера. То же самое в ветке Кластер → Администраторы. Без этого кто угодно меняет параметры кластера.
  3. Учётная запись СУБД. Для 1С заведите отдельного пользователя СУБД с правами на создание баз, а не sa или postgres.
  4. Профили безопасности. В ветке кластера Профили безопасности можно запретить коду конфигурации доступ к файлам, COM-объектам, внешним компонентам и сети. Профиль назначают базе в её свойствах. Это защита от вредоносных внешних обработок.
  5. Сеть. Порты кластера открывайте только для локальной сети. Удалённым сотрудникам — VPN, RDP или веб-публикация, но не проброс 1540 в интернет.

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

Каталог srvinfo по умолчанию: в Windows C:\Program Files\1cv8\srvinfo, в Linux — в домашнем каталоге пользователя службы, /home/usr1cv8/.1cv8/1C/1cv8.

Минимальная настройка сервера 1С перед вводом в работу
Выполнено: 0 / 8

Как следить за сервером и что делать регулярно

Ежедневная картина в консоли

  • 👥 Сеансы — кто и в какой базе сидит, сколько занимает процессорного времени и памяти. Сортировка по «Память (текущая)» показывает, кто сейчас грузит сервер.
  • 🔒 Блокировки — кто держит управляемые блокировки. Полезно, когда пользователи жалуются на «зависание» при проведении.
  • ⚙️ Рабочие процессы — объём памяти каждого rphost, доступная производительность. Если доступная производительность одного процесса падает сильно ниже соседних, он перегружен или тормозит.

Из командной строки то же самое получают через rac: список кластеров — rac cluster list, сеансы с лицензиями — rac session list --cluster=<id> --licenses. Остальные подкоманды смотрите в rac help.

Технологический журнал

Без журнала разбор «почему тормозит» превращается в гадание. Файл настройки logcfg.xml кладут в каталог conf платформы: C:\Program Files\1cv8\conf\ в Windows или /opt/1cv8/conf/ в Linux. Сервер подхватывает его без перезапуска.

Минимальный журнал, который стоит держать включённым всегда, — исключения:

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

history — сколько часов хранить файлы. Для разбора тормозов временно добавляют события длинных запросов к СУБД и ожиданий на блокировках, а после разбора отключают: подробный журнал быстро съедает диск.

Регламент обслуживания

ЗадачаКак частоЧем
Полная резервная копия базыЕжедневноСредствами СУБД (план обслуживания MS SQL, pg_dump)
Копия журнала транзакцийКаждые 15–60 минутДля MS SQL в модели Full
Обновление статистикиЕжедневно ночьюПлан обслуживания / VACUUM ANALYZE
Перестроение индексовРаз в неделюПлан обслуживания MS SQL
Проверка свободного местаЕжедневноМониторинг дисков ОС
Копия srvinfoПосле любых изменений кластераКопирование каталога при остановленной службе

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

Типовые сбои после настройки

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

После обновления платформы на сервере старая служба остаётся зарегистрированной. Перед удалением старой версии остановите её службу в нерабочее время: все сеансы пользователей на ней оборвутся. Затем установите службу новой версии и перенесите в неё каталог srvinfo, если новая служба создала пустой реестр кластера.

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

Можно ли держать на одном сервере 1С и СУБД?
Да, до 30–50 пользователей это обычная схема. Главное — ограничить память СУБД, чтобы она не вытесняла рабочие процессы 1С.
Нужна ли отдельная лицензия на сервер 1С?
Да. Для клиент-серверного режима нужна лицензия на сервер 1С:Предприятия плюс клиентские лицензии на пользователей. Без лицензии сервер базы не обслуживает.
Сколько рабочих процессов должно быть?
Платформа запускает их сама по параметрам «ИБ на процесс» и «соединений на процесс». Вручную задают обычно только изоляцию крупной базы в отдельный процесс.
Как запустить отладку на сервере 1С?
Службу агента запускают с ключом -debug. Делайте это только на тестовом сервере: режим отладки нагружает процессы и даёт доступ к исполняемому коду.
Можно ли поставить на один сервер две версии платформы?
Можно, если у каждой версии свой агент на своих портах, например 2540, 2541 и диапазон 2560–2591. Клиент тогда указывает сервер как имя:2541.