Перевод кластера 1С:Предприятия на новый релиз платформы: порядок работ и разбор сбоев
Содержание
Сервер 1С обновляют в четыре хода: ставят новую версию платформы рядом со старой, останавливают службу агента сервера, переключают службу на ragent.exe из каталога новой версии и запускают её. Затем той же версией обновляют клиентов, консоль администрирования и модуль веб-сервера. Сами информационные базы при смене платформы не переустанавливаются: кластер, список баз и их данные остаются на месте.
Главное правило: версия клиента и сервера должна совпадать до последней цифры. Сервер на 8.3.XX.YYYY не пустит клиента другой сборки. Поэтому обновление сервера — это всегда ещё и обновление всех рабочих мест, которые к нему подключаются.
Что проверить до начала обновления сервера 1С
Новая платформа — не всегда лучшая платформа для ваших баз. Сначала выясните, какая версия реально нужна.
✅ Требования конфигураций. В описании каждого релиза типовой конфигурации указана минимальная версия платформы. Если на сервере крутятся БП 3.0, ЗУП 3.1 и УТ 11, выбирайте версию, которая подходит всем трём одновременно.
✅ Доработки и внешние компоненты. Внешние обработки, расширения и компоненты сторонних разработчиков (торговое оборудование, обмены с сайтом) проверьте на тестовой копии. Чаще всего ломаются именно они, а не типовой код.
✅ СУБД. Новые версии платформы поддерживают определённые версии MS SQL Server и PostgreSQL. Для PostgreSQL нужна сборка с патчами для 1С, и её версия тоже должна входить в список поддерживаемых.
✅ Лицензии. Программные лицензии привязаны к оборудованию, а не к номеру платформы. Смена релиза их не сбрасывает, если вы не меняете железо или виртуальную машину.
✅ Тестовый стенд. Идеальный вариант — отдельный сервер или виртуалка с копией рабочей базы. Там вы прогоняете обновление, открываете базу, проводите пару документов, формируете отчёты.
Остановка службы агента и резервная копия кластера
Параметры кластера хранятся не в базе данных, а в рабочем каталоге сервера. По умолчанию это C:\Program Files\1cv8\srvinfo на Windows. Внутри лежит каталог reg_1541, а в нём файл 1CV8Clst.lst — реестр кластера со списком баз, рабочих серверов, администраторов и настроек.
Порядок такой:
- Запишите текущие параметры службы. Откройте
services.msc, найдите «Агент сервера 1С:Предприятия 8.3», откройте свойства и скопируйте строку «Исполняемый файл». В ней видны путь к старой версии, порты и путь к srvinfo. - В консоли администрирования установите блокировку начала сеансов и регламентных заданий для каждой базы. Это делается в свойствах информационной базы: флажки «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена», плюс код разрешения для себя.
- Дождитесь, пока пользователи выйдут, или завершите оставшиеся сеансы из консоли.
- Остановите службу агента сервера.
- Скопируйте весь каталог srvinfo в надёжное место.
- Сделайте резервные копии баз средствами СУБД:
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 не запущена или смотрит на старую версию.
Что проверить в консоли после запуска:
- Кластер на месте, список информационных баз не пустой.
- Рабочий сервер и его рабочие процессы активны.
- Администраторы кластера сохранились — консоль спросит пароль, если он был задан.
- Снимите блокировку начала сеансов с одной тестовой базы и зайдите в неё.
Модуль веб-сервера
Тот, кто публикует базы через Apache или IIS, часто забывает этот шаг. В httpd.conf строка LoadModule _1cws_module указывает путь к wsap24.dll старой версии. В IIS обработчик ссылается на wsisapi.dll из каталога старой версии.
Варианты исправления:
- 🔁 переопубликовать базы утилитой
webinstновой версии или из Конфигуратора новой версии, запущенного от администратора; - ✏️ вручную заменить номер версии в пути к модулю и перезапустить веб-сервер .
Пока модуль старый, веб-клиент и HTTP-сервисы получат ту же ошибку несовпадения версий, что и толстый клиент.
Клиенты и обновление конфигурации информационных баз
Рабочие места
Каждый компьютер и терминальный сервер
должен получить ту же сборку клиента. На десятке машин это делают вручную. На большем парке удобнее централизованная установка: дистрибутив клиента кладут в общую сетевую папку, а путь к ней прописывают в файле 1CEStart.cfg параметром DistributiveLocation. Тогда стартер 1С при запуске сам найдёт и поставит нужную версию — при наличии прав на установку.
На терминальном сервере закройте сеансы пользователей перед установкой клиента: иначе файлы заняты, и установщик попросит перезагрузку.
Конфигурации баз
Смена платформы и обновление конфигурации — разные операции. Платформу вы уже поменяли, а конфигурация осталась прежней. Если цель обновления — свежий релиз БП или ЗУП, его ставят после запуска сервера:
- Зайдите в базу в режиме Конфигуратора новой версии.
- Загрузите файл обновления
.cfuчерез менюКонфигурация → Поддержка → Обновить конфигурацию. - Примите изменения и выполните
Конфигурация → Обновить конфигурацию базы данных. - Запустите базу в режиме 1С:Предприятие и дождитесь окончания обработчиков обновления.
Обновление структуры базы данных требует монопольного доступа. Блокировка сеансов из предыдущих шагов как раз пригодится.
💡 Режим совместимости конфигурации при смене платформы не меняется. База продолжает работать в том режиме, который задан в её свойствах. Повышает его сама типовая конфигурация при очередном обновлении, когда это нужно.
Ошибки после обновления сервера 1С и как их снять
Очистка каталогов snccntx* выполняется только при остановленной службе. Все сеансы к этому моменту уже будут прерваны. Делайте её в окно обслуживания, а не посреди рабочего дня.
Как откатиться
Если после обновления базы работают нестабильно, а времени на разбор нет, вернитесь на прежнюю версию:
- Остановите службу агента.
- Верните в
binPathпуть кragent.exeстарой версии. - Перерегистрируйте
radmin.dllстарой версии. - Запустите службу.
Откат проходит гладко, если вы не успели обновить конфигурацию до релиза, который требует новую платформу. Если успели — восстанавливайте базу из резервной копии СУБД, сделанной перед работами.
Несколько версий на одном сервере
Иногда обновлять все базы разом нельзя: одна старая доработанная конфигурация не работает на новой платформе. Тогда на одном физическом сервере запускают два агента разных версий на разных портах.
Например, старая версия остаётся на 1540/1541, а новая получает 2540/2541 и диапазон 2560:2591. Для второго агента нужна своя служба и свой каталог данных кластера. Базу в новом кластере регистрируют заново, указывая ту же базу данных в СУБД, а в старом кластере её снимают с регистрации без удаления данных.
В списке баз у пользователей адрес тогда пишут с портом: Srvr="server1c:2541";Ref="buh";.
Одна и та же база данных СУБД не должна быть одновременно зарегистрирована и открыта в двух кластерах. Это прямой путь к конфликтам блокировок.