Как перевести серверную 1С 8.3 на новую версию платформы
Содержание
Обновление платформы
на сервере 1С 8.3 — это не обновление конфигурации
и не загрузка .cf. Меняется сам исполняемый слой: служба агента сервера, кластер и рабочие процессы. Поэтому порядок действий здесь другой, и ошибка стоит дороже — ляжет не одна база, а весь сервер приложений.
Хорошая новость: платформу не нужно «сносить». Несколько версий 8.3 спокойно живут на сервере рядом, каждая в своём каталоге C:\Program Files\1cv8\<версия>. Обновление сводится к тому, чтобы установить новый дистрибутив и переключить службу агента на него. Реестр кластера (каталог srvinfo) при этом остаётся прежним. Если что-то пойдёт не так — откат занимает минуту: переключаете службу обратно на старую версию.
Ниже — порядок для клиент-серверного варианта под Windows Server (платформа 8.3.2x, интерфейс «Такси»).
Что проверить до начала обновления
Сначала решите, на какую версию переходите. Не берите самый свежий релиз автоматически: смотрите, какую версию поддерживает ваша конфигурация (минимальная версия платформы указана в требованиях конфигурации) и нет ли у выбранного релиза известных регрессов. Версия платформы на сервере должна быть не ниже той, что требует конфигурация, и совпадать по старшинству с версией на клиентах.
Текущую версию сервера посмотрите в консоли администрирования или в окне «О программе» при входе в базу (пункт Главное меню → Справка → О программе). Полезно сразу прикинуть две вещи: хватает ли на системном диске места под ещё один каталог платформы и не задевает ли обновление версию самой СУБД — платформа и СУБД обновляются независимо, но их совместимость стоит проверить по матрице поддержки выбранного релиза.
Соберите исходные параметры текущего кластера — они понадобятся, чтобы новая служба встала точно так же:
- 📁 путь к каталогу данных кластера (
srvinfo) — его задаёт параметр-dв службе агента; - 🔌 порт агента (по умолчанию
1540) и порт главного менеджера кластера (по умолчанию1541); - 🔁 диапазон портов рабочих процессов (по умолчанию
1560:1591); - 👤 учётная запись, под которой работает служба (обычно
USR1CV8или доменная сервисная учётка); - 🧩 используете ли вы отдельную службу сервера администрирования (RAS) и веб-публикации.
Текущие параметры службы видно в оснастке Службы Windows (services.msc) — откройте свойства службы агента и посмотрите поле «Исполняемый файл», там весь набор ключей запуска. Это надёжнее, чем вспоминать настройки по памяти.
Обязательный шаг — резервные копии. Выгрузите рабочие базы или остановите их штатно средствами СУБД, а каталог srvinfo целиком скопируйте в сторону. Он небольшой, но хранит реестр кластера: список баз, администраторов, профили безопасности.
Разрядность дистрибутива должна совпадать с текущей: 64-разрядный сервер обновляется 64-разрядным дистрибутивом. Смешивать нельзя.
Когда останавливать службу и как завершить сеансы
Обновление платформы требует перезапуска службы агента. Это значит простой: в момент остановки службы все активные сеансы пользователей оборвутся, незавершённые транзакции откатятся. Поэтому обновление делают в согласованное окно, а не в разгар рабочего дня.
Правильный порядок завершения:
- Предупредите пользователей и дайте время закрыть документы.
- Через консоль администрирования кластера или команду
rac session listпосмотрите, кто ещё в базах. - Установите блокировку новых соединений или завершите оставшиеся сеансы штатно.
- Корректно остановите СУБД-нагрузку (регламентные задания, фоновые обмены), если они идут непрерывно.
Только после этого останавливайте службу агента 1С (в services.msc она называется примерно 1C:Enterprise 8.3 Server Agent (x86-64)). Остановка службы гасит менеджер кластера (rmngr) и рабочие процессы (rphost) разом. Дождитесь, пока в диспетчере задач эти процессы действительно исчезнут, — пока они живы, файлы платформы заняты и установщик может не заменить их корректно.
Не завершайте процессы rphost, rmngr, ragent через диспетчер задач «на живую» без остановки службы. Это аварийное завершение рабочих процессов: сеансы не успеют корректно закрыться, в редких случаях повреждается сеансовая информация в srvinfo.
Если сервер администрирования вынесен в отдельную службу RAS — остановите и её.
Установка нового дистрибутива платформы
Запустите setup.exe из распакованного дистрибутива под учётной записью с правами администратора Windows.
В окне выбора компонентов оставьте то же, что было установлено на сервере:
- Сервер 1С:Предприятия — обязательно, это и есть серверный компонент;
- Администрирование сервера 1С:Предприятия — консоль и утилиты администрирования;
- при необходимости — модули расширения веб-сервера (если публикуете базы через IIS/Apache).
Ключевой момент — флажок «Установить сервер 1С:Предприятия как сервис Windows »:
- если хотите, чтобы установщик сам пересоздал службу под новую версию, — оставьте флажок и укажите ту же учётную запись и пароль, что были раньше;
- если предпочитаете управлять службой вручную (так надёжнее, когда порты и диапазон нестандартные) — флажок можно снять и зарегистрировать службу отдельной командой (следующий раздел).
Установщик положит новую версию в собственный каталог C:\Program Files\1cv8\<новая версия>, не трогая старую. После установки драйвер защиты (HASP) и прочие компоненты переустанавливать обычно не требуется — они общие.
Если у вас кластер из нескольких рабочих серверов, дистрибутив нужно установить на каждый из них, версии должны совпасть на всех узлах.
Переключение службы агента на новую версию
Это сердце процедуры. Служба агента должна запускаться из ragent.exe новой версии, но с теми же параметрами кластера и тем же каталогом srvinfo, иначе сервер «потеряет» свои базы.
Если при установке вы оставляли флажок «как сервис» — проверьте в свойствах службы, что поле «Исполняемый файл» теперь указывает на ragent.exe новой версии, а путь -d, порты и диапазон совпали с прежними. На этом переключение закончено.
Если управляете службой вручную, порядок такой:
- Удалите старую регистрацию службы. Из каталога старой версии:
"C:\Program Files\1cv8\8.3.XX.OLD\bin\ragent.exe" -rmsrvc - Зарегистрируйте службу из каталога новой версии с прежними параметрами:
"C:\Program Files\1cv8\8.3.XX.NEW\bin\ragent.exe" -instsrvc -usr ".\USR1CV8" -pwd "пароль" -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" - Убедитесь, что служба создана, тип запуска «Автоматически», и запустите её.
Подставьте в команду свои значения портов, диапазона и пути к srvinfo — те, что вы зафиксировали на этапе подготовки. Путь -d обязан указывать на существующий каталог srvinfo старого кластера — именно в нём лежит реестр с вашими базами.
Не создавайте новый пустой srvinfo и не «пересоздавайте кластер». Если указать пустой каталог, сервер поднимется без единой базы — это выглядит как потеря данных, хотя базы на месте. Лечится возвратом правильного пути -d.
Если используете отдельную службу RAS (сервер администрирования), её тоже перерегистрируйте на ras.exe новой версии с тем же портом (по умолчанию 1545).
Настройка кластера и обновление клиентских мест
После запуска службы откройте консоль администрирования новой версии и проверьте кластер:
- в списке появились ваши информационные базы;
- на месте администраторы кластера и профили безопасности;
- параметры отказоустойчивости и требования назначения функциональности (если настраивались) сохранились — они хранятся в
srvinfoи подхватываются автоматически.
Напомню разделение ролей, чтобы не искать настройки не там: порты и диапазон рабочих процессов, требования назначения функциональности задаются в свойствах рабочего сервера, а не кластера в целом. Консоль и клиенты обращаются к агенту (порт 1540), затем к менеджеру кластера (1541).
Если администрируете кластер через утилиту rac и службу ras, после обновления используйте rac и ras новой версии — старый rac к новому агенту может не подключиться. Базовые проверки безопасны: rac cluster list покажет кластеры, rac infobase summary list — список баз. Точный набор команд смотрите в rac help, не подбирайте параметры наугад.
Теперь клиентские рабочие места. Тонкий клиент должен работать на версии не ниже серверной:
- 💻 Windows-клиенты. Установите новую версию платформы на рабочие станции тем же дистрибутивом (компонент «1С:Предприятие — Тонкий клиент» или полная установка). Если версий несколько, список запуска
1cestartсам выберет подходящую под базу. - 🌐 Публикация через веб-сервер. После обновления платформы на сервере переопубликуйте базы: модули расширения веб-сервера привязаны к версии. Иначе веб-клиент может не подключиться.
- 🖥 Терминальный доступ / RemoteApp. На терминальном сервере обновите платформу так же, как на рабочих станциях.
Чтобы клиенты не «скакали» между версиями, можно задать в кластере ограничение версии платформы для базы. Тогда сервер потребует от клиента конкретную версию, и старые клиенты сами предложат обновиться.
Групповое обновление клиентов удобно раздавать через сетевой каталог дистрибутивов: в файле 1cestart.cfg указывается путь к новой версии, и клиенты подтягивают её автоматически при запуске. Это снимает ручную установку на каждой машине: пользователь запускает ярлык, стартер видит, что требуется более новая версия, и скачивает её из сетевого каталога.
Отдельно учтите внешние компоненты и драйверы, завязанные на платформу: торговое оборудование, криптопровайдеры для ЭДО, модули интеграции. После смены версии прогоните хотя бы один обмен и одну операцию с оборудованием — иногда после обновления требуется переустановка драйвера нужной разрядности.
Проверка работоспособности и откат на прежнюю версию
Не объявляйте обновление успешным, пока не прошли контрольные точки:
- Служба агента запущена, в журнале Windows нет ошибок старта.
- Консоль администрирования показывает кластер, базы и рабочие процессы (
rphost). - Тестовый вход в каждую рабочую базу под обычным пользователем — база открывается, формы рисуются.
- Проверьте регламентные и фоновые задания: включите расписание обратно, убедитесь, что обмены и выгрузки пошли.
- Прогоните один-два типовых сценария: проведение документа, формирование отчёта, печать.
- Загляните в журнал регистрации базы и в журнал событий Windows за время после запуска — там видны ошибки подключения к СУБД, нехватки прав и проблем лицензирования, если они есть.
Первые пару часов после обновления держите сервер под присмотром: смотрите загрузку памяти рабочими процессами rphost и отклик на операциях. Новый релиз платформы иногда меняет поведение под нагрузкой, и лучше заметить это сразу, пока рядом есть рабочая старая версия для отката.
-d и права учётной записи службы на каталог srvinfo. Частая причина — опечатка в пути или служба запускается под учёткой без доступа к каталогу.srvinfo. Остановите службу, перерегистрируйте с правильным путём -d на старый каталог реестра кластера.Откат. Поскольку старая версия платформы осталась в своём каталоге, вернуться к ней быстро: остановите службу, перерегистрируйте её из каталога старой версии (ragent.exe -rmsrvc, затем -instsrvc с прежними параметрами из старой папки) и запустите. Реестр кластера srvinfo совместим — вы ведь его не меняли.
Откат надёжен в пределах обновления «вперёд по минорным версиям». Если новая версия успела что-то записать в srvinfo в несовместимом формате (крайне редко, но возможно при больших скачках версий), пригодится та самая копия srvinfo, которую вы сделали на старте. Поэтому её и делали.
Частые вопросы
Нужно ли удалять старую версию платформы перед установкой новой?
Обязателен ли монопольный доступ к базам при обновлении платформы?
.dt, тестирования и исправления. Для смены версии платформы достаточно остановить службу агента — это и так разрывает все сеансы.Можно ли обновить платформу без остановки работы пользователей?
На сервере стоит несколько версий — какую возьмёт клиент?
1cestart: учитывается ограничение версии, заданное для базы в кластере, и доступные на машине версии. Если версия базе не навязана, берётся подходящая из установленных.