Подготовка к миграции: что нужно проверить до начала работ
Перенос сервера 1С начинается не с копирования файлов, а с аудита. Пропуск этого этапа - причина большинства аварийных ситуаций. Вы должны задокументировать каждый компонент текущей инфраструктуры, чтобы воспроизвести его на новом месте без сюрпризов.
Зафиксируйте две ключевые метрики: RTO (допустимое время простоя) и RPO (допустимая потеря данных). Для бухгалтерии RPO может быть нулевым - потеря даже часа проводок недопустима. Для внутреннего документооборота RPO в 4 часа часто приемлем. Эти цифры определят стратегию переноса: холодное копирование, репликация или кластерный переход.
Составьте план отката. Если миграция пойдет не по плану, вы должны вернуть старый сервер в работу за время, не превышающее RTO. План отката - не абстрактная страховка, а четкая последовательность: запуск старых служб, переключение DNS или IP, проверка доступности.
Инвентаризация текущей конфигурации
Соберите информацию в таблицу. Минимальный набор полей:
- Список информационных баз с именами в кластере и на диске.
- Версия платформы 1С:Предприятие (полный номер сборки, например 8.3.25.1394).
- Версии конфигураций и режим совместимости.
- Перечень расширений конфигурации - их часто забывают, и после переезда интерфейс «ломается».
- Внешние обработки и отчеты, подключенные через механизмы БСП или напрямую.
- Параметры кластера: количество рабочих процессов, настройки памяти, фоновые задания.
- Версия и конфигурация СУБД (MS SQL Server 2019/2022, PostgreSQL 14/15/16).
- Сторонние компоненты: драйверы торгового оборудования, COM-объекты, внешние библиотеки.
Проверьте зависимости от конкретных путей на диске. Если внешние обработки лежат в C:\Reports, а на новом сервере диск D:, часть функционала откажется работать. Перенесите пути один в один или подготовьте перенастройку.
Анализ лицензий и ключей защиты
Лицензирование - самый частый камень преткновения. Определите тип каждого ключа до начала работ.
Программные лицензии. Привязаны к параметрам оборудования: серийному номеру материнской платы, MAC-адресу, версии ОС. При переносе на новое железо лицензия потребует повторной активации. Запишите все пин-коды и количество оставшихся активаций. Если лимит исчерпан, заранее запросите новые пин-коды у партнера 1С.
Аппаратные ключи HASP. Физический USB-ключ или сетевой ключ в локальной сети. При миграции физический ключ просто переставляется. Сетевой ключ потребует перенастройки менеджера лицензий HASP License Manager на новом сервере.
Серверные лицензии. Учитывают количество одновременно работающих пользователей. Проверьте, что на новом сервере лицензия корректно раздается клиентам - часто проблема в брандмауэре, блокирующем порт 1540.
План отката и резервное копирование
Перед любыми действиями сделайте полный набор резервных копий. Храните их на отдельном носителе, не на старом и не на новом сервере.
Что копировать:
- Полные бэкапы всех баз данных средствами СУБД и выгрузки в dt.
- Каталог с данными кластера 1С (по умолчанию C:\ProgramData\1C\1cv8 или /opt/1C/v8.3).
- Файлы лицензий (*.lic) из каталога C:\ProgramData\1C\1Cv8\conf.
- Конфигурационные файлы сервера 1С и СУБД.
- Внешние компоненты и обработки.
Проверьте целостность бэкапов. Восстановите один из них на тестовом стенде и запустите 1С в монопольном режиме с проверкой ссылочной целостности. Бэкап, который не восстанавливается, - это не бэкап.
Резервное копирование баз данных 1С
Бэкап - фундамент безопасной миграции. Используйте два метода параллельно: выгрузку в dt как универсальный формат и нативный бэкап СУБД для скорости восстановления.
Бэкап средствами 1С: выгрузка в dt
Файл dt содержит конфигурацию и данные в формате, независимом от версии СУБД. Это страховка на случай несовместимости платформ. Выгрузка выполняется через конфигуратор в монопольном режиме:
- Запустите конфигуратор от имени администратора.
- Выберите «Администрирование» - «Выгрузить информационную базу».
- Укажите путь к файлу dt и дождитесь завершения.
Ограничения метода: для баз размером более 50 ГБ выгрузка может занять часы. На production-сервере с сотнями пользователей монопольный режим означает простой. В таких случаях dt-бэкап делается в регламентное окно, а основным инструментом становится бэкап на уровне СУБД.
Резервное копирование на уровне СУБД
Нативные бэкапы СУБД выполняются без остановки работы пользователей и значительно быстрее dt-выгрузки. Команды для основных СУБД:
MS SQL Server:
BACKUP DATABASE [ИмяБазы] TO DISK = N'D:\Backup\ИмяБазы_20260727.bak' WITH COMPRESSION, CHECKSUM;
Опция CHECKSUM критична - она проверяет целостность страниц данных при создании бэкапа. Сжатие экономит место и ускоряет запись.
PostgreSQL:
pg_dump -h localhost -U postgres -F c -b -v -f /backup/ИмяБазы_20260727.backup ИмяБазы
Формат custom (-F c) позволяет восстанавливать выборочные таблицы. Для очень крупных баз используйте pg_basebackup - он создает бинарную копию всего кластера PostgreSQL и незаменим при настройке репликации.
Храните бэкапы на трех носителях: локальный диск нового сервера, сетевое хранилище, внешний диск. После создания бэкапа выполните тестовое восстановление на новом сервере до начала боевой миграции. Это выявит проблемы совместимости версий СУБД на раннем этапе.
Развертывание нового сервера и восстановление баз
Целевая среда должна быть готова до переноса данных. Установите и настройте все компоненты заранее, чтобы этап восстановления занял минимум времени.
Установка и настройка серверной части 1С
Версия платформы на новом сервере должна совпадать со старой вплоть до номера сборки. Разница в сборках приводит к ошибкам целостности при восстановлении dt-файлов. Скачайте дистрибутив нужной версии с портала 1С и установите компонент «Сервер 1С:Предприятия».
Параметры кластера на новом сервере настраивайте с учетом доступных ресурсов:
- Количество рабочих процессов - по числу ядер CPU, но не более 8 на один процесс rphost во избежание конкуренции за память.
- Объем памяти на рабочий процесс - от 2 ГБ для небольших баз, до 16 ГБ для нагруженных конфигураций вроде ERP.
- Режим назначения функциональности - «Разделять» для распределения нагрузки между процессами.
Если новый сервер мощнее старого, увеличьте параметры после успешной миграции и тестирования. Менять конфигурацию кластера до проверки работоспособности рискованно - вы не сможете отделить проблемы миграции от проблем настройки.
Восстановление баз данных
Метод восстановления зависит от типа созданного бэкапа.
Из dt-файла: запустите конфигуратор на новом сервере, создайте пустую информационную базу и выберите «Администрирование» - «Загрузить информационную базу». Укажите путь к dt-файлу. После загрузки выполните «Тестирование и исправление» с проверкой ссылочной целостности.
Из бэкапа MS SQL:
RESTORE DATABASE [ИмяБазы] FROM DISK = N'D:\Backup\ИмяБазы_20260727.bak' WITH REPLACE, RECOVERY;
Из бэкапа PostgreSQL:
pg_restore -h localhost -U postgres -d ИмяБазы -v /backup/ИмяБазы_20260727.backup
После восстановления через СУБД базу нужно зарегистрировать в кластере 1С. Откройте консоль администрирования сервера 1С, создайте новую информационную базу и укажите параметры подключения к восстановленной базе данных.
Проверьте права доступа: учетная запись, под которой работает сервер 1С, должна иметь полные права на восстановленную базу. Для MS SQL это роль db_owner, для PostgreSQL - владелец базы.
Перенос и активация лицензий
Без корректной активации лицензий пользователи не смогут войти в систему. Тип лицензии определяет процедуру переноса.
Программные лицензии: деактивация и повторная активация
Программная лицензия привязана к «цифровому отпечатку» компьютера. При смене оборудования отпечаток меняется, и лицензия перестает работать. Последовательность действий:
- На старом сервере откройте конфигуратор и выберите «Сервис» - «Получение лицензии».
- В диалоге отобразится список активных лицензий. Выберите нужную и нажмите «Деактивировать». Лицензия вернется в пул доступных активаций.
- На новом сервере запустите конфигуратор и повторите путь «Сервис» - «Получение лицензии». Введите пин-код и выполните активацию.
Если старый сервер недоступен или ОС не загружается, деактивация через конфигуратор невозможна. Используйте утилиту ring из состава платформы 1С:
ring license list --send-to-support
Эта команда выводит информацию о лицензиях. Обратитесь к партнеру 1С с полученными данными для принудительного освобождения активаций.
Аппаратные ключи HASP
Физический USB-ключ HASP достаточно переставить в порт нового сервера. Установите драйвер HASP - он входит в состав платформы 1С или скачивается отдельно с сайта производителя. После установки драйвера проверьте видимость ключа утилитой HASPView.
Для сетевого ключа HASP, работающего через HASP License Manager, перенесите менеджер на новый сервер. Установите его, подключите ключ и настройте клиентские машины на новый адрес менеджера лицензий. Параметр задается в файле nethasp.ini на каждом клиенте или централизованно через групповые политики.
Проверка работоспособности после миграции
Формальный запуск клиента 1С - не показатель успеха. Проверьте ключевые сценарии и производительность до того, как допускать пользователей к работе.
Тестирование пользовательских сценариев
Составьте чек-лист типовых операций и пройдите его от имени тестового пользователя:
- Проведение документа «Поступление товаров» и проверка движений по регистрам.
- Формирование регламентированного отчета (бухгалтерский баланс, налоговая декларация).
- Закрытие месяца - тестовая операция за произвольный период.
- Работа обменов: синхронизация с сайтом, обмен между базами через правила обмена.
- Фоновые задания: проверьте, что регламентные задания запускаются и завершаются без ошибок.
- Внешние обработки: запустите каждую из списка инвентаризации.
Подключитесь всеми типами клиентов: толстый клиент, тонкий клиент, веб-клиент. Разные клиенты используют разные протоколы, и проблема может проявиться только в одном из них.
Мониторинг производительности
Запустите технологический журнал на время тестирования и проанализируйте события. Настройте сбор данных о времени выполнения ключевых запросов с помощью консоли запросов или подсистемы БСП «Оценка производительности».
Сравните метрики со старым сервером:
- Время проведения типового документа (замерялось до миграции - должно быть не хуже).
- Загрузка CPU и памяти во время пиковых операций.
- Время отклика СУБД на контрольный запрос.
Просмотрите логи сервера 1С (каталог logs в данных приложения) и логи СУБД. Ошибки, которые не проявляются в интерфейсе, часто видны в логах - заблокированные транзакции, таймауты, проблемы с памятью.
Минимизация простоя: стратегии для production-сред
Прямая миграция с полной остановкой подходит не всем. Если RTO измеряется минутами, используйте продвинутые методы.
Миграция с минимальным простоем через репликацию
Репликация СУБД позволяет синхронизировать данные между старым и новым сервером в реальном времени. В момент переключения простой составляет секунды - время на изменение DNS-записи или IP-адреса.
MS SQL Server Always On: настройте группу доступности между старым и новым сервером. База синхронизируется непрерывно. В момент миграции выполните принудительный переход на новую реплику. Старый сервер становится вторичной репликой и может быть выключен.
Потоковая репликация PostgreSQL: настройте физическую репликацию между серверами. Новый сервер работает как реплика в режиме горячего резерва. В момент переключения выполните pg_ctl promote на новом сервере - он станет основным. Простой - несколько секунд на повышение и перенаправление клиентов.
После переключения проверьте, что старый сервер больше не принимает подключения. Двойная запись в разные базы - гарантированный способ потерять данные.
Использование кластера 1С для бесшовного перехода
Кластер 1С поддерживает добавление рабочих серверов без остановки. Процедура бесшовной миграции:
- Добавьте новый сервер в существующий кластер через консоль администрирования.
- Настройте требования назначения функциональности так, чтобы новые базы размещались на новом сервере.
- Поочередно переносите информационные базы на новый рабочий сервер через свойства базы в консоли.
- После переноса всех баз исключите старый сервер из кластера.
Этот метод требует, чтобы оба сервера имели доступ к одним и тем же базам данных СУБД. Если СУБД тоже переносится, сначала мигрируйте базы данных с репликацией, затем обновите строки подключения в кластере 1С.
Типовые ошибки и их решение
Даже тщательно спланированная миграция может столкнуться с неожиданными проблемами. Вот решения самых частых.
Ошибка «Обнаружено нарушение целостности системы»
Эта ошибка появляется при восстановлении dt-файла, если версия платформы на новом сервере отличается от версии, в которой создавался бэкап. Решение - установить ту же сборку платформы, что была на старом сервере. Если точная сборка недоступна, используйте ближайшую младшую версию и обновите платформу после восстановления.
Вторая причина - повреждение данных в самом бэкапе. Запустите «Тестирование и исправление» с флагами «Проверка ссылочной целостности» и «Пересчет итогов». Если ошибка сохраняется, восстановите базу из нативного бэкапа СУБД - он менее чувствителен к версиям платформы.
Не запускаются клиентские приложения
Алгоритм диагностики:
- Проверьте, запущена ли служба «Агент сервера 1С:Предприятия» на новом сервере.
- Убедитесь, что порт 1540 (основной порт агента) и диапазон портов рабочих процессов (по умолчанию 1560-1591) открыты в брандмауэре.
- Проверьте видимость сервера с клиентской машины:
telnet ИмяСервера 1540. - В консоли администрирования проверьте, что информационная база опубликована и находится в активном состоянии.
- Для веб-клиента дополнительно проверьте настройки IIS или Apache и публикацию базы через утилиту webinst.
Частая причина - антивирус или брандмауэр на новом сервере, блокирующий сетевые подключения агента 1С. Добавьте процессы ragent, rphost, rmngr в исключения.
Ошибки лицензирования после переноса
«Лицензия не обнаружена» - самая частая жалоба пользователей после миграции. Проверьте:
- Файлы лицензий (*.lic) лежат в каталоге C:\ProgramData\1C\1Cv8\conf на сервере.
- Серверная лицензия активирована на имя компьютера, совпадающее с текущим именем сервера.
- Сетевой ключ HASP доступен по сети с клиентских машин (проверьте nethasp.ini).
- Не исчерпан лимит активаций программной лицензии.
Если лицензия активирована, но пользователи не могут подключиться, проверьте настройки пула лицензий в консоли администрирования. Явно укажите диапазон выдачи лицензий для каждой информационной базы.
Потеря внешних компонент
Внешние компоненты (драйверы фискальных регистраторов, сканеров штрих-кодов, COM-объекты) не переносятся автоматически. Их нужно установить на новый сервер вручную. Проверьте разрядность: 32-битные компоненты не работают с 64-битным сервером 1С и наоборот. Для совместимости можно запустить отдельный 32-битный рабочий процесс через параметры кластера.
Перенос сервера 1С - операция, где подготовка решает исход. Документированная конфигурация, проверенные бэкапы и план отката превращают миграцию из рискованного приключения в контролируемую процедуру. После завершения переноса обновите документацию, зафиксируйте новую конфигурацию сервера и проведите полный цикл тестирования с ключевыми пользователями до объявления о завершении работ.