Перевод сервера 1С:Предприятия 8.3 на новую версию платформы
Содержание
Чтобы обновить платформу
1С на сервере, остановите службу агента сервера старой версии, установите дистрибутив новой версии в отдельный каталог, перерегистрируйте службу на новый ragent.exe с тем же каталогом srvinfo и запустите её. Список баз и настройки кластера сохранятся. Затем на всех клиентах ставят ту же сборку платформы — до последней цифры номера.
Сама установка занимает 15–20 минут. Основное время уходит на подготовку и на клиентов: пока хотя бы на одном рабочем месте стоит старая версия, пользователь не подключится к серверу. Планируйте окно на вечер или выходной.
Что сделать до обновления платформы на сервере
Обновление платформы не меняет данные в базах, но на время работ сервер недоступен. Поэтому сначала собираем информацию и делаем копии.
Проверьте совместимость версии
- 📌 Конфигурации. В описании текущего релиза каждой конфигурации указана рекомендуемая и минимальная версия платформы. Новая платформа должна подходить всем базам кластера, а не только главной.
- 🗄️ СУБД. Если базы на PostgreSQL, сверьте, поддерживает ли новая версия платформы вашу сборку PostgreSQL для 1С. Для MS SQL Server проблем обычно нет, но версию СУБД тоже сверьте.
- 🖥️ Операционная система. Свежие версии платформы требуют актуальной ОС. Для Windows ориентируйтесь на Windows Server 2016 и новее.
- 🔌 Внешние компоненты и обработки. Торговое оборудование, обмены через COM-соединение, самописные компоненты — проверьте их на тестовом стенде.
Зафиксируйте текущие параметры
Откройте свойства службы агента сервера (services.msc → служба «1C:Enterprise 8.3 Server Agent») и скопируйте строку «Исполняемый файл». Она выглядит примерно так:
"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Из этой строки нужны четыре вещи: порт агента (-port), порт менеджера кластера (-regport), диапазон портов рабочих процессов (-range) и каталог данных кластера (-d). Запишите также учётную запись, от имени которой работает служба, — обычно это USR1CV8.
Сделайте копии
- Выгрузите базы средствами СУБД (полный бэкап) — это быстрее и надёжнее, чем выгрузка
.dtдля крупных баз. - Остановите службу и скопируйте каталог
srvinfoцеликом. В нём лежит реестр кластера: список баз, рабочие серверы, администраторы, профили безопасности. - Сохраните файлы лицензий, если используете программную защиту. В Windows они лежат в
C:\ProgramData\1C\licenses.
Старую версию платформы не удаляйте. Разные сборки ставятся в разные папки C:\Program Files\1cv8\<номер версии> и не мешают друг другу. Если что-то пойдёт не так, откат займёт пять минут.
Установка новой версии платформы на сервер
Остановка службы агента обрывает все сеансы пользователей. Предупредите людей заранее, попросите закрыть программу и сохранить документы. Перед остановкой посмотрите в консоли кластера, кто ещё в базе, и завершите фоновые задания, которые пишут данные.
Windows
- Остановите службу агента сервера старой версии через
services.mscили командойnet stopс именем службы. - Запустите
setup.exeиз дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows». На сервер нужна именно 64-разрядная сборка сервера. - В списке компонентов отметьте «Сервер 1С:Предприятия 8». Если на этом же компьютере работает консоль администрирования или веб-сервер — добавьте «Администрирование сервера 1С:Предприятия» и «Модули расширения веб-сервера».
- Флажок установки сервера как службы Windows надёжнее снять: службу проще и прозрачнее перерегистрировать вручную, с теми параметрами, которые вы записали на подготовке.
- Дождитесь окончания установки. Перезагрузка сервера обычно не нужна.
Перерегистрация службы агента
Ключевой шаг, который часто пропускают. Служба запускает конкретный файл ragent.exe по полному пути. Если её не перенастроить, после «обновления» сервер продолжит работать на старой версии.
Удалите регистрацию старой службы из каталога старой версии и зарегистрируйте новую из каталога новой. Командная строка запускается от имени администратора:
cd "C:\Program Files\1cv8\8.3.24.1586\bin"
ragent.exe -rmsrvc
cd "C:\Program Files\1cv8\8.3.27.1606\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ПарольСлужбы -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Номера версий подставьте свои. Порты и каталог -d должны совпасть с записанными — тогда агент поднимет прежний кластер со всеми базами.
После регистрации проверьте две вещи:
- ✅ у учётной записи службы есть право «Вход в качестве службы» (локальная политика безопасности);
- ✅ эта учётная запись имеет полный доступ к каталогу
srvinfoи к папке временных файлов.
Запустите службу и убедитесь, что в свойствах указан путь к новой версии.
Если используете сервер администрирования ras (для утилиты rac и сторонних консолей), его служба тоже ссылается на старую версию. Пересоздайте её на ras.exe из каталога новой платформы.
Linux
Начиная с версии 8.3.20 платформа для Linux поставляется единым установщиком setup-full-<версия>-x86_64.run. Новая версия ставится рядом со старой в /opt/1cv8/x86_64/<версия>:
sudo systemctl stop srv1cv8-8.3.24.1586@default
sudo ./setup-full-8.3.27.1606-x86_64.run --mode unattended --enable-components server,ws
В каталоге новой версии лежит юнит systemd с номером версии в имени. Подключите и включите его, а старый отключите:
sudo systemctl disable srv1cv8-8.3.24.1586@default
sudo systemctl link /opt/1cv8/x86_64/8.3.27.1606/srv1cv8-8.3.27.1606@.service
sudo systemctl enable --now srv1cv8-8.3.27.1606@default
Точное имя юнита посмотрите командой systemctl list-unit-files | grep srv1cv8. Каталог данных кластера по умолчанию — домашняя папка пользователя usr1cv8, его установщик не трогает.
Кластер серверов после обновления: что проверить
Когда служба запущена, откройте консоль администрирования серверов 1С. Консоль должна быть той же версии, что и сервер.
Перерегистрация консоли
Консоль работает через библиотеку radmin.dll. Если она зарегистрирована от старой версии, консоль не подключится или выдаст ошибку «Класс не зарегистрирован». Зарегистрируйте библиотеку новой версии:
regsvr32 "C:\Program Files\1cv8\8.3.27.1606\bin\radmin.dll"
После этого ярлык консоли из меню «Пуск» новой версии начнёт работать.
Проверка кластера
- В консоли раскройте
Центральный сервер→Кластерыи проверьте, что кластер с портом 1541 на месте. - Откройте
Информационные базы— список должен совпадать с прежним. - В разделе
Рабочие серверыоткройте свойства сервера и сверьте диапазон IP-портов рабочих процессов с записанным. - Если в кластере несколько рабочих серверов, обновите платформу на каждом. Рабочие серверы разных версий в одном кластере работать не будут.
- Подключитесь к одной базе тонким клиентом прямо с сервера. Это быстрая проверка, что связка агент → менеджер → рабочий процесс работает.
Обновление клиентских частей и тонкого клиента
Клиент подключается к серверу, только если номер версии платформы совпадает полностью, все четыре числа. Поэтому сразу после сервера обновляют все рабочие места.
Способы обновить клиентов
| Способ | Когда подходит | На что смотреть |
|---|---|---|
| Ручная установка на каждом ПК | До 10 рабочих мест | Долго, легко пропустить один компьютер |
| Терминальный сервер | Пользователи работают через RDP | Достаточно обновить один терминальный сервер |
| Общая папка с дистрибутивом и 1cestart | Офис с доменом | Нужны права на установку у пользователей или групповая политика |
| Групповая политика Active Directory | Много ПК в домене | Требует настроенного развёртывания пакетов |
Привязка базы к версии в списке баз
В окне запуска 1С откройте свойства базы кнопкой «Изменить» и дойдите до последней страницы. Там есть поле «Версия 1С:Предприятия». Варианты:
- пусто — запустится самая новая установленная версия;
8.3— самая новая из ветки 8.3;8.3.27.1606— строго указанная сборка.
Если в поле стоит старая точная версия, клиент будет упорно запускать её. После обновления сервера очистите поле или впишите новый номер.
Веб-публикация
Если базы опубликованы на IIS или Apache, модуль веб-сервера тоже привязан к версии платформы. После обновления сервера опубликуйте базу заново из конфигуратора новой версии: Администрирование → Публикация на веб-сервере. Для Apache после переиздания публикации перезапустите веб-сервер, для IIS — пул приложений.
Перезапуск веб-сервера отключает пользователей, которые работают через браузер или по HTTP-сервисам. Делайте это в том же окне работ.
Тонкий клиент, который подключается к базе через веб-публикацию, умеет сам скачать с веб-сервера нужную версию. Для этого в каталоге публикации должен лежать дистрибутив клиента новой версии.
Ошибки после обновления сервера 1С
Большинство сбоев после обновления — это несоответствие версий в какой-то одной точке: клиент, служба, консоль или публикация.
Если сервер «видит» не все базы
Такое бывает, когда новую службу зарегистрировали с другим каталогом -d или с другим портом -regport. Агент создал пустой кластер рядом со старым. Остановите службу, перерегистрируйте её с правильными параметрами — прежний кластер вернётся. Ничего не удаляйте в srvinfo, пока не убедились, что каталог указан верно.
Странное поведение в базе после обновления
Если после обновления формы открываются с ошибками, а на старой версии всё было в порядке, начните с кеша. Запустите клиента с параметром /ClearCache или удалите на клиенте папки кеша в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 при закрытой программе.
Серверный кеш лежит в каталоге кластера, в папках snccntx* внутри reg_1541. Их удаляют только при остановленной службе. Остановка службы снова оборвёт все сеансы — делайте это вне рабочего времени. Сами базы и настройки кластера при этом не затрагиваются.
Производительность сервера на новой версии платформы
Новая версия часто меняет поведение рабочих процессов и потребление памяти. Первую неделю после обновления стоит понаблюдать за сервером.
Параметры рабочего сервера
Откройте в консоли Рабочие серверы → свойства сервера. Здесь основные регуляторы:
- 🧮 Количество ИБ на процесс и Количество соединений на процесс — определяют, сколько баз и пользователей обслуживает один рабочий процесс. Значение 0 означает отсутствие ограничения.
- 💾 Безопасный расход памяти за один вызов — ограничивает тяжёлые вызовы, которые съедают память всего процесса.
- 🚨 Критический объём памяти процессов — после этого порога сервер начинает принудительно завершать вызовы, чтобы не упасть целиком.
Не меняйте их «на всякий случай». Сначала снимите нагрузку за несколько дней, потом корректируйте одно значение за раз.
Что ещё помогает
- Обновите статистику СУБД. Для MS SQL — план обслуживания с обновлением статистик, для PostgreSQL —
VACUUM ANALYZE. Выполняйте ночью: на крупной базе это часы. - Включите технологический журнал на время наблюдения. Он покажет долгие запросы и управляемые блокировки, если после обновления что-то стало медленнее. Настраивается файлом
logcfg.xmlв каталогеconfплатформы. - Следите за памятью
rphost. Если процессы растут без остановки день за днём, проверьте параметры перезапуска рабочих процессов в настройках кластера. - Проверьте фоновые и регламентные задания. Обмены и загрузки, которые раньше шли час, после обновления должны идти не дольше.
Сравнивайте с замерами до обновления. Если вы не записали, сколько формируется ОСВ за год или проводится закрытие месяца, — запишите это перед следующим обновлением.
Как вернуть прежнюю версию платформы
Откат нужен, если на новой версии сломалась критичная функция: печать, обмен, торговое оборудование. Поскольку старая версия осталась на диске, всё делается в обратном порядке:
- Предупредите пользователей и остановите службу агента.
- Удалите регистрацию службы командой
ragent.exe -rmsrvcиз каталога новой версии. - Зарегистрируйте службу из каталога старой версии с теми же параметрами.
- Перерегистрируйте
radmin.dllстарой версии. - Верните на клиентах старую сборку или пропишите её номер в свойствах базы.
- Переопубликуйте базы на веб-сервере из конфигуратора старой версии.
Если в базе успели обновить конфигурацию до релиза, который требует новую платформу, на старой она не запустится. Тогда откат платформы возможен только вместе с восстановлением базы из бэкапа.