Особенности перехода на версию 3.2.0.0

Начиная с версии 3.2.0.0, обновлена структура каталогов данных и реализована единая точка управления доступом, поэтому для перехода на версию Платформы 3.2.0.0 с версий ниже требуется последовательная конвертация каталогов, конвертация Credential и конвертация базы Guard.

Внимание

Во избежание потери данных конфигурации необходимо выполнять переход на версию 3.2.0.0 строго по этапам, перечисленным ниже, не пропуская ни одного из них.

Кроме того рекомендуем заранее ознакомиться с особенностями конвертации данных управления пользователями.

Этап 0. Подготовка кластера к обновлению

Если планируется обновить на 3.2.0.0 кластер из нескольких серверов, то необходимо:

1. Определить, на каком сервере кластера находится активный сервис Управление пользователями. Скопировать содержимое папки C:\ProgramData\Datareon\Platform\Data\DatareonPlatformCredential В дальнейшем на этапе 4.1 именно на основе этих данных необходимо выполнять конвертацию данных Credential.

2. Определить текущий мастер ЦН и скопировать его базу Security.db. В дальнейшем на этапе 4.2 именно на основе этой базы необходимо выполнять конвертацию данных Guard.

При конвертации кластера необходимо остановить службу Datareon Platform на всех его серверах. Конвертацию выполнять поэтапно на каждом сервере начиная с мастер-сервера.

Этап 1. Удаление Datareon Platform текущей версии

Удалите ранее установленный пакет Datareon Platform.

В ОС Windows удаление выполняется с помощью опции Удалить в Панель управления → Программы → Программы и компоненты → Datareon Platform или с помощью запуска установщика текущей версии Datareon Platform и выбора опции Удалить.

В ОС Linux удаление выполняется с помощью команды:

sudo dpkg -r platform

Этап 2. Бэкап

Выполните бэкап всей папки C:\ProgramData\Datareon\Platform на всех серверах кластера.

Этап 3. Конвертация структуры каталога данных

При обновлении Платформы на 3.2.0.0 структура каталога данных должна быть предварительно преобразована с помощью утилиты-конвертера (утилита поставляется вместе с установщиком Платформы). Конвертация выполняется вручную перед установкой новой версии.

Запускаемые файлы на Windows: DatareonCatalogStructureConverter.exe, на Linux: DatareonCatalogStructureConverter. Запуск утилиты выполняется из каталога, содержащего распакованные файлы утилиты. Перед выполнением команды запуска утилиты необходимо перейти в указанный каталог с помощью командной строки (Windows) или терминала (Linux). Параметры запуска указываются в файле options.json, который должен находиться в одном каталоге с запускаемым файлом конвертера.

Внимание

Для успешной конвертации на Windows конвертер должен быть запущен под пользователем с правами локального администратора операционной системы, на Linux конвертер должен быть запущен с правами суперпользователя. На Linux файл конвертера DatareonCatalogStructureConverter перед запуском нужно сделать исполняемым командой

chmod +x DatareonCatalogStructureConverter

Что делает конвертер:

  • Преобразует структуру каталогов данных Платформы с версии 3.1.2.* в новый формат.

  • Переносит файлы в новые директории, создает недостающие служебные каталоги.

Примечание

Перед конвертацией рекомендуется создать резервную копию всего каталога данных.

Шаги конвертации:

  1. Остановить службу Платформы.

  2. В options.json указать:

    {
     "dataFolder": "C:\\ProgramData\\Datareon\\Platform",
     "toVersion": "3.2.0.0"
    }
    

где:

  • dataFolder: каталог данных Платформы, обязательно для заполнения. Указывается абсолютный путь к каталогу данных Платформы. Закрывающий слеш / или \ указывать необязательно.

  • В Windows пути указываются с обратным слешем, который необходимо экранировать как \\ (например, "dataFolder": "C:\\ProgramData\\Datareon\\Platform").

  • В Linux пути указываются с прямым слешем, экранирование не требуется (например, "dataFolder": "/var/datareon/platform").

    Внимание

    Конвертер выполнит преобразование каталогов, указанных в параметрах ProgramDataFolder, StorageDataFolder, LogsDataFolder конфигурации LocalNodeConfig.json, расположенной по пути dataFolder. Результат работы конвертера будет размещен в этих же каталогах.

    Если по указанному в dataFolder пути нет файла LocalNodeConfig.json, то будет сконвертирована непосредственно папка dataFolder.

    Работа конвертера с копией каталога Platform не предусмотрена.

  • toVersion: версия, в формат которой выполняется преобразование (например, 3.2.0.0). Доступные варианты: «3.2.0.0», «» - конвертация из 3.1.2.* в 3.2.0.0.

Сохранить файл.

  1. Выполнить конвертацию с помощью утилиты (расположена с установщиком Платформы).

  2. Ознакомиться с логом выполнения конвертации в каталоге /DatareonCatalogStructureConverter/debug. В логах указано, с какими параметрами был запущен конвертер, для каких каталогов выполнены изменения. Удостоверьтесь, что в логах работы конвертера не зафиксированы ошибки.

  3. Удостовериться, что фактическая структура каталогов Datareon Platform изменена. Ожидаемая структура каталогов:

    ../_images/conversion_structure.png

Этап 4. Конвертация управления пользователями

Начиная с версии 3.2.0.0 в Datareon Platform используется единая точка управления пользователями, поэтому необходимо выполнить конвертацию данных Credential и данных Guard.

Этап 4.1. Конвертация данных Credential

Конвертер InternalStorageConverter предназначен для преобразования данных сервиса Управление пользователями, размещенных во внутреннем хранилище Datareon Platform версии 3.1.*, в формат внутреннего хранилища версии 3.2.

В процессе работы конвертер:

  • считывает данные из каталога внутреннего хранилища сервиса Управление пользователями версии 3.1.*.

  • считывает данные из базы данных Security.db.

  • формирует структуру данных, совместимую с версией 3.2.

Особенности использования конвертера в ОС Linux

При использовании Linux-версии конвертера рекомендуется соблюдать следующие требования:

  1. Распакуйте архив с конвертером в домашний каталог пользователя, под которым планируется выполнение команд в терминале (например, /home/datareon/), чтобы обеспечить корректный доступ к файлам.

  2. В каталоге с конвертером (как правило, linux-x64) необходимо предоставить файлу InternalStorageConverter права на выполнение (execute) для пользователя, под которым будет запускаться конвертер.

Пример команды для назначения прав:

chmod +x InternalStorageConverter
  1. Все дальнейшие команды в терминале должны выполняться от имени пользователя, обладающего правами доступа к каталогам с данными платформы.

Порядок выполнения конвертации

Для выполнения конвертации выполните следующие действия:

  1. Скачайте и распакуйте конвертер InternalStorageConverter в любой каталог.

  2. Остановите службу DatareonPlatform.

  3. Скопируйте каталог внутреннего хранилища сервиса Управление пользователями версии 3.1.* из каталога: C:\ProgramData\Datareon\Platform\Storage\ServiceStorage\DatareonPlatformCredential\<EntityId_сервиса>

где <EntityId_сервиса> — идентификатор сервиса Управление пользователями, указанный в конфигурации платформы.

Пример:

C:\ProgramData\Datareon\Platform\Storage\ServiceStorage\DatareonPlatformCredential\2edb091d-8e8c-4b0e-adbe-4164b4ea3854
  1. Скопируйте файл базы данных Security.db из каталога платформы: C:\ProgramData\Datareon\Platform\Security

    Примечание

    Копирование всего каталога Security не требуется. Для конвертации используется только файл Security.db. Файлы резервных копий базы данных не используются.

  2. Создайте каталог для размещения результатов конвертации, например: C:\convert31to32\result

  3. Запустите командную строку от имени администратора (или терминал в ОС Linux).

  4. В командной строке (терминале) перейдите в каталог с файлом конвертера.

  5. Запустите файл InternalStorageConverter со следующими параметрами:

  • -connectionString — путь к каталогу внутреннего хранилища сервиса Управление пользователями версии 3.1.*, скопированному ранее в п.3.

  • -pathToOutputFolder — путь к каталогу (из п.5), в который будут сохранены результаты конвертации.

  • -pathToSecurityDbFolder — путь к каталогу (из п.4), содержащему файл Security.db.

  • -convertHamsterCredentials — параметр, указывающий на конвертацию данных сервиса Управление пользователями с версии 3.1.* на версию 3.2.

Пример команды запуска

InternalStorageConverter.exe ^
-connectionString "C:\convert31to32\oldcredentialdb" ^
-pathToOutputFolder "C:\convert31to32\result" ^
-pathToSecurityDbFolder "C:\convert31to32\securitydb" ^
-convertHamsterCredentials "true"
  1. Процесс конвертации может занять некоторое время в зависимости от объема данных.

В процессе конвертации в терминале будет выведен лог конвертации, включающий этапы загрузки данных Credential, формирования Datareon DB и получения конфигурации объектов из Security.db.

В конце конвертации будет выведен лог Обновление завершено. Нажмите любую клавишу.

Результаты конвертации

После успешного завершения работы конвертера данные будут размещены в каталоге, указанном в параметре pathToOutputFolder, со следующей иерархией:

<pathToOutputFolder>\
<дата_и_время_запуска_конвертера>\
storage\
servicestorage\
datareonplatformcredential\
00000000-1234-5678-0000-123456789000\
DatareonStorage\
CredentialInternalStorage\

Идентификатор 00000000-1234-5678-0000-123456789000 является фиксированным и используется для базового сервиса Управление пользователями в версии 3.2.

Внутри каталога CredentialInternalStorage находятся сконвертированные данные сервиса.

Этап 4.2. Конвертация данных Guard

Конвертер GuardToCredentialMigrator конвертирует данные из Guard в Credential внутреннего хранения 3.2.0.0. Конвертер поставляется вместе с установщиком Платформы.

Конвертер GuardToCredentialMigrator предназначен для преобразования данных пользователей Guard, размещенных в базе Security.db, и добавления их во внутреннее хранилище базового сервиса Управление пользователями.

Особенности использования конвертера в ОС Linux

При использовании Linux-версии конвертера необходимо предоставить файлу GuardToCredentialMigrator права на выполнение (execute) для пользователя, под которым будет запускаться конвертер.

Для этого в каталоге с распакованным конвертером выполните команду:

chmod +x GuardToCredentialMigrator

Все дальнейшие команды в терминале должны выполняться от имени пользователя, обладающего правами доступа к каталогам с данными платформы.

Порядок выполнения конвертации

Для выполнения конвертации данных Guard выполните следующие действия:

  1. Скачайте и распакуйте конвертер GuardToCredentialMigrator в любой каталог.

  2. Запустите файл GuardToCredentialMigrator со следующими параметрами:

    • -guard — путь к базе данных Security.db версии 3.1.*, скопированной ранее на этапе бэкапа или подготовки кластера .

    • -dataFolder — путь к каталогу, в котором размещена папка из результата конвертации 4.1.

    Пример команды запуска:

    .\GuardToCredentialMigrator.exe -guard "C:\Бэкап3124\PlatformМастера\Security\Security.db" -dataFolder "C:\convert31to32\result\<дата_и_время_запуска_конвертера_4.1>"
    
  3. В процессе выполнения конвертера в лог будет выведена информация:

    • с какими значениями параметров был запущен конвертер.

    • какое количество данных получено и сконвертировано из базы Security.db. Количество объектов может отличаться от имеющихся в Security.db в связи с особенностями конвертации, описанными в последнем этапе обновления Ручная валидация сконвертированных данных.

    ../_images/guard_to_credentiall.png

    Процесс конвертации может занять некоторое время в зависимости от объема данных.

В результате конвертации данные из Guard будут добавлены к имеющимся данным Credential.

Этап 5. Установка Datareon Platform версии 3.2.0.0

Выполните установку Datareon Platform версии 3.2.0.0 согласно стандартной процедуре для операционной системы сервера.

Внимание

На ОС Linux перед запуском установщика удостоверьтесь, что у каталога /var/datareon/platform и вложенных каталогов и файлов указаны владелец и группа datareon и выбраны права 0775 (rwx rwx r-x).

Сразу после завершения установки Datareon Platform выполнит конвертацию конфигурации из Security.db в файловую структуру. Удостоверьтесь, что:

  • в логах DatareonPlatformControlCenter присутствует лог Запуск процедуры конвертации конфигурации в файловую. В процессе выполнения конвертации могут логироваться ошибки конвертации ролей старого сервиса Credential. Это ожидаемое поведение, так как данные ролей были сконвертированы ранее.

  • сконвертированная конфигурация расположена по пути C:\ProgramData\Datareon\Platform\ControlCenterData\Config.

Ожидаемая структура:

../_images/guard_credentiall.png
  • база Security.db переименована во избежание повторной конвертации.

Переход на версию 3.2 с использованием сконвертированных данных «InternalStorageConverter» и «GuardToCredentialMigrator»:

  1. После обновления остановите службу DatareonPlatform.

  2. Откройте каталог внутреннего хранилища базового сервиса Управление пользователями версии 3.2: C:\ProgramData\Datareon\Platform\Storage\ServiceStorage\DatareonPlatformCredential\00000000-1234-5678-0000-123456789000\DatareonStorage\

  3. Удалите каталог CredentialInternalStorage со всем его содержимым, если он существует (каталог, что сформировался автоматически после установки, вместо него будет то, что сконвертировалось).

  4. Скопируйте каталог CredentialInternalStorage, полученный в результате конвертаций Этапа 4:

    <pathToOutputFolder>\<дата_и_время_запуска_конвертера>\storage\servicestorage\datareonplatformcredential\00000000-1234-5678-0000-123456789000\DatareonStorage\CredentialInternalStorage
    

и разместите его в каталог, указанный в п.2.

Внимание

На ОС Linux после копирования каталога удостоверьтесь, что у /var/datareon/platform/storage/servicestorage/datareonplatformcredential/00000000-1234-5678-0000-123456789000/DatareonStorage/CredentialInternalStorage и вложенных каталогов и файлов указаны владелец и группа datareon и выбраны права 0775 (rwx rwx r-x).

  1. Запустите службу DatareonPlatform.

Этап 6. Авторизация Администратора

Авторизуйтесь в ЦН Мастер-сервера под стандартными (предустановленными) учетными данными Администратора.

Выполните смену пароля в появившемся окне и авторизуйтесь уже под новым паролем.

../_images/change_pass_3200.png

Этап 7. Исправление конфигурации

В ЦН → Обслуживание → Управление конфигурацией выполните Исправление конфигурации, выбрав все опции, кроме последней.

../_images/config_fix_3200.png

Ознакомьтесь с результатом выполнения процедуры в Журнале ЦН.

Этап 8. Применение конфигурации

Выполните Применение конфигурации.

После первого применения конфигурации может потребоваться снова выполнить авторизацию под актуальными учетными данными Администратора.

Этап 9. Перезапуск службы Datareon Platform

Перезапустите службу DatareonPlatform на всех серверах кластера, начиная с Мастер-сервера.

Примечание

Начиная с версии 3.2.0.0, на ОС Linux используются названия каталогов в нижнем регистре.

Каталоги, созданные в ходе работы конвертеров и Datareon Platform версии 3.2.0.0 и выше, будут иметь названия в нижнем регистре. Без изменений останутся ранее созданные каталоги, а также переносимые в ходе работы конвертеров и/или относящиеся к хранению данных в Datareon DB.

Этап 10. Ручная валидация сконвертированных данных

В связи с серьезными изменениями в структуре управления пользователями необходимо провести ручную валидацию сконвертированных пользователей и ролей.

Обратите внимание на особенности конвертации:

  1. При конвертации пароль пользователя Администратор сбрасывается до стандартного (предустановленного). Далее при первом входе в ЦН пароль необходимо заменить.

  2. Право входа в ЦН по умолчанию остается только у пользователей Guard в группе Администраторы, которая преобразуется в роль Администраторы ЦН. Остальным ролям нужно выдать это право вручную (Вход разрешен).

  3. Права, выданные персонально на пользователя, не сконвертируются.

  4. Заблокированные пользователи Guard и неактивные пользователи Credential (отключен параметр Активно) не сконвертируются.

  5. Если в данных сервиса Credential был пользователь, чей логин совпадает с пользователем Guard, то при конвертации данных Guard у итогового пользователя будет выполнено только добавление ролей. Все остальные параметры пользователя останутся из Credential.

  6. Параметры сложности пароля, настройки доменной авторизация и прочее не конвертируются и будут сброшены до стандартных. Их необходимо установить вручную в параметрах базового сервиса Управление пользователями.

  7. Конвертируются только те роли, у которых установлен хотя бы один флаг в разделе «Права доступа» → «Администрирование».

  8. Права доступа к объектам (раздел Объекты доступа) из версии 3.1.* не конвертируются и не переносятся в версию 3.2. После обновления необходимо создать новые роли и настроить права доступа к объектам конфигурации вручную.

  9. После конвертации роли создаются в одном из следующих типов:

  • Роль Центр настройки.

  • Роль Центр мониторинга.

Если исходная роль содержала права, относящиеся одновременно к обоим типам ролей, то в результате конвертации будут созданы две роли:

  • {Имя исходной роли} ЦМ.

  • {Имя исходной роли} ЦН.