Перевод кластера 1С:Предприятия на новую сборку платформы с планом отката
Содержание
Чтобы обновить сервер 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. Клиентский дистрибутив серверных компонентов не содержит.
🔍 Как убедиться, что файл целый:
- Размер скачанного архива совпадает с размером на странице загрузки.
- Архив распаковывается без ошибок в отдельную папку.
- В свойствах
setup.exeна вкладке «Цифровые подписи» видна действительная подпись разработчика. - Разрядность совпадает с текущей установкой: 64-разрядный сервер обновляют 64-разрядным дистрибутивом.
💡 Положите распакованный дистрибутив в общую сетевую папку. Он понадобится и на сервере, и для обновления клиентов.
3. Установка новой версии платформы на сервер 1С
Выберите окно, когда в базах никто не работает . Сеансы пользователей при остановке службы оборвутся, а несохранённые данные в открытых формах пропадут.
Шаг 1. Заблокируйте вход и завершите сеансы
В консоли кластера откройте свойства каждой базы и включите блокировку начала сеансов с сообщением для пользователей. Затем завершите оставшиеся сеансы и фоновые задания. Регламентные задания на время работ лучше заблокировать там же.
Шаг 2. Остановите службу агента
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
Убедитесь, что процессы ragent.exe, rmngr.exe и rphost.exe исчезли из диспетчера задач. Если какой-то висит дольше пары минут — завершите его вручную.
Шаг 3. Запустите установщик
- Запустите
setup.exeот имени администратора. - В списке компонентов отметьте «Сервер 1С:Предприятия 8», «Модули расширения веб-сервера» (если есть публикации) и «Администрирование сервера 1С:Предприятия».
- На шаге установки сервера отметьте «Установить 1С:Предприятие 8 как сервис» и укажите ту же учётную запись, что была у старой службы.
- Драйвер защиты ставьте, только если используете аппаратный ключ.
Установщик создаст новую папку версии. Старая останется на месте — не удаляйте её.
Шаг 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: она тоже привязана к конкретной сборке.
4. Обновление сервера 1С на Linux
Начиная с версии 8.3.20 для Linux есть единый установщик setup-full-8.3.xx.yyyy-x86_64.run. Новая версия тоже ставится в свой каталог /opt/1cv8/x86_64/8.3.xx.yyyy/, старая остаётся.
- Остановите старую службу. Сеансы пользователей при этом оборвутся:
sudo systemctl stop srv1cv8-8.3.aa.bbbb@default
sudo systemctl disable srv1cv8-8.3.aa.bbbb@default
- Установите новую сборку с серверными компонентами:
sudo ./setup-full-8.3.xx.yyyy-x86_64.run --mode unattended --enable-components server,ws
- Подключите и запустите юнит новой версии:
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 с путём к общей папке дистрибутива. Стартер при запуске найдёт нужную версию и предложит установить её.
Нужно ли обновлять сами базы
Смена платформы данные не конвертирует: серверные базы открываются на новой сборке без отдельной процедуры. Обновление конфигурации — отдельная задача, её делают позже, по своему регламенту.
После первого запуска каждой базы проверьте две вещи:
- Открывается ли база в режиме Конфигуратора без сообщений о несовместимости.
- Запускаются ли регламентные задания — после снятия блокировки, в журнале регистрации.
Если описание релиза платформы требует сменить режим совместимости конфигурации, это делается в свойствах корня конфигурации и последующим обновлением конфигурации базы данных. Для типовых конфигураций режим меняют не вручную, а вместе с обновлением конфигурации, где он уже выставлен разработчиком.
7. Ошибки после обновления сервера и что с ними делать
Если ошибка не из списка, первое место для поиска — технологический журнал и системный журнал Windows. Служба 1С пишет туда причину отказа при старте.
8. Финальная проверка и ввод сервера в работу
Перед тем как снять блокировку сеансов, пройдите короткий тест:
- ✅ Войдите в каждую базу тонким клиентом с рабочего места пользователя, не с сервера.
- ✅ Проведите один тестовый документ в копии или в учебной базе на этом же кластере.
- ✅ Проверьте веб-публикации и HTTP-сервисы, если они есть: модуль веб-сервера тоже должен быть новой сборки.
- ✅ Убедитесь, что запускаются регламентные задания и обмены.
- ✅ Снимите блокировку начала сеансов и последите за консолью первые полчаса.
План отката
Откат простой, пока старая версия не удалена:
- Остановите службу агента.
- Верните в
binPathпуть к старой папке версии. - Зарегистрируйте
radmin.dllот старой версии. - Запустите службу и откатите клиентов.
Старую сборку удаляют через «Программы и компоненты» спустя 1-2 недели стабильной работы. Держать на сервере 2-3 последние версии — нормальная практика, места они занимают немного.