Как перевести сервер 1С:Предприятия 8.3 на новый релиз платформы и не потерять кластер
Содержание
Обновление платформы
1С на сервере сводится к пяти действиям: поставить новый релиз рядом со старым, остановить службу агента, перерегистрировать её на файлы новой версии с теми же портами и каталогом srvinfo, запустить и обновить клиентов до того же номера. Старая версия при этом остаётся на диске — откат занимает минуты.
Главная сложность не в установщике. Сервер и клиенты в клиент-серверном режиме должны работать на одинаковом номере платформы, все четыре группы цифр. Поэтому обновление сервера — это всегда обновление всего контура: сервера, рабочих мест, веб-сервера и, если есть, сервера хранилища конфигурации.
Подготовка сервера 1С к обновлению платформы
Начните с вопроса «зачем». Обычно платформу меняют, потому что новый релиз конфигурации требует номер платформы не ниже определённого. Это требование написано в описании релиза конфигурации. Ставить самую свежую платформу «на всякий случай» не нужно: свежие сборки иногда несовместимы со старыми релизами типовых конфигураций.
Что выяснить до начала работ:
- 📌 Текущий номер платформы. В консоли администрирования он виден в свойствах сервера, в Windows — в имени каталога внутри
C:\Program Files\1cv8\. - 📌 Какие релизы конфигураций работают на сервере и поддерживают ли они целевую платформу.
- 📌 Версию СУБД. У каждой платформы есть список поддерживаемых версий PostgreSQL и Microsoft SQL Server. Если ваша СУБД старая, это выяснится заранее, а не в понедельник утром.
- 📌 Сколько рабочих мест и как на них ставится платформа: вручную, через групповые политики или автоматически из общего каталога.
- 📌 Есть ли веб-публикации (тонкий клиент через браузер, HTTP-сервисы, мобильные приложения) и сервер хранилища
crserver.
Резервные копии нужны трёх видов:
- Копии баз средствами СУБД (или выгрузка
.dtдля небольших баз). - Копия каталога кластера
srvinfoцеликом — там реестр кластера1CV8Clst.lst, список баз, параметры рабочих серверов. - Снимок виртуальной машины, если сервер виртуальный. Это самый быстрый способ отката при любой неожиданности.
Копию 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. Сохраните эту строку в текстовый файл. Она понадобится один в один, кроме номера версии в пути.
Порядок остановки:
- За 10–15 минут предупредите пользователей.
- В консоли администрирования кластера включите для каждой базы блокировку начала сеансов (в свойствах информационной базы) — так никто не войдёт заново, пока вы работаете.
- Завершите оставшиеся сеансы в узле
Сеансыили дождитесь, пока пользователи выйдут сами. - Остановите регламентные задания, если они идут прямо сейчас (обмены, загрузка банка).
- Остановите службу агента:
net stopс именем службы или черезservices.msc.
Остановка службы обрывает все сеансы на сервере, в том числе фоновые задания. Несохранённые документы пользователей пропадут. Делайте это только после предупреждения и блокировки входа.
Когда служба остановлена, скопируйте каталог srvinfo. Очищать в нём ничего не нужно — при штатном обновлении кластер подхватывается новой версией как есть.
Установка нового релиза платформы на сервер
Новая версия ставится в отдельный каталог, например C:\Program Files\1cv8\8.3.24.1586\. Старую не удаляйте, пока не убедитесь, что всё работает.
Windows
- Запустите
setup.exeот имени администратора. - Выберите компоненты: «Сервер 1С:Предприятия 8», «Модули расширения веб-сервера» (если есть публикации), «Администрирование сервера 1С:Предприятия». Клиентские компоненты на сервере нужны только тем, кто работает на нём в Конфигураторе.
- На шаге про службу у вас два пути — они сведены в таблицу ниже.
- Драйвер защиты 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) должен указывать на тот же каталог, что и раньше, иначе новый сервер стартует с пустым кластером без баз.
Общий каталог дистрибутивов и версии на клиентах
Сервер обновлён — теперь клиенты. Пользователь со старой платформой при входе в базу получит сообщение о том, что версия клиента не соответствует версии сервера.
Самый удобный способ — автоматическое обновление клиентов из общего каталога:
- Создайте сетевую папку, доступную пользователям на чтение, например
\\fileserver\1cdistr\. - Положите туда распакованный дистрибутив клиента в подкаталог с номером версии.
- В файле
1CEStart.cfgна рабочих местах (в профиле всех пользователей или пользователя) пропишите путь к этой папке параметромDistributiveLocation. - При следующем запуске стартер 1С увидит, что сервер требует новую версию, и предложит установить её из каталога. Пользователю нужны права на установку программ, иначе раскатывайте через групповые политики или систему управления ПО.
Держите в общем каталоге и предыдущую версию тоже. Если придётся откатывать сервер, клиенты вернутся на неё тем же путём.
Если у вас есть сервер хранилища конфигурации crserver, его версия тоже должна совпадать с версией платформы, из которой разработчики подключаются к хранилищу. Обновляйте его в то же окно. При первом подключении новой версией хранилище может предложить сконвертироваться в новый формат — после этого старые версии платформы с ним работать не будут, поэтому решение о конвертации принимайте осознанно.
Для веб-публикаций замените путь к модулю расширения веб-сервера. В Apache это строка LoadModule с путём к wsap24.dll (или wsap24.so на Linux) в каталоге старой версии; в IIS — обработчик в настройках сайта. Можно поправить путь вручную или заново опубликовать базу утилитой webinst из каталога новой версии. После этого перезапустите веб-сервер.
Проверка конфигураций после смены платформы
Платформа обновлена, но работа ещё не закончена. Пройдите по базам:
- Зайдите в каждую базу тонким клиентом. Убедитесь, что вход работает без ошибок и в окне «О программе» отображается новый номер платформы.
- Снимите блокировку начала сеансов.
- Проверьте, что регламентные задания стартуют: в консоли кластера в списке сеансов появляются фоновые задания, а в базе нет ошибок регламентных заданий.
- Запустите типичные операции: провести пару документов, сформировать отчёт, выполнить обмен, отправить отчётность.
- Если обновление платформы было ради нового релиза конфигурации — теперь можно обновлять конфигурацию. Это отдельная процедура со своей копией базы и монопольным доступом на время обновления структуры.
Расширения конфигурации и внешние обработки иногда ведут себя иначе на новой платформе: изменилось поведение метода или формы. Проверьте самые нужные бухгалтерии и складу обработки до того, как пользователи начнут работу.
Отдельно посмотрите журнал регистрации кластера и технологический журнал, если он включён. Первые часы после обновления там видны ошибки, которые пользователи ещё не успели заметить.
Типовые сбои после обновления сервера и что с ними делать
Если не помогло: откат на прежнюю версию
Откат — это обратная перерегистрация службы:
- Предупредите пользователей и остановите службу новой версии.
- Удалите службу командой
ragent.exe -rmsrvcиз каталога новой версии. - Зарегистрируйте службу из каталога старой версии со старыми параметрами и запустите.
- Если кластер успел измениться (добавили базы, меняли настройки), верните копию
srvinfo. - Верните клиентов и веб-сервер на старый номер.
Если обновляли и конфигурацию — откатывать нужно ещё и базы из резервной копии. Новый релиз конфигурации на старой платформе обычно не запускается.