Перевод кластера 1С:Предприятия на новый релиз платформы: порядок работ и разбор сбоев

· 9 мин

Содержание

Сервер 1С обновляют в четыре хода: ставят новую версию платформы рядом со старой, останавливают службу агента сервера, переключают службу на ragent.exe из каталога новой версии и запускают её. Затем той же версией обновляют клиентов, консоль администрирования и модуль веб-сервера. Сами информационные базы при смене платформы не переустанавливаются: кластер, список баз и их данные остаются на месте.

Главное правило: версия клиента и сервера должна совпадать до последней цифры. Сервер на 8.3.XX.YYYY не пустит клиента другой сборки. Поэтому обновление сервера — это всегда ещё и обновление всех рабочих мест, которые к нему подключаются.

Что проверить до начала обновления сервера 1С

Новая платформа — не всегда лучшая платформа для ваших баз. Сначала выясните, какая версия реально нужна.

✅ Требования конфигураций. В описании каждого релиза типовой конфигурации указана минимальная версия платформы. Если на сервере крутятся БП 3.0, ЗУП 3.1 и УТ 11, выбирайте версию, которая подходит всем трём одновременно.

✅ Доработки и внешние компоненты. Внешние обработки, расширения и компоненты сторонних разработчиков (торговое оборудование, обмены с сайтом) проверьте на тестовой копии. Чаще всего ломаются именно они, а не типовой код.

✅ СУБД. Новые версии платформы поддерживают определённые версии MS SQL Server и PostgreSQL. Для PostgreSQL нужна сборка с патчами для 1С, и её версия тоже должна входить в список поддерживаемых.

✅ Лицензии. Программные лицензии привязаны к оборудованию, а не к номеру платформы. Смена релиза их не сбрасывает, если вы не меняете железо или виртуальную машину.

✅ Тестовый стенд. Идеальный вариант — отдельный сервер или виртуалка с копией рабочей базы. Там вы прогоняете обновление, открываете базу, проводите пару документов, формируете отчёты.

Готовность к обновлению сервера 1С
Выполнено: 0 / 7

Остановка службы агента и резервная копия кластера

Параметры кластера хранятся не в базе данных, а в рабочем каталоге сервера. По умолчанию это C:\Program Files\1cv8\srvinfo на Windows. Внутри лежит каталог reg_1541, а в нём файл 1CV8Clst.lst — реестр кластера со списком баз, рабочих серверов, администраторов и настроек.

Порядок такой:

  1. Запишите текущие параметры службы. Откройте services.msc, найдите «Агент сервера 1С:Предприятия 8.3», откройте свойства и скопируйте строку «Исполняемый файл». В ней видны путь к старой версии, порты и путь к srvinfo.
  2. В консоли администрирования установите блокировку начала сеансов и регламентных заданий для каждой базы. Это делается в свойствах информационной базы: флажки «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена», плюс код разрешения для себя.
  3. Дождитесь, пока пользователи выйдут, или завершите оставшиеся сеансы из консоли.
  4. Остановите службу агента сервера.
  5. Скопируйте весь каталог srvinfo в надёжное место.
  6. Сделайте резервные копии баз средствами СУБД: BACKUP DATABASE в MS SQL или pg_dump в PostgreSQL.

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

Строка службы обычно выглядит так:

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

Здесь 1540 — порт агента, 1541 — порт главного менеджера кластера, 1560–1591 — диапазон рабочих процессов. Эти значения нужно сохранить при переходе на новую версию.

Установка новой платформы на сервер 1С

Windows

Дистрибутив называется «Технологическая платформа 1С:Предприятия (64-bit) для Windows». Запустите setup.exe и выберите компоненты:

  • 🖥 «Сервер 1С:Предприятия 8 (64-bit)»;
  • 🔧 «Администрирование сервера 1С:Предприятия» — для консоли кластера;
  • 🌐 «Модули расширения веб-сервера» — если базы опубликованы через IIS или Apache.

Установщик предложит поставить сервер как службу Windows. Здесь два варианта.

СпособКогда подходитРиски
Галочка «Установить как сервис» в установщикеСтандартные порты 1540/1541, один кластерУстановщик может пересоздать службу с параметрами по умолчанию и не тем пользователем
Без галочки, ручная правка службыНестандартные порты, свой путь к srvinfo, несколько кластеровОшибка в кавычках строки — служба не стартует

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

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" binPath= "\"C:\Program Files\1cv8\8.3.XX.YYYY\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\""

Имя службы проверьте в её свойствах — поле «Имя службы» может отличаться от примера. После binPath= обязателен пробел.

💡 Старую версию платформы не удаляйте сразу. Если что-то пойдёт не так, откат займёт пару минут: вернуть прежний путь в службе и запустить её.

Linux

С версии 8.3.21 платформа на Linux ставится в каталог с номером версии, например /opt/1cv8/x86_64/8.3.XX.YYYY/, и несколько версий уживаются рядом. Служба оформлена как шаблонный юнит systemd.

# остановить старую службу (имя юнита посмотрите в systemctl list-units | grep 1cv8)
sudo systemctl stop srv1cv8-8.3.OLD.VER@default
sudo systemctl disable srv1cv8-8.3.OLD.VER@default

# подключить юнит новой версии
sudo systemctl link /opt/1cv8/x86_64/8.3.XX.YYYY/srv1cv8-8.3.XX.YYYY@.service
sudo systemctl enable srv1cv8-8.3.XX.YYYY@default
sudo systemctl start srv1cv8-8.3.XX.YYYY@default

Каталог данных кластера на Linux по умолчанию находится в домашнем каталоге пользователя usr1cv8. Его тоже копируют перед обновлением.

Запуск кластера и обновление консоли администрирования

Запустите службу и убедитесь, что она осталась в состоянии «Выполняется» через минуту. Если она остановилась сразу после старта, загляните в журнал событий Windows — там будет причина.

Дальше обновите консоль. Оснастка «Администрирование серверов 1С Предприятия» работает через библиотеку radmin.dll, и её версия должна совпадать с версией сервера. Зарегистрируйте библиотеку новой версии от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.XX.YYYY\bin\radmin.dll"

Без этого шага консоль либо не подключится к кластеру, либо выдаст ошибку о несовпадении версий.

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

"C:\Program Files\1cv8\8.3.XX.YYYY\bin\rac.exe" cluster list

Команда вернёт идентификатор кластера, имя, хост и порт. Если она падает с ошибкой подключения, служба ras не запущена или смотрит на старую версию.

Что проверить в консоли после запуска:

  1. Кластер на месте, список информационных баз не пустой.
  2. Рабочий сервер и его рабочие процессы активны.
  3. Администраторы кластера сохранились — консоль спросит пароль, если он был задан.
  4. Снимите блокировку начала сеансов с одной тестовой базы и зайдите в неё.

Модуль веб-сервера

Тот, кто публикует базы через Apache или IIS, часто забывает этот шаг. В httpd.conf строка LoadModule _1cws_module указывает путь к wsap24.dll старой версии. В IIS обработчик ссылается на wsisapi.dll из каталога старой версии.

Варианты исправления:

  • 🔁 переопубликовать базы утилитой webinst новой версии или из Конфигуратора новой версии, запущенного от администратора;
  • ✏️ вручную заменить номер версии в пути к модулю и перезапустить веб-сервер .

Пока модуль старый, веб-клиент и HTTP-сервисы получат ту же ошибку несовпадения версий, что и толстый клиент.

Клиенты и обновление конфигурации информационных баз

Рабочие места

Каждый компьютер и терминальный сервер должен получить ту же сборку клиента. На десятке машин это делают вручную. На большем парке удобнее централизованная установка: дистрибутив клиента кладут в общую сетевую папку, а путь к ней прописывают в файле 1CEStart.cfg параметром DistributiveLocation. Тогда стартер 1С при запуске сам найдёт и поставит нужную версию — при наличии прав на установку.

На терминальном сервере закройте сеансы пользователей перед установкой клиента: иначе файлы заняты, и установщик попросит перезагрузку.

Конфигурации баз

Смена платформы и обновление конфигурации — разные операции. Платформу вы уже поменяли, а конфигурация осталась прежней. Если цель обновления — свежий релиз БП или ЗУП, его ставят после запуска сервера:

  1. Зайдите в базу в режиме Конфигуратора новой версии.
  2. Загрузите файл обновления .cfu через меню Конфигурация → Поддержка → Обновить конфигурацию.
  3. Примите изменения и выполните Конфигурация → Обновить конфигурацию базы данных.
  4. Запустите базу в режиме 1С:Предприятие и дождитесь окончания обработчиков обновления.

Обновление структуры базы данных требует монопольного доступа. Блокировка сеансов из предыдущих шагов как раз пригодится.

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

Ошибки после обновления сервера 1С и как их снять

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

Очистка каталогов snccntx* выполняется только при остановленной службе. Все сеансы к этому моменту уже будут прерваны. Делайте её в окно обслуживания, а не посреди рабочего дня.

Как откатиться

Если после обновления базы работают нестабильно, а времени на разбор нет, вернитесь на прежнюю версию:

  1. Остановите службу агента.
  2. Верните в binPath путь к ragent.exe старой версии.
  3. Перерегистрируйте radmin.dll старой версии.
  4. Запустите службу.

Откат проходит гладко, если вы не успели обновить конфигурацию до релиза, который требует новую платформу. Если успели — восстанавливайте базу из резервной копии СУБД, сделанной перед работами.

Несколько версий на одном сервере

Иногда обновлять все базы разом нельзя: одна старая доработанная конфигурация не работает на новой платформе. Тогда на одном физическом сервере запускают два агента разных версий на разных портах.

Например, старая версия остаётся на 1540/1541, а новая получает 2540/2541 и диапазон 2560:2591. Для второго агента нужна своя служба и свой каталог данных кластера. Базу в новом кластере регистрируют заново, указывая ту же базу данных в СУБД, а в старом кластере её снимают с регистрации без удаления данных.

В списке баз у пользователей адрес тогда пишут с портом: Srvr="server1c:2541";Ref="buh";.

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

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

Нужно ли переустанавливать сервер 1С, чтобы обновить его?
Нет. Новая версия ставится в отдельный каталог рядом со старой. Меняется только путь к исполняемому файлу службы, настройки кластера и базы сохраняются.
Сколько длится обновление сервера 1С?
Сама замена платформы и перезапуск службы — 15–30 минут. Основное время уходит на резервные копии баз и обновление клиентов на рабочих местах.
Слетят ли лицензии после обновления платформы?
Нет, если сервер остаётся на том же оборудовании. Программные лицензии привязаны к параметрам компьютера, а не к номеру версии платформы.
Можно ли обновлять сервер 1С, пока пользователи работают?
Нет. Остановка службы агента прерывает все сеансы. Работы планируют на нерабочее время с предварительной блокировкой входа.
Как часто обновлять платформу на сервере?
Когда этого требует новый релиз конфигурации или когда в новой версии исправлена ошибка, которая вам мешает. Гнаться за каждой сборкой не нужно: каждое обновление — это окно простоя и обновление всех клиентов.