Как перевести сервер 1С:Предприятие на новую версию платформы
Содержание
Сервер 1С обновляется установкой новой версии платформы рядом со старой и переключением службы «Агент сервера» на неё. Старая версия при этом остаётся на диске, поэтому откат возможен. Базы данных платформа не трогает: обновляется только исполняемая часть, а конфигурации остаются как были.
Работа занимает от 15 минут до часа, но требует остановки всех сеансов. Поэтому обновлять сервер 1С:Предприятие лучше вечером или в выходной, а до этого проверить, что клиенты и расширения переживут новую версию.
Что проверить до начала работ
Большая часть неприятностей при обновлении сервера случается из-за пропущенной подготовки. Потратьте на неё десять минут.
- Версии. Запишите текущий номер платформы (четыре группы цифр, например
8.3.xx.xxxx) и номер, на который идёте. Новую версию берите из раздела загрузки на сайте поддержки 1С, зайдя под своим логином. - Совместимость конфигураций. У каждой типовой конфигурации есть минимальная версия платформы. Если вы перепрыгиваете через несколько релизов, сначала убедитесь, что ваша конфигурация новую платформу поддерживает.
- Нетиповые доработки. Внешние обработки, расширения и внешние компоненты проверьте на тестовой копии. Именно они чаще всего ломаются на смене версии.
- Лицензии. Если используются аппаратные ключи, проверьте, что драйвер защиты свежий. С программными лицензиями проблем меньше, но менеджер лицензий должен быть доступен серверу.
- Свободное место. Новая платформа занимает порядка 400–700 МБ на сервере, плюс запас под резервные копии.
Резервные копии
Перед любым обновлением делайте две копии. Первая нужна для баз, вторая для самого кластера.
- Выгрузка информационных баз или бэкап СУБД (SQL Server, PostgreSQL): всё, что лежит на сервере.
- Копия каталога данных кластера. По умолчанию это папка
srvinfoв профиле пользователя, под которым работает служба. Точный путь указан в свойствах службы, в параметре-dкомандной строки. Там хранится реестр кластера, и без него пересоздавать список баз и администраторов придётся руками.
Копируйте каталог srvinfo только при остановленной службе. Копия «на лету» получается битой, и узнаете вы об этом в момент восстановления.
Предупредите пользователей
Заранее разошлите сообщение с временем остановки. В консоли кластера можно запретить новые подключения к базе и выставить сообщение для тех, кто пытается войти. Это бережнее, чем рубить сеансы в последний момент: люди успевают закончить документ.
Установка новой платформы вручную на Windows
Это самый предсказуемый способ, если сервер один и обновляете вы нечасто.
- Остановите службу «Агент сервера 1С:Предприятия 8.3» (в списке служб имя начинается со слов «Агент сервера»). Это завершит и рабочие процессы кластера.
- Убедитесь, что в диспетчере задач нет процессов
ragent,rmngr,rphost. Зависшийrphostможет держать файлы и мешать установке. - Запустите установщик серверной платформы от имени администратора. Обычно это
setup.exeиз архива с дистрибутивом. - В списке компонентов оставьте нужные: сервер 1С:Предприятия, администрирование сервера, модули расширения веб-серверов (если есть публикации). Клиентские компоненты на сервере ставить не обязательно, но для служебных задач они часто нужны.
- На шаге про службу установщик предлагает установить сервер
как службу Windows и спрашивает учётную запись. Выберите ту же, под которой работал старый сервер. Если укажете другую, у неё не окажется прав на каталог
srvinfo, и служба не поднимется. - Дождитесь завершения и запустите службу.
В обновлении «поверх» старая версия не удаляется. Установщик создаёт отдельную папку с номером версии в каталоге 1cv8, а служба перенастраивается на неё. Папки старых версий занимают место, и их стоит почистить, когда новая версия проработала хотя бы неделю.
Установка на Linux
На Linux порядок тот же, меняются только команды.
# остановить службу сервера
sudo systemctl stop srv1cv83
# установить пакеты новой версии (путь к файлам свой)
sudo dpkg -i ./*.deb
# запустить службу и посмотреть статус
sudo systemctl start srv1cv83
sudo systemctl status srv1cv83
На системах с RPM вместо dpkg -i используйте менеджер пакетов вашего дистрибутива. Имя службы зависит от того, как вы её регистрировали, поэтому проверьте его командой systemctl list-units | grep 1c.
Что делать, если нужно обновить кластер из консоли
Сама консоль кластера (оснастка «Администрирование серверов 1С:Предприятия») устанавливается вместе с платформой и версию сервера не меняет. Зато в ней удобно видеть, что происходит после обновления, и оттуда же проще всего закрыть доступ к базам до начала работ.
Порядок такой:
- В дереве слева откройте нужный кластер и раздел «Информационные базы».
- В свойствах каждой базы включите блокировку начала сеансов и впишите сообщение для пользователей. Это работает как вежливый запрет.
- В разделе «Сеансы» посмотрите, кто ещё работает, и завершите оставшиеся.
- Лишь после этого останавливайте службу и ставьте платформу.
Если консоль не подключается к серверу после смены версии, запустите консоль той же версии, что и сервер: она ставится вместе с платформой и лежит в папке новой версии.
Закрывать вход в базы нужно именно здесь, а не полагаться на устное «выходите к шести». Люди забывают, а блокировка работает без исключений, кроме администратора, который проводит работы.
Проверка кластера после перезапуска
Служба запустилась, и это ещё не всё. Пройдите по списку.
- Рабочие серверы. В консоли в разделе «Рабочие серверы» сервер должен быть в списке, а у него должны появляться процессы. Если процессов нет, кластер не поднялся.
- Номер версии. В свойствах рабочего процесса виден номер запущенной платформы. Сверьте с тем, что устанавливали.
- Базы. Откройте каждую базу с тестового клиента той же версии. Первый запуск после смены платформы идёт дольше обычного: идёт обновление служебных структур.
- Журнал регистрации. Загляните в него на предмет ошибок, начавшихся после обновления.
- Фоновые задания. Проверьте, что регламентные задания не зависли и выполняются по расписанию.
Клиенты и версия
Клиент и сервер должны совпадать по версии платформы на уровне первых трёх групп цифр, то есть 8.3.xx. Если на рабочих местах осталась старая платформа, при входе придёт сообщение о несовместимости, и пользователи не смогут запустить базу
.
Чтобы не бегать по компьютерам, используют автоматическое обновление клиентов. Для этого в списке баз и в настройках запуска включают режим «Использовать конкретную версию», а установочные файлы кладут в общую папку. В корпоративной среде то же делают через групповые политики или систему развёртывания ПО.
Хороший порядок такой: сначала раздайте новую платформу на клиентские компьютеры (она живёт рядом со старой и никому не мешает), а потом уже обновляйте сервер. В момент переключения проблем не будет.
Обновление платформы по сценарию: что выбрать
| Способ | Когда подходит | Риски |
|---|---|---|
| Вручную на сервере | Один сервер, обновления редкие | Человеческий фактор, пропущенный шаг |
| Скрипт | Несколько серверов или частые обновления | Ошибка в скрипте повторится везде |
| Групповая политика | Только для клиентских мест | Для сервера обычно не применяют |
| Установка нового сервера и перенос баз | Большой скачок версий, смена ОС | Больше времени и переносов |
Автоматизация обновления скриптом
Если серверов больше одного, ручная работа превращается в рутину, где легко ошибиться. Скрипт делает всё одинаково каждый раз.
Минимальный набор действий для Windows:
# остановить службу сервера 1С
$svc = Get-Service | Where-Object { $_.DisplayName -like "*Агент сервера*" }
Stop-Service -InputObject $svc -Force
# дождаться завершения рабочих процессов
Get-Process rphost, rmngr, ragent -ErrorAction SilentlyContinue | Stop-Process -Force
# здесь запуск установщика новой платформы с параметрами вашего дистрибутива
# запустить службу
Start-Service -InputObject $svc
Параметры тихой установки зависят от того, как собран ваш дистрибутив. Проверяйте их на тестовой машине: не полагайтесь на найденный в сети пример, у разных версий установщика ключи различаются.
Что стоит добавить в скрипт:
- 📦 проверку свободного места перед установкой;
- 🗂 копирование каталога
srvinfoпосле остановки службы; - 🧾 запись в лог времени начала и конца каждого шага;
- 🔔 уведомление администратору, если служба не поднялась за заданное время.
Принудительное завершение процессов допустимо только после того, как все пользователи вышли. Иначе незаписанные данные пропадут.
Для управления кластером из командной строки у платформы есть утилита rac и сервер администрирования ras. Через них скрипт может закрыть вход в базы и проверить, что сеансов не осталось. Точный синтаксис команд зависит от версии, поэтому сверяйтесь со справкой самой утилиты (rac help).
Разбор ошибок при обновлении сервера
Здесь только то, что не вытекает из шагов выше.
srvinfo или на папку с новой платформой. Выдайте права и запустите снова.Как откатиться
Если что-то пошло не так, а исправлять некогда:
- Остановите службу.
- Переключите службу на каталог старой версии. Для этого запустите установщик старой версии и переустановите службу либо поправьте путь к
ragent.exeв свойствах службы. - Верните каталог
srvinfoиз копии, если новая платформа успела изменить его структуру. - Запустите службу и проверьте базы.
Откат возможен именно потому, что вы не удаляли старую версию. Поэтому чистите диск от прежних платформ не сразу.
Частые вопросы
Нужно ли останавливать пользователей, чтобы обновить сервер?
Затрагивает ли обновление платформы конфигурацию?
Можно ли держать на сервере несколько версий платформы?
Версия клиента должна совпадать с версией сервера полностью?
Сколько по времени занимает обновление?
Как узнать, какая платформа сейчас работает на сервере?
ragent в свойствах службы: в нём есть номер версии.