Миграция базы данных PostgreSQL в PaaS средствами DRS

С помощью Data Replication Service можно перенести базы данных в PaaS-сервисы облака Advanced. Для баз данных PostgreSQL поддерживается онлайн-миграция.

Примечание

Инструмент миграции баз данных PostgreSQL сервиса DRS находится на этапе закрытого бета-тестирования. Чтобы получить доступ, обратитесь в поддержку.

Перед началом работы

Убедитесь, что:

  • у пользователя есть доступ к консоли облака Advanced и к сервису DRS;

  • на исходном сервере баз данных PostgreSQL разрешено удаленное подключение.

Чтобы проверить наличие доступа в облако и к сервису DRS:

  1. Войдите в консоль управления Advanced:

  2. Чтобы открыть список сервисов, нажмите Service List.

  3. Выберите Database → Data Replication Service.

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

Настройка задания миграции в консоли управления

  1. Создайте инстанс PostgreSQL в сервисе Relational Database Service.

  2. В списке сервисов выберите Data Replication Service.

  3. Перейдите в раздел Data Synchronization Management в меню слева.

  4. В правом верхнем углу нажмите Create Synchronization Task.

  5. Задайте параметры:

    • Data Flow — выберите To the cloud;

    • Source DB Engine — выберите PostgreSQL;

    • Network Type — оставьте Public Network;

    • Destination DB Instance — выберите ранее созданный инстанс;

    • Synchronization Instance Subnet — выберите подсеть для служебного инстанса синхронизации.

  6. Нажмите Next.

  7. В окне настройки подключений к исходной и целевой базе данных:

    • в поле IP Address or Domain Name укажите IP-адрес или доменное имя исходного сервера баз данных;

    • в поле Port укажите порт для подключения к исходному серверу баз данных;

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

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

  8. Нажмите Next.

  9. Чтобы протестировать подключение к базам данных, нажмите Test Connection.

  10. Чтобы подтвердить сбор данных, нажмите Agree.

  11. Задайте параметры:

    • Incremental Conflict Policy — политика поведения при конфликтах (по умолчанию выбрана политика Overwrite);

    • Synchronize — выберите Normal Index;

    • Take Snapshot — оставьте значение по умолчанию;

    • Synchronization Object — выберите в качестве объекта синхронизации Databases и перенесите нужную базу данных в окно справа;

    • Synchronize Account — выберите No.

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

  13. Чтобы запустить задание миграции, нажмите Submit.

  14. Ознакомьтесь с уведомлением и нажмите Submit. Статус задания миграции изменится на Starting.

Когда начнется полная миграция, статус изменится на Full.

После завершения полной миграции, начнется миграция типа Incremental. Миграция будет завершена, когда Delay достигнет значения «0s».

Сравнение исходной и целевой базы данных

Чтобы сравнить базы данных после завершения миграции:

  1. Перейдите в раздел Synchronization Comparison в левом меню.

  2. Чтобы сравнить объекты баз данных, в разделе Object-Level Comparison нажмите Compare. Если миграция была выполнена успешно, появится уведомление, что данные консистентны.

  3. Чтобы сравнить данные в базе данных, в разделе Data-Level Comparison нажмите Create Comparison Task.

  4. Выберите тип сравниваемых данных Row или Value.

  5. Выберите базу данных и нажмите OK.

    Результат сравнения рядов в базе данных:

    Результат сравнения рядов в базе данных

    Если миграция была выполнена успешно, появится уведомление, что данные консистентны.

    Результат сравнения значений в базе данных:

    Результат сравнения значений в базе данных
  6. Чтобы завершить миграцию, в столбце Operation нажмите Stop.

  7. Нажмите Yes. Задание будет остановлено, а статус сменится на Completed.

Сравнение данных завершено.

Масштабная конференция
GoCloud 2024:
облачные грани будущего