Сервер 1С:Предприятия с нуля: кластер, лицензии, сеть, бэкапы

· 9 мин

Содержание

Сервер 1С установили, а в списке баз пусто, пользователи не заходят, лицензия «не найдена»? Это типичный первый день. Работа с сервером 1С сводится к пяти действиям: создать кластер, завести в нём информационные базы, выдать лицензии, открыть сетевые порты и настроить резервное копирование .

Ниже порядок, в котором это удобно делать, с портами, командами и числами. Всё относится к клиент-серверному варианту платформы 8.3. Файловую базу сервер не обслуживает.

Из чего состоит сервер 1С и как он работает

Сервер 1С — это не одна программа, а набор процессов. Без их понимания диагностика превращается в гадание.

  • 🧠 ragent — агент сервера. Запускается как служба, принимает подключения и держит кластер.
  • 🗂 rmngr — менеджер кластера. Распределяет клиентов по рабочим процессам и хранит реестр кластера.
  • ⚙️ rphost — рабочий процесс. Именно он выполняет код конфигурации и ходит в СУБД.
  • 🛠 ras — сервер администрирования. Через него работают консоль и утилита rac.

Один кластер — это группа рабочих серверов, которыми управляет один менеджер. На маленьком предприятии кластер почти всегда состоит из одного сервера. Рабочих процессов на нём может быть несколько, и это нормально.

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

Если пользователи жалуются на «тормоза», сначала выясните, где нагрузка: на rphost или на процессе СУБД. Лечение у них разное.

Подготовка: что проверить до создания кластера

Перед первым запуском пройдите короткий список. Он экономит часы поиска причин потом.

Перед созданием кластера
Выполнено: 0 / 6

Отдельный момент про учётную запись. Служба ragent под пользователем с правами администратора домена — частая и опасная практика. Заведите обычного пользователя, дайте ему доступ только к рабочим каталогам.

Создание и настройка кластера серверов 1С

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

Подключение к серверу из консоли

  1. Откройте консоль администрирования серверов 1С:Предприятия (ставится вместе с платформой).
  2. Добавьте центральный сервер: имя машины и порт агента.
  3. Раскройте узел «Кластеры». Кластер по умолчанию слушает порт 1541, агент — 1540.

Если консоли нет, ту же работу делает утилита rac. Она запускается из каталога платформы и обращается к серверу администрирования ras:

ras cluster --daemon
rac cluster list

Первая команда поднимает сервер администрирования в фоне. Вторая показывает кластеры и их идентификаторы.

Параметры, которые стоит посмотреть сразу

Откройте свойства кластера и проверьте несколько значений.

ПараметрЧто делаетОриентир для небольшой базы
Интервал перезапуска рабочих процессовПериодически пересоздаёт rphost, чистит утечки памяти3600 секунд — типовой старт
Допустимый объём памяти процессовПорог, после которого процесс перезапускаетсяПодбирается по объёму ОЗУ сервера
Выключенные процессы останавливать черезСколько живёт процесс после перезапускаОставьте по умолчанию
Количество соединений на процессСколько сеансов обслуживает один rphostЗависит от нагрузки, начните с типового

Не меняйте всё сразу. Поменяли один параметр — наблюдайте день. Иначе непонятно, что помогло.

Добавление информационной базы

В узле «Информационные базы» выберите создание новой базы. Понадобятся имя, тип СУБД, адрес сервера СУБД, имя базы и учётные данные.

Пара полей, где путаются чаще всего:

  • ✅ «Создать базу данных в случае её отсутствия» — отметьте, если базы в СУБД ещё нет.
  • ✅ «Смещение дат» — для современных конфигураций ставят 2000.
  • ⚠️ «Разрешить выдачу лицензий сервером 1С:Предприятия» — по умолчанию включено. Если снять, лицензии придётся брать на клиентах.

Лицензии: как подключить и кто их выдаёт

Лицензия нужна при запуске каждого сеанса. Серверные и клиентские лицензии — разные вещи, не путайте.

  • 🔑 Серверная лицензия разрешает запуск самого кластера. Без неё сервер стартует в ограниченном режиме и быстро прекращает работу.
  • 👥 Клиентские лицензии (КЛ) выдаются сеансам пользователей. Бывают программные и аппаратные (ключ защиты).

Программные лицензии

Программную лицензию вы получаете по пин-коду, который прилагается к комплекту. Запросить файл лицензии можно из консоли сервера или из окна ошибки «Не найден свободный клиентский ключ защиты». Файл активируется на конкретном сервере и привязывается к его параметрам.

Сильно меняете «железо» или переносите виртуальную машину — программная лицензия может слететь. Перед миграцией заранее верните лицензию или уточните порядок переноса у поставщика.

Аппаратные ключи

Ключ вставляют в USB-порт сервера. В виртуальной среде порт пробрасывают на гостевую машину или ставят сетевой менеджер ключей. Драйвер ключа ставится из дистрибутива платформы.

Где посмотреть, кто занял лицензии

В консоли откройте узел «Сеансы». Там видно пользователя, приложение и время начала. Зависшие сеансы, например от свернутого окна на другом компьютере, завершают вручную. Они занимают лицензию, пока не отключатся сами.

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

Сеть и порты: как настроить туннелирование

Клиент должен достучаться до сервера по нескольким портам, а не по одному. Это главная причина «подключение из дома не работает ».

Какие порты нужны

НазначениеПорт по умолчанию
Агент сервера (ragent)1540
Менеджер кластера (rmngr)1541
Сервер администрирования (ras)1545
Диапазон рабочих процессов (rphost)1560–1591

Диапазон 1560–1591 настраивается. Если процессов мало, его можно сузить, чтобы открыть на межсетевом экране меньше портов. Расширять надо, если процессов на сервере больше, чем свободных портов.

Схема «в одну точку»

Открывать десяток портов в интернет — плохая идея. Безопаснее два варианта:

  1. 🔒 VPN до офиса. Клиент как будто сидит в локальной сети, вопросов с портами нет.
  2. 🚪 Терминальный сервер . Пользователь подключается по RDP, а 1С запускается рядом с сервером.

Прямой проброс портов 1С на внешний адрес — крайний случай. Тогда ограничьте доступ списком адресов.

Типичная причина «я вижу сервер, но база не открывается»

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

Быстрая проверка с клиента: Test-NetConnection имя-сервера -Port 1541 в PowerShell. Если соединение не проходит, дело в сети, а не в 1С.

Производительность: что крутить, когда сервер тормозит

Сначала измерьте, потом настраивайте. Слепая оптимизация вредит чаще, чем помогает.

Где искать узкое место

  • 📈 Загрузка процессора на rphost. Постоянные 100% на одном ядре — тяжёлый запрос или длинная транзакция.
  • 🧮 Память. rphost растёт, а память не возвращается — включите перезапуск рабочих процессов по расписанию или по объёму.
  • 💽 Диск СУБД. Долгие записи и чтение — дело в хранилище, а не в платформе.
  • 🔒 Блокировки. Пользователи «висят» друг на друге. Смотрите журнал, а не счётчики загрузки.

Рабочие правила

  1. Держите СУБД и сервер 1С на разных ресурсах, если пользователей больше пары десятков. На одной машине они делят память.
  2. Не давайте виртуальной машине меньше памяти, чем реально использует нагрузка. Подкачка на диск убивает скорость.
  3. Следите за регламентными заданиями: обновление индексов и статистики в СУБД, сжатие таблиц, пересчёт итогов в 1С.
  4. Ночью отключайте ненужные фоновые задания, они не должны конкурировать с резервным копированием.

Чем крупнее база, тем важнее дисциплина обслуживания. Самый частый случай — «после года работы всё стало медленнее»: статистика устарела, а индексы фрагментированы.

Резервное копирование и восстановление

Сервер 1С резервную копию сам не делает. Решение принимаете вы, а ответственность за него — тоже ваша.

Два способа, у каждого свои плюсы

СпособКогда использоватьМинусы
Выгрузка информационной базы (.dt) из КонфигуратораПеред обновлением, переносом, правкой структурыТребует монопольного доступа, на большой базе идёт долго
Резервная копия средствами СУБДЕжедневная защита данныхНужен доступ к серверу СУБД, восстановление — отдельная процедура

Выгрузка .dt переносима между серверами и версиями платформы в пределах совместимости. Копия СУБД быстрее и надёжнее для регулярной работы.

Как организовать

  1. ✅ Ежедневная копия СУБД ночью, лучше с проверкой целостности.
  2. ✅ Хранение копий не на том же диске, что и база.
  3. ✅ Выгрузка .dt перед каждым обновлением конфигурации.
  4. ✅ Тест восстановления хотя бы раз в квартал.

Копия, которую ни разу не пробовали развернуть, — это не копия. Выделите тестовый стенд и восстанавливайте базу из архива по расписанию.

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

Диагностика: журналы, технологический журнал и счётчики

Когда сервер ведёт себя странно, ответ почти всегда в журналах. Их три.

  • 📒 Журнал регистрации — события на уровне базы: входы, изменения данных, ошибки. Открывается из самой 1С.
  • 🧾 Технологический журнал — низкоуровневые события платформы: блокировки, долгие запросы, исключения. Включается файлом настройки.
  • 📊 Счётчики производительности ОС — загрузка процессора, памяти и диска.

Включение технологического журнала

В каталоге conf платформы создают файл logcfg.xml с описанием, какие события писать и куда. Пример минимального файла, который фиксирует исключения:

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1clogs" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

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

Что искать

  • EXCP — исключения, то есть ошибки времени выполнения.
  • TLOCK, TTIMEOUT, TDEADLOCK — события управляемых блокировок.
  • DBMSSQL, DBPOSTGRS — запросы к СУБД с длительностью.

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

Что случилось с сервером?

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

Нужно ли ставить сервер 1С, если у нас пять пользователей?
Не обязательно. Для небольшой базы хватает файлового режима. Клиент-серверный вариант оправдан, когда растут база, число одновременных сеансов или требования к сохранности данных.
Можно ли установить сервер 1С и СУБД на одну машину?
Можно, для небольших нагрузок так и делают. Следите за памятью: процессы делят её между собой. При росте нагрузки СУБД выносят на отдельный сервер.
Какой порт открыть, чтобы подключиться к серверу 1С снаружи?
Одним портом не обойтись: нужны агент, менеджер кластера и диапазон рабочих процессов. Лучше организовать VPN или терминальный доступ.
Как перезапустить сервер 1С, не потеряв данные?
Данные хранятся в СУБД. Завершите сеансы пользователей, затем перезапустите службу агента сервера. Незакрытые транзакции будут отменены.
Почему после обновления платформы клиенты не подключаются?
Версии клиента и сервера должны совпадать по первым трём числам. Поставьте на клиентских машинах ту же версию, что и на сервере.