Переход сервера 1С:Предприятие 8.3 на новый релиз платформы: от копии srvinfo до проверки клиентов
Содержание
Чтобы обновить платформу
1С:Предприятие 8 на сервере, ставят новый релиз рядом со старым, останавливают службу агента сервера, перенаправляют её на ragent.exe новой версии и запускают. После этого на всех клиентах должна оказаться ровно та же версия платформы — до последней цифры номера, иначе подключение к серверу не пройдёт.
Сами информационные базы при обновлении платформы не меняются: данные, конфигурации и лицензии остаются на месте. Меняются исполняемые файлы, служба и всё, что на них ссылается: консоль администрирования, модуль веб-публикации, ярлыки и автообновление клиентов. Если менять их в правильном порядке, откат на прежний релиз займёт несколько минут.
1. Что проверить перед обновлением платформы на сервере
Начните с вопроса «зачем». Обычно повод один: новая версия конфигурации требует платформу не ниже определённого номера. Этот номер указан в описании выпуска конфигурации. Возьмите минимальный номер по всем базам, которые крутятся на этом кластере, и выберите релиз платформы не ниже него.
Что ещё проверить до скачивания дистрибутива:
- 🧩 Все базы кластера. Новая платформа обслуживает все базы сервера сразу. Если среди них есть старая нетиповая конфигурация, проверьте её на тестовом стенде заранее.
- 🗄 СУБД. Новые релизы платформы поддерживают определённые версии PostgreSQL и MS SQL Server. Список есть в документации к выпуску платформы. Для PostgreSQL используйте сборку, рассчитанную на работу с 1С.
- 🖥 Операционная система. Свежие релизы 8.3 рассчитаны на 64-битные Windows Server 2016 и новее либо на актуальные дистрибутивы Linux.
- 🔌 Внешние компоненты и обработки. Компоненты торгового оборудования, обмена и печати иногда нужно обновить вместе с платформой.
- 🌐 Веб-сервер. Если базы опубликованы через Apache или IIS, после обновления модуль публикации придётся перенастроить на новую версию.
- 👥 Клиенты. Посчитайте, сколько рабочих мест и терминальных серверов нужно перевести на новый релиз, и решите как: вручную, через автоустановку или групповыми политиками.
Лучший сценарий — сначала поставить новый релиз на тестовый сервер, поднять там копии 2–3 самых нагруженных баз и прогнать обычный рабочий день: проведение документов, закрытие месяца, обмены, регламентные задания.
Время обновления выбирайте вечером или в выходной. Сама замена бинарников занимает минуты, но при остановке службы все пользователи и фоновые задания будут отключены. Предупредите людей заранее и запретите вход на время работ.
2. Резервные копии и точка отката
У обновления платформы есть важное свойство: старая версия никуда не девается. Каталоги C:\Program Files\1cv8\<старая_версия> и C:\Program Files\1cv8\<новая_версия> живут рядом. Откат — это перенаправление службы обратно, без переустановки.
Но для отката нужны три вещи, которые сохраняют до начала работ.
Копия каталога кластера. Реестр кластера хранится в каталоге srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo, на Linux обычно /home/usr1cv8/.1cv8/1C/1cv8). Внутри — файл 1CV8Clst.lst со списком баз, рабочих серверов и администраторов кластера, а также каталог reg_1541. Остановите службу и скопируйте каталог целиком.
Копии баз. Платформа базы не трогает, но если после обновления вы планируете обновлять конфигурацию — сделайте копии средствами СУБД. Для PostgreSQL это pg_dump, для MS SQL — полная резервная копия базы. Выгрузка .dt тоже подходит, но на больших базах она долгая.
Параметры текущей службы. Запишите, от какого пользователя она работает и с какими ключами запущена. Посмотреть можно так:
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"
В строке BINARY_PATH_NAME видны порты агента, менеджера кластера, диапазон рабочих процессов и путь к srvinfo. Эти же параметры понадобятся для новой службы.
Имя службы на вашем сервере может отличаться, если её регистрировали вручную. Найдите её в оснастке «Службы» по описанию с ragent.exe.
3. Где взять дистрибутив и какую версию выбрать
Дистрибутивы платформы скачивают с портала обновлений 1С, доступ к нему даёт действующая подписка ИТС. Для сервера на Windows берите полный 64-битный дистрибутив технологической платформы: в нём есть и сервер, и клиент, и модули веб-расширения. Для Linux есть отдельные пакеты; в свежих релизах — единый установщик setup-full-<версия>-x64.run.
Как выбрать конкретный релиз:
| Ситуация | Что ставить |
|---|---|
| Новый релиз конфигурации требует платформу не ниже N | Последний выпуск ветки, которая не ниже N |
| Всё работает, обновление «на всякий случай» | Не торопиться, ждать стабилизации ветки |
| На сервере живут нетиповые старые базы | Тот релиз, на котором их проверили на тесте |
| Платформа упирается в версию СУБД | Релиз, где ваша версия СУБД есть в списке поддерживаемых |
Сравнивайте версии по номеру целиком: 8.3.24.1691 и 8.3.24.1586 — разные релизы, и клиент одного не подключится к серверу другого.
Сразу положите дистрибутив клиента новой версии в общую сетевую папку. Она пригодится для автоматического обновления рабочих мест.
4. Установка нового релиза и перерегистрация службы
Порядок для Windows-сервера:
- Отключите вход новых пользователей: в консоли кластера у каждой базы можно включить блокировку начала сеансов, либо договоритесь с людьми о времени.
- Проверьте, что фоновые задания не выполняют длинных операций (закрытие месяца , обмены).
- Остановите службу агента сервера 1С. Все сеансы и рабочие процессы завершатся.
- Запустите
setup.exeновой версии. В составе компонентов отметьте сервер 1С:Предприятия и, если нужно, модули расширения веб-сервера и консоль администрирования. - Если установщик предлагает установить сервер
как службу — укажите того же пользователя, от которого работала старая служба (обычно
USR1CV8). - Проверьте, куда теперь смотрит служба:
sc qcдолжна показывать путь кragent.exeв каталоге новой версии.
Если служба осталась на старом пути или вы хотите полный контроль, перерегистрируйте её вручную. Сначала удалите старую регистрацию командой из каталога старой версии, затем создайте новую:
cd "C:\Program Files\1cv8\<старая_версия>\bin"
ragent.exe -rmsrvc
cd "C:\Program Files\1cv8\<новая_версия>\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd <пароль> -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Порты и путь к srvinfo подставьте из записанных параметров старой службы. Ключ -debug нужен только если вы пользуетесь отладкой на сервере.
Консоль администрирования
Оснастка «Администрирование серверов 1С Предприятия» работает через библиотеку radmin.dll, и её версия должна совпадать с версией сервера. После обновления зарегистрируйте библиотеку новой версии из командной строки администратора:
regsvr32 "C:\Program Files\1cv8\<новая_версия>\bin\radmin.dll"
Без этого консоль откроется, но к кластеру не подключится или покажет ошибку протокола.
Сервер на Linux
В релизах 8.3.21 и новее служба поставляется как systemd-юнит с номером версии в имени. Типовая последовательность после установки пакетов:
sudo systemctl stop srv1cv8-<старая_версия>@default
sudo systemctl disable srv1cv8-<старая_версия>@default
sudo systemctl link /opt/1cv8/x86_64/<новая_версия>/srv1cv8-<новая_версия>@.service
sudo systemctl enable srv1cv8-<новая_версия>@default
sudo systemctl start srv1cv8-<новая_версия>@default
Каталог данных кластера при этом общий, поэтому реестр баз подхватится автоматически. Если сервер старого образца работал через скрипт /etc/init.d/srv1cv83, путь к новой версии правят в его настройках.
5. Запуск службы, кластер и веб-публикации
Запустите службу и сразу проверьте, что агент поднялся и кластер на месте.
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Проверка через консоль: откройте оснастку, подключитесь к центральному серверу. В дереве должны быть кластер, все информационные базы и рабочие серверы. Если базы пропали — служба запущена не с тем каталогом srvinfo, проверьте ключ -d.
Проверка через утилиту rac. Ей нужен запущенный сервер администрирования ras той же версии:
cd "C:\Program Files\1cv8\<новая_версия>\bin"
ras cluster --port=1545
rac localhost:1545 cluster list
Если ras работал у вас как отдельная служба, её тоже нужно перерегистрировать на новую версию — иначе мониторинг и скрипты администрирования продолжат стучаться в старый ras.
Что ещё перенастроить в кластере после обновления:
- 🔁 Параметры рабочих серверов. Они хранятся в реестре кластера и переносятся сами. Сверьте диапазон портов рабочих процессов и параметры отказоустойчивости в свойствах рабочего сервера.
- 🔐 Блокировка сеансов. Если включали блокировку начала сеансов в базах — снимите её после проверки.
- 🌐 Веб-публикации. Для Apache в
httpd.confу строкиLoadModule _1cws_moduleпуть указывает наwsap24.dllконкретной версии. Замените путь на новую и перезапустите Apache. То же делает повторная публикация утилитойwebinstиз каталога новой версии. Для IIS обновите путь к модулю веб-расширения в настройках обработчика.
Обновление клиентов
Пока клиенты не обновлены, они не войдут в базу. Варианты:
- Вручную — установить клиент новой версии на каждое место. Подходит для 5–10 рабочих мест.
- Автоматически через
1cestart. В файле1cestart.cfg(на клиентах или в общем шаблоне) параметрDistributiveLocationуказывает на сетевую папку с дистрибутивом. При входе в базу стартер сам поставит нужную версию. Пользователю нужны права на установку программ. - Групповые политики — установка через MSI-пакет клиента на группу компьютеров домена.
На терминальном сервере достаточно обновить клиент один раз: все пользователи RDP получат новую версию.
Старые версии платформы на клиентах можно удалить через «Программы и компоненты» после того, как все базы переведены. Пока на компьютере есть базы на другом сервере со старой платформой — не удаляйте.
6. Проверка после обновления и разбор ошибок
После запуска службы пройдите короткий маршрут проверки на реальных базах. Он занимает 15–20 минут и ловит основные проблемы до утра понедельника.
Если что-то пошло не так, разбирайте по симптому:
Откат на прежний релиз
Если ошибку не удалось быстро устранить, вернитесь на старую версию:
- Остановите службу (сеансы снова оборвутся — делайте это сразу, пока людей мало).
- Перерегистрируйте службу на
ragent.exeстарой версии теми же ключами. - Зарегистрируйте
radmin.dllстарой версии. - Верните путь к модулю веб-публикации.
- Если база кластера повреждена — восстановите каталог
srvinfoиз копии.
Если клиент, успевший получить новую версию, не подключается к серверу, откройте свойства базы в окне запуска и укажите в поле версии нужный релиз платформы. Старая версия должна остаться установленной на рабочем месте.