SyncMirror — технология синхронного зеркального копирования данных между двумя системами хранения данных (СХД), при которой изменения записываются одновременно на основное и зеркальное хранилище. Такой механизм используется для обеспечения высокой доступности данных и непрерывности работы критически важных IT-систем при отказе оборудования или одной из площадок.
В зависимости от производителя и конкретного решения SyncMirror может быть названием определённой технологии или функции СХД. Наиболее известен термин SyncMirror в системах NetApp, где он применяется для синхронного зеркалирования агрегатов и защиты данных на уровне дисковых пулов.
Как работает SyncMirror
При использовании SyncMirror создаются две идентичные копии данных — plex. Они размещаются на разных наборах дисков или в отдельных пулах хранения. Все операции записи выполняются синхронно: система подтверждает успешную запись только после того, как необходимые данные записаны в обе копии. В упрощённом виде процесс выглядит следующим образом:
- Приложение отправляет запрос на запись данных.
- Система хранения направляет изменения в основной и зеркальный plex.
- Данные записываются в оба набора дисков.
- После выполнения операции СХД подтверждает запись приложению.
Благодаря этому обе копии остаются актуальными. Если один из компонентов хранения становится недоступен, система может продолжить работу с сохранившейся копией.
Для чего используется SyncMirror
Основная задача SyncMirror — снизить риск недоступности или потери данных из-за отказа компонентов системы хранения. Технология особенно востребована для инфраструктуры, где длительный простой критичен для бизнес-процессов. SyncMirror позволяет:
- поддерживать две синхронизированные копии данных
- сохранять доступ к информации при отказе одного из наборов дисков
- повышать отказоустойчивость СХД
- уменьшать риск потери последних изменений
- использовать физическое разделение копий для дополнительной защиты инфраструктуры
В зависимости от архитектуры оборудования копии могут находиться в разных дисковых полках или других изолированных компонентах системы хранения.
Чем SyncMirror отличается от RAID
SyncMirror и RAID решают связанные, но разные задачи:
- RAID распределяет данные и избыточность между дисками внутри RAID-группы, позволяя пережить отказ определённого количества накопителей
- SyncMirror создаёт вторую синхронную копию данных на отдельном наборе дисков
RAID в первую очередь обеспечивает отказоустойчивость на уровне накопителей, тогда как зеркалирование позволяет дополнительно разделить копии между независимыми группами оборудования.
Эти механизмы могут использоваться совместно: каждый plex SyncMirror может сам состоять из RAID-групп. Поэтому SyncMirror не заменяет RAID, а дополняет защиту, создавая дополнительный уровень избыточности.
SyncMirror и резервное копирование
SyncMirror нельзя считать заменой резервного копирования. Синхронное зеркалирование защищает прежде всего от отказа оборудования: если одна копия становится недоступной, вторая содержит актуальные данные.
Однако логическая ошибка также может синхронно попасть в обе копии. Например, удаление файла, повреждение данных приложением или нежелательное изменение может быть воспроизведено на зеркале.
Поэтому для полноценной защиты данных SyncMirror используют вместе со снапшотами, резервным копированием и другими средствами восстановления.
Преимущества и ограничения SyncMirror
К основным преимуществам технологии относятся высокая доступность данных, отсутствие значительного расхождения между основной и зеркальной копиями и возможность продолжить работу при определённых отказах системы хранения.
При этом зеркалирование требует дополнительных ресурсов: для второй копии необходим сопоставимый объём дискового пространства. Кроме того, SyncMirror не защищает от всех сценариев потери данных и должен быть частью комплексной архитектуры отказоустойчивости и резервного копирования.