Создание реплик чтения и управление ими в База данных Azure для PostgreSQL — гибкий сервер из портал Azure, CLI или REST API

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер

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

Необходимые компоненты

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

Примечание.

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

Просмотр основных параметров

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

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

SSD уровня "Премиум" версии 2. Текущий выпуск не поддерживает создание реплик чтения для первичных серверов с помощью хранилища SSD класса Premium версии 2. Если для рабочей нагрузки требуются реплики чтения, выберите другой вариант хранилища для основного сервера.

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

  2. В диалоговом окне "Обзор" обратите внимание на версию PostgreSQL (например15.4). Кроме того, обратите внимание, что основной регион развертывается в (например, East US).

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

  3. На боковой панели сервера в разделе "Параметры" выберите "Вычисления и хранилище".

  4. Просмотрите и запишите следующие параметры:

    • Уровень вычислений, процессор, размер (например Standard_D4ads_v5).

    • Хранилище

      • Размер хранилища (например 128GB)
      • Авторасширение
    • Высокий уровень доступности

      • Включено или отключено
      • Параметры зоны доступности
    • Параметры резервного копирования

      • Период хранения
      • Параметры избыточности
  5. В разделе Параметры выберите Сеть.

  6. Проверьте настройки сети.

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

Создание реплики чтения

Чтобы создать реплику чтения, выполните следующие действия:

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

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация".

  3. Выберите Создать реплику.

    Снимок экрана: создание действия реплики.

  4. Введите форму "Основы" со следующими сведениями.

    Снимок экрана: ввод основных сведений.

  5. Выберите "Проверить и создать ", чтобы подтвердить создание реплики или далее: сеть , если вы хотите добавить, удалить или изменить правила брандмауэра.

    Снимок экрана: изменение действия правил брандмауэра.

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

  7. Проверьте сведения в окне окончательного подтверждения. Когда будете готовы, нажмите Создать. Создается новое развертывание.

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

  8. Во время развертывания основной объект отображается в Updating состоянии.

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

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

  • Задайте имя сервера-реплики.

    Совет

    Рекомендуется использовать соглашение об именовании ресурсов Cloud Adoption Framework (CAF), позволяющее легко определить, к каким экземплярам вы подключаетесь или управляете и где он находится.

  • Выберите расположение, отличное от основного, но обратите внимание, что вы можете выбрать тот же регион.

    Совет

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

  • Задайте для вычислительных ресурсов и хранилища данные, записанные из основного ресурса. Если отображаемые вычисления не совпадают, выберите "Настроить сервер " и выберите соответствующий.

    Примечание.

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

    Снимок экрана: выбор размера вычислительных ресурсов.

Внимание

Ознакомьтесь с разделом рекомендаций в обзоре реплики чтения.

Чтобы избежать проблем во время повышения уровня реплик, сначала измените следующие параметры сервера на репликах, прежде чем применять их к основному: max_connections, max_prepared_transactions, max_locks_per_transaction, max_wal_senders. max_worker_processes

Создание виртуальных конечных точек

Примечание.

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

  1. В портал Azure выберите основной сервер.

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация".

  3. Выберите " Создать конечную точку".

  4. В диалоговом окне введите понятное имя конечной точки. Обратите внимание на созданную конечную точку DNS.

    Снимок экрана: создание виртуальной конечной точки с пользовательским именем.

  5. Нажмите кнопку создания.

    Примечание.

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

    Снимок экрана: ошибка повышения уровня при отсутствии виртуальной конечной точки.

Вывод списка виртуальных конечных точек

Чтобы получить список виртуальных конечных точек, выполните следующие действия.

  1. В портал Azure выберите основной сервер.

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация".

  3. В верхней части страницы отображаются конечные точки чтения и записи, а также имена серверов, на которые они указывают.

    Снимок экрана: список виртуальных конечных точек.

Изменение приложения для указания на виртуальную конечную точку

Измените все приложения, использующие гибкий экземпляр сервера База данных Azure для PostgreSQL, чтобы использовать новые виртуальные конечные точки (например, corp-pg-001.writer.postgres.database.azure.com иcorp-pg-001.reader.postgres.database.azure.com).

Повышение уровня реплик

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

Чтобы повысить уровень реплики из портал Azure, выполните следующие действия.

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

  2. В меню сервера в разделе "Параметры" выберите "Репликация".

  3. В разделе "Серверы" выберите значок "Повышение" для реплики.

    Снимок экрана: выбор для повышения уровня реплики.

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

  5. Для синхронизации данных убедитесь, что запланированные данные — синхронизация данных перед выбранным повышением .

    Снимок экрана: выбор повышения уровня для реплики.

  6. Выберите "Повысить" , чтобы начать процесс. После завершения роли обратные роли: реплика становится первичной, а основная — ролью реплики.

Примечание.

Продвигаемая реплика должна назначить виртуальную конечную точку чтения или получить ошибку при повышении.

Тестовые приложения

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

Восстановление размещения на исходном сервере и регионе

Повторите те же операции, чтобы повысить исходный сервер до основного.

  1. В портал Azure выберите реплику.

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация"

  3. В разделе "Серверы" выберите значок "Повышение" для реплики.

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

  5. Для синхронизации данных убедитесь, что запланированные данные — синхронизация данных перед выбранным повышением .

  6. Выберите "Повышение", начинается процесс. После завершения роли обратные роли: реплика становится первичной, а основная — ролью реплики.

Тестовые приложения

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

Снимок экрана: потенциальные ошибки подключения.

Добавление вторичной реплики чтения

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

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

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация".

  3. Выберите Создать реплику.

  4. Введите форму "Основы" с информацией в третьем регионе (например westus , и corp-pg-westus-001)

  5. Выберите "Проверить и создать ", чтобы подтвердить создание реплики или далее: сеть , если вы хотите добавить, удалить или изменить правила брандмауэра.

  6. Проверьте параметры брандмауэра. Обратите внимание, что основные параметры копируются автоматически.

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

  8. Проверьте сведения в окне окончательного подтверждения. Когда будете готовы, нажмите Создать. Создается новое развертывание.

  9. Во время развертывания основной объект отображается в Updating состоянии.

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

Изменение виртуальной конечной точки

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

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация".

  3. Выберите многоточие и нажмите кнопку "Изменить".

    Снимок экрана: изменение виртуальной конечной точки.

  4. В диалоговом окне выберите новую вторичную реплику.

    Снимок экрана: выбор вторичной реплики.

  5. Выберите Сохранить. Конечная точка чтения теперь указывает на вторичную реплику, и операция повышения теперь привязана к этой реплике.

Повышение уровня реплики на независимый сервер

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

  1. В портал Azure выберите сервер-источник База данных Azure для PostgreSQL гибкого сервера.

  2. На боковой панели сервера в меню сервера в разделе "Параметры" выберите "Репликация".

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

    Снимок экрана: выбор для повышения уровня реплики 2.

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

  5. Для синхронизации данных убедитесь, что запланированные данные — синхронизация данных перед выбранным повышением .

    Снимок экрана: продвижение реплики на независимый сервер.

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

Примечание.

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

Удаление виртуальной конечной точки

  1. В портал Azure выберите основной сервер.

  2. На боковой панели сервера в разделе "Параметры" выберите "Репликация".

  3. В верхней части страницы найдите Virtual endpoints раздел. Перейдите к трем точкам (параметрам меню) рядом с именем конечной точки, разверните ее и выберите Delete.

  4. Появится диалоговое окно подтверждения удаления. Он предупреждает: "Это действие удаляет виртуальную конечную точку virtualendpointName. Все клиенты, подключенные с помощью этих доменов, могут потерять доступ". Подтвердите последствия и подтвердите, нажав кнопку "Удалить".

Удаление реплики

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

  1. На портале Azure откройте страницу Обзор реплики чтения. Выберите команду Удалить.

    Снимок экрана: страница обзора реплики, выберите, чтобы удалить реплику.

Кроме того, реплику можно удалить из окна Репликация, выполнив следующие действия:

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

  2. В меню сервера в разделе "Параметры" выберите "Репликация".

  3. Выберите реплику чтения для удаления и выберите многоточие. Выберите команду Удалить.

    Снимок экрана: выбор реплики для удаления.

  4. Подтвердите операцию удаления .

Удаление главного сервера

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

Чтобы удалить сервер на портале Azure, сделайте следующе:

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

  2. Откройте страницу обзора сервера и нажмите кнопку "Удалить".

    Снимок экрана: страница обзора сервера, выберите, чтобы удалить основной сервер.

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

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

Мониторинг реплики

Выполнять мониторинг реплик чтения можно на основе двух метрик.

Максимальная задержка физической репликации

Доступно только для основного.

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

  1. В портал Azure выберите основной сервер.

  2. Выберите Метрики. В окне метрик выберите Max Physical Replication Lag.

    Снимок экрана: страница

  3. Для параметра агрегирования установите значение Макс.

Метрика задержки чтения реплики

Метрика "Задержка чтения" показывает время с момента последнего воспроизведения транзакции на реплике. Если транзакции не происходят в основном, метрика отражает это время задержки. Например, если на основном сервере нет транзакций, а последняя транзакция была воспроизведена 5 секунд назад, то задержка реплики чтения показывает задержку в 5 секундах.

  1. В портал Azure выберите реплику чтения.

  2. Выберите Метрики. В окне метрик выберите "Задержка реплики чтения".

    Снимок экрана: страница

  3. Для параметра агрегирования установите значение Макс.