Переход сервера 1С:Предприятия на новую версию или другую ОС без потери баз
Содержание
Чтобы сменить платформу 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
Восстановите хотя бы одну копию на тестовом сервере до начала работ. Копия, которую ни разу не разворачивали, — это надежда, а не страховка.
Что проверить до установки
- Совместимость конфигураций. У каждой типовой конфигурации есть минимальный и рекомендуемый номер платформы — смотрите в сопроводительных файлах релиза. Самописные доработки проверяйте на тестовой копии.
- Версию СУБД. Новые сборки платформы могут требовать более свежую сборку PostgreSQL для 1С или поддерживаемую версию MS SQL. Проверьте системные требования выбранного релиза.
- Внешние компоненты и обработки, которые подключаются на сервере. Старые компоненты, собранные под конкретную версию, перестают загружаться.
- Окно работ. Смена версии на сервере обрывает все сеансы. Планируйте вечер или выходной и предупредите пользователей заранее.
Windows или Linux: на какой ОС оставить сервер 1С
Если вы просто обновляете номер версии, ОС не меняется — переходите к установке. Если сервер переезжает, сравните варианты.
| Критерий | Windows Server | Linux (Ubuntu, Debian, РЕД ОС, Astra) |
|---|---|---|
| Стоимость ОС и СУБД | Лицензии Windows и MS SQL | ОС и PostgreSQL для 1С — бесплатно |
| Привычная СУБД | MS SQL Server | PostgreSQL |
| COM-объекты на сервере | Работают | Не работают |
| Внешние компоненты | Windows-версии | Нужны сборки под Linux |
| Шрифты печатных форм | Есть в системе | Ставить отдельно |
| Импортозамещение | Не подходит для госсектора | Отечественные дистрибутивы |
| Администрирование | Графическая оснастка | Командная строка, systemd |
💡 Переезд на Linux почти всегда означает и смену СУБД с MS SQL на PostgreSQL. Это два риска в одном окне. Если возможно, сначала переведите базы на PostgreSQL на Windows, поживите так месяц, а потом меняйте ОС.
Установка новой версии платформы на сервер
Версии 8.3 ставятся параллельно, каждая в свой каталог. Старую не удаляйте до конца проверки — она нужна для отката.
Windows: установка и перерегистрация службы
- Запустите
setup.exeиз дистрибутива «Технологическая платформа 64-бит». Отметьте компоненты «Сервер 1С:Предприятия 8» и «Модули расширения веб-сервера», если есть публикации. - Флажок установки сервера как службы Windows можно не ставить: служба уже есть, её достаточно перенаправить.
- Сеансы оборвутся. Завершите работу пользователей и остановите службу «Агент сервера 1С:Предприятия 8.3».
- Откройте командную строку от имени администратора, удалите старую регистрацию и создайте новую из каталога новой версии:
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. Затем запустите службу.
- Если на сервере установлена консоль администрирования, зарегистрируйте её библиотеку новой версии:
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, базы на месте. При первом подключении платформа может обновить служебные структуры — это нормально и занимает от секунд до нескольких минут на крупных базах.
Новая машина, та же СУБД
- Восстановите базы из бэкапа СУБД на новом сервере.
- Установите платформу и зарегистрируйте службу.
- Создайте базы в кластере через консоль администрирования, указав существующие базы данных СУБД. Флажок «Создать базу данных в случае ее отсутствия» не ставьте.
- Либо перенесите каталог
srvinfoцеликом, если имя сервера и порты не меняются.
Новая СУБД (MS SQL → PostgreSQL)
Бэкап MS SQL в PostgreSQL не восстановить. Единственный штатный путь — выгрузка и загрузка информационной базы:
- В Конфигураторе старой базы:
Администрирование → Выгрузить информационную базу→ файл.dt. - Создайте пустую базу в новом кластере на PostgreSQL.
- В Конфигураторе новой базы:
Администрирование → Загрузить информационную базу. - Запустите
Администрирование → Тестирование и исправлениес проверкой логической и ссылочной целостности.
На базе в 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 не трогайте — в нём список баз.
Наблюдение за сервером в первые дни после миграции
Первую неделю смотрите на сервер внимательнее, чем обычно. Часть проблем проявляется только под реальной нагрузкой: закрытие месяца, массовая печать, ночной обмен.
- Технологический журнал. Включите сбор исключений и долгих запросов через
logcfg.xmlв каталогеconfплатформы. Начните с событийEXCPиDBMSSQLдлительностью от нескольких секунд, иначе журнал быстро займёт диск. - Консоль кластера. Смотрите число сеансов, память рабочих процессов
rphostи их перезапуски. - Счётчики ОС. Загрузка процессора, свободная память, очередь диска. На Linux —
top,iostat; на Windows — монитор ресурсов. - Регламентные задания. Проверьте в журнале регистрации, что обмены, загрузка курсов и резервное копирование отработали.
💡 Сравнивайте с цифрами до перехода. Если до смены платформы отчёт строился 40 секунд, а теперь 3 минуты — это повод разбираться сразу, а не через месяц.
Как откатить платформу 1С на сервере
Пока старая версия не удалена, откат — это та же перерегистрация службы, только в обратную сторону.
- Предупредите пользователей и остановите службу агента — сеансы оборвутся.
- Зарегистрируйте
ragent.exeстарой версии с тем же-d, или верните старый путь вImagePath. На Linux — отключите новый юнит и включите старый. - Верните путь модуля в конфигурации веб-сервера и
radmin.dllстарой версии. - Откатите клиентов: уберите новую версию из
DistributiveLocationили явно укажите версию в списке баз.
Если пользователи уже поработали на новой версии и база получила изменения в служебных структурах, гарантированно вернуть её на старую платформу можно только из резервной копии, сделанной до перехода. Данные, введённые после перехода, при этом потеряются — их придётся переносить вручную или выгрузкой.
Поэтому решение об откате принимайте быстро: в первые часы, пока потери минимальны. Старую версию удаляйте только после недели спокойной работы.