Руководство. Переход с База данных Azure для PostgreSQL на один сервер на База данных Azure для PostgreSQL — гибкий сервер с помощью службы миграции

Область применения: гибкий сервер Базы данных Azure для PostgreSQL

С помощью портал Azure можно перенести экземпляр База данных Azure для PostgreSQL — один сервер на База данных Azure для PostgreSQL — гибкий сервер. В этом руководстве мы выполняем миграцию примера базы данных с одного сервера База данных Azure для PostgreSQL на гибкий сервер PostgreSQL с помощью портал Azure.

  • Настройка гибкого сервера База данных Azure для PostgreSQL
  • Настройка задачи миграции
  • Отслеживайте ход миграции.
  • Отмена миграции
  • После миграции

Вы можете перенести с помощью портал Azure.

Предварительные требования (в автономном режиме)

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

Проверка исходной версии

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

Целевая настройка

  • База данных Azure для PostgreSQL необходимо настроить в Azure перед миграцией.

  • Номер SKU, выбранный для База данных Azure для PostgreSQL, должен соответствовать спецификациям исходной базы данных, чтобы обеспечить совместимость и достаточную производительность.

  • Подробные инструкции по созданию нового База данных Azure для PostgreSQL см. по следующей ссылке: краткое руководство. Создание сервера.

Настройка сети

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

Требования к сети для миграции:

  • ExpressRoute/IPsec VPN/VPN-туннелирование. При подключении локального источника или AWS к Azure может потребоваться настроить expressRoute, IPsec VPN или VPN-туннелирование для упрощения безопасной передачи данных.

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

сценарии Подключение тивности:

В следующей таблице можно настроить сеть между источником и целевым объектом.

Оригинал Target Подключение Советы
Общедоступный Общедоступный Никаких других действий не требуется, если источник включен в список разрешений в правилах брандмауэра целевого объекта.
Private Public Эта конфигурация не поддерживается; используйте pg_dump/pg_restore для передачи данных.
Общедоступные Личные Никаких других действий не требуется, если источник включен в список разрешений в правилах брандмауэра целевого объекта.
Private Private Установите пиринг expressRoute, IPsec VPN, VPN-туннелирование или пиринг между источником и целевым объектом.
Private Частная конечная точка Эта конфигурация не поддерживается; обратитесь в службу поддержки Майкрософт.

Дополнительные рекомендации по работе с сетями:

  • pg_hba.conf Configuration: чтобы упростить подключение между исходными и целевыми экземплярами PostgreSQL, необходимо проверить и потенциально изменить файл pg_hba.conf. Этот файл включает проверку подлинности клиента и должен быть настроен, чтобы разрешить целевому PostgreSQL подключаться к источнику. Для изменения файла pg_hba.conf обычно требуется перезапуск исходного экземпляра PostgreSQL.

Примечание.

Файл pg_hba.conf находится в каталоге данных установки PostgreSQL. Этот файл следует проверка и настроить, если исходная база данных является локальным сервером PostgreSQL или сервером PostgreSQL, размещенным на виртуальной машине Azure. Для экземпляров PostgreSQL в AWS RDS или аналогичных управляемых службах файл pg_hba.conf недоступен напрямую или не применим. Вместо этого доступ управляется с помощью предоставленных конфигураций безопасности и сетевого доступа службы.

Дополнительные сведения о настройке сети см. в руководстве по сети для службы миграции в База данных Azure для PostgreSQL — гибкий сервер.

Модули

Расширения — это дополнительные функции, которые можно добавить в PostgreSQL, чтобы повысить ее функциональные возможности. Расширения поддерживаются в База данных Azure для PostgreSQL, но их необходимо включить вручную. Чтобы включить расширения, выполните следующие действия.

  • Используйте команду select в источнике для перечисления всех используемых расширений. select extname,extversion from pg_extension;

  • Найдите параметр сервера azure.extensions на странице параметров сервера на База данных Azure для PostgreSQL. Включите расширения, найденные в источнике в PostgreSQL.

  • Сохраните изменения параметров и перезапустите База данных Azure для PostgreSQL, чтобы применить новую конфигурацию при необходимости.

    Снимок экрана: расширения.

  • Проверьте, содержит ли список любой из следующих расширений:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

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

Параметры сервера

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

  • Сопоставлять значения параметров сервера из исходной базы данных PostgreSQL с База данных Azure для PostgreSQL путем доступа к разделу "Параметры сервера" в портал Azure и вручную обновив значения соответствующим образом.

  • Сохраните изменения параметров и перезапустите База данных Azure для PostgreSQL, чтобы применить новую конфигурацию при необходимости.

Отключите высокий уровень доступности (надежность) и реплика чтения в целевом объекте

  • Отключение высокой доступности (надежности) и чтение реплика в целевой среде является важным. Эти функции должны быть включены только после завершения миграции.

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

Настройка гибкого сервера База данных Azure для PostgreSQL

  • Создайте целевой гибкий сервер. Инструкции см. в кратком руководстве по созданию гибкого сервера База данных Azure для PostgreSQL с помощью портала.

  • Расширения allowlist, библиотеки которых должны загружаться при запуске сервера. Важно, чтобы расширение было в списке разрешений перед началом миграции.

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

Настройка задачи миграции

Служба миграции поставляется с простым интерфейсом мастера на основе портал Azure. Вот как начать работу:

  1. Откройте веб-браузер и перейдите на портал. Чтобы войти, введите свои учетные данные. Панель мониторинга службы является представлением по умолчанию.

  2. Перейдите к целевому объекту в рамках Гибкого сервера Базы данных Azure для PostgreSQL.

  3. На вкладке "Обзор" гибкого сервера в меню слева прокрутите страницу вниз до миграции и выберите ее.

    Снимок экрана: страница гибкого обзора.

  4. Нажмите кнопку "Создать", чтобы начать миграцию с одного сервера на гибкий сервер. Если вы впервые используете службу миграции, пустая сетка появится с запросом на начало первой миграции.

    Снимок экрана: вкладка миграции на гибком сервере.

    Если вы уже создали миграцию на целевой объект гибкого сервера, сетка содержит сведения о миграциях, которые были предприняты в этот целевой объект с одного сервера.

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

Кроме того, можно запустить процесс миграции с Отдельного сервера Базы данных Azure для PostgreSQL.

  1. Откройте веб-браузер и перейдите на портал. Чтобы войти, необходимо ввести учетные данные. Панель мониторинга службы является представлением по умолчанию.

  2. Выбрав один сервер, вы можете просмотреть баннер, связанный с миграцией, на вкладке "Обзор". Выберите "Миграция сейчас ", чтобы приступить к работе.

    Снимок экрана: запуск миграции на вкладке

  3. Вы перейдете на страницу с двумя параметрами. Если вы уже создали гибкий сервер и хотите использовать его в качестве целевого объекта, выберите "Выбрать существующую" и выберите соответствующую подписку, группу ресурсов и сведения о имени сервера. После выбора выберите мастер перехода к миграции и перейдите к инструкциям на вкладке "Настройка" этой страницы.

    Снимок экрана: выбор варианта

  4. Если вы решили создать гибкий сервер, выберите "Создать" и выберите "Перейти к мастеру создания". Это действие выполняет процесс создания гибкого сервера и развертывает гибкий сервер.

    Снимок экрана: выбор варианта

После развертывания гибкого сервера выполните действия 3–5 в разделе "Настройка задачи миграции".

Вкладка "Настройка"

Первая вкладка — Настройка. Если вы пропустили его, список разрешений необходимых расширений, как показано в разделе "Разрешить эти расширения", прежде чем инициировать миграцию.

Снимок экрана: сведения, относящиеся к вкладке настройки для автономного режима.

Имя миграции — это уникальный идентификатор для каждой операции миграции в этот целевой объект в рамках Гибкого сервера. Это поле принимает только буквенно-цифровые символы и не принимает специальные символы, кроме дефиса (-). Имя не может начинаться с дефиса и должно быть уникальным для целевого сервера. Две операции миграции в один и тот же целевой объект в рамках Гибкого сервера не могут иметь одинаковые имена.

Тип исходного сервера указывает источник. В этом случае это База данных Azure для PostgreSQL отдельный сервер

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

  • Проверка. Проверяет готовность сервера и базы данных к миграции в целевой объект.
  • Миграция — пропускает проверки и запускает миграцию.
  • Проверка и миграция — выполняет проверку перед активацией миграции. Миграция активируется только в том случае, если нет сбоев проверки.

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

Если выбрана предварительная версия миграции в Интернете, в исходном отдельном сервере должна быть включена логическая реплика. Если она не включена, служба миграции автоматически включает логическую реплика на исходном отдельном сервере. Репликация также может быть настроена вручную на вкладке "Репликация" на панели "Один сервер", задав уровень поддержки поддержки azure реплика tion логическому. Любой подход перезапускает исходный отдельный сервер.

Нажмите кнопку "Далее" — Подключение кнопку "Источник".

Вкладка Источник

Вкладка "Источник" предлагает предоставить сведения, связанные с одним сервером, который является источником баз данных.

После выбора подписки и группы ресурсов в раскрывающемся списке имен серверов отобразятся Отдельные серверы в этой группе ресурсов в разных регионах. Выберите источник, из которого хотите перенести базы данных. Базы данных можно перенести с одного сервера на целевой гибкий сервер в одном регионе. Миграция между регионами включается только для серверов Индии, Китая и ОАЭ.

После выбора источника одного сервера поля "Расположение", "PostgreSQL" и "Имя входа администратора сервера" заполняются автоматически. Имя входа администратора сервера — это имя администратора, используемое для создания отдельного сервера. В поле "Пароль" введите пароль для этого администратора. Служба миграции переносит базы данных одного сервера в качестве пользователя администратора.

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

Снимок экрана: сведения о сервере базы данных-источника.

Нажмите кнопку "Далее". Нажмите кнопку "Цель миграции", чтобы продолжить.

Вкладка "Целевой объект"

На вкладке "Целевой " отображаются метаданные для целевого объекта гибкого сервера, например имя подписки, группа ресурсов, имя сервера, расположение и версия PostgreSQL.

Снимок экрана: сведения о сервере целевой базы данных.

Для имени входа администратора сервера на вкладке отображается имя администратора, используемое при создании целевого объекта гибкого сервера. Введите соответствующий пароль для администратора. После заполнения пароля выберите Подключение для целевой ссылки. Это проверяет правильность введенных сведений о целевом сервере и доступ к целевому серверу.

Нажмите кнопку "Далее", чтобы выбрать базы данных для переноса.

Выбор баз данных для вкладки миграции

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

Снимок экрана: перенос баз данных.

Нажмите кнопку "Далее", чтобы просмотреть сведения.

Итоги

На вкладке " Сводка " приведены все сведения о создании проверки или миграции. Просмотрите сведения и нажмите кнопку "Пуск".

Снимок экрана: сведения, которые необходимо проверить, прежде чем выполнять миграцию.

Мониторинг портала миграции

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

Снимок экрана: сведения о недавно созданной миграции.

Сетка, отображающая миграцию, содержит следующие столбцы: имя, состояние, тип миграции, режим миграции, исходный сервер, тип исходного сервера, базы данных, время начала и длительность. Записи отображаются в порядке убывания времени начала с последней записью в верхней части.

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

При создании проверки или миграции он перемещается в состояние InProgress иподстатное значение PerformingPreRequisiteSteps . Рабочий процесс занимает 2–3 минуты, чтобы настроить инфраструктуру миграции и сетевые подключения.

Давайте рассмотрим, как отслеживать миграцию для каждого варианта миграции.

Проверить

После завершения подстатирования PerformingPreRequisiteSteps проверка переходит к подстатю проверки в ходе выполнения, где проверка выполняются на исходном и целевом сервере для оценки готовности к миграции.

Проверка перемещается в состояние "Успешно", если все проверки находятся в состоянии "Успешно" или "Предупреждение".

Снимок экрана: сетка проверки.

Сетка проверки имеет

  • Сведения о проверке для разделов базданных и сведений о проверке, представляющих правила проверки, используемые для проверка готовности к миграции.
  • Состояние проверки— представляет результат для каждого правила и может иметь любое из трех значений.
    • Выполнено успешно. Если ошибки не найдены.
    • Сбой . Если возникают ошибки проверки.
    • Предупреждение . Если есть предупреждения о проверке.
  • Длительность — время, затраченное на операцию проверки.
  • Время начала и окончания — время начала и окончания операции проверки в формате UTC.

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

Снимок экрана: сетка проверки с состоянием сбоя.

Миграция

После завершения субстрата PerformingPrequisiteSteps миграция переходит в подложку миграции данных , когда происходит клонирование и копирование баз данных. Время завершения миграции зависит от размера и формы перенесенных баз данных. Миграция выполняется быстро, если данные в основном равномерно распределяются по всем таблицам. Размер таблицы с отклонением занимает относительно длительное время.

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

Снимок экрана: сетка миграции, содержащая все сведения о базе данных.

Миграция перемещается в состояние "Успешно" , когда состояние "Миграция данных " завершается успешно. Если в состоянии MigratingData возникла проблема, миграция переходит в состояние Failed.

Снимок экрана: результат миграции.

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

Снимок экрана: завершенные миграции.

Проверка и миграция

В этом параметре сначала выполняются проверки перед началом миграции. После завершения подстатирования PerformingPrequisiteSteps рабочий процесс переходит в подстаток проверки во время выполнения.

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

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

Снимок экрана: вкладка

Отмена миграции с помощью портала

Вы можете отменить все текущие проверки или миграции. Рабочий процесс должен находиться в состоянии InProgress, чтобы быть отмененным. Невозможно отменить проверку или миграцию, которая находится в состоянии "Успешно " или "Сбой ".

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

После миграции

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

После миграции можно выполнить следующие задачи:

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

  • После проверки включите параметр высокой доступности на гибком сервере по мере необходимости.

  • Измените номер SKU гибкого сервера в соответствии с потребностями приложения. Для этого изменения требуется перезапуск сервера базы данных.

  • При изменении параметров сервера из значений по умолчанию в исходном экземпляре скопируйте эти значения параметров сервера на гибком сервере.

  • Скопируйте другие параметры сервера, такие как теги, оповещения и правила брандмауэра (если применимо), из исходного экземпляра на гибкий сервер.

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

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