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

· 9 мин

Содержание

Чтобы обновить версию 1С сервера, остановите службу агента сервера, сохраните каталог srvinfo, установите новый дистрибутив платформы с компонентом «Сервер 1С:Предприятия» и запустите службу уже из каталога новой версии. После этого перерегистрируйте radmin.dll для консоли и поставьте ту же версию платформы на все клиентские компьютеры: клиент и сервер должны совпадать до последней цифры.

Типичная ситуация: новый релиз Бухгалтерии требует платформу не ниже 8.3.24, а на сервере стоит 8.3.22. Обновить конфигурацию нельзя, пока не обновите сервер. Ниже порядок, при котором кластер, список баз и настройки рабочих серверов переезжают на новую версию целиком.

1. Подготовка: окно работ, копии баз и каталога кластера

Обновление платформы на сервере обрывает все сеансы. Планируйте его на вечер или выходные и предупредите пользователей заранее.

Что сделать до установки:

  • 📦 Скачайте дистрибутив нужной версии с портала обновлений 1С. Для Windows — «Технологическая платформа 1С:Предприятия (64-bit) для Windows», для Linux — полный дистрибутив для Linux x86-64 (DEB или RPM).
  • 📄 Прочитайте требования конфигураций. В описании каждого релиза БП, ЗУП, УТ указана минимальная версия платформы. Новая платформа должна подходить всем базам кластера.
  • 💾 Сделайте резервные копии баз средствами СУБД: pg_dump для PostgreSQL или задание резервного копирования в SQL Server. Выгрузка .dt тоже подойдёт, но на больших базах это долго.
  • 🗂️ Скопируйте каталог кластера srvinfo. В нём лежат реестр кластера, список информационных баз, настройки рабочих серверов и администраторы кластера.
  • 🔑 Запишите параметры службы: учётную запись (обычно USR1CV8), порты агента и менеджера (по умолчанию 1540 и 1541), диапазон рабочих процессов (по умолчанию 1560–1591).

Где обычно лежит srvinfo:

ОСПуть по умолчанию
WindowsC:\Program Files\1cv8\srvinfo
Linux/home/usr1cv8/.1cv8/1C/1cv8

Точный путь на вашем сервере виден в параметре -d командной строки службы агента.

Проверьте, не пересекается ли окно работ с регламентными заданиями: ночными обменами, загрузкой выписок, резервным копированием. Их лучше заблокировать на время работ (об этом в разделе 5).

2. Как обновить сервер 1С на Windows

На Windows разные версии платформы ставятся в отдельные каталоги вида C:\Program Files\1cv8\8.3.xx.yyyy. Старая версия не удаляется, и это удобно для отката.

Остановка службы

  1. Включите в консоли кластера блокировку начала сеансов для баз и дождитесь, пока пользователи выйдут.
  2. Откройте services.msc и найдите службу «Агент сервера 1С:Предприятия 8.3 (x86-64)».
  3. Остановите её. Все сеансы будут прерваны, несохранённые документы пользователей пропадут.

Установка новой версии

  1. Запустите setup.exe из дистрибутива от имени администратора.
  2. В списке компонентов отметьте «Сервер 1С:Предприятия 8», «Администрирование сервера 1С:Предприятия». Если на этом же компьютере стоит IIS или Apache с публикацией баз — также «Модули расширения веб-сервера».
  3. Оставьте флажок установки сервера как службы и укажите того же пользователя, под которым служба работала раньше.
  4. Дождитесь окончания установки. Если установщик предложит установить драйвер защиты, соглашайтесь только при работе с аппаратными ключами HASP.

Проверка пути службы

Откройте свойства службы агента и посмотрите поле «Исполняемый файл». Путь должен вести в каталог новой версии, например:

"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Если там по-прежнему старый номер, перерегистрируйте службу вручную. Командная строка от имени администратора:

rem удалить службу, зарегистрированную старой версией
"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -rmsrvc

rem зарегистрировать службу новой версии с прежними параметрами
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -instsrvc -usr .\USR1CV8 -pwd "пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Номера версий в примере замените на свои. Ключ -d должен указывать на тот же каталог srvinfo, что и раньше, иначе кластер стартует пустым.

Консоль и COM-соединение

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

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

Если внешние программы подключаются к базам через COM (сайт, обработки обмена, скрипты), так же перерегистрируйте comcntr.dll из каталога bin новой версии.

Запустите службу и откройте консоль. В дереве должны появиться прежний кластер и все базы.

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

В Linux порядок тот же: остановить, установить, переключить службу на новую версию. Отличаются команды и способ запуска.

Установка

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

chmod +x setup-full-8.3.25.1374-x86_64.run
sudo ./setup-full-8.3.25.1374-x86_64.run --mode unattended --enable-components server,ws

Набор компонентов и режимы установки показывает ключ --help. Если веб-публикации на этом сервере нет, компонент ws не нужен.

Переключение службы

Для каждой версии в её каталоге лежит шаблон юнита systemd. Остановите старую службу и подключите новую:

# старая версия
sudo systemctl stop srv1cv8-8.3.22.1709@default
sudo systemctl disable srv1cv8-8.3.22.1709@default

# новая версия
sudo systemctl link /opt/1cv8/x86_64/8.3.25.1374/srv1cv8-8.3.25.1374@.service
sudo systemctl enable srv1cv8-8.3.25.1374@default
sudo systemctl start srv1cv8-8.3.25.1374@default
sudo systemctl status srv1cv8-8.3.25.1374@default

Остановка службы обрывает все сеансы — делайте это только в согласованное окно.

Если сервер был установлен до 8.3.20 из отдельных пакетов 1c-enterprise83-*, служба называлась srv1cv83 и управлялась скриптом в /etc/init.d. В этом случае остановите её, отключите автозапуск и переходите на юнит новой версии, как показано выше.

Права и удалённое администрирование

  • 👤 Каталог кластера должен принадлежать пользователю usr1cv8. После ручного копирования srvinfo выполните sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8.
  • 🖥️ Если вы управляете кластером через ras и rac, запускайте ras тоже из каталога новой версии. Проверка: rac cluster list должен вернуть ваш кластер.

4. Кластер после обновления: версии, порты, параллельный запуск

Что переносится само

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

Несколько рабочих серверов

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

Две версии на одном сервере

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

ПараметрРабочий кластерТестовый кластер
Порт агента15402540
Порт менеджера15412541
Рабочие процессы1560–15912560–2591
Каталог кластераsrvinfosrvinfo_test

Подключение к тестовой базе тогда идёт с указанием порта: Srvr="server:2541";Ref="buh_test";.

Клиентские компьютеры

Клиент обязан иметь ровно ту же версию, что и сервер. Варианты доставки:

  • 💻 поставить платформу на каждый компьютер вручную или через групповые политики;
  • 📁 указать в 1CEStart.cfg параметр DistributiveLocation с сетевым каталогом дистрибутива — тогда запуск установит нужную версию;
  • 🌐 для терминального сервера — обновить платформу на нём одновременно с сервером 1С.

Если на компьютере установлено несколько версий, запускатель сам выберет нужную. В свойствах базы в списке баз можно жёстко задать версию в поле «Версия 1С:Предприятия», например 8.3.25.

5. Информационные базы и конфигурации на новой платформе

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

Блокировка на время работ

В консоли откройте свойства каждой базы и включите:

  • 🔒 «Блокировка начала сеансов включена» — с сообщением для пользователей и кодом разрешения для администратора;
  • ⏸️ «Блокировка регламентных заданий включена» — чтобы обмены и загрузки не стартовали посреди обновления.

Не забудьте снять обе блокировки в конце, иначе утром никто не войдёт, а ночные обмены перестанут работать.

Обновление конфигураций

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

  • типовые базы на поддержке — через Администрирование → Интернет-поддержка и сервисы → Обновление версии программы;
  • доработанные базы — в Конфигураторе через сравнение и объединение, с последующим обновлением конфигурации базы данных.

Перед обновлением конфигурации снова проверьте минимальную версию платформы в описании релиза. Если релиз требует 8.3.25, а вы поставили 8.3.24, обновление не начнётся.

Режим совместимости

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

6. Ошибки после обновления сервера и как их снять

Большинство проблем после смены версии сводится к тому, что какой-то компонент остался на старой версии.

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

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

Старая версия остаётся в своём каталоге, поэтому вернуться назад несложно:

  1. Остановите службу новой версии (сеансы оборвутся).
  2. На Windows перерегистрируйте службу через ragent.exe -instsrvc из каталога старой версии, на Linux включите и запустите юнит старой версии.
  3. Перерегистрируйте radmin.dll от старой версии.
  4. Если на новой платформе успели обновить конфигурации баз, восстановите базы из резервных копий, сделанных в разделе 1. Новый релиз конфигурации на старой платформе может не запуститься.

Удаляйте старую версию платформы через неделю-другую спокойной работы, не раньше.

7. Проверка после обновления

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

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

Отдельно проверьте всё, что зависит от пути к платформе: ярлыки с прописанным 1cv8.exe, планировщик заданий Windows с пакетными запусками, скрипты выгрузки. Они часто ссылаются на конкретный каталог старой версии.

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

Можно ли перескочить через несколько версий платформы, например с 8.3.18 сразу на 8.3.25?
Да. Платформу ставят сразу нужной версии, промежуточные устанавливать не нужно. Ограничения по промежуточным релизам касаются только конфигураций.
Нужна ли новая лицензия при обновлении сервера внутри 8.3?
Нет. Лицензия на сервер действует для всех версий 8.3. Повторная активация потребуется, только если одновременно менялось оборудование или переустанавливалась ОС.
Сколько длится обновление сервера?
Сама установка занимает 5–15 минут. Основное время уходит на резервные копии баз и проверку после запуска, поэтому закладывайте окно в 1–2 часа.
Можно ли обновить сервер, не трогая клиенты?
Нет. Клиент со старой версией не подключится к серверу с новой. Обновляйте клиенты и терминальные серверы одновременно с сервером 1С.
Обязательно ли ставить самую свежую версию платформы?
Нет. Достаточно версии, которая подходит всем конфигурациям в кластере. Многие администраторы ждут один-два исправительных выпуска, прежде чем ставить новую ветку на рабочий сервер.