[Документация Yandex Cloud](../index.md) > [Архитектурные решения](index.md) > Отказоустойчивость > Восстановление кластеров БД при отказе зоны доступности

# Восстановление кластеров баз данных при отказе зоны доступности

Если одна из [зон доступности](../overview/concepts/geo-scope.md) недоступна, порядок действий зависит от размещения хостов и состояния кластера. В примерах ниже предполагается, что недоступна зона `ru-central1-b`. Выберите подходящий сценарий:

* [Все хосты кластера находятся в недоступной зоне](#all-hosts-in-zone-b).
* [Часть хостов находится в недоступной зоне, мастер переключился](#master-switched).
* [Часть хостов находится в недоступной зоне, мастер не переключился и кластер доступен только для чтения](#read-only).
* [В кластере нет хостов в недоступной зоне](#no-hosts-in-zone-b).

## Все хосты кластера находятся в недоступной зоне {#all-hosts-in-zone-b}

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

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

{% note warning %}

Данные, которые не попали в выбранную точку восстановления, будут отсутствовать в новом кластере. Если подходящей резервной копии нет или восстановление не удается, [обратитесь в техническую поддержку](https://kz.center.yandex.cloud/support).

{% endnote %}

Инструкции по восстановлению из резервной копии:

#|
|| **Сервис** | **Инструкция** ||
|| Managed Service for PostgreSQL | [Восстановить кластер](../managed-postgresql/operations/cluster-backups.md#restore) ||
|| Managed Service for MySQL® | [Восстановить кластер](../managed-mysql/operations/cluster-backups.md#restore) ||
|| Managed Service for ClickHouse® | [Восстановить кластер или шард](../managed-clickhouse/operations/cluster-backups.md#restore) ||
|| Yandex Managed Service for Valkey™ | [Восстановить кластер](../managed-valkey/operations/cluster-backups.md#restore) ||
|| Yandex StoreDoc | [Восстановить кластер](../storedoc/operations/cluster-backups.md#restore) ||
|| Managed Service for OpenSearch | [Восстановить кластер](../managed-opensearch/operations/cluster-backups.md#restore) ||
|| Yandex MPP Analytics for PostgreSQL | [Восстановить кластер](../managed-greenplum/operations/cluster-backups.md#restore) ||
|| Managed Service for Sharded PostgreSQL | [Восстановить кластер](../managed-spqr/operations/cluster-backups.md#restore) ||
|#

Резервная копия Managed Service for Sharded PostgreSQL содержит конфигурацию шардов. Данные самих шардов при необходимости восстановите отдельно в Managed Service for PostgreSQL.

## Часть хостов находится в недоступной зоне, мастер переключился {#master-switched}

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

1. Проверьте, что приложение подключается к новому мастеру и может записывать данные.
1. Если добавление хостов доступно, добавьте в другие зоны хосты взамен недоступных. Если добавить хосты не получается, [обратитесь в техническую поддержку](https://kz.center.yandex.cloud/support).
1. Дождитесь, пока новые хосты станут работоспособны и синхронизируют данные. После этого удалите хосты в зоне `ru-central1-b`, учитывая ограничения сервиса на минимальное число хостов. Если удаление временно недоступно, повторите попытку позже.

Инструкции по управлению хостами:

#|
|| **Сервис** | **Добавить хост** | **Удалить хост** ||
|| Managed Service for PostgreSQL | [Инструкция](../managed-postgresql/operations/hosts.md#add) | [Инструкция](../managed-postgresql/operations/hosts.md#remove) ||
|| Managed Service for MySQL® | [Инструкция](../managed-mysql/operations/hosts.md#add) | [Инструкция](../managed-mysql/operations/hosts.md#remove) ||
|| Yandex Managed Service for Valkey™ | [Инструкция](../managed-valkey/operations/hosts.md#add) | [Инструкция](../managed-valkey/operations/hosts.md#remove) ||
|| Yandex StoreDoc | [Инструкция](../storedoc/operations/hosts.md#add-host) | [Инструкция](../storedoc/operations/hosts.md#remove-host) ||
|#

## Мастер не переключился, кластер доступен только для чтения {#read-only}

Этот сценарий подходит для кластера из нескольких хостов, часть которых находится в зоне `ru-central1-b`, если мастер не переключился и кластер перешел в режим только для чтения (Read Only, RO).

Автоматическое переключение мастера может не выполняться из-за риска потери данных. В этом сценарии самостоятельно переключить мастер нельзя.

1. [Обратитесь в техническую поддержку](https://kz.center.yandex.cloud/support). Укажите идентификатор кластера и опишите его состояние.
1. Дождитесь, пока техническая поддержка переключит мастер.
1. Выполните действия из [сценария, в котором мастер переключился](#master-switched).

## В кластере нет хостов в недоступной зоне {#no-hosts-in-zone-b}

Чтобы подготовиться к возможным отказам других зон:

1. Проверьте конфигурацию кластера и приложения по [рекомендациям по отказоустойчивости](fault-tolerance.md). Учитывайте требования вашего сервиса к размещению и количеству хостов.
1. Если вам нужно настроить перенос или репликацию данных, изучите [инструкции Data Transfer](../data-transfer/operations/index.md) и [требования к подготовке источника и приемника](../data-transfer/operations/prepare.md).

## Восстановление резервной копии кластера через OpenSearch API  {#mos-backup}

Вы можете подключить Object Storage к кластеру Managed Service for OpenSearch как репозиторий снапшотов. Резервные копии будут создаваться вручную или по расписанию через [OpenSearch Snapshot API](https://docs.opensearch.org/latest/api-reference/snapshots/index/).

1. [Создайте репозиторий](https://docs.opensearch.org/latest/api-reference/snapshots/create-repository/) для хранения снапшотов с указанием Object Storage.
1. [Определите политику](https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/) регулярного создания снапшотов.
1. [Настройте права доступа](../managed-opensearch/operations/s3-access.md#configure-acl) и [подключите репозиторий](../managed-opensearch/operations/s3-access.md#register-snapshot-repository) снапшотов для кластера Managed Service for OpenSearch.

1. [Настройте права доступа](../managed-opensearch/operations/s3-access.md#configure-acl) и [подключите репозиторий](../managed-opensearch/operations/s3-access.md#register-snapshot-repository) спапшотов для кластера Managed Service for OpenSearch.

## Перенос базы данных из сервиса Managed Service for PostgreSQL в другой кластер PostgreSQL с помощью логической репликации {#pg-replication}

Кластер Managed Service for PostgreSQL поддерживает [логическую репликацию](https://www.postgresql.org/docs/current/logical-replication.html). Это позволяет мигрировать базы данных встроенными средствами PostgreSQL между разными кластерами PostgreSQL.

Чтобы мигрировать базу данных, воспользуйтесь [практическим руководством](../tutorials/dataplatform/outbound-replication.md).