Копирование данных с Рабочего сервера на Тестовый

7 6

Эта статья описывает как скопировать все данные с Продуктивного (рабочего) сервера Directum RX на Тестовый сервер. Перенос данных системы Directum RX с одного сервера на другой может понадобится в следующих случаях:

  • выполняется миграция на другие серверы;
  • необходимо создать новый Тестовый контур (для тестирования разработок, настроек, отладки регламентов, обучения сотрудников);
  • необходимо актуализировать данные системы на Тестовом контуре.

В справке и в базе знаний DirectumRX нет полной инструкции по копированию информации с сервера на сервер. Есть только разбитая информация по разным операциям: Резервное копирование базы данных, Восстановление резервной копии, Общие принципы администрирования и так далее.

Также есть в разделах Статьи и Вопросы некоторые советы по переносу данных: статья в Directum Club про перенос базы данныхполезный комментарий в обсуждении поста про перенос данных.

Я решил написать подробную инструкцию переноса всех данных на Тестовый сервер. После выполнения указанных в ней действий на Тестовом сервере будет: копия Базы данных, копия Файлового хранилища, копии настроек с Продуктивного сервера. Инструкция актуальна для версии DirectumRX 4.1.

Буду рад услышать уточнения, пожелания и ваши способы по ходу выполнения переноса данных. 

Имеющаяся в примере инфраструктура

Рабочий контур:

  • Сервер приложений DirectumRX на Windows Server (на нем Веб-сервер, Файловое хранилище);
  • Сервер базы данных на Windows Server (используется Microsoft SQL Server).

Тестовый контур:

  • Сервер приложений DirectumRX на Windows Server (на нем Веб-сервер, Файловое хранилище);
  • Сервер базы данных на Windows Server (используется Microsoft SQL Server).

Порядок действий

1. Сделать снапшот (резервную копию) Продуктивного и Тестового контура: Сервера приложений и Сервера базы данных. Перед любыми действиями на серверах обязательно делайте резервные копии, чтобы в случае неудачных действий, всегда была возможность вернуть все сервисы в прежнее рабочее состояние.

В случае описываемого примера, серверы работают в среде виртуализации, поэтому в качестве инструмента резервных копий используются снапшот (снимок) всей машины на текущее рабочее состояние.

2. Сделать резервную копию рабочей базы данных Microsoft SQL. Впоследствии эту резервную копию восстановим на Сервер базы данных тестового контура.
Справочные материалы: Справка DirectumRX "Полное резервное копирование"Документация Microsoft про резервное копирование в Microsoft SQL Server Management Studio.

  • Запустить Microsoft SQL Server Management Studio.
  • Подключиться к рабочей базе данных.
  • Правой кнопкой мыши по БД - Задачи - Создать резервную копию.
  • В разделе Общие: выбрать нужную базу данных, поставить галочку "Архивная копия только для копирования", выбрать тип копии "Полная", в области Назначение через кнопку "Добавить" указать путь файла, в которой создастся резервная копия.
  • В разделе Параметры носителя: оставить все по умолчанию, можно выбрать галочку "Проверить резервную копию после завершения".

    
3. Скопировать созданную резервную копию базы данных на локальный диск Тестового сервера базы данных.

4. Остановка сервисом на Тестовом контуре:

  • Отключить веб-сервис IIS. В PowerShell от Администратора выполнить команду:
    iisreset.exe \stop
  • Остановить службу DrxServiceRunner. В PowerShell от Администратора выполнить команду: 
  • Stop-Service -Name DrxServiceRunner


5. Следующим шагом необходимо скопировать Файловое хранилище с Рабочего сервера на Тестовый сервер.

Файловое хранилище представляет собой обычный каталог с файлами, телами документов системы. Оно располагается на Сервере приложений, называется DrxStorage. Скопировать (синхронизировать) Файловое хранилище на Тестовый сервер можно обычным способом по сети. Но лучше использовать более удобный способ, предложенный в документации DirectumRX утилиту Robocopy: Документация на сайте Microsoft про robocopy Для копирования необходимо в PowerShell (на тестовом Сервере приложений) выполнить команду

  • robocopy "\\directumrx.local\DrxStorage" "E:\DrxStorage" /tee /e /purge /mt:3 /log:E:\DrxStorage\drxdocOrg.log

где

  • "\\directumrx.local\DrxStorage" - сетевой путь Файлового хранилища рабочего Сервера приложений;
  • "E:\DrxStorage" - путь назначения куда скопируется Файловое хранилище на Тестовом сервере приложений;
  • /mt:3 - количество потоков копирования;
  • /tee - записывает выходные данные состояния в окно консоли и в файл журнала;
  • /log:E:\DrxStorage\drxdocOrg.log - записывать процес копирования в лог-файл;
  • /e - копировать подкаталоги;
  • /purge - полное зеркальное копирование каталога с параметрами безопасности.

6. Восстановить с перезаписью сделанную резервную копию Рабочей базы данных на Тестовом сервер базы данных (из пункта 2).
    Справка DirectumRX "Восстановление данных из резервной копии".

7. Запустить на Тестовом контуре сервисы

  • Запустить веб-сервис IIS
    В PowerShell от Администратора выполнить команду
    iisreset.exe \start

     

  • Запустить службу DrxServiceRunner
    В PowerShell от Администратора выполнить команду
    Start-Service -Name DrxServiceRunner

     

8. Прописать пароли. Если на Тестовом контуре используются Сервисные учетные записи (administrator, service user) DirectumRX с другими паролями, необходимо учетным записям заново прописать эти пароли (в самом DirectumRX). Это необходимо так как:

  • в конфигурационных файла Тестового сервера прописаны пароли другие
  • при копировании базы данных пароли перенеслись с Рабочего сервера

9. Проверить адрес Тестового сервера

После этапов копирования, начиная с DirectumRX 3.4, необходимо зайти в раздел Администрирование/Хранилища и проверить указанный путь к Файловому хранилищу тестового сервера, жмем Проверить.
Должен быть прописан адрес Тестового сервера, при переносе Базы данных эта настройка поменялась на адрес Рабочего сервера.

    Пример: http://192.168.89.19/DrxStorageService

10. При необходимости на Тестовом сервере можно выключить Email-оповещения, чтобы пользователям из Тестового контура не отправлялись электронные письма о заданиях.

  • Выключить в Администрирование - Фоновые процессы - Документооборот. Рассылка электронных писем о заданиях.

11. Запросить и применить лицензию на Тестовый контур.

12. При удачном переносе данных не забудьте своевременно удалить снапшоты и резервные копии, сделанные в пункте 1, для освобождения ресурсов.

13. Радоваться. Вы прекрасны!

Сергей Королев

Пользуйтесь поиском и еще

Сергей Королев: обновлено 06.04.2023 в 21:32
Александр Куликов

Сергей, спасибо за предложение. Об этих ссылках уже сказано в начале статьи

Анатолий Придыбайло

По моему нарушена последовательность действий, как можно выполнить п.7 Проверить адрес Тестового сервера ранее п.9. Прописать пароли?

Анатолий Придыбайло: обновлено 11.04.2023 в 12:45
Анатолий Придыбайло

Для переноса ФХ могу порекомендовать приложение FreeFileSync 

Применял его на проекте для копирования большого количества документов ФХ с сервера Windows на Linux. Много настроек по синхронизации каталогов, скорость и наглядная демонстрация процесса копирования. 

Анатолий Придыбайло

Не забывайте про интеграцию с ЭДО (Диадок, СБИС). После создания такой тестовой нужно отключить фоновые процессы, чтобы интеграция не выполнялась, либо перенастроить работы ЭДО с тестовыми серверами.

Если этого не сделать, то документы могут загрузиться в тестовую и в продуктив не попадут.

Александр Куликов

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

Авторизуйтесь, чтобы написать комментарий