@Artem_Guschin
Что такое репликация в СХД?
Репликация — это копирование данных с одного хранилища на другое, чтобы обеспечить:
- отказоустойчивость,
 - доступность,
 - защиту от потерь,
 - катастрофоустойчивость (DR — Disaster Recovery).
 
Идея репликации данных как концепции — это не изобретение одного конкретного человека, а результат эволюции распределённых вычислений и систем отказоустойчивости в 1960–1980-х годах.
1960
В университетах и оборонных структурах (ARPA, IBM, MIT) начинают обсуждать дублирование компонентов для повышения отказоустойчивости.
ОПЯТЬ И ОПЯТЬ IBM (Батя технологий) https://telegra.ph/Tehnologii-i-ZLO-06-06
1980-е
Появляется репликация в системах управления базами данных (Sybase, Oracle).
1990-е
Концепции зеркалирования и репликации применяются к дискам и СХД.
2000-е
Amazon, Google и др. внедряют свои системы (Dynamo, Bigtable) с асинхронной и eventually-consistent репликацией.
2022-й
Россия строит собственный подход (спойлер на будущую статью)
Кто конкретно?
Лесли Лэмпорт — автор формальной теории согласованности (Paxos), без которой не было бы корректной репликации в распределённых БД и СХД.
Джим Грей (Jim Gray) — пионер транзакционных систем, автор работы по двухфазному коммиту (2PC), которая лежит в основе синхронной репликации в БД.
Инженеры DEC, IBM, Oracle, Tandem Computers — внедрили первые коммерческие реализации репликации в БД и хранилищах.
Конкретные задачи, которые решает репликация:
1. Отказоустойчивость (High Availability)
Если один массив/сервер/дата-центр выходит из строя — система продолжает работать за счёт копии данных.
Пример:
Упал контроллер/хранилище — приложение автоматически переключается на реплику
2. Защита от потери данных (Data Loss Prevention)
Синхронная репликация может гарантировать нулевые потери (RPO = 0), потому что запись считается завершённой только после попадания на обе площадки.
3. Катастрофоустойчивость (Disaster Recovery)
При пожаре, наводнении, падении метеорита — можно восстановиться из реплики, расположенной в другом регионе.
Асинхронная репликация обычно используется именно для DR.
4. Обеспечение непрерывности бизнеса (Business Continuity)
Позволяет сократить время простоя (RTO) и избежать потерь в критичных бизнес-процессах:
банковские операции, биллинги, логистика и т.д.
5. Чтение с реплики (в некоторых системах)
Некоторые СХД или распределённые файловые системы позволяют разгружать основное хранилище, выполняя чтение с реплики.
Что не делает репликация
- Не заменяет бэкап: реплика — это зеркало текущего состояния. Удалённые/искажённые данные также попадут в реплику.
 - Не защищает от логических ошибок: например, случайного удаления таблиц.
 
(про бекап поищи в канале - были статьи)
Вывод (номер 1)
Репликация в СХД — это про непрерывность, доступность и живучесть данных в реальном времени.
Она — основа для построения отказоустойчивых и катастрофоустойчивых архитектур.
Что такое синхронная репликация
Синхронная репликация — это механизм, при котором запись данных на основное хранилище не считается завершённой, пока эти данные не будут успешно записаны и на удалённое (зеркальное) хранилище.
Иными словами, клиент получает ACK (подтверждение записи) только тогда, когда данные записаны в оба массива — первичный и вторичный (реплицируемый).
Алгоритм записи:
- Клиент отправляет I/O-запрос (WRITE) на основное СХД.
 - Основное СХД записывает данные в кэш или журнал.
 - Параллельно оно передаёт данные на удалённое СХД.
 - Удалённое СХД подтверждает приём и запись.
 - Основное СХД отправляет ACK клиенту.
 
Особенности реализации
- Используется протокол двухфазной фиксации (2PC) или проприетарные алгоритмы согласования записи.
 - Обычно задействуется журнал изменений (Write Journal), чтобы гарантировать порядок операций.
 - Для повышения производительности часто применяется журнализация в DRAM/NVRAM перед фактической записью на диск.
 
Зачем использовать синхронную репликацию
1. Нулевой RPO (Recovery Point Objective = 0)
— ни один байт данных не теряется при сбое. Всё, что клиент «увидел как записанное», уже находится в двух местах.
2. Высокая доступность / отказоустойчивость (HA/FT)
— при сбое основного хранилища можно моментально переключиться на зеркало (failover), без потерь и задержек.
3. Поддержка Metro-кластеров
— это основа для кластеров с географическим разнесением, когда две площадки работают как единый логический массив с репликацией в реальном времени.
Требования к сети
Синхронная репликация предъявляет очень строгие требования к сетевому соединению
Обычно синхронная репликация используется на расстояниях до 100 км, т.к. на больших расстояниях даже свет даёт задержки >1 мс на 100 км.
Вывод (номер 2)
Синхронная репликация — это фундамент для построения сверхнадёжных инфраструктур, где важна гарантированная целостность и непрерывность работы. Это дорого и требовательно, но даёт высочайший уровень защиты данных.
Наверное самое популярно сейчас в РФ (после долгих поставок и договоренностей с государством)
Huawei HyperMetro — это высокодоступное (HA) решение синхронной репликации от компании Huawei, разработанное для работы в Active-Active режиме между двумя СХД, расположенными на разных площадках (обычно до 100 км). Оно обеспечивает нулевой RPO и минимальный RTO, гарантируя непрерывную работу приложений даже в случае выхода из строя одной площадки.
Основная цель HyperMetro
Обеспечить одновременный доступ к данным с двух независимых СХД в режиме Active-Active и автоматическое переключение в случае сбоя одной из них — без потерь данных и прерывания работы приложений.
Архитектура Huawei HyperMetro
Компоненты:
Две СХД Huawei (OceanStor)
например, OceanStor Dorado V6, 18000 V5 или другие.
HyperMetro Domain (домен репликации)
логическая сущность, объединяющая две СХД в одну репликационную пару с синхронной репликацией.
Quorum Server (сервер арбитра)
независимый узел, обеспечивающий защиту от split-brain, решает, какой из массивов должен продолжить работу при потере связи.
Как работает HyperMetro
Данные записываются одновременно на обе СХД.
Обе СХД доступны для чтения/записи — в зависимости от режима доступа (Active-Active).
При сбое одной из СХД:
Quorum Server определяет, какой узел «живой».
Оставшаяся СХД немедленно принимает на себя полную нагрузку, без потерь данных.
Когда вторая СХД восстанавливается, выполняется автоматическая ресинхронизация данных.
Поддерживаемые сценарии
- Катастрофоустойчивость (DR)
 - Высокодоступные ЦОДы (Active-Active Metro Data Center)
 - Безостановочное обслуживание хранилищ
 - Zero RPO решения для банков, телекомов, госпитальных систем
 
Пример: Банковская система
- Транзакционная БД работает в ЦОД1.
 - Синхронная репликация на ЦОД2 (через HyperMetro).
 - При падении ЦОД1 система продолжает работать в ЦОД2 — клиенты банка даже не замечают.
 
Но ведь теперь этого у нас нет …
А что дальше?