Сервер 1С:Предприятия 8.3 под управлением: кластер, базы, лицензии, бэкапы
Содержание
Администрирование сервера 1С настраивается в «Консоли администрирования серверов 1С:Предприятия»: регистрируете в ней центральный сервер, задаёте администраторов кластера, добавляете информационные базы и выставляете лимиты памяти рабочих процессов. Если консоль не запускается или пустая, почти всегда не зарегистрирована библиотека radmin.dll нужной версии платформы.
Типичная картина: сервер 1С поставили «по умолчанию», базы работают, но кластер без пароля, регламентные задания гоняются в копии базы, а память рабочего процесса растёт до тех пор, пока пользователи не начинают жаловаться. Ниже порядок, в котором настройку сервера 1С 8.3 удобно довести до рабочего состояния. Описание дано для платформы 8.3.2x на Windows Server 2016 и новее; для Linux отличия указаны отдельно.
1. Подготовка сервера 1С: служба, порты и консоль
Служба агента сервера
При установке платформы отметьте компоненты «Сервер 1С:Предприятия» и «Администрирование сервера 1С:Предприятия». Установщик предложит запускать сервер как службу Windows от отдельного пользователя (по умолчанию создаётся USR1CV8). Это правильный вариант: служба стартует без входа администратора в систему.
Проверьте, что служба «Агент сервера 1С:Предприятия 8.3» запущена и стоит тип запуска «Автоматически».
Порты
| Порт | Кто слушает | Зачем |
|---|---|---|
| 1540 | Агент сервера (ragent) | Первое обращение клиента и консоли |
| 1541 | Менеджер кластера (rmngr) | Управление кластером |
| 1560–1591 | Рабочие процессы (rphost) | Работа сеансов пользователей |
| 1545 | Сервер администрирования (ras) | Нужен для утилиты rac и веб-консолей |
Диапазон 1560–1591 задаётся в свойствах рабочего сервера и может быть другим. Откройте в брандмауэре все эти порты для клиентских машин, иначе клиент найдёт агент, но упадёт при подключении к рабочему процессу.
Регистрация консоли администрирования
Консоль — это оснастка MMC, которой нужна библиотека radmin.dll той же версии, что и сервер. После каждого обновления платформы её регистрируют заново. Запустите командную строку от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"
Номер версии подставьте свой — по имени папки в C:\Program Files\1cv8\. Если на сервере стоит 64-битная платформа, а консоль вы открываете из 32-битной, версии разойдутся, и консоль покажет ошибку подключения. Разрядность платформы, из которой регистрируется radmin.dll, должна совпадать с разрядностью сервера.
Дальше в консоли: правой кнопкой по корню «Central 1C:Enterprise 8.3 servers» → «Создать» → «Центральный сервер 1С:Предприятия». Укажите имя компьютера и порт 1540.
Для управления из скриптов поднимите сервер администрирования ras как службу. Тогда утилита rac будет видеть кластер, а команды вроде rac cluster list можно выполнять по расписанию.
sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.25.1374\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto
2. Кластер серверов 1С: администраторы и общие параметры
Пароль на кластер
По умолчанию кластер открыт: любой, кто дотянется до порта 1540, может в консоли удалить базу из кластера или завершить чужие сеансы. Закройте это сразу.
- Разверните узел сервера → «Кластеры» → ваш кластер (обычно «Локальный кластер» на порту 1541).
- Откройте ветку «Администраторы» → «Создать» → «Администратор».
- Задайте имя и пароль. Можно выбрать аутентификацию операционной системы и указать доменного пользователя.
После создания первого администратора консоль начнёт спрашивать логин при каждом входе в кластер. Отдельно есть администраторы центрального сервера (ветка «Администраторы» на уровне самого сервера) — они защищают регистрацию новых кластеров.
Запишите пароль в хранилище паролей. Если его потеряли, не пересоздавайте кластер: остановите службу, верните файл настроек кластера 1CV8Clst.lst из резервной копии или обратитесь к тому, кто администрирует сервер.
Параметры кластера
В свойствах кластера (правой кнопкой → «Свойства») полезны:
- 🔁 Интервал перезапуска — через сколько секунд рабочий процесс перезапускается плановой заменой. Значение 86400 (сутки) спасает от медленной утечки памяти.
- 📦 Допустимый объём памяти и интервал превышения — если процесс держит память выше порога дольше указанного времени, он помечается выключенным, новые соединения уходят в свежий процесс.
- 🛑 Принудительно завершать проблемные процессы — включайте вместе с порогом памяти, иначе «зависший» процесс будет жить до перезагрузки.
- 🛡️ Уровень отказоустойчивости и режим распределения нагрузки — нужны, когда в кластере больше одного рабочего сервера.
3. Как зарегистрировать информационную базу на сервере 1С
Новая база в кластере
Правой кнопкой по «Информационные базы» → «Создать» → «Информационная база». Заполните:
| Поле | Что указать |
|---|---|
| Имя | Имя базы в кластере, его же клиент вводит при подключении (Srvr="srv1c";Ref="buh") |
| Сервер баз данных | Имя сервера СУБД, для MS SQL с именованным экземпляром — srv\SQLEXPRESS |
| Тип СУБД | MS SQL Server или PostgreSQL |
| База данных | Имя базы в СУБД |
| Пользователь и пароль БД | Учётка СУБД с правами на эту базу |
| Смещение дат | Для MS SQL — 2000, для PostgreSQL — 0 |
| Создать базу данных в случае её отсутствия | Галочка, если база в СУБД ещё не создана |
| Разрешить выдачу лицензий сервером | «Да», если лицензии лежат на сервере |
| Блокировка регламентных заданий | Включить для копий и тестовых баз |
Для переноса данных из файловой базы создайте пустую базу в кластере, откройте её в Конфигураторе и загрузите туда .dt. Загрузка требует монопольного режима, в пустой базе это не проблема.
Безопасность подключения
Не используйте для всех баз учётку sa или суперпользователя postgres. Заведите в СУБД отдельного пользователя под сервер 1С. Ему нужны права на создание и изменение баз, но не администратора всего сервера СУБД без необходимости.
Для копии рабочей базы (тестовой, для обновления) сразу ставьте «Блокировку регламентных заданий». Иначе копия начнёт выгружать данные на сайт, отправлять отчётность или загружать банковские выписки параллельно с рабочей базой.
4. Рабочие процессы и распределение нагрузки
Свойства рабочего сервера
Рабочий сервер — ветка «Рабочие серверы» внутри кластера. В его свойствах задаётся то, что напрямую влияет на скорость и стабильность:
- Диапазон IP-портов — откуда берутся порты рабочих процессов, по умолчанию
1560:1591. - Количество ИБ на процесс и количество соединений на процесс — при значениях 0 сервер решает сам. Если одна тяжёлая база мешает остальным, поставьте 1 ИБ на процесс: каждая база получит свой rphost.
- Критический объём памяти процессов — потолок для всех рабочих процессов сервера. При его превышении сервер начинает обрывать соединения, чтобы спасти себя.
- Временно допустимый объём памяти процессов и интервал его превышения — мягкий порог: после превышения на заданное время процессы перезапускаются.
- Безопасный расход памяти за один вызов — ограничивает один серверный вызов. Отчёт, который пытается собрать в памяти 20 ГБ, будет прерван с ошибкой, но не уронит процесс со всеми пользователями.
Пример для сервера с 32 ГБ ОЗУ, где на этой же машине стоит СУБД: критический объём — около 16 ГБ, временно допустимый — 12 ГБ, интервал превышения — 300 секунд. Остальное оставьте СУБД и системе.
Требования назначения функциональности
Если рабочих серверов несколько, в свойствах каждого рабочего сервера есть ветка «Требования назначения функциональности». Через неё, например, отправляют все фоновые задания конкретной базы на второй сервер, чтобы ночные обработки не тормозили пользователей. Объект требования — «Клиентское соединение», «Фоновое задание», «Сервис лицензирования» и другие, тип — «Назначать» или «Не назначать».
Завершение рабочего процесса из консоли (правой кнопкой → «Удалить») обрывает сеансы всех пользователей, работающих в нём, с потерей несохранённых данных. Делайте это вне рабочего времени или после предупреждения пользователей.
5. Лицензии на сервере 1С: программные и аппаратные ключи
Лицензий на сервере две разные сущности, их часто путают:
- Лицензия на сам сервер — без неё рабочий процесс не стартует. Бывает 32-битная, 64-битная и КОРП.
- Клиентские лицензии — на число одновременных пользователей. Могут лежать на каждом компьютере или на сервере, тогда сервер раздаёт их сеансам.
Программные лицензии
Файлы активированных программных лицензий хранятся в каталоге C:\ProgramData\1C\licenses. Активацию серверной лицензии выполняют на самом сервере, запустив клиент 1С на этой машине: при отсутствии лицензии платформа откроет мастер получения. Пин-код вводят там же.
Программная лицензия привязана к параметрам оборудования. Смена материнской платы, сетевой карты или перенос виртуальной машины на другой хост может «отвязать» лицензию. Перед изменениями железа сохраните файлы лицензий и запасной пин-код.
Аппаратные ключи
Сетевые HASP-ключи обслуживает HASP License Manager — отдельная служба на компьютере, куда воткнут ключ. Серверный ключ ставится прямо в сервер 1С. Для виртуальных машин чаще используют USB-over-IP или переходят на программные лицензии.
Как проверить, кто занял лицензии
В консоли откройте «Сеансы» и добавьте колонку с лицензией: видно, какой сеанс получил лицензию и откуда. Через rac:
rac session list --cluster=<uuid кластера> --licenses
UUID кластера показывает команда rac cluster list. Если параметры других подкоманд нужны, смотрите rac help session.
Чтобы лицензии выдавал только один сервер в кластере, на остальных добавьте требование назначения «Сервис лицензирования — Не назначать».
6. Регламентные и фоновые задания в клиент-серверной базе
В клиент-серверном варианте регламентные задания выполняет сам кластер, отдельный сеанс пользователя для этого не нужен. Управляют ими на двух уровнях.
Уровень кластера. Флаг «Блокировка регламентных заданий» в свойствах информационной базы останавливает их все разом. Это первое, что проверяют, когда «перестала загружаться почта» или «не обновляются курсы валют».
Уровень конфигурации. В Бухгалтерии 3.0 и ЗУП 3.1 список заданий открывается в разделе Администрирование → Обслуживание по ссылке «Регламентные и фоновые задания». Там видно расписание каждого задания, его последний запуск и текст ошибки, если запуск упал.
Что настроить сразу:
- ⏰ Тяжёлые задания (полнотекстовый индекс, обновление агрегатов, архивирование журнала регистрации) переведите на ночь.
- 🔕 Отключите задания сервисов, которыми не пользуетесь: лишние запуски дают нагрузку и записи об ошибках.
- 👤 Для заданий, которым нужны права, проверьте пользователя, от имени которого они выполняются.
Фоновые задания, запущенные пользователями (длительные отчёты, обработки), видны в консоли кластера как сеансы с приложением «Фоновое задание». Зависшее можно завершить там же, удалив сеанс.
7. Мониторинг сервера и технологический журнал
Что смотреть в консоли каждый день
- 📊 Рабочие процессы: занятая память, «Доступная производительность», «Среднее время обслуживания вызова». Рост времени вызова — первый признак проблем с СУБД или диском.
- 👥 Сеансы: старые «висящие» сеансы занимают лицензии.
- 🔒 Блокировки: кто и на какой объект держит блокировку, если пользователи жалуются на ожидания.
Технологический журнал
Журнал включается файлом logcfg.xml в каталоге C:\Program Files\1cv8\conf\ (для конкретной версии — в bin\conf этой версии). Сервер подхватывает изменения без перезапуска. Пример, который пишет исключения и ожидания на блокировках:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\techlog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="TLOCK"/>
</event>
<event>
<eq property="name" value="TTIMEOUT"/>
</event>
<property name="all"/>
</log>
</config>
history="24" — журнал хранится 24 часа. Не включайте все события без фильтра на рабочем сервере: журнал за час может занять десятки гигабайт и сам замедлит систему. Включили для разбора — выключите после.
Журнал регистрации
Журнал регистрации базы лежит в каталоге кластера, обычно C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log. Если он разросся до десятков гигабайт, настройте в конфигурации урезанный уровень логирования или регулярное сокращение журнала.
8. Резервное копирование и отказоустойчивость кластера 1С
Бэкап баз
Для клиент-серверной базы основной бэкап делается средствами СУБД:
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Полная копия СУБД + журнал транзакций (MS SQL) | Рабочие базы, нужен откат на любой момент | Модель восстановления «Полная», следить за размером журнала |
pg_dump / резервирование PostgreSQL | Базы на PostgreSQL | Дампы проверять пробным восстановлением |
Выгрузка .dt | Перенос, архив перед обновлением | Медленно на больших базах, не заменяет бэкап СУБД |
Раз в месяц восстанавливайте копию в тестовую базу. Бэкап, который никто не пробовал развернуть, — это надежда, а не резервная копия.
Бэкап настроек кластера
Копируйте каталог srvinfo целиком, в первую очередь файлы 1CV8Clst.lst (кластер, базы, администраторы) и 1cv8wsrv.lst (список кластеров). С ними после сбоя сервер восстанавливается за минуты, а не за день ручной регистрации баз.
Отказоустойчивость
Чтобы пережить падение одной машины, в кластер добавляют второй рабочий сервер с флагом «Центральный сервер» и задают в свойствах кластера уровень отказоустойчивости 1. Сам сервер СУБД при этом остаётся отдельной точкой отказа, его резервируют средствами СУБД.
Очистка кэша сервера
Когда база ведёт себя странно после обновления (ошибки метаданных, старые формы), помогает очистка серверного кэша:
- Предупредите пользователей: остановка службы обрывает все сеансы на сервере.
- Остановите службу агента сервера.
- В каталоге
srvinfo\reg_1541удалите папкиsnccntx*. Файлы*.lstи папки с GUID баз не трогайте. - Запустите службу.
Сервер на Linux
Логика та же, отличаются пути: служба работает от пользователя usr1cv8, каталог кластера — в его домашней папке, внутри .1cv8/1C/1cv8. Консоль MMC под Linux нет, поэтому сервер администрирования ras и утилита rac там нужны почти всегда.
Частые вопросы
Можно ли управлять сервером 1С без консоли MMC?
rac работает через сервер администрирования ras на порту 1545 и умеет то же, что консоль: списки баз, сеансов, процессов, изменение параметров. Её удобно вызывать из скриптов и планировщика.Почему клиент видит сервер, но подключение к базе обрывается?
Нужно ли перерегистрировать базы после обновления платформы на сервере?
srvinfo. Регистрации баз хранятся в 1CV8Clst.lst. Перерегистрировать нужно radmin.dll для консоли.