Перейти к содержанию

Перенос базы данных из ПО версии 4.2 для Windows в ПО версии 5.0 для Linux

Экспериментальная функция

Представленная здесь функция находится на стадии разработки. См. «Поддержка экспериментальных функций».

Введение

Здесь представлены краткие инструкции по переносу базы данных (БД) Comindware Platform (далее «экземпляр ПО») версии 4.2 из ОС Windows 10 в экземпляр ПО версии 5 под управлением ОС Linux.

Предварительные условия

Необходимое программное обеспечение

  • Развёрнутый и работоспособный экземпляр ПО Comindware Platform версии 4.2 под управлением ОС Windows.
  • Установленная утилита миграции версии 5 под управлением ОС Windows для преобразования базы данных.
  • Установленное ПО Open JDK 17 для ОС Windows.
    • В переменных среды Windows должна быть заданы следующие переменные для Open JDK (здесь <version> — номер версии Open JDK):

      • JAVA_HOME — путь к исполняемым файлам Open JDK 17, например C:\Program Files\jdk\jdk-<version>
      • JAVA_HOME_DLL — путь к DLL-файлу Open JDK 17, например C:\Program Files\jdk\jdk-<version>\bin\server\jvm.dll
      • JAVA_OPTS — начальный и максимальный объёмы памяти, выделенные для Java, например -Xms512m -Xmx3g
      • JVM_OPTS — конфигурация запуска виртуальной машины Java, рекомендуется использовать следующий набор настроек:
      -Xms512m -Xmx16g -XX:MaxDirectMemorySize=1g -Djava.net.preferIPv4Stack=true -XX:+AlwaysPreTouch -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:+DisableExplicitGC --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -DIGNITE_QUIET=false -DIGNITE_NO_ASCII=true 

Требования к аппаратному обеспечению

  • Для преобразования базы данных свободный объем оперативной памяти должен составлять 10 ГБ объём базы данных (рекомендуется минимум 32 ГБ).
  • На дисках должно быть достаточно места для хранения исходной БД и преобразованной БД. Объём преобразованной БД может в 10 раз превышать объём исходной БД.

Создание резервной копии базы данных экземпляра ПО под управлением Windows

  1. Откройте веб-сайт системы версии 4.2.
  2. В разделе «Администрирование» — «Инфраструктура» выберите пункт «Резервное копирование».
  3. В списке конфигураций резервного копирования выберите или создайте конфигурацию резервного копирования. В свойствах конфигурации резервного копирования должны быть установлены флажки «С файлами» и «Со скриптами». См. статью «Резервное копирование. Настройка и запуск, просмотр журнала сеансов».
  4. Нажмите кнопку «Запустить копирование».
  5. Дождитесь окончания резервного копирования. Статус резервного копирования отображается на вкладке «Журнал» страницы «Резервное копирование».

Запуск резервного копирования экземпляра ПО

Запуск резервного копирования экземпляра ПО

Преобразование базы данных в Windows

Для преобразования базы данных используется утилита миграции CBAP Migration Tool в ОС Windows.

  1. Скачайте архив с утилитой миграции migrationTool.zip по ссылке, предоставленной службой поддержки Comindware.
  2. Распакуйте архив migrationTool.zip, например, в папку C:\MigrationTool
  3. Выделите для Apache Ignite достаточно оперативной памяти, как указано ниже

    1. Откройте в текстовом редакторе файл C:\MigrationTool\Ignite.config
    2. Найдите блок конфигурации выделенной памяти, например:

      <property name="dataRegionConfigurations"> 
      <list>
      <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
      <property name="warmUpConfiguration">
      <bean class="org.apache.ignite.configuration.LoadAllWarmUpConfiguration" />
      </property>
      <property name="name" value="Persistent" />
      <property name="persistenceEnabled" value="true" />
      <property name="initialSize" value="#{20L * 1024 * 1024}" />
      <property name="maxSize" value="#{3L * 1024 * 1024 * 1024}" />
      <property name="pageEvictionMode" value="RANDOM_2_LRU" />
      <!--
      < 1 GB : MIN (256 MB, Data_Region_Size)
      between 1 GB and 8 : GB Data_Region_Size / 4
      > 8 GB : 2 GB
      -->
      <property name="checkpointPageBufferSize" value="#{256L * 1024 * 1024}" />
      </bean>
    3. В показанном выше блоке измените директивы начального и максимального объема памяти, а также объема буфера контрольных точек, как указано ниже:

      <property name="initialSize" value="#{1L * 1024 * 1024 * 1024}" /> 
      <property name="maxSize" value="#{8L * 1024 * 1024 * 1024}" />
      ...
      <property name="checkpointPageBufferSize" value="#{2L * 1024 * 1024 * 1024}" />

    4. Сохраните изменённый файл.

  4. Откройте папку с резервными копиями, указанную в столбце «Путь к файлу» на вкладке «Конфигурации» страницы «Резервное копирование».

    Путь к папке с резервными копиями экземпляра ПО
    Путь к папке с резервными копиями экземпляра ПО

  5. Измените расширение файла резервной копии с cdbbz на zip.

    Переименование файла резервной копии экземпляра ПО
    Переименование файла резервной копии экземпляра ПО

  6. Распакуйте архив резервной копии, например в папку C:\DatabaseBackup

    Распакованное содержимое резервной копии экземпляра ПО
    Распакованное содержимое резервной копии экземпляра ПО

  7. Создайте пустую папку, в которую будут помещены файлы базы данных, преобразованные утилитой миграции, например C:\DatabaseMigrated.

  8. Запустите приложение Windows PowerShell ISE от имени администратора Windows.
  9. В окно скриптов скопируйте следующие строки:

    Get-ChildItem "C:\migrationTool" -recurse | Unblock-File -confirm 
    [Environment]::SetEnvironmentVariable("IsMigrationMode", "true")
    C:\MigrationTool\bin\Comindware.Platform.Migration.exe "C:\DatabaseBackup" "C:\DatabaseMigrated" <instanceName>

    Здесь:

    • C:\MigrationTool\bin\Comindware.Platform.Migration.exe — путь к распакованному на шаге 2 исполняемому файлу утилиты миграции базы данных.
    • C:\DataвaseBackup — путь к папке с базой данных, подлежащей миграции.
    • C:\DatabaseMigrated — путь к папке, в которую будут помещены преобразованные файлы базы данных.
    • instanceName — имя нового экземпляра ПО, который будет создан после миграции. Рекомендуется указывать такое же имя экземпляра ПО, как использовалось в среде Windows. См. статью «Изменение конфигурации экземпляра ПО».
  10. Выделите первую строку скрипта:

    Get-ChildItem "C:\migrationTool" -recurse | Unblock-File -confirm 
  11. Выполните выделенную строку, нажав клавишу F8 (или щелкнув строку правой кнопкой мыши и выбрав в контекстном меню пункт Run Selection).

  12. Дождитесь завершения выполнения команды.
  13. Выделите и выполните вторую и третьи строки скрипта:

    [Environment]::SetEnvironmentVariable("IsMigrationMode", "true") 
    C:\MigrationTool\bin\Comindware.Platform.Migration.exe "C:\DataвaseBackup" "C:\DatabaseMigrated" <instanceName>
  14. Утилита миграции выведет на экран данные о процессе миграции.

  15. Дождитесь успешного завершения миграции.
  16. Удостоверьтесь, что в папке для преобразованной базы данных появились новые папки и файлы.

    Папки преобразованной базы данных
    Папки преобразованной базы данных

Развёртывание преобразованной базы данных в экземпляре ПО под управлением Linux

  1. Перейдите в режим суперпользователя:

    Astra Linux, Ubuntu

    sudo -i 

    Альт Сервер, РЕД ОС

    su - 
  2. Скачайте, разверните и инициализируйте экземпляр ПО.

    Astra Linux, Ubuntu

    sh install.sh -e -p -k -d=clear -u=www-data -g=www-data -i=<instanceName> 

    Альт Сервер, РЕД ОС

    sh install.sh -e -p -k -d=clear -u=_nginx -g=_nginx -i=<instanceName> 

    Здесь <instanceName> — имя экземпляра ПО. Если не указать этот параметр, будет задано стандартное имя экземпляра: cmwdata

  3. Остановите сервисы Elasticsearch, NGINX, comindwareinstanceName и Kafka и удостоверьтесь, что они остановлены:

    systemctl stop elasticsearch 
    systemctl stop nginx
    systemctl stop kafka
    systemctl stop comindware<instanceName>

    systemctl status elasticsearch
    systemctl status nginx
    systemctl status kafka
    systemctl status comindware<instanceName>
  4. Поместите в папку /var/lib/comindware/<instanceName>/Database/ содержимое папки с преобразованной базой данных. См. «Преобразование базы данных в Windows».

  5. Смените владельца папки /var/lib/comindware/:

    Astra Linux, Ubuntu

    chown -R www-data:www-data /var/lib/comindware/ 

    Альт Сервер, РЕД ОС

    chown -R _nginx:_nginx /var/lib/comindware/ 

Запуск и проверка конфигурации экземпляра ПО

  1. Запустите необходимые службы и проверьте их статус:

    systemctl start elasticsearch kafka nginx comindware<instanceName> 
    systemctl status elasticsearch kafka nginx comindware<instanceName>
  2. Перезапустите систему:

    reboot 
  3. Откройте в браузере веб-сайт с экземпляром ПО.

  4. Дождитесь инициализации экземпляра ПО. Этот процесс может занять некоторое время. Может потребоваться обновить страницу браузера.
  5. Проверьте и исправьте конфигурацию экземпляра. См. «Проверка и настройка конфигурации экземпляра ПО после восстановления из резервной копии».
К началу