Репликация данных
В современном мире ИТ-инфраструктура играет ключевую роль в поддержании непрерывности бизнеса. Одной из важнейших технологий, обеспечивающих надежность и доступность данных, является репликация. В этой статье мы рассмотрим, что такое репликация данных, как она работает, и какими преимуществами обладает.
1. Основные определения
Прежде чем углубляться в детали, давайте определим ключевые термины:
- RPO (Recovery Point Objective) — это максимально допустимый период, данные за который могут быть потеряны после восстановления работоспособности системы.
- RTO (Recovery Time Objective) — это период, в течение которого доступность системы должна быть восстановлена после аварии.
2. Что такое репликация
Репликация (replication) означает хранение копий одних и тех же данных в нескольких местах на различных устройствах (СХД/серверах), соединенных с помощью сети. Это позволяет обеспечить избыточность и доступность данных в случае сбоя одного из узлов.
Репликация данных как технология появилась в ИТ-сфере в начале 1990-х годов, когда компании начали осознавать важность защиты данных и обеспечения их доступности. С тех пор она стала неотъемлемой частью ИТ-инфраструктуры, особенно в крупных организациях, где потеря данных может привести к значительным финансовым и репутационным потерям.
3. Основные причины реализации репликации
Репликация данных используется по нескольким причинам:
- Масштабируемость. При увеличении нагрузки по чтению/записи одного сервера/СХД/ЦОД, можно распределить эту нагрузку на несколько компьютеров/несколько СХД/несколько ЦОД.
- Отказоустойчивость/высокая доступностью. Приложение должно продолжать работать в случае сбоя сервера (серверов) / дискового ресурса СХД/ СХД/ ЦОД, а для этого можно использовать избыточные ресурсы на других площадках (сервера / СХД).
- Задержка. Для реализации доступа к данным пользователей по всему миру серверы/СХД необходимо географически распределять в соответствии с размещением пользователей ресурсов для обеспечения эффективного доступа пользователей к ним, с минимальными задержками.
Процесс репликации данных предполагает участие минимум двух сторон: ведущего узла (сервера/СХД) и одного или нескольких ведомых узлов/систем хранения данных (СХД). Ведущий узел хранит данные на своем локальном диске и передает их на удалённое хранилище, расположенное на одном или нескольких ведомых узлах.
В качестве транспортного уровня для репликации можно использовать следующие три варианта:
- Remote Copy over Fibre Channel (RCFC) – для репликации используются FC порты массива, а в качестве каналов передачи данных — сеть FC;
- Remote Copy over Internet Protocol (RCIP) — для репликации используются встроенные IP порты массива (1/10/25GbE – в зависимости от модели массива), а в качестве каналов — IP;
- Remote Copy over FCIP (Fibre Channel over IP) — для репликации используются FC порты массива, а в качестве каналов передачи данных — сеть IP. FCIP предполагает применение дополнительных преобразователей (gateways) протоколов FC-IP.
4. Типы репликации
Существует два основных типа репликации:
- Синхронная репликация: данные копируются в реальном времени, и операция не завершится, пока данные не будут записаны и сохранены на другие копии. Это обеспечивает высокую доступность, но может замедлить работу основного приложения.
- Асинхронная репликация: данные копируются с некоторой задержкой, что позволяет снизить нагрузку на систему, но может привести к временному рассогласованию данных.
В общем случае могут встречаться следующие топологии репликации:
- One-to-one: репликация выполняется только между двумя массивами.
- Many-to-many: N массивов могут реплицировать данные на другие M массивов.
5. Принципы работы типов репликации
Синхронная репликация
Синхронная репликация может выполняться как через сеть Fiber Channel (FC), так и через Ethernet (используя протокол iSCSI). При этом вначале на сторону реплики копируется весь имеющийся на томе объем данных (initial data transfer). По такому же принципу это происходит и при асинхронной репликации.
Главная особенность синхронной репликации заключается в том, что обмен данными между ведущим и ведомым СХД происходит синхронно. Если ведомое СХД не отвечает (из-за сбоя, сбоя сети или по любой другой причине), то ведущее СХД блокирует все операции записи и ждет, пока ведомое СХД не будет готово к приему данных снова.
Реализация этого метода копирования данных чувствительна к задержкам в канале репликации, поскольку от этого зависят задержки передачи данных между ведомой (удаленной) СХД и ведущей СХД. Поэтому при использовании синхронной репликации надо учитывать расстояние между СХД.
Примечание: в случае использование cинхронной репликации RPO=0.
Асинхронная репликация
Асинхронная репликация допускает некоторую задержку во времени при синхронизации исходного тома и его реплики. Асинхронная репликация тома выполняется по сети Ethernet, используя протокол TCP/IP.
Вначале на сторону реплики копируется все содержимое исходного тома (initial data transfer). После этого пересылаются изменения за установленный период времени, синхронизируя данные исходного тома и реплики.
При асинхронной репликации ведущее СХД отправляет данные на ведомое СХД, не дожидаясь ответа от него. В этом случае нет гарантий по времени обработки запроса от ведомого узла, поэтому используется специальный лог, куда попадают данные от ведущего СХД, когда ведомое не может обработать поток данных от ведущего.
Значение временного промежутка между репликами задается при настройке репликации. Использование реплики возможно после остановки процесса репликации. Асинхронно можно реплицировать как тома, так и файловые системы.
Некоторые производители СХД поддерживают два режима асинхронной репликации:
- Асинхронный периодический режим: для синхронизации томов используются мгновенные снимки (snapshots), создаваемые через заданный интервал времени; на удаленный массив реплицируются только новые блоки, содержащиеся в новом снимке по сравнению с предыдущим снимком.
- Асинхронный потоковый режим: новые блоки накапливаются в локальном массиве в течение небольшого периода времени (измеряемого долями секунды) и затем реплицируются на удаленный массив.
Примечание: RPO в случае синхронной репликации # 0 ! Минимальные значения RTO надо уточнять у каждого вендора СХД отдельно, это связано с реализацией механизма асинхронной
репликации. Обычно минимальное время для асинхронный периодического режима репликации RTO ~ 5-10 минут, для асинхронного потокового режим RPO ~10-15 сек.
6. Сравнение типов репликации
В таблицах приведены сравнительные характеристики и критерии синхронной и асинхронной репликации данных. Эти данные помогают понять, какие типы репликации и способы соединения СХД подходят для различных сценариев и требований к производительности и задержкам.
7. Совместное использование двух типов репликаций
В компаниях, где нужен высокий уровень защиты данных, могут использоваться сразу два вида репликации.
Одновременное использование двух технологий образует специальный режим репликации, называемый Synchronous Long Distance (SLD), или репликация на большие расстояния без потери данных. SLD позволяет одновременно реплицировать один и тот же набор данных (томов) с одного массива на два других массива.
Такой режим поддерживается всего несколькими производителями СХД. Поэтому на нем мы остановимся подробнее.
8. Принцип работы режима SLD
После завершения процесса синхронизации массивов B и C работу с данными можно продолжить, выбрав либо B, либо C массив. При этом ни одна запись, записанная на массив A, не потеряется (RPO = 0), а репликация между массивами B и C обеспечит непрерывную защиту данных даже при отказе одной из трёх подсистем хранения.
По окончании восстановления массива A обновленные данные, зафиксированные на массивах B и C, автоматически перенесутся обратно на массив A, возвращая систему к стандартному рабочему циклу с использованием массива A в роли главного хранилища.
Примечание. Некоторые производители позволяют организовать одновременное использование двух массивов, выполняющих роль основных хранилищ. Например, одни наборы томов могут синхронно реплицироваться с массива A на массивы B и C, тогда как другие тома — наоборот, с массива B на массивы A и C.
Резюме
Репликация данных в ИТ является эффективным инструментом для организаций, стремящихся повысить надёжность и производительность своей информационной инфраструктуры. Мы рассмотрели, что такое репликация, основные задачи и принципы синхронной и асинхронной репликации. Правильно настроенная репликация помогает минимизировать риски аварийных ситуаций, справляться с возрастающей нагрузкой и обеспечивать постоянный доступ пользователей к актуальным данным.
Функционал репликации реализован в нашем реестровом решении ATLAS.SM, подробнее ознакомиться с ним можно здесь.