Сервер 1С:Предприятия с нуля: кластер, лицензии, сеть, бэкапы
Содержание
Сервер 1С установили, а в списке баз пусто, пользователи не заходят, лицензия «не найдена»? Это типичный первый день. Работа с сервером 1С сводится к пяти действиям: создать кластер, завести в нём информационные базы, выдать лицензии, открыть сетевые порты и настроить резервное копирование .
Ниже порядок, в котором это удобно делать, с портами, командами и числами. Всё относится к клиент-серверному варианту платформы 8.3. Файловую базу сервер не обслуживает.
Из чего состоит сервер 1С и как он работает
Сервер 1С — это не одна программа, а набор процессов. Без их понимания диагностика превращается в гадание.
- 🧠
ragent— агент сервера. Запускается как служба, принимает подключения и держит кластер. - 🗂
rmngr— менеджер кластера. Распределяет клиентов по рабочим процессам и хранит реестр кластера. - ⚙️
rphost— рабочий процесс. Именно он выполняет код конфигурации и ходит в СУБД. - 🛠
ras— сервер администрирования. Через него работают консоль и утилитаrac.
Один кластер — это группа рабочих серверов, которыми управляет один менеджер. На маленьком предприятии кластер почти всегда состоит из одного сервера. Рабочих процессов на нём может быть несколько, и это нормально.
Данные хранятся не в 1С, а в СУБД: PostgreSQL, Microsoft SQL Server и т. п. Сервер 1С — прослойка между клиентами и базой. Поэтому узких мест два: процессор и память сервера 1С, а также дисковая подсистема и настройки СУБД.
Если пользователи жалуются на «тормоза», сначала выясните, где нагрузка: на rphost или на процессе СУБД. Лечение у них разное.
Подготовка: что проверить до создания кластера
Перед первым запуском пройдите короткий список. Он экономит часы поиска причин потом.
Отдельный момент про учётную запись. Служба ragent под пользователем с правами администратора домена — частая и опасная практика. Заведите обычного пользователя, дайте ему доступ только к рабочим каталогам.
Создание и настройка кластера серверов 1С
В штатной установке кластер на сервере уже существует: он создаётся при первом старте службы. Для типового сценария новый кластер не нужен, достаточно завести в нём базы.
Подключение к серверу из консоли
- Откройте консоль администрирования серверов 1С:Предприятия (ставится вместе с платформой).
- Добавьте центральный сервер: имя машины и порт агента.
- Раскройте узел «Кластеры». Кластер по умолчанию слушает порт
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 настраивается. Если процессов мало, его можно сузить, чтобы открыть на межсетевом экране меньше портов. Расширять надо, если процессов на сервере больше, чем свободных портов.
Схема «в одну точку»
Открывать десяток портов в интернет — плохая идея. Безопаснее два варианта:
- 🔒 VPN до офиса. Клиент как будто сидит в локальной сети, вопросов с портами нет.
- 🚪 Терминальный сервер . Пользователь подключается по RDP, а 1С запускается рядом с сервером.
Прямой проброс портов 1С на внешний адрес — крайний случай. Тогда ограничьте доступ списком адресов.
Типичная причина «я вижу сервер, но база не открывается»
Клиент подключился к агенту на 1540, получил адрес рабочего процесса и пошёл на него. Порт рабочего процесса закрыт. Список, который вернулся с сервера, содержит имя машины, и оно не резолвится у клиента. Проверьте оба пункта: порты и DNS.
Быстрая проверка с клиента: Test-NetConnection имя-сервера -Port 1541 в PowerShell. Если соединение не проходит, дело в сети, а не в 1С.
Производительность: что крутить, когда сервер тормозит
Сначала измерьте, потом настраивайте. Слепая оптимизация вредит чаще, чем помогает.
Где искать узкое место
- 📈 Загрузка процессора на
rphost. Постоянные 100% на одном ядре — тяжёлый запрос или длинная транзакция. - 🧮 Память.
rphostрастёт, а память не возвращается — включите перезапуск рабочих процессов по расписанию или по объёму. - 💽 Диск СУБД. Долгие записи и чтение — дело в хранилище, а не в платформе.
- 🔒 Блокировки. Пользователи «висят» друг на друге. Смотрите журнал, а не счётчики загрузки.
Рабочие правила
- Держите СУБД и сервер 1С на разных ресурсах, если пользователей больше пары десятков. На одной машине они делят память.
- Не давайте виртуальной машине меньше памяти, чем реально использует нагрузка. Подкачка на диск убивает скорость.
- Следите за регламентными заданиями: обновление индексов и статистики в СУБД, сжатие таблиц, пересчёт итогов в 1С.
- Ночью отключайте ненужные фоновые задания, они не должны конкурировать с резервным копированием.
Чем крупнее база, тем важнее дисциплина обслуживания. Самый частый случай — «после года работы всё стало медленнее»: статистика устарела, а индексы фрагментированы.
Резервное копирование и восстановление
Сервер 1С резервную копию сам не делает. Решение принимаете вы, а ответственность за него — тоже ваша.
Два способа, у каждого свои плюсы
| Способ | Когда использовать | Минусы |
|---|---|---|
Выгрузка информационной базы (.dt) из Конфигуратора | Перед обновлением, переносом, правкой структуры | Требует монопольного доступа, на большой базе идёт долго |
| Резервная копия средствами СУБД | Ежедневная защита данных | Нужен доступ к серверу СУБД, восстановление — отдельная процедура |
Выгрузка .dt переносима между серверами и версиями платформы в пределах совместимости. Копия СУБД быстрее и надёжнее для регулярной работы.
Как организовать
- ✅ Ежедневная копия СУБД ночью, лучше с проверкой целостности.
- ✅ Хранение копий не на том же диске, что и база.
- ✅ Выгрузка
.dtперед каждым обновлением конфигурации. - ✅ Тест восстановления хотя бы раз в квартал.
Копия, которую ни разу не пробовали развернуть, — это не копия. Выделите тестовый стенд и восстанавливайте базу из архива по расписанию.
Перед любыми действиями с рабочей базой — резервная копия и согласование с регламентом вашей организации.
Диагностика: журналы, технологический журнал и счётчики
Когда сервер ведёт себя странно, ответ почти всегда в журналах. Их три.
- 📒 Журнал регистрации — события на уровне базы: входы, изменения данных, ошибки. Открывается из самой 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— запросы к СУБД с длительностью.
Нашли долгий запрос — по тексту и контексту вызова видно, какая процедура его породила. Это точка приложения усилий разработчика, а не администратора.
ragent, затем порты 1540 и 1541 и DNS-имя сервера.rphost и СУБД, затем технологический журнал на долгие запросы и блокировки.