Обновление платформы и конфигурации 1С на серверной базе без простоя и потери данных
Содержание
Обновить 1С на сервере — значит сделать две разные вещи: поставить новую версию платформы на машину с кластером и обновить конфигурацию в самой информационной базе. Порядок такой: сначала резервная копия и выход всех пользователей, затем платформа на сервере, потом платформа на рабочих местах, и только после этого конфигурация.
Типичная ситуация: в пятницу вечером выходит критичный релиз, в понедельник утром бухгалтеры открывают базу, а клиент пишет «версия платформы не соответствует серверу». Так бывает, когда сервер обновили, а рабочие места забыли. Ниже — последовательность, которая такого не допускает.
Что готовить до начала обновления
Главное правило: ничего не трогаем, пока нет рабочей копии базы и списка того, что стоит на сервере.
Что выяснить заранее
- 📌 Версия платформы сейчас и версия, на которую идёте. Скачивайте дистрибутив той же разрядности, что стоит на сервере.
- 📌 Совпадает ли новая платформа с версией, которую требует ваша конфигурация. Минимальная версия указана в описании релиза конфигурации.
- 📌 Где лежит база: файловая, SQL-сервер (MS SQL, PostgreSQL) или кластер. Для этой инструкции нужна клиент-серверная.
- 📌 Есть ли внешние компоненты, обработки и обмены, которые могут перестать работать на новой платформе.
- 📌 Сколько пользователей работает и когда можно остановить базу. Реальное окно — от 30 минут до пары часов в зависимости от размера базы.
Резервные копии
Копий нужно две, и обе до первого действия:
- Выгрузка информационной базы в
.dt(Конфигуратор → Администрирование → Выгрузить информационную базу). - Бэкап базы
средствами СУБД: полный бэкап в MS SQL или
pg_dumpв PostgreSQL.
Выгрузка в .dt не заменяет бэкап СУБД. Если файл выгрузки окажется битым, восстановиться будет не из чего. Проверяйте, что копия открывается: разверните её в тестовую базу.
Заодно сохраните копию каталога с настройками кластера и файл лицензий, если они хранятся на этом сервере. Перед работой ещё раз проверьте, что на диске хватает места: новая платформа плюс временные файлы обновления конфигурации займут несколько гигабайт.
Обновление платформы на сервере Windows
Серверная часть на Windows ставится из того же установщика, что и клиентская, только с отмеченным компонентом сервера. Отдельного «патча» нет — новая версия ставится рядом со старой.
Шаги
- Выгоните пользователей: в консоли администрирования серверов 1С откройте кластер, раздел «Сеансы», завершите сеансы. Затем отключите регламентные задания, чтобы они не стартовали посреди работы.
- Остановите службу «Агент сервера 1С:Предприятия 8.3». Через
services.mscили командой:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
Точное имя службы смотрите в списке служб на своём сервере: оно зависит от версии и разрядности.
- Запустите
setup.exeиз дистрибутива сервера от имени администратора. - В списке компонентов оставьте «Сервер 1С:Предприятия» и то, что вам нужно из остального: администрирование, модули расширения веб-серверов.
- Укажите учётную запись, от имени которой работает служба. Обычно это отдельный пользователь
USR1CV8, которого установщик создаёт сам. Если в старой установке служба работала под другой записью, оставьте её — иначе потеряете доступ к каталогу кластера. - Дождитесь окончания установки и запустите службу агента сервера.
- Проверьте консоль: кластер должен подняться, список баз — быть на месте.
Старая версия платформы остаётся на диске. Это страховка: вернуться можно, переключив службу на прежний каталог bin. Удалять предыдущую версию стоит только через неделю-две спокойной работы.
Что происходит с кластером
Служба стартует с каталога кластера, который остался от старой версии. Данные кластера — список баз, администраторы, настройки — подхватываются сами. Но если вы меняли каталог кластера на нестандартный, убедитесь, что в параметрах службы он указан верно, иначе агент создаст пустой кластер.
Обновление платформы на сервере Linux
На Linux всё то же самое, но руками и без мастера. Пакеты ставятся из дистрибутива для вашей системы: .deb для Debian/Ubuntu или .rpm для Red Hat-семейства.
Порядок
- Остановите службу:
sudo systemctl stop srv1cv83
- Установите пакеты нужной версии. Минимум — общий пакет и серверный, плюс сервер-ресурсы и клиент, если они нужны:
sudo dpkg -i 1c-enterprise83-common_*.deb 1c-enterprise83-server_*.deb
- Платформа ложится в отдельный каталог с номером версии внутри
/opt/1cv8/. Старая версия рядом остаётся. - Проверьте юнит службы: он должен указывать на каталог новой версии. Если в юните прописан путь к старой, поправьте
ExecStartи перечитайте конфигурацию:
sudo systemctl daemon-reload
sudo systemctl start srv1cv83
sudo systemctl status srv1cv83
- Убедитесь, что процессы
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
Набор поддерживаемых ключей и файл с настройками комплекта смотрите в документации к вашей версии платформы, чтобы не угадывать.
Не оставляйте на сервере терминалов старую платформу «на всякий случай»: пользователи будут запускать то, что стоит по умолчанию, а не то, что вы хотели.
Обновление конфигурации в серверной базе
Теперь база. Платформа новая, а конфигурация может остаться прежней, но обычно после смены платформы релиз конфигурации тоже обновляют, особенно при скачке на несколько версий.
Через Конфигуратор
- Заблокируйте начало сеансов в консоли кластера или в свойствах базы, чтобы никто не зашёл в неподходящий момент.
- Откройте базу в режиме Конфигуратора.
- Меню «Конфигурация» → «Поддержка» → «Обновить конфигурацию
». Выберите файл обновления (
.cfили.cfu) либо поиск в каталоге шаблонов. - На вопросах сравнения и объединения поддерживайте вариант «Конфигурация поставщика» для типовых объектов. Если конфигурация доработана, конфликты придётся разрешать вручную.
- После загрузки нажмите «Обновить конфигурацию базы данных» (клавиша F7 в Конфигураторе). Это реструктуризация: на большой базе она идёт долго и блокирует работу.
Не прерывайте реструктуризацию. Остановка посреди процесса оставляет базу в рассогласованном состоянии, и вернуться удастся только из бэкапа СУБД.
Из командной строки
Для автоматизации есть пакетный режим Конфигуратора:
1cv8.exe DESIGNER /S "Сервер\База" /N Админ /P Пароль /UpdateDBCfg /Out C:\log\update.txt
Параметр /UpdateDBCfg запускает реструктуризацию, а в файл из /Out пишется ход выполнения. Пароль в командной строке виден в списке процессов, поэтому для рабочего сервера лучше запускать скрипт под отдельной учётной записью с ограниченными правами.
Первый запуск в режиме 1С:Предприятие
После обновления откройте базу обычным пользователем. Часть обработчиков обновления (заполнение новых реквизитов, перенос данных) выполняется именно при первом входе и может занять заметное время. Подождите окончания, не закрывайте окно.
Что проверить сразу:
- ✅ Открывается ли главное окно без сообщений об ошибке.
- ✅ Проведётся ли тестовый документ.
- ✅ Формируется ли основной регламентированный отчёт.
- ✅ Работают ли обмены и интеграции с внешними системами.
Если обновление пошло не так: диагностика и откат
Чаще всего проблемы укладываются в несколько ситуаций. Разберите по симптому.
journalctl -u srv1cv83 на Linux. Обычно причина — занятый порт 1540/1541 (старый процесс не остановлен) или нет прав у учётной записи на каталог кластера.Как откатиться
Откат платформы и откат данных — разные операции.
- 🔙 Платформа. Остановите службу, верните в её параметрах путь к каталогу старой версии, запустите. Данные кластера останутся совместимы, если вы не переводили базу на формат более новой платформы.
- 🔙 Конфигурация и данные. Только восстановление из бэкапа СУБД или загрузка
.dt. Откатить уже выполненную реструктуризацию средствами 1С нельзя.
Если база уже открывалась новой платформой и прошла реструктуризацию, возврат на старую платформу без восстановления из резервной копии не гарантирован. Это ещё одна причина делать бэкап заранее.
Как не получить сюрпризов при следующем обновлении
Одни и те же шишки набивают раз за разом. Несколько привычек, которые их убирают:
- Держите тестовую копию базы . Сначала обновляйте её, прогоняйте типовые сценарии, потом боевую.
- Записывайте номера версий платформы и конфигурации в журнал изменений. Через полгода это спасёт при разборе инцидента.
- Не скачивайте на несколько релизов вперёд без чтения описания: между ними бывают обязательные промежуточные версии.
- Планируйте окно обновления на нерабочее время и сообщайте о нём заранее, не в день работ.
- Автоматизируйте то, что повторяется: выгрузку, блокировку сеансов, проверку версий на клиентах.
Дистрибутивы и описания релизов берите только из официальных источников поставщика. Версии платформы и конфигурации не копируйте со сторонних сайтов и файлообменников: это и риск вредоносного кода, и риск нарушить лицензионные условия.