Переход сервера 1С:Предприятия на новую версию или другую ОС без потери баз

· 9 мин

Содержание

Чтобы сменить платформу 1С на сервере, поставьте новую версию рядом со старой, остановите службу агента сервера, перерегистрируйте её на ragent.exe из каталога новой версии с тем же каталогом srvinfo и запустите. Список баз, настройки кластера и программные лицензии при этом сохраняются. Затем обновите клиентов и веб-публикации до того же номера версии.

Переезд на другую ОС (Windows → Linux) или другую СУБД сложнее: базы переносят через выгрузку .dt, а лицензии активируют заново. Ниже — оба сценария с командами, проверками и планом отката, если после перехода что-то пошло не так.

Подготовка к смене платформы на сервере

Главный риск — остаться без рабочей базы утром понедельника. Поэтому сначала копии и план, потом установка.

Что сохранить

  • 💾 Резервная копия каждой базы средствами СУБД. Для MS SQL — BACKUP DATABASE, для PostgreSQL — pg_dump. Выгрузка .dt — дополнительно, для небольших баз.
  • 📁 Каталог кластера srvinfo. В Windows по умолчанию C:\Program Files\1cv8\srvinfo, в Linux — /home/usr1cv8/.1cv8/1C/1cv8. Внутри reg_1541 лежит реестр кластера 1CV8Clst.lst со списком баз и настройками.
  • 🔑 Файлы программных лицензий. Windows: C:\ProgramData\1C\licenses, Linux: /var/1C/licenses.
  • 🌐 Файлы веб-публикаций: default.vrd в каталогах публикаций и конфигурация Apache (httpd.conf) или настройки IIS.

Пример копий перед работами:

-- MS SQL: копия вне цепочки регулярных бэкапов
BACKUP DATABASE [buh] TO DISK = N'D:\backup\buh_before_platform.bak' WITH COPY_ONLY;
# PostgreSQL: дамп в сжатом формате
pg_dump -U postgres -Fc -f /backup/buh_before_platform.dump buh

Восстановите хотя бы одну копию на тестовом сервере до начала работ. Копия, которую ни разу не разворачивали, — это надежда, а не страховка.

Что проверить до установки

  1. Совместимость конфигураций. У каждой типовой конфигурации есть минимальный и рекомендуемый номер платформы — смотрите в сопроводительных файлах релиза. Самописные доработки проверяйте на тестовой копии.
  2. Версию СУБД. Новые сборки платформы могут требовать более свежую сборку PostgreSQL для 1С или поддерживаемую версию MS SQL. Проверьте системные требования выбранного релиза.
  3. Внешние компоненты и обработки, которые подключаются на сервере. Старые компоненты, собранные под конкретную версию, перестают загружаться.
  4. Окно работ. Смена версии на сервере обрывает все сеансы. Планируйте вечер или выходной и предупредите пользователей заранее.
Готовность к смене платформы
Выполнено: 0 / 6

Windows или Linux: на какой ОС оставить сервер 1С

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

КритерийWindows ServerLinux (Ubuntu, Debian, РЕД ОС, Astra)
Стоимость ОС и СУБДЛицензии Windows и MS SQLОС и PostgreSQL для 1С — бесплатно
Привычная СУБДMS SQL ServerPostgreSQL
COM-объекты на сервереРаботаютНе работают
Внешние компонентыWindows-версииНужны сборки под Linux
Шрифты печатных формЕсть в системеСтавить отдельно
ИмпортозамещениеНе подходит для госсектораОтечественные дистрибутивы
АдминистрированиеГрафическая оснасткаКомандная строка, systemd

💡 Переезд на Linux почти всегда означает и смену СУБД с MS SQL на PostgreSQL. Это два риска в одном окне. Если возможно, сначала переведите базы на PostgreSQL на Windows, поживите так месяц, а потом меняйте ОС.

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

Версии 8.3 ставятся параллельно, каждая в свой каталог. Старую не удаляйте до конца проверки — она нужна для отката.

Windows: установка и перерегистрация службы

  1. Запустите setup.exe из дистрибутива «Технологическая платформа 64-бит». Отметьте компоненты «Сервер 1С:Предприятия 8» и «Модули расширения веб-сервера», если есть публикации.
  2. Флажок установки сервера как службы Windows можно не ставить: служба уже есть, её достаточно перенаправить.
  3. Сеансы оборвутся. Завершите работу пользователей и остановите службу «Агент сервера 1С:Предприятия 8.3».
  4. Откройте командную строку от имени администратора, удалите старую регистрацию и создайте новую из каталога новой версии:
cd "C:\Program Files\1cv8\8.3.xx.yyyy\bin"
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start

Ключевой параметр — -d. Он указывает на тот же каталог srvinfo, поэтому кластер поднимается с прежним списком баз. Порты и пользователь службы должны совпадать со старой регистрацией.

Второй способ — без перерегистрации. В реестре HKLM\SYSTEM\CurrentControlSet\Services найдите службу агента 1С и в параметре ImagePath замените номер версии в пути к ragent.exe. Затем запустите службу.

  1. Если на сервере установлена консоль администрирования, зарегистрируйте её библиотеку новой версии: regsvr32 "C:\Program Files\1cv8\8.3.xx.yyyy\bin\radmin.dll". Иначе консоль не подключится к обновлённому агенту.

Linux: установка и запуск через systemd

Начиная с 8.3.20 для Linux выпускается единый установщик setup-full-8.3.xx.yyyy-x86_64.run. Платформа ставится в /opt/1cv8/x86_64/8.3.xx.yyyy/.

chmod +x setup-full-8.3.xx.yyyy-x86_64.run
sudo ./setup-full-8.3.xx.yyyy-x86_64.run --mode unattended --enable-components server,ws

В каталоге новой версии лежит unit-файл службы. Остановите старую службу (сеансы оборвутся), подключите новую и включите автозапуск:

sudo systemctl stop srv1cv8-8.3.старая@default
sudo systemctl disable srv1cv8-8.3.старая@default
sudo systemctl link /opt/1cv8/x86_64/8.3.xx.yyyy/srv1cv8-8.3.xx.yyyy@.service
sudo systemctl enable --now srv1cv8-8.3.xx.yyyy@default

Имена компонентов установщика и юнитов сверяйте со справкой --help вашего дистрибутива: в разных релизах они уточнялись.

Клиенты должны перейти на тот же номер

Клиент и сервер работают только при полном совпадении версии, вплоть до последней цифры. Иначе пользователь увидит Несоответствие версий клиента и сервера.

Чтобы не обходить рабочие места, положите дистрибутив клиента в общую папку и пропишите её в 1CEStart.cfg параметром DistributiveLocation. При запуске 1cestart.exe проверит каталог и установит новую версию. Пользователю нужны права на установку программ, либо разверните клиент групповой политикой.

Перенос информационных баз на новую платформу

Что делать с базами, зависит от того, меняется ли что-то кроме номера версии.

Тот же сервер, та же СУБД

Делать с базами ничего не нужно. Агент поднял кластер с прежним srvinfo, базы на месте. При первом подключении платформа может обновить служебные структуры — это нормально и занимает от секунд до нескольких минут на крупных базах.

Новая машина, та же СУБД

  1. Восстановите базы из бэкапа СУБД на новом сервере.
  2. Установите платформу и зарегистрируйте службу.
  3. Создайте базы в кластере через консоль администрирования, указав существующие базы данных СУБД. Флажок «Создать базу данных в случае ее отсутствия» не ставьте.
  4. Либо перенесите каталог srvinfo целиком, если имя сервера и порты не меняются.

Новая СУБД (MS SQL → PostgreSQL)

Бэкап MS SQL в PostgreSQL не восстановить. Единственный штатный путь — выгрузка и загрузка информационной базы:

  1. В Конфигураторе старой базы: Администрирование → Выгрузить информационную базу → файл .dt.
  2. Создайте пустую базу в новом кластере на PostgreSQL.
  3. В Конфигураторе новой базы: Администрирование → Загрузить информационную базу.
  4. Запустите Администрирование → Тестирование и исправление с проверкой логической и ссылочной целостности.

На базе в 100–200 ГБ выгрузка и загрузка .dt занимают часы. Сделайте пробный прогон заранее и замерьте время, чтобы окно работ не закончилось посреди загрузки.

Лицензии при переезде

Программная лицензия привязана к параметрам компьютера. На новом сервере её активируют заново: резервным пин-кодом из комплекта или через восстановление лицензии . Старые файлы из licenses на новое железо не переносятся. Аппаратный ключ HASP на Linux требует драйвера aksusbd.

Веб-доступ, COM и внешние компоненты после перехода

Это то, что чаще всего забывают и обнаруживают только при первом звонке пользователя.

Веб-публикации

Модуль веб-сервера жёстко привязан к версии. После смены платформы:

  • Apache: в httpd.conf строка LoadModule _1cws_module указывает на wsap24.dll (Linux — wsap24.so) старой версии. Поменяйте путь на каталог новой и перезапустите Apache.
  • IIS: обработчик ссылается на wsisapi.dll старой версии. Проще всего заново опубликовать базу утилитой webinst новой версии.
"C:\Program Files\1cv8\8.3.xx.yyyy\bin\webinst.exe" -publish -apache24 -wsdir buh -dir "C:\inetpub\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

Тонкий клиент через браузер и HTTP-сервисы снова заработают после перезапуска веб-сервера.

Интеграции

  • 🔌 COM-соединение (V83.COMConnector) из внешних программ: зарегистрируйте comcntr.dll новой версии командой regsvr32. На Linux-сервере COM нет — такие обмены придётся переделать на HTTP-сервисы или OData.
  • 🧩 Внешние компоненты в макетах конфигурации: проверьте, что есть версия под нужную ОС и разрядность.
  • 📂 Пути к файлам в обработках обмена: на Linux вместо \\server\share нужен смонтированный каталог и прямые слеши.
  • 🔤 Шрифты: на Linux поставьте шрифты, которые используют печатные формы, иначе вёрстка поплывёт.

Проверка работы и типичные сбои после смены платформы

Проверяйте не «база открылась», а рабочие сценарии: провести документ каждого основного типа, сформировать тяжёлый отчёт, запустить обмен, распечатать форму, проверить регламентные задания в консоли.

Диагностика: выберите симптом

Если после перехода появились странные ошибки сеансов, помогает очистка серверного кэша. Остановите службу (сеансы оборвутся), удалите в srvinfo\reg_1541 каталоги snccntx*, запустите службу. Сам файл 1CV8Clst.lst не трогайте — в нём список баз.

Наблюдение за сервером в первые дни после миграции

Первую неделю смотрите на сервер внимательнее, чем обычно. Часть проблем проявляется только под реальной нагрузкой: закрытие месяца, массовая печать, ночной обмен.

  1. Технологический журнал. Включите сбор исключений и долгих запросов через logcfg.xml в каталоге conf платформы. Начните с событий EXCP и DBMSSQL длительностью от нескольких секунд, иначе журнал быстро займёт диск.
  2. Консоль кластера. Смотрите число сеансов, память рабочих процессов rphost и их перезапуски.
  3. Счётчики ОС. Загрузка процессора, свободная память, очередь диска. На Linux — top, iostat; на Windows — монитор ресурсов.
  4. Регламентные задания. Проверьте в журнале регистрации, что обмены, загрузка курсов и резервное копирование отработали.

💡 Сравнивайте с цифрами до перехода. Если до смены платформы отчёт строился 40 секунд, а теперь 3 минуты — это повод разбираться сразу, а не через месяц.

Как откатить платформу 1С на сервере

Пока старая версия не удалена, откат — это та же перерегистрация службы, только в обратную сторону.

  1. Предупредите пользователей и остановите службу агента — сеансы оборвутся.
  2. Зарегистрируйте ragent.exe старой версии с тем же -d, или верните старый путь в ImagePath. На Linux — отключите новый юнит и включите старый.
  3. Верните путь модуля в конфигурации веб-сервера и radmin.dll старой версии.
  4. Откатите клиентов: уберите новую версию из DistributiveLocation или явно укажите версию в списке баз.

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

Поэтому решение об откате принимайте быстро: в первые часы, пока потери минимальны. Старую версию удаляйте только после недели спокойной работы.

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

Нужно ли менять режим совместимости конфигурации после смены платформы?
Нет. Режим совместимости меняется отдельно, при обновлении конфигурации. Новая платформа открывает базы со старым режимом совместимости.
Можно ли держать на одном сервере две версии сервера 1С?
Да. Каждая версия ставится в свой каталог, а второй кластер регистрируется с другими портами, например 2540, 2541 и диапазоном 2560:2591. Так удобно тестировать новую версию на копии базы.
Слетят ли программные лицензии при обновлении версии платформы?
Нет, если сервер и его оборудование не менялись. Файлы в каталоге licenses читает любая версия 8.3.
Можно ли перейти сразу через несколько релизов платформы?
Да, промежуточные версии ставить не нужно. Но конфигурация должна поддерживать целевой номер платформы — проверьте это по документации релиза.
Сколько длится смена версии на том же сервере?
Сама перерегистрация службы — минуты. Основное время уходит на резервные копии и проверку рабочих сценариев, обычно 1–3 часа.