Переход сервера 1С:Предприятия 8.3 на новую платформу без потери кластера
Содержание
Чтобы обновить версию 1С сервера, остановите службу агента сервера, сохраните каталог srvinfo, установите новый дистрибутив платформы с компонентом «Сервер 1С:Предприятия» и запустите службу уже из каталога новой версии. После этого перерегистрируйте radmin.dll для консоли и поставьте ту же версию платформы на все клиентские компьютеры: клиент и сервер должны совпадать до последней цифры.
Типичная ситуация: новый релиз Бухгалтерии требует платформу не ниже 8.3.24, а на сервере стоит 8.3.22. Обновить конфигурацию нельзя, пока не обновите сервер. Ниже порядок, при котором кластер, список баз и настройки рабочих серверов переезжают на новую версию целиком.
1. Подготовка: окно работ, копии баз и каталога кластера
Обновление платформы на сервере обрывает все сеансы. Планируйте его на вечер или выходные и предупредите пользователей заранее.
Что сделать до установки:
- 📦 Скачайте дистрибутив нужной версии с портала обновлений 1С. Для Windows — «Технологическая платформа 1С:Предприятия (64-bit) для Windows», для Linux — полный дистрибутив для Linux x86-64 (DEB или RPM).
- 📄 Прочитайте требования конфигураций. В описании каждого релиза БП, ЗУП, УТ указана минимальная версия платформы. Новая платформа должна подходить всем базам кластера.
- 💾 Сделайте резервные копии баз средствами СУБД:
pg_dumpдля PostgreSQL или задание резервного копирования в SQL Server. Выгрузка.dtтоже подойдёт, но на больших базах это долго. - 🗂️ Скопируйте каталог кластера
srvinfo. В нём лежат реестр кластера, список информационных баз, настройки рабочих серверов и администраторы кластера. - 🔑 Запишите параметры службы: учётную запись (обычно
USR1CV8), порты агента и менеджера (по умолчанию 1540 и 1541), диапазон рабочих процессов (по умолчанию 1560–1591).
Где обычно лежит srvinfo:
| ОС | Путь по умолчанию |
|---|---|
| Windows | C:\Program Files\1cv8\srvinfo |
| Linux | /home/usr1cv8/.1cv8/1C/1cv8 |
Точный путь на вашем сервере виден в параметре -d командной строки службы агента.
Проверьте, не пересекается ли окно работ с регламентными заданиями: ночными обменами, загрузкой выписок, резервным копированием. Их лучше заблокировать на время работ (об этом в разделе 5).
2. Как обновить сервер 1С на Windows
На Windows разные версии платформы ставятся в отдельные каталоги вида C:\Program Files\1cv8\8.3.xx.yyyy. Старая версия не удаляется, и это удобно для отката.
Остановка службы
- Включите в консоли кластера блокировку начала сеансов для баз и дождитесь, пока пользователи выйдут.
- Откройте
services.mscи найдите службу «Агент сервера 1С:Предприятия 8.3 (x86-64)». - Остановите её. Все сеансы будут прерваны, несохранённые документы пользователей пропадут.
Установка новой версии
- Запустите
setup.exeиз дистрибутива от имени администратора. - В списке компонентов отметьте «Сервер 1С:Предприятия 8», «Администрирование сервера 1С:Предприятия». Если на этом же компьютере стоит IIS или Apache с публикацией баз — также «Модули расширения веб-сервера».
- Оставьте флажок установки сервера как службы и укажите того же пользователя, под которым служба работала раньше.
- Дождитесь окончания установки. Если установщик предложит установить драйвер защиты, соглашайтесь только при работе с аппаратными ключами HASP.
Проверка пути службы
Откройте свойства службы агента и посмотрите поле «Исполняемый файл». Путь должен вести в каталог новой версии, например:
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Если там по-прежнему старый номер, перерегистрируйте службу вручную. Командная строка от имени администратора:
rem удалить службу, зарегистрированную старой версией
"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -rmsrvc
rem зарегистрировать службу новой версии с прежними параметрами
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -instsrvc -usr .\USR1CV8 -pwd "пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Номера версий в примере замените на свои. Ключ -d должен указывать на тот же каталог srvinfo, что и раньше, иначе кластер стартует пустым.
Консоль и COM-соединение
Консоль администрирования работает через radmin.dll, и её версия должна совпадать с версией сервера. После обновления зарегистрируйте библиотеку из новой версии:
regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"
Если внешние программы подключаются к базам через COM (сайт, обработки обмена, скрипты), так же перерегистрируйте comcntr.dll из каталога bin новой версии.
Запустите службу и откройте консоль. В дереве должны появиться прежний кластер и все базы.
3. Обновление сервера 1С в Linux
В Linux порядок тот же: остановить, установить, переключить службу на новую версию. Отличаются команды и способ запуска.
Установка
Начиная с 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.25.1374-x86_64.run
sudo ./setup-full-8.3.25.1374-x86_64.run --mode unattended --enable-components server,ws
Набор компонентов и режимы установки показывает ключ --help. Если веб-публикации на этом сервере нет, компонент ws не нужен.
Переключение службы
Для каждой версии в её каталоге лежит шаблон юнита systemd. Остановите старую службу и подключите новую:
# старая версия
sudo systemctl stop srv1cv8-8.3.22.1709@default
sudo systemctl disable srv1cv8-8.3.22.1709@default
# новая версия
sudo systemctl link /opt/1cv8/x86_64/8.3.25.1374/srv1cv8-8.3.25.1374@.service
sudo systemctl enable srv1cv8-8.3.25.1374@default
sudo systemctl start srv1cv8-8.3.25.1374@default
sudo systemctl status srv1cv8-8.3.25.1374@default
Остановка службы обрывает все сеансы — делайте это только в согласованное окно.
Если сервер был установлен до 8.3.20 из отдельных пакетов 1c-enterprise83-*, служба называлась srv1cv83 и управлялась скриптом в /etc/init.d. В этом случае остановите её, отключите автозапуск и переходите на юнит новой версии, как показано выше.
Права и удалённое администрирование
- 👤 Каталог кластера должен принадлежать пользователю
usr1cv8. После ручного копированияsrvinfoвыполнитеsudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8. - 🖥️ Если вы управляете кластером через
rasиrac, запускайтеrasтоже из каталога новой версии. Проверка:rac cluster listдолжен вернуть ваш кластер.
4. Кластер после обновления: версии, порты, параллельный запуск
Что переносится само
При использовании прежнего каталога srvinfo сохраняются список баз, рабочие серверы, требования назначения функциональности, администраторы кластера и параметры баз. Пересоздавать ничего не нужно.
Несколько рабочих серверов
В кластере из нескольких машин версия платформы на всех рабочих серверах должна быть одинаковой. Обновляйте их в одно окно: сначала центральный сервер, затем остальные. Рабочий сервер со старой версией к кластеру не подключится.
Две версии на одном сервере
Иногда нужно сначала прогнать новую версию на копии базы, не трогая рабочий кластер. Для этого вторую версию запускают отдельной службой с другими портами и другим каталогом кластера:
| Параметр | Рабочий кластер | Тестовый кластер |
|---|---|---|
| Порт агента | 1540 | 2540 |
| Порт менеджера | 1541 | 2541 |
| Рабочие процессы | 1560–1591 | 2560–2591 |
| Каталог кластера | srvinfo | srvinfo_test |
Подключение к тестовой базе тогда идёт с указанием порта: Srvr="server:2541";Ref="buh_test";.
Клиентские компьютеры
Клиент обязан иметь ровно ту же версию, что и сервер. Варианты доставки:
- 💻 поставить платформу на каждый компьютер вручную или через групповые политики;
- 📁 указать в
1CEStart.cfgпараметрDistributiveLocationс сетевым каталогом дистрибутива — тогда запуск установит нужную версию; - 🌐 для терминального сервера — обновить платформу на нём одновременно с сервером 1С.
Если на компьютере установлено несколько версий, запускатель сам выберет нужную. В свойствах базы в списке баз можно жёстко задать версию в поле «Версия 1С:Предприятия», например 8.3.25.
5. Информационные базы и конфигурации на новой платформе
Обновление платформы не меняет конфигурацию и данные. Бухгалтерия останется того же релиза, просто начнёт работать на новом движке.
Блокировка на время работ
В консоли откройте свойства каждой базы и включите:
- 🔒 «Блокировка начала сеансов включена» — с сообщением для пользователей и кодом разрешения для администратора;
- ⏸️ «Блокировка регламентных заданий включена» — чтобы обмены и загрузки не стартовали посреди обновления.
Не забудьте снять обе блокировки в конце, иначе утром никто не войдёт, а ночные обмены перестанут работать.
Обновление конфигураций
Когда сервер работает на новой платформе, можно ставить новые релизы конфигураций, ради которых всё затевалось:
- типовые базы на поддержке — через
Администрирование → Интернет-поддержка и сервисы → Обновление версии программы; - доработанные базы — в Конфигураторе через сравнение и объединение, с последующим обновлением конфигурации базы данных.
Перед обновлением конфигурации снова проверьте минимальную версию платформы в описании релиза. Если релиз требует 8.3.25, а вы поставили 8.3.24, обновление не начнётся.
Режим совместимости
Свойство конфигурации «Режим совместимости» позволяет базе работать на новой платформе так же, как на старой. Менять его вручную в типовых конфигурациях не нужно: разработчики сами поднимают его в очередных релизах.
6. Ошибки после обновления сервера и как их снять
Большинство проблем после смены версии сводится к тому, что какой-то компонент остался на старой версии.
Если не помогло: откат на прежнюю версию
Старая версия остаётся в своём каталоге, поэтому вернуться назад несложно:
- Остановите службу новой версии (сеансы оборвутся).
- На Windows перерегистрируйте службу через
ragent.exe -instsrvcиз каталога старой версии, на Linux включите и запустите юнит старой версии. - Перерегистрируйте
radmin.dllот старой версии. - Если на новой платформе успели обновить конфигурации баз, восстановите базы из резервных копий, сделанных в разделе 1. Новый релиз конфигурации на старой платформе может не запуститься.
Удаляйте старую версию платформы через неделю-другую спокойной работы, не раньше.
7. Проверка после обновления
Сервер запущен, консоль открылась — работа ещё не закончена. Пройдитесь по списку, пока пользователи не пришли:
Отдельно проверьте всё, что зависит от пути к платформе: ярлыки с прописанным 1cv8.exe, планировщик заданий Windows с пакетными запусками, скрипты выгрузки. Они часто ссылаются на конкретный каталог старой версии.