Обновление платформы и конфигурации 1С на серверной базе без простоя и потери данных

· 10 мин

Содержание

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

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

Что готовить до начала обновления

Главное правило: ничего не трогаем, пока нет рабочей копии базы и списка того, что стоит на сервере.

Что выяснить заранее

  • 📌 Версия платформы сейчас и версия, на которую идёте. Скачивайте дистрибутив той же разрядности, что стоит на сервере.
  • 📌 Совпадает ли новая платформа с версией, которую требует ваша конфигурация. Минимальная версия указана в описании релиза конфигурации.
  • 📌 Где лежит база: файловая, SQL-сервер (MS SQL, PostgreSQL) или кластер. Для этой инструкции нужна клиент-серверная.
  • 📌 Есть ли внешние компоненты, обработки и обмены, которые могут перестать работать на новой платформе.
  • 📌 Сколько пользователей работает и когда можно остановить базу. Реальное окно — от 30 минут до пары часов в зависимости от размера базы.

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

Копий нужно две, и обе до первого действия:

  1. Выгрузка информационной базы в .dt (Конфигуратор → Администрирование → Выгрузить информационную базу).
  2. Бэкап базы средствами СУБД: полный бэкап в MS SQL или pg_dump в PostgreSQL.

Выгрузка в .dt не заменяет бэкап СУБД. Если файл выгрузки окажется битым, восстановиться будет не из чего. Проверяйте, что копия открывается: разверните её в тестовую базу.

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

Перед обновлением
Выполнено: 0 / 6

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

Серверная часть на Windows ставится из того же установщика, что и клиентская, только с отмеченным компонентом сервера. Отдельного «патча» нет — новая версия ставится рядом со старой.

Шаги

  1. Выгоните пользователей: в консоли администрирования серверов 1С откройте кластер, раздел «Сеансы», завершите сеансы. Затем отключите регламентные задания, чтобы они не стартовали посреди работы.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3». Через services.msc или командой:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"

Точное имя службы смотрите в списке служб на своём сервере: оно зависит от версии и разрядности.

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

Старая версия платформы остаётся на диске. Это страховка: вернуться можно, переключив службу на прежний каталог bin. Удалять предыдущую версию стоит только через неделю-две спокойной работы.

Что происходит с кластером

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

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

На Linux всё то же самое, но руками и без мастера. Пакеты ставятся из дистрибутива для вашей системы: .deb для Debian/Ubuntu или .rpm для Red Hat-семейства.

Порядок

  1. Остановите службу:
sudo systemctl stop srv1cv83
  1. Установите пакеты нужной версии. Минимум — общий пакет и серверный, плюс сервер-ресурсы и клиент, если они нужны:
sudo dpkg -i 1c-enterprise83-common_*.deb 1c-enterprise83-server_*.deb
  1. Платформа ложится в отдельный каталог с номером версии внутри /opt/1cv8/. Старая версия рядом остаётся.
  2. Проверьте юнит службы: он должен указывать на каталог новой версии. Если в юните прописан путь к старой, поправьте ExecStart и перечитайте конфигурацию:
sudo systemctl daemon-reload
sudo systemctl start srv1cv83
sudo systemctl status srv1cv83
  1. Убедитесь, что процессы ragent, rmngr и rphost запущены от пользователя usr1cv8, а не от root.

Для кластера на Linux важны права на каталог данных кластера. Если после обновления агент стартует, а рабочие процессы не поднимаются, первым делом проверьте владельца каталога: он должен быть usr1cv8.

Отдельный момент — подключение веб-сервера для публикации баз. Модуль расширения для Apache или nginx нужно переопубликовать под новую версию: он привязан к версии платформы.

Утилиты ring и rac: когда они нужны при обновлении

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

Работа через rac

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

ras cluster --port=1545
rac cluster list
rac session list --cluster=<идентификатор_кластера>

Идентификатор кластера возвращает первая команда. Сеансы можно завершать командой rac session terminate, а режим блокировки начала сеансов задавать параметрами базы — это проще, чем гасить пользователей вручную.

Что такое ring

ring — это отдельный инструмент командной строки, который идёт в составе пакета разработческих средств и менеджера 1С. Он нужен для работы с 1C:EDT, установки и проверки компонентов, а не для остановки кластера. Для самого обновления платформы на сервере он не обязателен. Если вам предлагают «останавливать кластер через ring» — сверьтесь с документацией вашей версии: за кластер отвечают rac и ras.

Платформа на рабочих местах: тонкий клиент и пакетный запуск

Серверная платформа обновлена, но клиентские компьютеры остались на старой версии. Тонкий клиент с несовпадающей версией сервера может не запуститься либо запустится с предложением обновиться.

Варианты

СпособКогда использоватьРиск
Ручная установкаПара рабочих местЗабудете одно, получите звонок утром
Групповая политика / скриптПарк больше 10 компьютеровНужен проверенный сценарий установки
Автообновление тонкого клиента с веб-сервераРабота через публикациюТребует настроенного веб-сервера

Для тихой установки используйте параметры установщика, например:

setup.exe /S

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

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

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

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

Через Конфигуратор

  1. Заблокируйте начало сеансов в консоли кластера или в свойствах базы, чтобы никто не зашёл в неподходящий момент.
  2. Откройте базу в режиме Конфигуратора.
  3. Меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию ». Выберите файл обновления (.cf или .cfu) либо поиск в каталоге шаблонов.
  4. На вопросах сравнения и объединения поддерживайте вариант «Конфигурация поставщика» для типовых объектов. Если конфигурация доработана, конфликты придётся разрешать вручную.
  5. После загрузки нажмите «Обновить конфигурацию базы данных» (клавиша F7 в Конфигураторе). Это реструктуризация: на большой базе она идёт долго и блокирует работу.

Не прерывайте реструктуризацию. Остановка посреди процесса оставляет базу в рассогласованном состоянии, и вернуться удастся только из бэкапа СУБД.

Из командной строки

Для автоматизации есть пакетный режим Конфигуратора:

1cv8.exe DESIGNER /S "Сервер\База" /N Админ /P Пароль /UpdateDBCfg /Out C:\log\update.txt

Параметр /UpdateDBCfg запускает реструктуризацию, а в файл из /Out пишется ход выполнения. Пароль в командной строке виден в списке процессов, поэтому для рабочего сервера лучше запускать скрипт под отдельной учётной записью с ограниченными правами.

Первый запуск в режиме 1С:Предприятие

После обновления откройте базу обычным пользователем. Часть обработчиков обновления (заполнение новых реквизитов, перенос данных) выполняется именно при первом входе и может занять заметное время. Подождите окончания, не закрывайте окно.

Что проверить сразу:

  • ✅ Открывается ли главное окно без сообщений об ошибке.
  • ✅ Проведётся ли тестовый документ.
  • ✅ Формируется ли основной регламентированный отчёт.
  • ✅ Работают ли обмены и интеграции с внешними системами.

Если обновление пошло не так: диагностика и откат

Чаще всего проблемы укладываются в несколько ситуаций. Разберите по симптому.

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

Как откатиться

Откат платформы и откат данных — разные операции.

  • 🔙 Платформа. Остановите службу, верните в её параметрах путь к каталогу старой версии, запустите. Данные кластера останутся совместимы, если вы не переводили базу на формат более новой платформы.
  • 🔙 Конфигурация и данные. Только восстановление из бэкапа СУБД или загрузка .dt. Откатить уже выполненную реструктуризацию средствами 1С нельзя.

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

Что делать, если после обновления платформы возникли проблемы?

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

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

  1. Держите тестовую копию базы . Сначала обновляйте её, прогоняйте типовые сценарии, потом боевую.
  2. Записывайте номера версий платформы и конфигурации в журнал изменений. Через полгода это спасёт при разборе инцидента.
  3. Не скачивайте на несколько релизов вперёд без чтения описания: между ними бывают обязательные промежуточные версии.
  4. Планируйте окно обновления на нерабочее время и сообщайте о нём заранее, не в день работ.
  5. Автоматизируйте то, что повторяется: выгрузку, блокировку сеансов, проверку версий на клиентах.

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

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

Можно ли обновить платформу, не останавливая базу?
Нет. Серверная служба перезапускается, все сеансы обрываются. Планируйте окно и предупредите пользователей.
Нужно ли переустанавливать лицензии после обновления платформы?
Как правило, нет. Программные и аппаратные лицензии сохраняются. Если сервер лицензирования не видит ключ, проверьте драйвер защиты и права на каталог лицензий.
Можно ли держать на сервере несколько версий платформы?
Да, версии ставятся рядом. Служба работает с одной, а другие базы на публикации могут использовать свою. Для кластера важна согласованность версий агента, менеджера и рабочих процессов.
Как узнать, какая версия платформы запущена на сервере?
Номер версии виден в консоли администрирования в свойствах кластера и в названии каталога установки. Клиент показывает свою версию в окне «О программе».
Что делать, если обновление конфигурации идёт слишком долго?
Не прерывайте. Реструктуризация больших таблиц может длиться часами. Проверьте нагрузку на СУБД и дисковую подсистему, подождите завершения.
Нужно ли обновлять платформу и конфигурацию одновременно?
Не обязательно. Но новая конфигурация может требовать минимальной версии платформы, указанной в описании релиза: тогда платформа идёт первой.