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

· 9 мин

Содержание

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

Частое заблуждение — «запущу установщик поверх, он сам всё заменит». Установщик 1С не заменяет старую версию, а кладёт новую в отдельную папку вида C:\Program Files\1cv8\8.3.xx.yyyy. Если не проверить, на какой ragent.exe смотрит служба, после установки сервер продолжит работать на старой сборке, а клиенты с новой получат ошибку о разных версиях.

Порядок ниже рассчитан на типичный сервер: Windows Server 2016 или новее, СУБД MS SQL или PostgreSQL, одна служба агента. Отдельный раздел — для Linux.

1. Подготовка к обновлению сервера 1С: что проверить и сохранить

Начните с инвентаризации. Пять минут здесь избавляют от ночного поиска «что было до».

📌 Что записать до начала работ:

  • 🔢 текущий номер сборки платформы на сервере и на клиентах;
  • ⚙️ строку запуска службы агента — с портами, каталогом кластера и флагом -debug, если он был;
  • 👤 учётную запись, под которой работает служба (обычно USR1CV8);
  • 🗄 список информационных баз кластера и их СУБД;
  • 🔑 тип лицензий: программные или аппаратный ключ HASP.

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

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

В поле BINARY_PATH_NAME вы увидите путь к ragent.exe и параметры: -port 1540, -regport 1541, -range 1560:1591, -d с каталогом кластера. Сохраните эту строку в текстовый файл.

Совместимость версий

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

Для PostgreSQL отдельно проверьте, поддерживает ли новая сборка платформы вашу версию СУБД. Эти данные есть в описании выпуска платформы.

Резервные копии

Перед обновлением сделайте резервную копию каждой базы средствами СУБД и скопируйте каталог кластера.

Каталог кластера — это папка из параметра -d (часто C:\Program Files\1cv8\srvinfo). В ней лежит реестр кластера 1CV8Clst.lst: список баз, администраторы, рабочие серверы, требования назначения функциональности. Если реестр повредится, без копии всё придётся настраивать заново.

Копию программных лицензий снимите из C:\ProgramData\1C\licenses. Сама по себе смена платформы лицензию не сбрасывает, но копия не помешает.

2. Загрузка дистрибутива платформы и проверка файлов

Дистрибутив берут на портале обновлений 1С по договору ИТС. Для сервера нужен полный дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Windows» или соответствующий пакет для Linux. Клиентский дистрибутив серверных компонентов не содержит.

🔍 Как убедиться, что файл целый:

  1. Размер скачанного архива совпадает с размером на странице загрузки.
  2. Архив распаковывается без ошибок в отдельную папку.
  3. В свойствах setup.exe на вкладке «Цифровые подписи» видна действительная подпись разработчика.
  4. Разрядность совпадает с текущей установкой: 64-разрядный сервер обновляют 64-разрядным дистрибутивом.

💡 Положите распакованный дистрибутив в общую сетевую папку. Он понадобится и на сервере, и для обновления клиентов.

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

Выберите окно, когда в базах никто не работает . Сеансы пользователей при остановке службы оборвутся, а несохранённые данные в открытых формах пропадут.

Шаг 1. Заблокируйте вход и завершите сеансы

В консоли кластера откройте свойства каждой базы и включите блокировку начала сеансов с сообщением для пользователей. Затем завершите оставшиеся сеансы и фоновые задания. Регламентные задания на время работ лучше заблокировать там же.

Шаг 2. Остановите службу агента

net stop "1C:Enterprise 8.3 Server Agent (x86-64)"

Убедитесь, что процессы ragent.exe, rmngr.exe и rphost.exe исчезли из диспетчера задач. Если какой-то висит дольше пары минут — завершите его вручную.

Шаг 3. Запустите установщик

  1. Запустите setup.exe от имени администратора.
  2. В списке компонентов отметьте «Сервер 1С:Предприятия 8», «Модули расширения веб-сервера» (если есть публикации) и «Администрирование сервера 1С:Предприятия».
  3. На шаге установки сервера отметьте «Установить 1С:Предприятие 8 как сервис» и укажите ту же учётную запись, что была у старой службы.
  4. Драйвер защиты ставьте, только если используете аппаратный ключ.

Установщик создаст новую папку версии. Старая останется на месте — не удаляйте её.

Шаг 4. Проверьте, на какую версию смотрит служба

Снова выполните sc qc. Если путь в BINARY_PATH_NAME всё ещё ведёт в старую папку, поправьте его вручную. Самый безопасный способ — изменить только номер версии в пути, сохранив все параметры:

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

Подставьте свои номер сборки, порты и каталог из записанной строки. Пробел после binPath= обязателен — это требование синтаксиса sc.

Шаг 5. Обновите консоль администрирования

Консоль работает через библиотеку radmin.dll. После установки её нужно зарегистрировать от новой версии, иначе оснастка не откроется:

regsvr32 "C:\Program Files\1cv8\8.3.xx.yyyy\bin\radmin.dll"

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

Перед запуском службы
Выполнено: 0 / 5

4. Обновление сервера 1С на Linux

Начиная с версии 8.3.20 для Linux есть единый установщик setup-full-8.3.xx.yyyy-x86_64.run. Новая версия тоже ставится в свой каталог /opt/1cv8/x86_64/8.3.xx.yyyy/, старая остаётся.

  1. Остановите старую службу. Сеансы пользователей при этом оборвутся:
sudo systemctl stop srv1cv8-8.3.aa.bbbb@default
sudo systemctl disable srv1cv8-8.3.aa.bbbb@default
  1. Установите новую сборку с серверными компонентами:
sudo ./setup-full-8.3.xx.yyyy-x86_64.run --mode unattended --enable-components server,ws
  1. Подключите и запустите юнит новой версии:
sudo systemctl link /opt/1cv8/x86_64/8.3.xx.yyyy/srv1cv8-8.3.xx.yyyy@.service
sudo systemctl enable --now srv1cv8-8.3.xx.yyyy@default

Если у старой службы были нестандартные порты или каталог кластера, перенесите их в настройки нового экземпляра. Для старых сборок, которые ставились из deb- или rpm-пакетов и запускались скриптом /etc/init.d/srv1cv83, порядок другой: удаление пакетов старой версии и установка новых.

5. Агент сервера и кластер после смены версии

Запустите службу:

net start "1C:Enterprise 8.3 Server Agent (x86-64)"

Откройте консоль кластера и пройдите по пунктам:

  • 🖥 кластер виден, в списке баз все прежние базы;
  • 👥 администраторы кластера на месте — вход по старому паролю работает;
  • ⚙️ в свойствах рабочего сервера сохранены диапазон портов рабочих процессов и параметры отказоустойчивости;
  • 📋 требования назначения функциональности не сбросились;
  • 🧩 рабочие процессы запустились и в их свойствах указан новый номер версии.

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

Если служба стартует, но рабочие процессы сразу падают, проверьте права учётной записи службы. Ей нужно чтение и выполнение в новой папке версии и полный доступ к каталогу кластера.

6. Обновление клиентов и информационных баз

Клиент и сервер 1С должны быть одной сборки — до последней цифры. Поэтому сразу после сервера обновляют все рабочие места и терминальные серверы.

Как раздать новую версию клиентам

СпособКогда подходитНа что смотреть
Ручная установка1-5 рабочих местДолго, легко забыть один компьютер
Сетевой каталог дистрибутиваОфис на 10-100 местУ пользователей нужны права на установку
Групповые политики, SCCMДомен, много машинНужна подготовка пакета заранее
Только терминальный серверВсе работают через RDPОбновляете один сервер вместо десятков ПК

Для способа с сетевым каталогом в файле 1cestart.cfg указывают параметр DistributiveLocation с путём к общей папке дистрибутива. Стартер при запуске найдёт нужную версию и предложит установить её.

Нужно ли обновлять сами базы

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

После первого запуска каждой базы проверьте две вещи:

  1. Открывается ли база в режиме Конфигуратора без сообщений о несовместимости.
  2. Запускаются ли регламентные задания — после снятия блокировки, в журнале регистрации.

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

7. Ошибки после обновления сервера и что с ними делать

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

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

8. Финальная проверка и ввод сервера в работу

Перед тем как снять блокировку сеансов, пройдите короткий тест:

  1. ✅ Войдите в каждую базу тонким клиентом с рабочего места пользователя, не с сервера.
  2. ✅ Проведите один тестовый документ в копии или в учебной базе на этом же кластере.
  3. ✅ Проверьте веб-публикации и HTTP-сервисы, если они есть: модуль веб-сервера тоже должен быть новой сборки.
  4. ✅ Убедитесь, что запускаются регламентные задания и обмены.
  5. ✅ Снимите блокировку начала сеансов и последите за консолью первые полчаса.

План отката

Откат простой, пока старая версия не удалена:

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

Старую сборку удаляют через «Программы и компоненты» спустя 1-2 недели стабильной работы. Держать на сервере 2-3 последние версии — нормальная практика, места они занимают немного.

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

Можно ли обновить сервер 1С без остановки работы пользователей?
Нет. Служба агента перезапускается, и все сеансы обрываются. Окно в 30-60 минут в нерабочее время обычно хватает на один сервер.
Нужна ли новая лицензия при обновлении платформы?
Нет. Лицензия привязана к оборудованию и типу платформы, а не к номеру сборки. Перевыдача может понадобиться, только если одновременно менялось железо сервера.
Можно ли держать на одном сервере две службы разных версий?
Да, если у них разные порты и разные каталоги кластера. Так тестируют новую сборку на копиях баз до основного переезда.
Как часто обновлять платформу на сервере?
Ориентируйтесь на требования конфигураций: когда новый релиз БП или ЗУП требует сборку выше текущей. Ставить каждую вышедшую сборку без нужды смысла нет.
Нужно ли обновлять СУБД вместе с платформой?
Нет, это отдельные работы. Совмещать их в одно окно не стоит: при сбое трудно понять, что стало причиной.