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

· 10 мин

Содержание

Обновление платформы 1С на сервере сводится к пяти действиям: поставить новый релиз рядом со старым, остановить службу агента, перерегистрировать её на файлы новой версии с теми же портами и каталогом srvinfo, запустить и обновить клиентов до того же номера. Старая версия при этом остаётся на диске — откат занимает минуты.

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

Подготовка сервера 1С к обновлению платформы

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

Что выяснить до начала работ:

  • 📌 Текущий номер платформы. В консоли администрирования он виден в свойствах сервера, в Windows — в имени каталога внутри C:\Program Files\1cv8\.
  • 📌 Какие релизы конфигураций работают на сервере и поддерживают ли они целевую платформу.
  • 📌 Версию СУБД. У каждой платформы есть список поддерживаемых версий PostgreSQL и Microsoft SQL Server. Если ваша СУБД старая, это выяснится заранее, а не в понедельник утром.
  • 📌 Сколько рабочих мест и как на них ставится платформа: вручную, через групповые политики или автоматически из общего каталога.
  • 📌 Есть ли веб-публикации (тонкий клиент через браузер, HTTP-сервисы, мобильные приложения) и сервер хранилища crserver.

Резервные копии нужны трёх видов:

  1. Копии баз средствами СУБД (или выгрузка .dt для небольших баз).
  2. Копия каталога кластера srvinfo целиком — там реестр кластера 1CV8Clst.lst, список баз, параметры рабочих серверов.
  3. Снимок виртуальной машины, если сервер виртуальный. Это самый быстрый способ отката при любой неожиданности.

Копию srvinfo делайте при остановленной службе агента. Файлы реестра кластера на работающем сервере могут быть скопированы в несогласованном состоянии.

Окно для работ выбирайте вне рабочего времени. Сама замена на одном сервере занимает 15–30 минут, но закладывайте 2–3 часа на проверку и обновление клиентов.

Где взять дистрибутив и как проверить файлы

Дистрибутивы платформы выкладываются на портале обновлений 1С для пользователей с действующей подпиской ИТС. Для сервера на Windows нужен комплект технологической платформы 64-bit для Windows (полный дистрибутив с компонентами сервера), для Linux — комплект для Linux x86-64 нужной разрядности.

Берите ровно тот номер, который нужен конфигурации, например 8.3.24.1586, а не «последний из списка».

Как проверить, что архив не битый и подлинный:

  • 🔍 Архив распаковывается без ошибок — первая и самая частая проверка. Оборванная загрузка обычно падает уже здесь.
  • 🔍 На Windows у установщика есть цифровая подпись. Проверить её можно в свойствах файла, вкладка «Цифровые подписи», или в PowerShell:
Get-AuthenticodeSignature "D:\distr\8.3.24.1586\setup.exe" | Format-List Status, SignerCertificate

Status должен быть Valid.

  • 🔍 Если дистрибутив раскладывается на несколько серверов, посчитайте контрольную сумму один раз и сравните на каждой машине:
Get-FileHash "D:\distr\windows64full_8_3_24_1586.zip" -Algorithm SHA256

Никогда не берите дистрибутив платформы с файлообменников и форумов. Подменённый setup.exe на сервере 1С — это доступ ко всем базам компании.

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

Сначала посмотрите, как сейчас зарегистрирована служба. Имя службы на Windows обычно 1C:Enterprise 8.3 Server Agent (x86-64), но проверьте у себя в оснастке services.msc. Затем выведите её параметры:

sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

В строке BINARY_PATH_NAME будет полный путь к ragent.exe и параметры запуска: -regport, -port, -range, -d. Сохраните эту строку в текстовый файл. Она понадобится один в один, кроме номера версии в пути.

Порядок остановки:

  1. За 10–15 минут предупредите пользователей.
  2. В консоли администрирования кластера включите для каждой базы блокировку начала сеансов (в свойствах информационной базы) — так никто не войдёт заново, пока вы работаете.
  3. Завершите оставшиеся сеансы в узле Сеансы или дождитесь, пока пользователи выйдут сами.
  4. Остановите регламентные задания, если они идут прямо сейчас (обмены, загрузка банка).
  5. Остановите службу агента: net stop с именем службы или через services.msc.

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

Когда служба остановлена, скопируйте каталог srvinfo. Очищать в нём ничего не нужно — при штатном обновлении кластер подхватывается новой версией как есть.

Установка нового релиза платформы на сервер

Новая версия ставится в отдельный каталог, например C:\Program Files\1cv8\8.3.24.1586\. Старую не удаляйте, пока не убедитесь, что всё работает.

Windows

  1. Запустите setup.exe от имени администратора.
  2. Выберите компоненты: «Сервер 1С:Предприятия 8», «Модули расширения веб-сервера» (если есть публикации), «Администрирование сервера 1С:Предприятия». Клиентские компоненты на сервере нужны только тем, кто работает на нём в Конфигураторе.
  3. На шаге про службу у вас два пути — они сведены в таблицу ниже.
  4. Драйвер защиты HASP ставьте только если лицензии на ключах. Программные лицензии хранятся отдельно от каталога платформы и обновление их не затрагивает.
СпособКакКогда подходитРиск
Флажок установщикаОтметить «Установить сервер как службу Windows», указать пользователяСтандартные порты 1540/1541, каталог srvinfo по умолчаниюУстановщик может зарегистрировать службу с параметрами по умолчанию, а не вашими
Перерегистрация вручнуюУстановить без службы, затем перерегистрировать ragent.exeНестандартные порты, несколько кластеров, свой путь к srvinfoОшибка в строке параметров — служба не стартует (но это сразу видно)

Ручная перерегистрация. Из каталога bin старой версии удалите службу, из каталога bin новой — зарегистрируйте с теми же параметрами, что сохранили из sc qc:

"C:\Program Files\1cv8\8.3.22.1923\bin\ragent.exe" -rmsrvc

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -instsrvc -usr .\USR1CV8 -pwd ПарольСлужбы -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -start

Номера версий, учётная запись, порты и путь к srvinfo — подставьте свои. Альтернатива без удаления службы: поправить номер версии в параметре ImagePath раздела реестра HKLM\SYSTEM\CurrentControlSet\Services\<имя службы>. Перед правкой реестра экспортируйте этот раздел.

После запуска проверьте в sc qc, что путь к ragent.exe указывает на новый каталог.

Консоль администрирования

Оснастка MMC работает через библиотеку radmin.dll той версии, которая была зарегистрирована последней. Если консоль не подключается к обновлённому серверу или показывает старую версию, перерегистрируйте библиотеку новой версии:

regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"

Если вы управляете кластером через rac, служба сервера администрирования ras тоже должна быть перерегистрирована на новую версию — по той же логике, что и агент.

Linux

На Linux начиная с релизов 8.3.20 платформа ставится единым установщиком setup-full-<версия>-x86_64.run с выбором компонентов. Каталог новой версии тоже отдельный, по умолчанию в /opt/1cv8/x86_64/<версия>/. Имя службы сервера включает номер версии, поэтому найти старую и новую удобно так:

systemctl list-unit-files | grep -i 1c

Остановите и отключите службу старой версии, включите и запустите новую. Параметр каталога кластера (-d) должен указывать на тот же каталог, что и раньше, иначе новый сервер стартует с пустым кластером без баз.

Общий каталог дистрибутивов и версии на клиентах

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

Самый удобный способ — автоматическое обновление клиентов из общего каталога:

  1. Создайте сетевую папку, доступную пользователям на чтение, например \\fileserver\1cdistr\.
  2. Положите туда распакованный дистрибутив клиента в подкаталог с номером версии.
  3. В файле 1CEStart.cfg на рабочих местах (в профиле всех пользователей или пользователя) пропишите путь к этой папке параметром DistributiveLocation.
  4. При следующем запуске стартер 1С увидит, что сервер требует новую версию, и предложит установить её из каталога. Пользователю нужны права на установку программ, иначе раскатывайте через групповые политики или систему управления ПО.

Держите в общем каталоге и предыдущую версию тоже. Если придётся откатывать сервер, клиенты вернутся на неё тем же путём.

Если у вас есть сервер хранилища конфигурации crserver, его версия тоже должна совпадать с версией платформы, из которой разработчики подключаются к хранилищу. Обновляйте его в то же окно. При первом подключении новой версией хранилище может предложить сконвертироваться в новый формат — после этого старые версии платформы с ним работать не будут, поэтому решение о конвертации принимайте осознанно.

Для веб-публикаций замените путь к модулю расширения веб-сервера. В Apache это строка LoadModule с путём к wsap24.dll (или wsap24.so на Linux) в каталоге старой версии; в IIS — обработчик в настройках сайта. Можно поправить путь вручную или заново опубликовать базу утилитой webinst из каталога новой версии. После этого перезапустите веб-сервер.

Проверка конфигураций после смены платформы

Платформа обновлена, но работа ещё не закончена. Пройдите по базам:

  1. Зайдите в каждую базу тонким клиентом. Убедитесь, что вход работает без ошибок и в окне «О программе» отображается новый номер платформы.
  2. Снимите блокировку начала сеансов.
  3. Проверьте, что регламентные задания стартуют: в консоли кластера в списке сеансов появляются фоновые задания, а в базе нет ошибок регламентных заданий.
  4. Запустите типичные операции: провести пару документов, сформировать отчёт, выполнить обмен, отправить отчётность.
  5. Если обновление платформы было ради нового релиза конфигурации — теперь можно обновлять конфигурацию. Это отдельная процедура со своей копией базы и монопольным доступом на время обновления структуры.

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

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

Проверка после обновления платформы
Выполнено: 0 / 8

Типовые сбои после обновления сервера и что с ними делать

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

Если не помогло: откат на прежнюю версию

Откат — это обратная перерегистрация службы:

  1. Предупредите пользователей и остановите службу новой версии.
  2. Удалите службу командой ragent.exe -rmsrvc из каталога новой версии.
  3. Зарегистрируйте службу из каталога старой версии со старыми параметрами и запустите.
  4. Если кластер успел измениться (добавили базы, меняли настройки), верните копию srvinfo.
  5. Верните клиентов и веб-сервер на старый номер.

Если обновляли и конфигурацию — откатывать нужно ещё и базы из резервной копии. Новый релиз конфигурации на старой платформе обычно не запускается.

Частые вопросы об обновлении платформы на сервере

Можно ли держать на одном сервере две версии платформы одновременно?
Да. Каждая версия ставится в свой каталог. Но одна служба агента с портами 1540/1541 работает только из одной версии. Для второй нужен отдельный кластер с другими портами и своим каталогом srvinfo.
Нужно ли переустанавливать лицензии после обновления платформы?
Нет. Программные лицензии хранятся отдельно и привязаны к параметрам компьютера, а не к номеру платформы. Перепроверить их нужно, только если вместе с обновлением меняли оборудование или виртуальную машину.
Обязательно ли обновлять платформу при каждом обновлении конфигурации?
Нет. Только когда новый релиз конфигурации требует номер платформы выше установленного. Это указано в описании релиза конфигурации.
Можно ли перейти сразу через несколько версий, например с 8.3.18 на 8.3.24?
Да, промежуточные версии платформы ставить не нужно. Но чем больше разрыв, тем важнее проверить совместимость конфигураций, внешних обработок и версии СУБД с целевым релизом.
Когда удалять старую версию платформы?
Через одну-две недели стабильной работы. До этого она нужна для быстрого отката. Удаляйте через «Программы и компоненты», убедившись, что служба и веб-сервер на неё не ссылаются.