Экспериментальная функция
Представленная здесь функция находится на стадии разработки. См. «Поддержка экспериментальных функций».
Введение
Здесь представлены краткие инструкции по переносу базы данных (БД) 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
- Откройте веб-сайт системы версии 4.2.
- В разделе «Администрирование» — «Инфраструктура» выберите пункт «Резервное копирование».
- В списке конфигураций резервного копирования выберите или создайте конфигурацию резервного копирования. В свойствах конфигурации резервного копирования должны быть установлены флажки «С файлами» и «Со скриптами». См. статью «Резервное копирование. Настройка и запуск, просмотр журнала сеансов».
- Нажмите кнопку «Запустить копирование».
- Дождитесь окончания резервного копирования. Статус резервного копирования отображается на вкладке «Журнал» страницы «Резервное копирование».
Преобразование базы данных в Windows
Для преобразования базы данных используется утилита миграции CBAP Migration Tool в ОС Windows.
- Скачайте архив с утилитой миграции
migrationTool.zip
по ссылке, предоставленной службой поддержки Comindware. - Распакуйте архив
migrationTool.zip
, например, в папкуC:\MigrationTool
-
Выделите для Apache Ignite достаточно оперативной памяти, как указано ниже
- Откройте в текстовом редакторе файл
C:\MigrationTool\Ignite.config
-
Найдите блок конфигурации выделенной памяти, например:
<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>
-
В показанном выше блоке измените директивы начального и максимального объема памяти, а также объема буфера контрольных точек, как указано ниже:
<property name="initialSize" value="#{1L * 1024 * 1024 * 1024}" />
<property name="maxSize" value="#{8L * 1024 * 1024 * 1024}" />
...
<property name="checkpointPageBufferSize" value="#{2L * 1024 * 1024 * 1024}" />
-
Сохраните изменённый файл.
- Откройте в текстовом редакторе файл
-
Откройте папку с резервными копиями, указанную в столбце «Путь к файлу» на вкладке «Конфигурации» страницы «Резервное копирование».
Путь к папке с резервными копиями экземпляра ПО -
Измените расширение файла резервной копии с
cdbbz
наzip
.Переименование файла резервной копии экземпляра ПО -
Распакуйте архив резервной копии, например в папку
C:\DatabaseBackup
Распакованное содержимое резервной копии экземпляра ПО -
Создайте пустую папку, в которую будут помещены файлы базы данных, преобразованные утилитой миграции, например
C:\DatabaseMigrated
. - Запустите приложение Windows PowerShell ISE от имени администратора Windows.
-
В окно скриптов скопируйте следующие строки:
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. См. статью «Изменение конфигурации экземпляра ПО».
-
Выделите первую строку скрипта:
Get-ChildItem "C:\migrationTool" -recurse | Unblock-File -confirm
-
Выполните выделенную строку, нажав клавишу F8 (или щелкнув строку правой кнопкой мыши и выбрав в контекстном меню пункт Run Selection).
- Дождитесь завершения выполнения команды.
-
Выделите и выполните вторую и третьи строки скрипта:
[Environment]::SetEnvironmentVariable("IsMigrationMode", "true")
C:\MigrationTool\bin\Comindware.Platform.Migration.exe "C:\DataвaseBackup" "C:\DatabaseMigrated" <instanceName>
-
Утилита миграции выведет на экран данные о процессе миграции.
- Дождитесь успешного завершения миграции.
-
Удостоверьтесь, что в папке для преобразованной базы данных появились новые папки и файлы.
Папки преобразованной базы данных
Развёртывание преобразованной базы данных в экземпляре ПО под управлением Linux
-
Перейдите в режим суперпользователя:
Astra Linux, Ubuntu
sudo -i
Альт Сервер, РЕД ОС
su -
-
Скачайте, разверните и инициализируйте экземпляр ПО.
- См. Установка и запуск Comindware Platform
- При установке ПО используйте ключ
d=clear
— установить ПО без демонстрационной базы данных:
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
-
Остановите сервисы 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>
-
Поместите в папку
/var/lib/comindware/<instanceName>/Database/
содержимое папки с преобразованной базой данных. См. «Преобразование базы данных в Windows». -
Смените владельца папки
/var/lib/comindware/
:Astra Linux, Ubuntu
chown -R www-data:www-data /var/lib/comindware/
Альт Сервер, РЕД ОС
chown -R _nginx:_nginx /var/lib/comindware/
Запуск и проверка конфигурации экземпляра ПО
-
Запустите необходимые службы и проверьте их статус:
systemctl start elasticsearch kafka nginx comindware<instanceName>
systemctl status elasticsearch kafka nginx comindware<instanceName>
-
Перезапустите систему:
reboot
-
Откройте в браузере веб-сайт с экземпляром ПО.
- Дождитесь инициализации экземпляра ПО. Этот процесс может занять некоторое время. Может потребоваться обновить страницу браузера.
- Проверьте и исправьте конфигурацию экземпляра. См. «Проверка и настройка конфигурации экземпляра ПО после восстановления из резервной копии».