Рабочий сервер в кластере 1С:Предприятия 8.3: роль, железо, обслуживание

· 10 мин

Содержание

Рабочий сервер 1С — это компьютер, включённый в кластер серверов 1С:Предприятия 8.3, на котором работают процессы, выполняющие код конфигурации: проведение документов, запросы к базе, формирование отчётов. Клиент только показывает формы, а вся тяжёлая работа идёт на рабочем сервере, который общается с СУБД.

Термин встречается в двух смыслах. В документации платформы «рабочий сервер» — это конкретный объект кластера, который видно в консоли администрирования. В разговоре админов так ещё называют «боевой» сервер, где живут рабочие базы, в отличие от тестового. Ниже разобраны оба значения: как он устроен, что ему нужно и как его держать в порядке.

Что называют рабочим сервером 1С и чем он отличается от тестового

В клиент-серверном варианте 1С есть три звена:

  • 💻 клиент — тонкий клиент, веб-клиент или толстый клиент на рабочем месте пользователя;
  • ⚙️ кластер серверов 1С — один или несколько рабочих серверов, которые выполняют прикладной код;
  • 🗄️ СУБД — MS SQL Server, PostgreSQL, IBM Db2 или Oracle, где физически лежат данные.

Кластер — логическое понятие. Рабочий сервер — физическая или виртуальная машина в этом кластере. В маленькой компании всё помещается на одном компьютере: и кластер с одним рабочим сервером, и СУБД. В крупной рабочих серверов несколько, нагрузка распределяется между ними.

Один из рабочих серверов обязательно центральный: он хранит реестр кластера — список информационных баз, администраторов, настроек. Остальные рабочие серверы получают эту информацию от него. В консоли признак задаётся флажком «Центральный сервер» в свойствах рабочего сервера.

Боевой и тестовый сервер

Во втором, бытовом смысле «рабочий сервер» противопоставляют тестовому:

Рабочий (боевой)Тестовый
ДанныеРеальные, с которыми работают сотрудникиКопия рабочей базы или демобаза
Кто работаетВсе пользователиАдминистратор, программист, консультант
ОбновленияТолько проверенныеСюда ставят релиз первым
Регламентные заданияРаботаютБлокируются при создании копии
Требования к простоюМинимальный, по графикуМожно перезапускать когда угодно

Тестовая база может жить на том же кластере, что и рабочая, но лучше держать её отдельно. Тяжёлая проверка обновления на общем сервере тормозит всех пользователей.

При создании копии рабочей базы на сервере поставьте флажок «Блокировка регламентных заданий включена». Иначе копия начнёт сама загружать банковские выписки, отправлять письма и обмениваться с ЭДО от имени реальной организации.

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

Рабочий сервер — это не одна программа, а набор процессов, которые запускает служба «Агент сервера 1С:Предприятия 8.3».

ПроцессРольПорт по умолчанию
ragent.exeАгент сервера: запускает остальные процессы, принимает первое обращение клиента и консоли1540
rmngr.exeМенеджер кластера: хранит реестр, раздаёт клиентов по рабочим процессам, ведёт сеансы и блокировки1541
rphost.exeРабочий процесс: выполняет серверный код конфигурации, обращается к СУБДдиапазон 1560–1591

Как идёт подключение:

  1. Клиент обращается к агенту на порт 1540 по имени сервера, указанному в строке подключения к базе.
  2. Агент передаёт его менеджеру кластера на порт 1541.
  3. Менеджер назначает клиенту рабочий процесс, и дальше клиент работает с rphost через порт из диапазона.

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

Служба запускается с параметрами, их видно в свойствах службы Windows. Типичная строка выглядит так:

"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Папка srvinfo — рабочий каталог сервера. В ней лежит реестр кластера (подпапка reg_1541), журналы регистрации баз и сеансовые данные.

Что настраивается в свойствах рабочего сервера

Открыть консоль: Пуск → 1С:Предприятие 8.3 → Администрирование серверов 1С Предприятия. Дальше Центральный сервер → Кластеры → Кластер → Рабочие серверы → имя сервера → Свойства.

Там задаются:

  • 🔢 диапазон IP-портов рабочих процессов;
  • 📦 сколько информационных баз и соединений обслуживает один рабочий процесс;
  • 🧠 ограничения по памяти: безопасный расход памяти за один вызов, критический и временно допустимый объём памяти процессов;
  • 🏷️ признак центрального сервера;
  • 🔁 параметры отказоустойчивости кластера.

Отдельно у рабочего сервера есть ветка «Требования назначения функциональности». Через неё указывают, какие базы и какие виды нагрузки (например, фоновые задания) должен обслуживать именно этот сервер. Нужна, когда серверов несколько и вы хотите вынести регламентные задания на отдельную машину.

Если консоль не открывается с ошибкой про класс или компонент, перерегистрируйте библиотеку консоли той версии платформы, что стоит на сервере: regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll" из командной строки администратора.

Требования к рабочему серверу 1С: железо, ОС и СУБД

Фирма 1С не публикует жёсткую таблицу «столько-то пользователей — столько-то ядер». Цифры ниже — ориентиры из практики для типовых конфигураций (БП, ЗУП, УТ), которые надо проверять на своей нагрузке.

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

На что смотреть при выборе:

  • ⚡ частота ядра важнее числа ядер. Один вызов сервера 1С выполняется в одном потоке. Процессор с 3,5+ ГГц на ядро ускорит проведение сильнее, чем лишние 8 медленных ядер.
  • 💾 дисковая подсистема. Узкое место чаще всего не процессор, а задержки диска под СУБД. HDD под рабочую базу сегодня не вариант.
  • 🧠 память. СУБД забирает почти всю свободную память под кеш. На MS SQL ограничьте максимум памяти, оставив серверу 1С и ОС запас, иначе rphost начнут выдавливать в файл подкачки.
  • 🖥️ ОС. Windows Server 2016 и новее или Linux (дистрибутивы, перечисленные в системных требованиях вашей версии платформы). Сервер 1С 8.3 ставьте 64-разрядный.
  • 🗄️ СУБД. MS SQL Server — привычный вариант на Windows. PostgreSQL в сборках для 1С бесплатен и всё чаще выбирается для новых внедрений. Версию СУБД сверяйте с системными требованиями конкретной версии платформы.

Лицензии

Для клиент-серверного режима нужны две вещи: лицензия на сервер 1С (для 64-разрядного сервера — соответствующая лицензия x64) и клиентские лицензии по числу одновременных подключений. Клиентские лицензии можно выдавать с сервера, тогда ключи на каждом рабочем месте не нужны. Без лицензии на сервер кластер базы не запустит.

Файловая база или серверная: когда пора переводить базу на рабочий сервер

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

ПризнакФайловый режимКлиент-серверный режим
Пользователей одновременнокомфортно до 5–10десятки и сотни
Обмен по сетивесь файл читается по сети, тормозит при росте базыпо сети идут только данные форм
Блокировкина уровне таблиц, пользователи чаще ждут друг другауправляемые, на уровне записей
Резервное копированиекопия файла или выгрузка .dt при выходе всех пользователейсредствами СУБД, без остановки работы
Стоимостьдешевле: только клиентские лицензиилицензия на сервер, СУБД, мощная машина, администратор
Риск повреждения базывыше: сбой сети или питания во время записиниже, целостность обеспечивает СУБД

Признаки, что файловой базы уже не хватает:

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

Свой сервер или облако: что выбрать для рабочих баз

Рабочий сервер 1С не обязан стоять в офисе. Есть три основных варианта.

ВариантПлюсыМинусы
Свой сервер в офисеполный контроль, нет абонентской платы, доработки без ограниченийпокупка железа и лицензий, нужен администратор, риски питания и бэкапов на вас
Арендованный сервер (виртуальная машина в дата-центре)не покупаете железо, легко добавить ресурсы, надёжное питание и каналежемесячная плата, лицензии 1С и настройку всё равно ведёте вы или подрядчик
Облачный сервис 1С (базы у провайдера, доступ через браузер или тонкий клиент)ничего не администрируете, обновления делает провайдер, доступ откуда угодноограничения на доработки и внешние обработки, данные у третьей стороны, зависимость от интернета

Как прикинуть выгоду: сравните стоимость своего сервера за 3–4 года (железо, лицензия на сервер, СУБД, работа администратора) с суммой аренды за тот же срок. Для 3–5 пользователей облако почти всегда дешевле и проще. Для 30+ пользователей с доработанной конфигурацией обычно выигрывает свой или арендованный сервер.

Если база сильно доработана, а провайдер облака разрешает только типовые конфигурации или расширения — облачный сервис не подойдёт. Это стоит выяснить до переезда.

Как следить за рабочим сервером 1С и поддерживать его

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

1. Состояние кластера

В консоли администрирования смотрите ветки «Рабочие процессы» и «Сеансы»: сколько памяти занимает каждый rphost, сколько сеансов, есть ли «висящие» сеансы без активности. То же доступно из командной строки через сервер администрирования ras и утилиту rac:

rem Запустить сервер администрирования (по умолчанию порт 1545)
ras cluster --port=1545

rem Список кластеров и рабочих процессов
rac cluster list
rac process list --cluster=<id кластера>
rac session list --cluster=<id кластера>

Точный синтаксис остальных команд смотрите в rac help. Этот вывод удобно забирать скриптом в систему мониторинга (Zabbix и аналоги).

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

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

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1c_techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="CALL"/>
      <gt property="duration" value="50000"/>
    </event>
    <property name="all"/>
  </log>
</config>

Длительность в журнале указывается в десятитысячных долях секунды, поэтому 50000 — это 5 секунд. Параметр history — сколько часов хранить логи. Включайте журнал адресно: полный сбор всех событий за пару часов забивает диск.

3. Счётчики ОС и СУБД

Следите за загрузкой процессора, свободной памятью и очередью к диску (в Windows — «Системный монитор»). Постоянная очередь к диску под базой — сигнал менять дисковую подсистему, а не процессор. На стороне СУБД обязательны регламентные задачи: резервное копирование, обновление статистик, перестроение индексов.

4. Регламент работ

  • 🕐 обновления конфигураций и платформы — сначала на тестовой копии, потом на рабочем сервере в нерабочее время;
  • 💾 полный бэкап базы средствами СУБД ежедневно, журнал транзакций — чаще, если база в полной модели восстановления;
  • 🔁 периодический перезапуск службы агента, если рабочие процессы растут по памяти и не освобождают её.

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

Ошибки при настройке рабочего сервера 1С и как их избежать

  1. Разные версии платформы на клиенте и сервере. Клиент подключается к кластеру только той же версии платформы, что и сервер. После обновления сервера обновите клиентов или настройте автоматическую установку версии.
  2. Закрытые порты. Открывают 1540 и 1541, забывая диапазон рабочих процессов 1560–1591. Клиент видит сервер, но в базу не входит.
  3. Сервер недоступен по имени. Кластер сообщает клиенту имя машины, а не IP. Если имя не разрешается DNS, клиент не найдёт рабочий процесс. Лечится записью в DNS или в файле hosts клиента.
  4. Нет прав у учётной записи службы. Служба агента работает от отдельного пользователя (по умолчанию USR1CV8). У него должны быть полные права на папку srvinfo и каталог технологического журнала.
  5. Антивирус сканирует srvinfo и файлы СУБД. Это даёт тормоза и блокировки файлов. Добавьте папки сервера 1С и данных СУБД в исключения.
  6. Энергосбережение. Схема электропитания «Сбалансированная» снижает частоту процессора. Для рабочего сервера ставьте «Высокая производительность», а в BIOS отключайте режимы экономии, если сервер позволяет.
  7. Сервер 1С и СУБД дерутся за память. Не ограничен максимум памяти СУБД — сервер 1С уходит в подкачку.
Можно ли поставить сервер 1С и СУБД на одну машину?
Да. Для небольших и средних компаний это обычная схема. Разносить на разные машины имеет смысл при большой нагрузке, когда сервер 1С и СУБД начинают конкурировать за процессор и память.
Сколько рабочих серверов может быть в одном кластере?
Столько, сколько нужно. Один из них центральный, остальные подключаются к нему. Для нескольких серверов нужны лицензии на каждый.
Работает ли рабочий сервер 1С на Linux?
Да, сервер 1С:Предприятия 8.3 выпускается и для Linux. В паре с PostgreSQL это позволяет обойтись без лицензий Windows Server и MS SQL. Список поддерживаемых дистрибутивов смотрите в системных требованиях своей версии платформы.
Нужен ли рабочий сервер для 1С:Бухгалтерии на 3 человека?
Обычно нет. Файловой базы на SSD хватает. Сервер окупается, когда растёт число пользователей, объём базы или нужна работа из филиалов.
Чем отличается центральный сервер от рабочего?
Центральный — это рабочий сервер, который дополнительно хранит реестр кластера и управляет им. Обычный рабочий сервер только выполняет прикладной код и получает настройки от центрального.