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

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

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

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

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

Примечание.

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

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

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

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

SSD уровня "Премиум" версии 2. Текущий выпуск не поддерживает создание реплика чтения для основных серверов с помощью хранилища SSD уровня "Премиум" версии 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 состоянии.

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

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

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

    Совет

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

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

    Совет

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

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

    Примечание.

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

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

Внимание

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

Чтобы избежать проблем при продвижении реплика постоянно изменяют следующие параметры сервера на реплика сначала, прежде чем применять их к основному: max_connections, max_prepared_transactions, max_locks_per_transaction, . max_wal_sendersmax_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. Выберите "Повышение", начинается процесс. После завершения сервер больше не является реплика первичного сервера.

Примечание.

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

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

  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. Для параметра агрегирования установите значение Макс.