Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В этой статье описано, как перенести экземпляр PostgreSQL из локальной среды или виртуальных машин Azure в гибкий сервер базы данных Azure для PostgreSQL с помощью портала Azure и Azure CLI.
Служба миграции в База данных Azure для PostgreSQL — это полностью управляемая служба, интегрированная в портал Azure и Azure CLI. Он предназначен для упрощения перехода на гибкий сервер базы данных Azure для PostgreSQL.
- Настройте свой гибкий сервер Azure Database для PostgreSQL
- Настройка задачи миграции
- Отслеживайте ход миграции.
- Проверьте миграцию по завершении
Предварительные условия
Чтобы начать миграцию, вам потребуется следующее:
Перед началом миграции с помощью службы миграции База данных Azure для PostgreSQL важно выполнить следующие предварительные требования, специально предназначенные для сценариев миграции через Интернет.
- Проверка исходной версии
- Установка test_decoding — исходная настройка
- Настройка целевой установки
- Включение CDC в качестве источника
- Настройка настройки сети
- Включение расширений
- Проверка параметров сервера
- Проверка пользователей и ролей
Проверка исходной версии
Исходная версия сервера PostgreSQL должна быть 9.5 или более поздней.
Если исходная версия PostgreSQL меньше 9.5, перед началом миграции обновите ее до версии 9.5 или более поздней.
Установка test_decoding — исходная настройка
test_decoding получает WAL через логический механизм декодирования и декодирует его в текстовые представления выполненных операций.
Дополнительные сведения о подключаемом модуле для декодирования тестов см. в документации по PostgreSQL.
Настройка целевой установки
- Перед миграцией необходимо создать гибкий сервер Azure Database for PostgreSQL.
- SKU, выделенный для базы данных Microsoft Azure для PostgreSQL — гибкий сервер, должен соответствовать источнику.
- Чтобы создать новую базу данных Azure для PostgreSQL, посетите гибкий сервер базы данных Azure для PostgreSQL.
- При миграции между версиями PostgreSQL (основными или минорными) убедитесь в совместимости между базой данных и приложением, просматривая примечания о выпуске для потенциальных критических изменений.
Включение CDC в качестве источника
-
test_decoding
Подключаемый модуль логического декодирования записывает измененные записи из источника. - В исходном экземпляре PostgreSQL задайте следующие параметры и значения в файле конфигурации postgresql.conf:
Set wal_level = logical
-
Set max_replication_slots
значение больше 1, значение должно быть больше количества баз данных, выбранных для миграции. -
Set max_wal_senders
должно быть установлено на значение больше 1, как минимум равное max_replication_slots, плюс количество отправителей, уже используемых вашим экземпляром. - Параметр
wal_sender_timeout
завершает подключения репликации, которые неактивны дольше указанного числа миллисекунд. По умолчанию для локальной базы данных PostgreSQL используется 60000 миллисекунд (60 секунд). Установка значения 0 (ноль) отключает механизм времени ожидания и является допустимым параметром для миграции.
Чтобы предотвратить нехватку места при онлайн-миграции, убедитесь в наличии достаточного пространства таблиц с помощью управляемого диска с заранее выделенным пространством. Чтобы добиться этого, отключите параметр azure.enable_temp_tablespaces_on_local_ssd
сервера на гибком сервере в течение срока миграции и восстановите его в исходном состоянии после миграции.
Настройка настройки сети
Настройка сети имеет решающее значение для правильной работы службы миграции. Убедитесь, что исходный сервер PostgreSQL может взаимодействовать с целевым сервером База данных Azure для PostgreSQL. Следующие конфигурации сети необходимы для успешной миграции.
Дополнительную информацию о настройке сети см. в Руководстве по сети для службы миграции.
- Дополнительные рекомендации по работе с сетями:
pg_hba.conf Configuration: чтобы упростить подключение между исходными и целевыми экземплярами PostgreSQL, необходимо проверить и потенциально изменить файл pg_hba.conf. Этот файл включает проверку подлинности клиента и должен быть настроен, чтобы разрешить целевому PostgreSQL подключаться к источнику. Для изменения файла pg_hba.conf обычно требуется перезапуск исходного экземпляра PostgreSQL.
Файл pg_hba.conf находится в каталоге данных установки PostgreSQL. Этот файл следует проверить и настроить, является ли исходная база данных локальным сервером PostgreSQL или сервером PostgreSQL, размещенным на виртуальной машине Azure.
Включение расширений
Чтобы обеспечить успешную миграцию с помощью службы миграции в База данных Azure для PostgreSQL, может потребоваться проверить расширения для исходного экземпляра PostgreSQL. Расширения предоставляют функциональные возможности и функции, которые могут потребоваться для приложения. Перед началом процесса миграции проверьте расширения в исходном экземпляре PostgreSQL.
В целевом экземпляре гибкого сервера Базы данных Azure для PostgreSQL включите поддерживаемые расширения, которые определены в исходном экземпляре PostgreSQL.
Дополнительные сведения см. в разделе "Расширения" в База данных Azure для PostgreSQL.
Примечание.
При внесении изменений в shared_preload_libraries
параметр требуется перезапуск.
Проверка параметров сервера
- Необходимо вручную настроить значения параметров сервера в Azure Database for PostgreSQL — Flexible Server, исходя из значений параметров сервера, заданных в источнике.
Проверка пользователей и ролей
- Пользователи и различные роли должны мигрироваться вручную на базу данных Azure для PostgreSQL — Гибкий сервер. Для переноса пользователей и ролей можно использовать
pg_dumpall --globals-only -U <<username> -f <<filename>>.sql
. - База данных Azure для PostgreSQL — гибкий сервер не поддерживает суперпользователей; пользователей с ролями суперпользователей необходимо удалить перед миграцией.
Выполните миграцию
Вы можете выполнить миграцию, используя портал Azure или Azure CLI.
В этой статье описано, как использовать портал Azure для переноса базы данных PostgreSQL с виртуальной машины Azure или локального сервера PostgreSQL на База данных Azure для PostgreSQL. Портал Azure позволяет выполнять различные задачи, включая миграцию базы данных. Следуя инструкциям, описанным в этом руководстве, вы можете легко перенести базу данных в Azure и воспользоваться ее мощными функциями и масштабируемостью.
Настройка задачи миграции
Служба миграции предоставляется с простым интерфейсом мастера в портале Azure. Вот как начать работу:
Откройте веб-браузер и перейдите на портал. Введите свои учетные данные для входа. Панель мониторинга службы является представлением по умолчанию.
Перейдите к целевому объекту в рамках Гибкого сервера Базы данных Azure для PostgreSQL.
На вкладке "Обзор" гибкого сервера в меню слева прокрутите вниз до пункта "Миграция" и выберите его.
Нажмите кнопку Создать, чтобы выполнить перенос с виртуальной машины Azure или локального сервера PostgreSQL на Flexible Server. Если вы впервые используете службу миграции, пустая сетка появится с запросом на начало первой миграции.
Если вы уже создали миграцию в целевой объект гибкого сервера, сетка содержит сведения о попытках миграции.
Выберите кнопку Создать. Затем, с помощью мастера, переходите через серию вкладок, чтобы настроить процесс миграции на этот гибкий целевой сервер с исходного сервера PostgreSQL.
Настройка
Первая вкладка — это вкладка установки, где пользователь инициирует миграцию, предоставляя сведения о миграции, такие как имя миграции и тип источника.
Имя миграции — это уникальный идентификатор для каждой операции миграции в этот целевой объект в рамках Гибкого сервера. Это поле принимает только буквенно-цифровые символы и не принимает специальные символы, кроме дефиса (-). Имя не может начинаться с дефиса и должно быть уникальным для целевого сервера. Две операции миграции в один и тот же целевой объект в рамках Гибкого сервера не могут иметь одинаковые имена.
Тип исходного сервера— в зависимости от источника PostgreSQL можно выбрать виртуальную машину Azure или локальную среду.
Параметр миграции позволяет выполнять проверки перед активацией миграции. Вы можете выбрать любой из следующих вариантов:
- Проверка. Проверяет готовность сервера и базы данных к миграции в целевой объект.
- Миграция — пропускает проверки и запускает миграцию.
- Проверка и миграция— выполняет проверку перед активацией миграции. Миграция активируется только в том случае, если нет сбоев проверки.
Выбор параметра Проверить или Проверить и мигрировать всегда является хорошей практикой при выполнении проверок перед миграцией. Дополнительные сведения о проверке перед миграцией см. в этой документации.
Режим миграции позволяет выбрать режим миграции. Автономный — это параметр по умолчанию.
Нажмите кнопку "Далее: подключиться к источнику ".
Сервер среды выполнения
Сервер среды выполнения миграции — это специализированная функция в службе миграции в База данных Azure для PostgreSQL, предназначенная для работы в качестве промежуточного сервера во время миграции. Это отдельный гибкий экземпляр базы данных Azure для PostgreSQL, который не является целевым сервером, но используется для упрощения миграции баз данных из исходной среды, доступной только через частную сеть.
Для получения дополнительной информации о сервере среды выполнения посетите сервер среды выполнения миграции.
Подключение к источнику
Вкладка "Подключиться к источнику " предлагает предоставить сведения, связанные с источником, выбранным на вкладке "Настройка", которая является источником баз данных.
- Имя сервера— укажите имя узла или IP-адрес исходного экземпляра PostgreSQL.
- Порт — номер порта исходного сервера
- Имя входа администратора сервера — имя пользователя исходного сервера PostgreSQL
- Пароль — пароль исходного сервера PostgreSQL
- Режим SSL. Поддерживаемые значения предпочтительны и обязательны. Если SSL на исходном сервере PostgreSQL имеет значение OFF, используйте SSLMODE=prefer. Если ssl на исходном сервере включен, используйте SSLMODE=require. Значения SSL можно определить в файле postgresql.conf.
- Проверка подключения — выполняет тест подключения между целевым объектом и источником. После успешного подключения пользователи смогут продолжить следующий шаг. В противном случае необходимо определить сетевые проблемы между целевым объектом и источником и проверить имя пользователя или пароль для источника. Проверка подключения занимает несколько минут, чтобы установить соединение между целевым объектом и источником
После успешного тестового подключения нажмите кнопку "Далее: выбрать целевой объект миграции"
Выбор целевого объекта миграции
На вкладке "Выбор целевого объекта миграции" отображаются метаданные для целевого объекта гибкого сервера, например имя подписки, группа ресурсов, имя сервера, расположение и версия PostgreSQL.
- Имя администратора — имя администратора целевого сервера PostgreSQL
- Пароль — пароль целевого сервера PostgreSQL
-
Настраиваемое полное доменное имя или IP-адрес (необязательно): настраиваемое полное доменное имя/IP-адрес является необязательным и может использоваться, если целевой объект находится за пользовательским DNS-сервером или имеет пользовательские пространства имен DNS, что делает его доступным только через определенные полные доменные имена или IP-адреса. Например, это может включать такие записи, как
flexibleserver.example.com
,198.1.0.2
или полное доменное имя PostgreSQL, напримерflexibleserver.postgres.database.azure.com
, если пользовательский DNS-сервер содержит DNS-зонуpostgres.database.azure.com
или перенаправляет запросы для этой зоны на168.63.129.16
, где полное доменное имя разрешается в общедоступной или частной зоне DNS Azure. - Проверка подключения — выполняет тест подключения между целевым объектом и источником. После успешного подключения пользователи смогут продолжить следующий шаг. В противном случае необходимо определить сетевые проблемы между целевым объектом и источником и проверить имя пользователя или пароль для целевого объекта. Тестовое подключение занимает несколько минут, чтобы установить соединение между целевым объектом и источником.
После успешного тестового подключения нажмите кнопку Next: Select Database(s) for Migration (Выбор баз данных) для миграции
Выбор баз данных для миграции
На этой вкладке список пользовательских баз данных находится на исходном сервере, выбранном на вкладке установки. Вы можете выбрать и перенести до восьми баз данных в одной попытке миграции. Если существует более восьми пользовательских баз данных, процесс миграции повторяется между исходными и целевыми серверами для следующего набора баз данных.
После выбора баз данных нажмите кнопку "Далее: Сводка"
Итоги
На вкладке "Сводка " приведены все сведения о источнике и целевом объекте для создания проверки или миграции. Просмотрите сведения и нажмите кнопку "Пуск".
Отслеживайте ход миграции.
После нажатия кнопки "Пуск" появится уведомление в течение нескольких секунд, заявив, что проверка или создание миграции успешно выполнено. Вы автоматически перенаправляетесь в колонку миграции гибкого сервера, которая имеет новую запись для недавно созданной проверки или миграции.
Сетка, отображающая миграцию, содержит следующие столбцы: имя, состояние, режим миграции, тип миграции, исходный сервер, тип исходного сервера, базы данных, **Длительность и время начала. Записи отображаются в порядке убывания времени начала с последней записью в верхней части. Для обновления состояния проверки или миграции можно использовать кнопку обновления. Выберите имя миграции в сетке, чтобы просмотреть связанные сведения.
При создании проверки или миграции она перемещается в состояние InProgress и подсостояние PerformingPreRequisiteSteps. Рабочий процесс занимает от 2 до 3 минут, чтобы настроить инфраструктуру миграции и сетевые подключения.
Сведения о переносе
На вкладке "Настройка" выбран параметр миграции в качестве "Миграция" и "Проверка". В этом сценарии проверки выполняются сначала перед началом миграции. После завершения подсостояния PerformingPrerequisiteSteps рабочий процесс переходит в подсостояние проверка в процессе выполнения.
- Если проверка имеет ошибки, миграция переходит в состояние сбоя .
- Если проверка завершается без ошибок, начинается миграция и рабочий процесс переходит в подстаток миграции данных.
Результаты проверки отображаются на вкладке "Проверка ", а миграция отслеживается на вкладке "Миграция ".
Некоторые возможные состояния миграции:
Состояния миграции
штат | Описание |
---|---|
InProgress | Выполняется настройка инфраструктуры миграции или выполняется фактическая миграция данных. |
Отменено | Миграция отменена или удалена. |
Неудачно | Миграция не удалась. |
Сбой проверки | Проверка не удалась. |
Успешно | Миграция прошла успешно и завершена. |
WaitingForUserAction | Применимо только для миграции через Интернет. Ожидание действия пользователя для выполнения переключения. |
Подэтапы миграции
Подсостояние | Описание |
---|---|
Выполнение предварительных шагов | Настройка инфраструктуры выполняется для миграции данных. |
Проверка в процессе выполнения | Проверка выполняется. |
MigratingData | Выполняется миграция данных. |
Завершение миграции | Миграция находится на заключительных этапах завершения. |
Завершено | Миграция завершена. |
Неудачно | Неудача миграции. |
Подстатки проверки
Подсостояние | Описание |
---|---|
Неудачно | Ошибка проверки. |
Успешно | Проверка выполнена успешно. |
Предупреждения | Проверка отображается в предупреждении. |
Прямая миграция
Если доступны как Миграция, так и Проверка и миграция, выполнение миграции в режиме онлайн требует выполнения дополнительного шага — пользователь должен выполнить действие "Переключение". После завершения копирования/клонирования базовых данных миграция переходит в состояние WaitingForUserAction
и основу WaitingForCutoverTrigger
. В этом состоянии пользователь может активировать переход на портале, выбрав миграцию.
Прежде чем инициировать переключение, важно убедиться в том, что:
- Записи в источник остановлены —
Latency
значение равно 0 или близко к 0. СведенияLatency
можно получить на экране сведений о миграции, как показано ниже: -
latency
Значение уменьшается до 0 или близко к 0 - Значение
latency
указывает, когда целевой объект последний раз синхронизирован с источником. Запись в источник может быть остановлена на этом этапе, и можно инициировать переключение. В случае большого трафика на исходном ресурсе рекомендуется сначала остановить записи, чтобыLatency
приблизился к 0, а затем произвести переключение.
Операция переключения на новую систему применяет все ожидающие изменения от источника к целевой системе и завершает миграцию. Если вы активируете "Cutover" даже с ненулевым значением Latency,
, репликация останавливается до этого момента. Все данные источника до тех пор, пока точка переключа не будет применена к целевому объекту. При возникновении задержки в течение 15 минут в точке переключения все измененные данные за последние 15 минут применяются к целевому объекту.
Время зависит от количества отложенных изменений за последние 15 минут. Поэтому рекомендуется снизить задержку до нуля или почти до нуля, прежде чем произвести переключение.
- Миграция переходит в состояние
Succeeded
, когда подсостояниеMigrating Data
или переключение (в онлайн-миграции) успешно завершается. Если в подсостоянии появляется проблемаMigrating Data
, миграция переходит в состояниеFailed
.
Отмена миграции
Вы можете отменить все текущие проверки или миграции. Рабочий процесс должен находиться в состоянии InProgress, чтобы его можно было отменить. Невозможно отменить проверку или миграцию в состоянии "Успешно " или "Сбой ".
Отмена проверки останавливает любое дальнейшее действие проверки, а проверка переходит в состояние "Отменено ".
Отмена миграции останавливает дальнейшие действия миграции на целевом сервере и переходит в состояние "Отменено ". Он не удаляет или откатывает изменения на целевом сервере. Не забудьте удалить базы данных на целевом сервере, который участвует в отмененной миграции.
Проверьте миграцию после завершения
После завершения баз данных необходимо вручную проверить данные между источником и целевым объектом и убедиться, что все объекты в целевой базе данных успешно созданы.
После миграции можно выполнить следующие задачи:
- Проверьте данные на гибком сервере и убедитесь, что это точную копию исходного экземпляра.
- После проверки включите параметр высокой доступности на гибком сервере по мере необходимости.
- Измените номер SKU гибкого сервера в соответствии с потребностями приложения. Для этого изменения требуется перезапуск сервера базы данных.
- При изменении параметров сервера из значений по умолчанию в исходном экземпляре скопируйте эти значения параметров сервера на гибком сервере. Скопируйте другие параметры сервера, такие как теги, оповещения и правила брандмауэра (если применимо), из исходного экземпляра на гибкий сервер.
- Внесите изменения в приложение, чтобы направить строки подключения на гибкий сервер.
- Внимательно отслеживайте производительность базы данных, чтобы узнать, требуется ли настройка производительности.