К статье
Практический материал

Администрирование · 10 мин

Как обновить сервер 1С на Linux

Пошаговое обновление сервера 1С:Предприятие на Linux: подготовка, резервное копирование, установка новой версии платформы, проверка служб и типичные ошибки.

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

Технически обновление сводится к установке нового дистрибутива платформы из пакетов DEB или RPM, перезапуску службы агента сервера и проверке, что кластер поднялся на новой версии. Однако дьявол кроется в деталях: зависимости пакетов, права пользователя usr1cv8, параллельно установленные старые версии и необходимость обновить клиентские места одновременно с сервером.

Ниже разобран полный цикл обновления: от проверки текущей версии до контроля результата. Инструкции приведены для DEB-based систем (Debian, Ubuntu, Astra Linux) с пояснениями для RPM-based (CentOS, Red Hat, ALT Linux) там, где команды отличаются.

Подготовка: что проверить перед обновлением

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

bash
dpkg -l | grep 1c-enterprise   # Debian/Ubuntu/Astra
rpm -qa | grep 1c-enterprise   # CentOS/Red Hat/ALT
ls /opt/1cv8/                  # каталоги установленных версий

Убедитесь, что у вас есть: дистрибутив новой версии платформы с портала 1С (архив с deb- или rpm-пакетами), действующая лицензия (программная или доступный сервер HASP-ключа), права root или sudo на сервере, а также согласованное окно простоя. Обновление под нагрузкой недопустимо: активные сеансы будут разорваны.

Проверьте свободное место на диске — дистрибутив распаковывается в /opt/1cv8, и каждая версия занимает заметный объём. Также уточните, не используются ли компоненты, которые ставятся отдельными пакетами: сервер хранилища конфигураций, веб-серверные расширения (ws), дополнительные языковые модули. Их нужно обновлять вместе с основным сервером.

Резервное копирование перед обновлением

Минимальный набор копий: дамп каждой информационной базы средствами СУБД (pg_dump для PostgreSQL, mysqldump для MySQL, штатные средства для MS SQL), копия каталога srvinfo с реестром кластера и список установленных пакетов платформы. Дамп баз — это страховка от проблем в данных; копия srvinfo — от потери настроек кластера, рабочих серверов и списка баз.

bash
pg_dump -U postgres -Fc mybase > /backup/mybase_$(date +%F).dump
cp -r /home/usr1cv8/.1cv8 /backup/1cv8_registry_$(date +%F)

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

Завершение сеансов и остановка служб

Перед установкой новых пакетов необходимо выгнать пользователей и остановить агент сервера. Сеансы можно завершить через консоль администрирования кластера (на Windows-машине администратора) или программно через RAC: заблокировать информационные базы, дождаться завершения сеансов и принудительно отключить зависшие.

bash
# Завершить все сеансы кластера через RAC
/opt/1cv8/x86_64/8.3.XX.XXXX/rac session terminate --cluster=<ID_кластера>
# Остановить агент сервера
systemctl stop srv1cv8-8.3.XX.XXXX@default

Имя службы зависит от версии платформы — она создаётся отдельным unit-файлом для каждой установленной версии. Точное имя смотрите через systemctl list-units | grep srv1cv8. После остановки убедитесь, что процессы ragent, rphost и rmngr завершились: ps aux | grep 1cv8. Оставшиеся rphost-процессы завершите вручную, иначе установщик может столкнуться с заблокированными файлами.

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

Распакуйте архив дистрибутива и установите пакеты. Для DEB-систем достаточно команды dpkg по всем пакетам каталога; при ошибках зависимостей выполните apt-get install -f. Для RPM-систем используйте rpm -Uvh, который корректно обновляет уже установленные пакеты той же версии и ставит новые рядом, если версия другая.

Порядок установки
  1. 1
    Распаковать архив дистрибутива во временный каталог
  2. 2
    Установить пакеты: dpkg -i <em>.deb или rpm -Uvh </em>.rpm
  3. 3
    Убедиться, что появился каталог /opt/1cv8/x86_64/<новая версия>
  4. 4
    Запустить новую службу агента: systemctl start srv1cv8-<версия>@default
  5. 5
    Проверить, что кластер виден и список баз на месте

Важная особенность: платформа 1С на Linux допускает параллельную установку нескольких версий в /opt/1cv8. Старая версия при этом не удаляется автоматически — это упрощает откат, но требует следить за тем, какая служба запущена. Если запустить агенты двух версий с одинаковыми портами, возникнет конфликт: стандартные порты 1540–1541 (агент и менеджер) и диапазон 1560–1591 (рабочие процессы) должны быть заняты только одной версией.

Запуск новой версии и проверка результата

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

bash
systemctl disable srv1cv8-<старая_версия>@default
systemctl enable --now srv1cv8-<новая_версия>@default
systemctl status srv1cv8-<новая_версия>@default
Контрольные точки

Как проверить результат

Служба агента активна
Норма

systemctl status показывает active (running), в процессах есть ragent, rmngr, rphost новой версии

Тревожный признак

Служба падает сразу после запуска, в journalctl -u ошибки портов или прав

Версия кластера
Норма

Консоль администрирования и rac cluster list показывают новую версию платформы

Тревожный признак

Кластер отвечает, но версия осталась старой — запущен не тот агент

Подключение клиента
Норма

Тонкий/толстый клиент новой версии открывает базу без ошибок

Тревожный признак

Ошибка несовпадения версий — клиент старой платформы

Веб-публикации
Норма

Базы через браузер открываются после переопубликации webinst

Тревожный признак

Ошибка загрузки модуля веб-расширения

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

Обновление клиентских мест и PostgreSQL

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

Отдельный вопрос — СУБД. Обновление платформы 1С не требует обновления PostgreSQL, но проверьте совместимость: платформа поддерживает определённые версии СУБД. Если вы обновляете и PostgreSQL (например, сборку от 1С), делайте это отдельной процедурой с полным дампом кластера баз, а не совмещайте с обновлением платформы — так проще локализовать источник проблем.

Сравнение вариантов

Обновление на том же сервере

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

Переезд на новый сервер

Старый сервер остаётся рабочим до переключения, риск минимален. Требуется второй хост и перенос srvinfo и баз.

Обновление через скрипты автоматизации (Ansible и т.п.)

Воспроизводимо и удобно для парка серверов. Требует предварительной отладки playbooks на тестовом стенде.

Откат и типичные ошибки

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

Типичные ошибки
01
Запуск агентов двух версий одновременно — конфликт портов 1540/1560–1591 и недоступность кластера
02
Обновление сервера без обновления клиентов — пользователи получают ошибку несовпадения версий платформы
03
Забытая переопубликация веб-баз — после обновления веб-доступ перестаёт работать
04
Удаление старой версии до проверки новой — откат становится невозможным без повторной установки
05
Отсутствие дампа баз — при сбое данных восстанавливать нечего
Итог

Что важно запомнить

Обновление сервера 1С на Linux — это резервная копия, остановка сеансов, установка пакетов новой версии, запуск правильной службы и обязательная синхронизация клиентов. Старую версию не удаляйте, пока новая не пройдёт проверку в реальной работе.

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

Можно ли обновить сервер 1С без остановки работы пользователей?

Полноценно — нет: установка пакетов и перезапуск агента требуют завершения сеансов. Сократить простой можно, подготовив всё заранее (дистрибутив на сервере, скрипты проверены, копии сняты) — тогда окно сводится к 15–30 минутам. Альтернатива — переезд на новый сервер с последующим переключением.

Нужно ли удалять старую версию платформы после обновления?

Не сразу. Оставьте её минимум на период обкатки новой версии — это ваш путь отката. Удаляйте старые версии (apt remove / rpm -e по пакетам), когда новая стабильно проработала несколько недель и копии srvinfo сохранены.

Клиент пишет «несовпадение версий» после обновления сервера. Что делать?

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

Где лежат логи, если служба не стартует после обновления?

Смотрите журнал службы: journalctl -u srv1cv8-<версия>@default. Технологический журнал кластера настраивается через logcfg.xml в каталоге установки платформы. Частые причины сбоев — занятые порты другой версией агента и нарушенные права на каталог srvinfo (владелец должен быть usr1cv8).

Нужно ли обновлять конфигурацию базы после обновления платформы?

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