Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Мы рекомендуем использовать новую службу миграции в Azure Database для PostgreSQL для более упрощённой и эффективной миграции. Эта служба упрощает процесс, поддерживая несколько исходных сред, обеспечивая бесплатный переход в Базу данных Azure для PostgreSQL.
Дополнительные сведения о Службе Azure Database Migration Service см. в статье "Что такое Azure Database Migration Service?
Azure Database Migration Service можно использовать для переноса баз данных из локального экземпляра PostgreSQL в Базу данных Azure для PostgreSQL с минимальным временем простоя для приложения. В этом руководстве вы переносите пример базы данных listdb из локального экземпляра PostgreSQL 13.10 в Базу данных Azure для PostgreSQL с помощью действия миграции в Сети в Службе azure Database Migration Service.
В этом руководстве описано следующее:
- перенести пример схемы с помощью служебной программы pg_dump;
- Создайте экземпляр Azure Database Migration Service.
- создать проект миграции в Azure Database Migration Service;
- выполнение миграции.
- Мониторинг миграции.
- выполнить переключение после миграции.
Чтобы выполнить сетевую миграцию с помощью Azure Database Migration Service, требуется создать экземпляр ценовой категории "Премиум". Мы шифруем диск для защиты данных от кражи при миграции.
Внимание
Чтобы процесс миграции был выполнен без проблем, корпорация Майкрософт рекомендует создать экземпляр Azure Database Migration Service в том же регионе Azure, в котором размещена целевая база данных. Перемещение данных между регионами и географическими областями может замедлить процесс миграции и привести к ошибкам.
Необходимые компоненты
Для работы с этим руководством вам потребуется следующее:
Скачайте и установите выпуск сообщества PostgreSQL. Исходная версия сервера PostgreSQL должна быть = >9.4. Дополнительные сведения см. в статье "Поддерживаемые версии PostgreSQL" в Базе данных Azure для PostgreSQL.
Также обратите внимание, что версия целевой Базы данных Azure для PostgreSQL не может быть более ранней, чем версия исходного экземпляра. Например, PostgreSQL 12 может перейти на База данных Azure для PostgreSQL >= 12 версий, но не База данных Azure для PostgreSQL 11.
Создайте виртуальную сеть Microsoft Azure для Azure Database Migration Service с помощью модели развертывания Azure Resource Manager, которая обеспечивает подключение типа "сеть — сеть" к локальным исходным серверам с помощью ExpressRoute или VPN. Дополнительные сведения о создании виртуальной сети см. в документации по виртуальной сети, а также в статьях краткого руководства с пошаговыми сведениями.
При настройке виртуальной сети при использовании ExpressRoute с пирингом сети с Microsoft добавьте следующие конечные точки службы в подсеть, в которой будет размещена служба.
- Целевая конечная точка базы данных (например, конечная точка SQL, конечная точка Azure Cosmos DB и т. д.)
- конечную точку службы хранилища;
- конечную точку служебной шины.
Такая конфигурация вызвана тем, что у Azure Database Migration Service нет подключения к Интернету.
Убедитесь, что правила группы безопасности сети (NSG) для виртуальной сети не блокируют исходящий порт 443 ServiceTag для ServiceBus, storage и AzureMonitor. Дополнительные сведения о фильтрации трафика NSG виртуальной сети см. в статье "Фильтрация сетевого трафика с группами безопасности сети".
Настройка брандмауэра Windows для доступа к ядру СУБД.
Откройте брандмауэр Windows, чтобы разрешить Azure Database Migration Service получить доступ к исходному серверу PostgreSQL, который по умолчанию является TCP-портом 5432.
При использовании устройства брандмауэра перед исходными базами данных может потребоваться добавить правила брандмауэра, чтобы разрешить Azure Database Migration Service получить доступ к исходным базам данных для миграции.
Создайте правило брандмауэра уровня сервера для Базы данных Azure для PostgreSQL, чтобы разрешить Azure Database Migration Service доступ к целевым базам данных. Задайте диапазон подсети в виртуальной сети, которая используется для Azure Database Migration Service.
Включите логическую репликацию в
postgresql.configфайле и задайте следующие параметры:-
wal_level=logical. -
max_replication_slots= [количество слотов], рекомендуется задать значение5слотов. -
max_wal_senders= [число параллельных задач]. Параметрmax_wal_sendersзадает количество параллельных задач, которые могут выполняться одновременно; рекомендуется установить в значение10задач.
-
Пользователь должен иметь
REPLICATIONроль на сервере, где размещена исходная база данных.
Внимание
Чтобы поддерживать синхронизацию в целевую базу данных, все таблицы в существующей базе данных должны иметь первичный ключ.
Перенос примера схемы
Чтобы завершить все объекты базы данных, такие как схемы таблиц, индексы и хранимые процедуры, необходимо извлечь схему из исходной базы данных и применить к базе данных.
Используйте
pg_dump -sкоманду для создания файла дампа схемы для базы данных.pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sqlНапример, чтобы создать файл дампа схемы для базы данных listdb :
pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sqlДополнительные сведения об использовании служебной программы pg_dump см. в примерах руководства по pg-dump .
Создайте пустую базу данных в целевой среде, которая является Базой данных Azure для PostgreSQL.
Дополнительные сведения о подключении и создании базы данных см. в статье "Создание сервера Базы данных Azure для PostgreSQL" на портале Azure.
Импортируйте схемы в целевую базу данных, созданную путем восстановления схемы файла дампа.
psql -h hostname -U db_username -d db_name < your_schema.sqlРассмотрим пример.
psql -h mypgserver-20170401.postgres.database.azure.com -U postgres -d migratedb < listdbSchema.sqlПримечание.
Служба миграции внутренне обрабатывает включение и отключение внешних ключей и триггеров, чтобы обеспечить надежную и надежную миграцию данных. В результате вам не нужно беспокоиться о внесении изменений в схему целевой базы данных.
Регистрация поставщика ресурсов
Прежде чем создать свой первый экземпляр Database Migration Service, зарегистрируйте поставщик ресурсов Microsoft.DataMigration.
Войдите на портал Azure. Найдите и выберите подписки.
Выберите подписку, в которой нужно создать экземпляр Azure Database Migration Service, а затем выберите поставщиков ресурсов.
Выполните поиск миграции, а затем выберите Зарегистрировать для Microsoft.DataMigration.
Создание экземпляра Azure Database Migration Service
В меню портала Azure или на домашней странице выберите "Создать ресурс". Найдите и выберите Azure Database Migration Service.
На экране Azure Database Migration Service нажмите кнопку "Создать".
Выберите соответствующий тип исходного сервера и тип целевого сервера и выберите параметр Database Migration Service (классическая модель).
На экране "Основы создания службы миграции" :
- Выберите подписку.
- Создайте группу ресурсов или выберите существующую.
- Укажите имя для экземпляра Azure Database Migration Service.
- Выберите расположение, в котором нужно создать экземпляр Azure Database Migration Service.
- Выберите Azure в качестве режима службы.
- Выберите ценовую категорию. Дополнительные сведения о ценах и ценовых категориях см. на странице цен.
- Нажмите кнопку "Далее" — сеть.
На сетевом экране Create Migration Service :
- Выберите существующую виртуальную сеть или создайте новую. Виртуальная сеть предоставляет Azure Database Migration Service с доступом к исходному серверу и целевому экземпляру. Дополнительные сведения о создании виртуальной сети на портале Azure см. в статье "Создание виртуальной сети с помощью портала Azure".
Нажмите кнопку "Просмотр и создание ", чтобы просмотреть сведения, а затем нажмите кнопку "Создать ", чтобы создать службу.
Через несколько минут экземпляр службы Azure Database Migration service создается и готов к использованию:
Создание проекта миграции
После создания службы найдите ее на портале Azure, откройте и создайте проект миграции.
На портале Azure выберите все службы, найдите Службу Azure Database Migration Service и выберите Azure Database Migration Services.
На экране службы миграции баз данных Azure найдите имя созданного вами экземпляра службы миграции баз данных Azure, выберите экземпляр, а затем выберите Создать проект миграции.
На экране нового проекта миграции укажите имя проекта в текстовом поле " Тип исходного сервера " выберите PostgreSQL в текстовом поле типа целевого сервера выберите базу данных Azure для PostgreSQL.
В разделе "Тип действия миграции" выберите "Миграция данных в Сети".
Кроме того, можно выбрать Создать только проект, чтобы создать проект миграции сейчас и выполнить миграцию позже.
Выберите "Создать и запустить действие", чтобы успешно использовать Azure Database Migration Service для переноса данных.
Укажите сведения об источнике.
На экране добавления сведений о источнике укажите сведения о подключении для исходного экземпляра PostgreSQL.
Укажите сведения о целевом объекте.
На экране Сведения о цели укажите данные для подключения к целевой базе данных Azure для PostgreSQL — гибкому серверу, который является предварительно настроенным экземпляром, куда была развернута схема с помощью pg_dump.
Нажмите кнопку "Далее:Выбор баз данных", а затем на экране "Выбор баз данных ", сопоставляйте источник и целевую базу данных для миграции.
Если в целевой базе данных содержится база данных с тем же именем, что у исходной базы данных, Azure Database Migration Service по умолчанию выберет целевую базу данных.
Нажмите кнопку "Далее:Выбрать таблицы", а затем на экране "Выбор таблиц " выберите необходимые таблицы, которые необходимо перенести.
Нажмите кнопку "Далее:Настройка параметров миграции", а затем на экране "Настройка параметров миграции " примите значения по умолчанию.
На экране сводки по миграции в текстовом поле "Имя действия " укажите имя действия миграции, а затем просмотрите сводку, чтобы убедиться, что исходные и целевые сведения соответствуют указанным ранее данным.
Выполните миграцию.
Нажмите кнопку "Начать миграцию".
Откроется окно действия миграции, а состояние действия должно обновляться, чтобы отобразиться как "Резервное копирование в процессе выполнения".
Отслеживайте ход миграции.
На экране действия миграции нажмите кнопку "Обновить ", чтобы обновить экран до тех пор, пока состояние миграции не будет отображаться как завершенное.
После завершения миграции в разделе "Имя базы данных" выберите конкретную базу данных, чтобы получить состояние миграции для полной загрузки данных и добавочных операций синхронизации данных .
Примечание.
Полная загрузка данных показывает состояние начальной миграции нагрузки, а добавочная синхронизация данных показывает состояние отслеживания измененных данных (CDC).
Выполните прямую миграцию.
После завершения начальной полной загрузки базы данных помечаются готово к переключению.
Когда вы будете готовы завершить миграцию базы данных, нажмите кнопку "Начать переключение".
Дождитесь, пока счетчик ожидающих изменений покажет
0, чтобы убедиться, что все входящие транзакции в исходную базу данных остановлены, установите флажок Подтвердить, затем выберите Применить.Когда состояние миграции базы данных отображается завершено, повторно создайте последовательности (если применимо) и подключите приложения к новому целевому экземпляру базы данных Azure для PostgreSQL.