Настройка высокой доступности для гибкого сервера База данных Azure для PostgreSQL

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

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

Включение высокой доступности для существующих серверов

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

Используйте портал Azure:

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

  2. Выберите ваш гибкий сервер База данных Azure для PostgreSQL.

  3. В меню ресурсов в разделе "Параметры " выберите "Высокий уровень доступности".

Параметр зональной устойчивости определяет, защищен ли сервер в зонах доступности. У вас есть два варианта:

  • Отключено (99,9 % SLA): Высокая доступность не настроена.
  • Включено (99.99% соглашение об уровне обслуживания): при выборе этого параметра Azure пытается создать резервный сервер в другой зоне доступности, отличной от основной. Этот параметр обеспечивает лучшую защиту от сбоев на уровне зоны.

Если вы включаете зональную устойчивость, но в вашем регионе недостаточно ресурсов для конфигурации с избыточностью по зонам, под параметром Включено (99,99 % SLA) появится дополнительный флажок. Установите этот флажок, чтобы разрешить резервному серверу создаваться в той же зоне, что и основной сервер. Когда становится доступна зональная емкость, Azure автоматически переводит ваши рабочие нагрузки из режима привязки к одной зоне в режим избыточности между зонами.

  1. Если вы не включили зональную устойчивость, выберите параметр "Включено ".

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

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

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

  3. Если в регионе отсутствует зональная емкость, чтобы удостовериться в включении высокой доступности (HA) в предпочитаемом регионе, установите флажок под параметром "включено", чтобы разрешить создание высокой доступности с режимом той же зоны региона.

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

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

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

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

  6. Новое развертывание запускается для обеспечения высокой доступности на База данных Azure для PostgreSQL гибком сервере.

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

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

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

Отключение высокой доступности

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

Используйте портал Azure:

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

  2. В меню ресурсов в разделе "Параметры " выберите "Высокий уровень доступности".

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

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

  4. Нажмите переключатель "Отключено ", чтобы отключить высокий уровень доступности.

    Снимок экрана, на котором показан снятый флажок для включения режима высокой доступности.

  5. Выберите Сохранить, чтобы применить изменения.

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

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

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

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

Включите бизнес-критичный режим (высокую доступность) во время настройки сервера

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

Используйте портал Azure:

  1. При создании нового гибкого сервера База данных Azure для PostgreSQL перейдите в раздел Критически важный для бизнеса (высокая доступность). Выберите параметр "Включить" в разделе "Зональная устойчивость ".

    • По умолчанию сервер пытается создать резервный сервер в другой зоне доступности в режиме Zone-Redundant для обеспечения максимальной зональной устойчивости.

    Снимок экрана, на котором показано включение HA с параметром зонной избыточности.

    • Если зональная ёмкость недоступна, установите флажок «Разрешить резерв в той же зоне при отказе зональной устойчивости» для использования в качестве альтернативы. Если этот параметр не выбран, вы не можете перейти к следующему шагу в рабочем процессе создания. Эта проверка гарантирует, что высокий уровень доступности остается включенным. Когда зональная емкость становится доступной, Azure автоматически переносит рабочие нагрузки из Same-Zone HA в Zone-redundant HA.

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

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

      Снимок экрана, показывающий высокую доступность с параметром высокой доступности в одной зоне.

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

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

Запуск принудительного переключения

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

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

Это важно

  • Не выполняйте немедленные переключения подряд. Подождите по крайней мере 15–20 минут между переключениями отказа. Это время ожидания позволяет полностью установить новый резервный сервер.

  • Общее время завершения работы, как сообщается на портале, может превышать фактическое время простоя приложения. Вы должны измерять время простоя с точки зрения приложения.

Используйте портал Azure:

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

  2. В меню ресурсов в разделе "Параметры " выберите "Высокий уровень доступности".

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

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

  4. Выберите Принудительное переключение, чтобы запустить процедуру вручную. Диалоговое окно сообщает об ожидаемом времени простоя до завершения отказоустойчивости. Если вы решите продолжить, выберите «Инициировать принудительное переключение».

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

  5. Появится уведомление с сообщением о том, что выполняется переключение на резервный сервер.

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

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

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

  7. Если основной и резервный серверы развернуты в разных зонах, убедитесь, что значения Primary availability zone и Standby availability zone поменялись местами по сравнению с их значениями до начала переключения при отказе.

Запуск планового переключения

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

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

Это важно

  • Не выполняйте немедленные переключения подряд. Подождите по крайней мере 15–20 минут между переключениями отказа. Это время ожидания позволяет полностью установить новый резервный сервер.

  • Выполняйте запланированные переключения в периоды низкой активности.

  • Общее время завершения работы, как сообщается на портале, может превышать фактическое время простоя приложения. Вы должны измерять время простоя с точки зрения приложения.

Используйте портал Azure:

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

  2. В меню ресурсов в разделе "Параметры " выберите "Высокий уровень доступности".

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

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

  4. Выберите планируемый отказ, чтобы запустить ручную процедуру переключения. Диалоговое окно сообщает об ожидаемом времени простоя до завершения отказоустойчивости. Если вы решите продолжить, выберите "Инициировать запланированное переключение при отказе".

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

  5. Появится уведомление и будет упомянуто, что резервное переключение в процессе.

    Снимок экрана с уведомлением о выполняющемся переключении при отказе после запуска планового переключения при отказе.

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

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

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

Ограничения и рекомендации

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

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

  • Уровень с бурстингом не поддерживает высокий уровень доступности. Только уровни общего назначения и оптимизированных для памяти уровней поддерживают высокий уровень доступности.

  • При развертывании сервера в регионе, состоящем из одной зоны доступности, можно включить высокий уровень доступности только в одном режиме зоны. Если в будущем Microsoft добавит в регион несколько зон доступности, вы сможете развернуть новые гибкие серверы База данных Azure для PostgreSQL с настройкой высокой доступности в режиме same-zone или zone-redundant.

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

Опция восстановления

  1. Восстановить до последней точки восстановления.
  2. После создания нового сервера обеспечьте высокую доступность с разделением на зоны.
  3. После проверки данных можно при желании удалить старый сервер.
  4. Убедитесь, что вы изменяете строки подключения клиентов, чтобы указать на восстановленный сервер.

Параметр реплики чтения

  1. Создайте реплику чтения в том же регионе, что и основной сервер.

  2. Повышение уровня реплики чтения, чтобы стать новым первичным сервером.

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

  4. Для пользователей портала включите зональную устойчивость. Для инструментов разработчика задайте высокий уровень доступности с помощью параметра Zone-Redundant.

  5. Создайте реплику чтения в том же регионе, что и основной сервер.

  6. Повышение уровня реплики чтения, чтобы стать новым первичным сервером.

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

  8. Для пользователей портала включите зональную устойчивость. Для инструментов разработчика задайте высокий уровень доступности с помощью параметра Zone-Redundant.