36.6. Миграция BiHA-кластеров #
Имеющийся BiHA-кластер с Postgres Pro Enterprise версии 17.X (но не выше 17.7) возможно мигрировать на последнюю корректирующую версию Postgres Pro Enterprise 18.
Для ясности в этой инструкции текущий BiHA-кластер, миграцию которого вы выполняете, называется «старый кластер», а обновлённый BiHA-кластер — «новый кластер».
Во время миграции PPEM создаёт лидера нового кластера и затем перемещает последователей из старого кластера в новый. Новый кластер получает все обновления со старого по логической репликации, а лидер старого кластера продолжает принимать клиентские подключения на протяжении практически всего процесса миграции. Минимальный простой потребуется, чтобы перенастроить клиентские подключения на новый кластер.
Процедура миграции состоит из следующих шагов:
Ознакомьтесь с разделом Предварительные требования и выполните необходимую подготовку.
Запустите процесс миграции. На этом этапе клиентские приложения могут продолжать работать с лидером старого кластера.
Завершите процесс миграции. На этом этапе и старый, и новый кластер будут временно недоступны для клиентских подключений, пока вы не перенастроите клиентские приложения на работу с новым кластером.
36.6.1. Предварительные требования #
Запланируйте период обслуживания для проведения процедуры миграции. Хотя лидер старого кластера продолжает работать и принимать клиентские подключения на протяжении практически всего процесса миграции, в конце миграции будет необходимо отключить нагрузку на старом лидере и перенастроить подключения приложений и клиентов на работу с новым кластером. Это действие потребует минимального простоя в работе кластера.
Убедитесь, что выполнены все условия, перечисленные в разделе Предварительные требования и особенности.
Подготовьте отдельный дополнительный сервер, который будет использоваться для развёртывания лидера нового кластера с версией Postgres Pro Enterprise 18.X. Операционная система и исполняемые файлы Postgres Pro Enterprise, установленные на дополнительном сервере, должны быть такими же, как и на узлах старого кластера.
На всех узлах старого кластера и дополнительном сервере установите Postgres Pro Enterprise версии 18.X.
Для лидера старого кластера выполните следующие действия:
Для параметра конфигурации wal_level задайте значение
logical.Для параметра конфигурации biha.nquorum задайте значение выше, чем количество узлов в кластере, чтобы исключить переключение во время миграции.
Учитывайте все ограничения логической репликации на протяжении всего процесса миграции.
Ограничьте операции DCL и DDL на время всего процесса миграции.
Убедитесь, что во всех обновляемых таблицах присутствуют первичные ключи.
36.6.2. Запуск миграции #
В навигационной панели перейдите в Инфраструктура → Кластеры.
Нажмите
→ Обновить до Postgres Pro 18 рядом с кластером.
Укажите параметры лидера нового кластера:
Сервер: заранее подготовленный дополнительный сервер для размещения лидера нового кластера.
Каталог логической реплики: каталог PGDATA логической реплики с Postgres Pro Enterprise версии 17.X. Логическая реплика будет обновлена до Postgres Pro Enterprise версии 18.X и преобразована в лидера нового кластера. Каталог должен отсутствовать.
Каталог обновлённого лидера: каталог PGDATA лидера нового кластера с Postgres Pro Enterprise версии 18.X. Каталог должен отсутствовать.
Порт обновлённого лидера: порт лидера нового кластера для входящих подключений.
BiHA-порт обновлённого лидера: порт лидера нового кластера для обмена служебной информацией между узлами.
Укажите параметры последователей для перемещения:
Использовать одинаковый путь к основному каталогу данных для всех последователей: отключите этот переключатель, если не хотите использовать одинаковые пути к каталогам данных для всех последователей.
Каталог обновлённого последователя: каталог данных для перемещения последователя с Postgres Pro Enterprise версии 18.X. Каталог должен отсутствовать. Если пути к каталогам данных на всех узлах отличаются, укажите путь для каждого узла.
Нажмите Далее.
После прохождения всех проверок нажмите Начать обновление.
Будет запущен процесс миграции. На этом этапе клиентские приложения могут продолжать работу с лидером старого кластера.
(Необязательно) Чтобы отслеживать прогресс по операции запуска обновления кластера, на панели навигации перейдите в Консоль заданий → Операции.
Когда статус операции обновления кластера изменится на Завершено, завершите процедуру миграции.
36.6.3. Завершение миграции #
Во время миграции новый кластер с именем upgraded с обновлённой версией Postgres Pro Enterprise появляется в списке Кластеры. Все узлы из старого кластера, за исключением лидера старого кластера, перемещаются в новый кластер. В старом кластере остаётся только старый лидер, который продолжает работать и принимать клиентские подключения до ручного завершения процесса миграции.имя_старого_кластера
Чтобы завершить процесс миграции:
В навигационной панели перейдите в Инфраструктура → Кластеры.
Убедитесь, что старый кластер находится в состоянии Ожидает завершения обновления.
Отключите клиентские приложения от старого кластера.
На этом этапе и старый, и новый кластер становятся недоступны для клиентских подключений.
Рядом со старым кластером нажмите
→ Завершить обновление.
(Необязательно) Чтобы отслеживать прогресс по операции завершения обновления кластера, на панели навигации перейдите в Консоль заданий → Операции.
Когда статус операции завершения обновления кластера изменится на Завершено, перенастройте клиентские приложения на работу с новым кластером.
Старый кластер, в котором теперь находится только старый лидер, остаётся в списке кластеров. При необходимости его можно удалить.