Top.Mail.Ru
КОНФИГУРАТОР Серверы ▶
Сетевое оборудование ▶
СХД ▶
IP-телефоны IP-камеры Источники бесперебойного питания (ИБП) Комплектующие Готовые решения Серверы под задачу
О компании Купить в лизинг Блог Отзывы Доставка Гарантия Контакты Работа у нас Реквизиты Спецпредложения Игровые ПК на ISKRAPC Заявка в тех поддержку
Эксперты в подборе IT-оборудования

Репликация данных между системами хранения: настройка и сценарии применения

18 сентября 2026
Репликация данных между системами хранения: настройка и сценарии применения
Содержание:

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

Почему интернет-магазин продолжает принимать заказы, когда у него сгорел массив в серверной? Потому что те же данные уже лежали на втором массиве - в соседней комнате или в другом конце города. Копировать можно на трёх уровнях: сама СХД передаёт блоки томов, сервер или гипервизор реплицирует диски и виртуальные машины, приложение (обычно СУБД) пересылает свои изменения. Принципы у всех трёх общие, различаются цена и ограничения. Ниже сначала про общие принципы, потом про репликацию между СХД, а в конце - что делать, если второго массива нет и не будет.

Почему репликация - это не резервное копирование

Многие путают эти понятия, и ошибка дорого обходится при проектировании инфраструктуры. Резервная копия - страховка на случай катастрофы: данные восстанавливаются на момент последнего бэкапа, всё после него теряется. Репликация создаёт живую копию, которая подхватывает нагрузку при сбое основной системы за минуты, а в метрокластере - вообще без остановки.

Представьте интернет-магазин в «черную пятницу». Если основная база упадёт, переключение на реплику займёт от секунд до минут, покупатели могут даже не заметить. С резервной копией вы потеряете заказы за последние часы и проведёте ночь, восстанавливая систему.

У репликации есть обратная сторона: она старательно копирует и ошибки. Удалили таблицу, зашифровал вирус, скрипт затёр каталог - через миллисекунды (в синхронном режиме) то же самое будет на реплике. От сбоя железа и площадки репликация спасает, от человека и шифровальщика - нет. Бэкап с историей нужен всё равно.

Как устроена репликация между системами хранения данных

СХД реплицирует тома (LUN) целиком, на уровне блоков. Массив-источник перехватывает каждую запись в том и отправляет её на парный том второго массива. Сервер, который пишет в том, об этом не знает: для него это обычный диск. Отсюда главный плюс - репликация работает для любой ОС, гипервизора и СУБД, ресурсы серверов на копирование не тратятся.

Минус тоже понятен. Массивы в паре почти всегда должны быть одного производителя, а часто и одной линейки: протокол репликации у каждого вендора свой. Купить «какой-нибудь второй массив подешевле» для реплики обычно не выйдет.

Если приложение хранит данные на нескольких томах (база на одном, журналы транзакций на другом), тома объединяют в группу согласованности. Массив копирует их как единое целое, в одном порядке записей. Без этого на реплике база может оказаться в состоянии, которого никогда не было на источнике, и не поднимется.

Физически массивы соединяют тремя способами:

  • по Fibre Channel - через SAN-коммутаторы внутри площадки, между площадками через оптику или оборудование спектрального уплотнения (DWDM);
  • по IP - через порты репликации или iSCSI-порты массива, обычно 10/25 GbE;
  • по арендованному «тёмному» волокну между зданиями, поверх которого идёт FC или Ethernet.

Про сами протоколы подробнее в статье про протоколы доступа к данным в СХД: iSCSI, Fibre Channel, NFS и SMB.

Асинхронная репликация на массивах часто строится на снимках: раз в N минут массив делает снапшот тома и отправляет на второй массив только разницу с предыдущим. Синхронная идёт запись за записью.

Из российских СХД репликацию умеют, например, АЭРОДИСК (синхронный и асинхронный режим, задаётся для каждого тома отдельно, есть метрокластер) и YADRO TATLIN.UNIFIED (синхронная репликация). Перед покупкой уточняйте у поставщика, входит ли репликация в базовую поставку или лицензируется отдельно, и какой канал вендор требует под нужный режим.

Физическая, логическая и триггерная: выбираем подход

Уровень, на котором снимаются изменения, определяет производительность и возможности системы.

Физическая репликация копирует данные блок за блоком, как точную копию диска. Это быстро и эффективно, но негибко. У СУБД реплика должна совпадать с источником по мажорной версии и архитектуре (для PostgreSQL - та же основная версия сервера), выбрать отдельные таблицы нельзя. Репликация между СХД - тоже физическая: массив не знает, что лежит в томе, и копирует всё подряд. Подходит для горячего резерва, не подходит, если нужна только часть данных или копия на другой платформе.

Логическая репликация работает на уровне изменений в базе данных: она понимает, что именно изменилось, и передаёт эту информацию. Можно реплицировать отдельные таблицы, фильтровать данные, даже преобразовывать их на лету. Цена гибкости - дополнительная нагрузка на процессор и сложная настройка.

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

Если выбираете между логической и физической: для полного резерва всей базы берите физическую, она проще и быстрее. Логическая нужна, когда реплика другой версии, нужна не вся база или данные уходят в другую систему (например, в хранилище для аналитики).

Синхронная vs асинхронная: вечная дилемма скорости и надежности

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

Банки используют синхронную репликацию для критичных операций, но в пределах города: площадки ставят на расстоянии десятков километров. На дальние резервные ЦОД данные уходят асинхронно - иначе каждая операция ждала бы ответа за сотни километров.

Асинхронная репликация работает по принципу «записал - отправил следом». Основная система не ждёт подтверждения от реплики, поэтому скорость записи почти не страдает. Платить приходится возможной потерей последних изменений: всё, что не успело уйти по каналу, при аварии пропадёт.

Полусинхронный режим встречается в СУБД (например, в MySQL): система ждёт подтверждения хотя бы от одной реплики, остальные догоняют асинхронно.

Схема синхронной и асинхронной репликации: порядок записи, репликации и подтверждений между хостом, СХД-источником и резервной СХД

РежимКогда запись подтвержденаСколько данных можно потерять (RPO)Расстояние между площадкамиВлияние на скорость записи
Синхронныйпосле записи на обе сторонынольобычно до ~100 км, задержка туда-обратно (RTT) - единицы миллисекунд; точные пределы задаёт вендоркаждая запись ждёт ответа реплики
Асинхронныйсразу после записи на источникот секунд до интервала репликации (минуты)ограничено только каналомпочти нет
Полусинхронный (СУБД)после ответа хотя бы одной репликиноль для этой репликикак у синхронного для ближней репликиждёт самую быструю реплику

Откуда ограничение по расстоянию - из физики. Свет в оптике идёт примерно 200 000 км/с, 100 км туда и обратно - около 1 мс только на распространение сигнала, плюс коммутаторы и сам массив. Для базы с тысячами мелких записей в секунду каждая лишняя миллисекунда заметна.

Отсюда и ответ на частый вопрос «какой тип репликации даёт минимальную задержку». Минимальную задержку записи даёт асинхронный режим. Минимальные потери данных - синхронный. Выбирать удобнее через два числа: сколько данных бизнес готов потерять и сколько может простоять. Как их посчитать, разобрано в статье RPO и RTO простыми словами.

Топологии: кто главный в оркестре данных

Архитектура репликации определяет, как системы взаимодействуют друг с другом. Классическая схема master-slave (ведущий и ведомые) проста и предсказуема: один узел принимает все изменения, остальные только читают. Споров о том, какая версия данных правильная, не возникает.

Но что, если ведущий упадёт? Нужно выбрать нового из реплик, и тут начинаются сложности. Какая реплика самая свежая? Как избежать split-brain - ситуации, когда связь между площадками пропала и обе стороны считают себя главными и принимают каждая свои записи?

В топологии master-master писать можно в любой узел. Звучит удобно, особенно для распределённых систем: офис в Москве работает со своим узлом, офис в Екатеринбурге - со своим, данные синхронизируются. Но конфликты неизбежны: что делать, если один и тот же документ одновременно изменили в двух местах?

Каскадная репликация создаёт иерархию: источник реплицирует на первый уровень реплик, те - на второй. Нагрузка на основной узел падает, зато изменения доходят до конечных узлов с задержкой. Для СХД типичный каскад - синхронная копия в соседний ЦОД и оттуда асинхронная на дальнюю площадку.

Репликация - только часть отказоустойчивости: нужны ещё серверы, которые поднимут работу на второй копии. Как это собрать целиком, разобрано в статье про отказоустойчивый кластер с запасом мощности и ёмкости.

Метрокластер: две СХД как одна

Метрокластер - это две СХД на двух площадках, которые за счёт синхронной репликации показывают серверам один и тот же том. Серверы пишут в любой из массивов (режим active-active), а при отказе площадки продолжают работать с оставшимся без ручного переключения.

Против split-brain ставят арбитр (кворум-свидетель) на третьей площадке. Когда пропадает связь между массивами, каждый спрашивает арбитра, кому продолжать работу. Тот, кто не получил ответ, останавливает запись в том. Без третьей площадки автоматика в метрокластере опасна: два массива, потерявшие друг друга, не могут сами решить, кто прав.

Арбитром обычно ставят небольшую виртуальную машину или сервер - в третьем здании, в облаке, в другом офисе. Мощности ему много не нужно, нужна независимая связь с обеими площадками.

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

Настройка: дьявол в деталях

Настройка репликации СХД начинается с оценки сети, задолго до интерфейса массива. Сколько данных изменяется в единицу времени? Хватит ли канала для выбранного режима? Многие пропускают этот шаг и потом получают реплику, которая отстаёт всё сильнее.

Как посчитать канал под репликацию

Для постоянной работы считают объём изменений. Размер тома важен только для первой синхронизации: том на 2 ТБ, в котором за день меняется 20 ГБ, нагружает канал меньше, чем том на 500 ГБ с 200 ГБ изменений.

Пример. За рабочий день (8 часов) в томах меняется 150 ГБ. Средний поток: 150 × 1024 МБ / 28 800 с ≈ 5,3 МБ/с, то есть около 43 Мбит/с. Но записи идут неравномерно: закрытие дня в учётной системе, ночные регламентные задания, перенос архивов. Пики легко бывают в 3-5 раз выше среднего, поэтому для асинхронной реплики с RPO в несколько минут закладывайте 150-200 Мбит/с. Для синхронной считают по пиковому потоку записи с запасом. Если на пике канала не хватит, замедлятся сами серверы: они ждут подтверждения каждой записи.

Где взять объём изменений: статистика записи в интерфейсе массива, размер снапшотов за сутки, счётчик Disk Write Bytes/sec в Windows или iostat в Linux. Снимайте хотя бы неделю, включая конец месяца.

Порядок настройки

  1. Определите RPO и RTO для каждой системы. База 1С и файловый архив требуют разного режима.
  2. Измерьте объём изменений и проверьте канал: пропускную способность и задержку до второй площадки.
  3. Спланируйте первичную синхронизацию. Первый проход копирует том целиком: 5 ТБ через канал 200 Мбит/с - это больше двух суток. Удобно сделать первую копию, пока массивы стоят рядом, и уже потом везти второй массив на площадку.
  4. Создайте пары томов и группы согласованности, выберите режим и расписание.
  5. Проверьте переключение: остановите источник в плановое окно и поднимите сервисы на реплике.
  6. Настройте мониторинг и оповещения.

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

Мониторинг репликации - отдельная история. Мало знать, что репликация «работает». Отслеживайте задержку репликации (replication lag), размер очереди изменений, количество конфликтов. Растущая задержка - первый признак проблем, которые лучше решить до того, как они станут критичными.

Реплика, на которую ни разу не переключались, - это надежда, а не резерв. Типичные находки при первом тесте: сервисы на второй площадке ссылаются на IP-адреса первой, лицензии привязаны к старому железу, никто не помнит порядок запуска. Проверяйте переключение хотя бы раз в полгода и после крупных изменений.

Репликация, снапшот, клон и бэкап: в чём разница

Четыре технологии часто живут в одном массиве, а в разговоре их легко спутать. Разница - в том, где лежит копия и от чего она защищает.

Что этоГде лежит копияСбой массиваУдаление или шифровальщикЗачем нужна
Снапшотснимок тома на момент времени, ссылается на исходные блокина том же массивене спасаетспасает, пока снимки целыбыстрый откат после неудачного обновления
Клонполная независимая копия тома на момент созданияобычно на том же массивене спасаетспасает на момент клонатестовая среда, копия базы для отчётов
Репликацияпостоянно обновляемая копияна другом массиве или площадкеспасаетне спасает: ошибка копируетсяпродолжить работу при отказе
Бэкапкопия в отдельной системе с историей версийотдельно, лучше вне площадкиспасаетспасает, если копия отключена или неизменяемавосстановление на нужную дату

Клон отличается от репликации тем, что создаётся один раз и дальше живёт своей жизнью. Реплика продолжает получать все изменения. Про подводные камни снимков - в статье когда применять снапшоты виртуальных машин, про бэкап самих хранилищ - в разборе резервного копирования СХД.

Практические сценарии: от e-commerce до больших данных

Для небольшой компании типичный сценарий выглядит скромнее, чем у маркетплейса. Сервер 1С и файловое хранилище в офисе, копия виртуальных машин на втором сервере в другом здании или в арендованной стойке. Асинхронная репликация раз в 5-15 минут, при аварии ВМ запускают на втором сервере вручную. При пожаре или затоплении серверной компания потеряет последние 5-15 минут данных и час-другой на запуск машин. Без реплики счёт шёл бы на дни.

В электронной коммерции репликация решает задачу географического распределения. Покупатели из Владивостока получают данные с ближайшего сервера, не дожидаясь ответа из Москвы. Критичные данные (остатки товара, заказы) синхронизируются в реальном времени, а каталог товаров может обновляться асинхронно.

Аналитические системы используют репликацию, чтобы разделить транзакционную и аналитическую нагрузку (OLTP и OLAP). Рабочая база обрабатывает операции, а её реплику отдают под отчёты. Тяжёлые запросы не тормозят основную систему.

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

Узлы хранения данных, связанные сетью репликации

Репликация без второй дорогой СХД

Два одинаковых массива с лицензией на репликацию - серьёзные деньги. Для малого и среднего бизнеса чаще подходит программная репликация между обычными серверами. Она асинхронная (кроме DRBD и Storage Replica в синхронном режиме), зато работает на том железе, что уже есть.

ИнструментЧто реплицируетРежимОграничения
Proxmox VE (встроенная репликация)диски ВМ и контейнеров между узлами кластераасинхронный, интервал от 1 минуты, по умолчанию раз в 15 минуттолько локальный ZFS; при отказе узла теряются изменения после последней синхронизации
ZFS send/receiveснапшоты датасетов на другой серверасинхронный, по расписаниюнужен ZFS с обеих сторон, расписание настраивается отдельно (cron, syncoid)
DRBDблочное устройство между двумя Linux-серверамипротокол C - синхронный, A - асинхронныйсеть между узлами должна выдерживать поток записи; split-brain решается настройками кластера
Windows Server Storage Replicaтома между серверами или кластерамисинхронный или асинхронныйв редакции Standard (2019 и новее) - один том до 2 ТБ, в Datacenter без этих ограничений
Hyper-V Replicaвиртуальные машины Hyper-Vасинхронный, интервал 30 секунд, 5 или 15 минутручное или скриптовое переключение
Репликация СУБДбазу данных (PostgreSQL, MS SQL и др.)зависит от СУБДкопируется только база, остальное защищать отдельно

Часто дешевле реплицировать только то, что дорого потерять. База 1С на PostgreSQL с потоковой репликацией на второй сервер защищена лучше, чем весь файловый сервер со старыми архивами, скопированный раз в сутки.

Для ZFS-вариантов стоит разобраться в самой файловой системе: что даёт ZFS и кому она нужна.

Современный инструментарий

Выбор инструмента зависит от технологий, на которых построена система. PostgreSQL предлагает встроенную потоковую репликацию с каскадными схемами. MySQL традиционно силён в схеме ведущий-ведомые, а Galera Cluster добавляет запись в любой узел (multi-master).

Для разнородных систем есть специализированные решения. Apache Kafka стал стандартом для передачи потоков данных между системами. Debezium превращает изменения в базах данных в события, которые можно обрабатывать и маршрутизировать.

Облачные провайдеры предлагают управляемые сервисы. AWS Database Migration Service реплицирует данные между разными типами баз с минимальным простоем. В Azure SQL Database геореплики и группы автоматической отработки отказа настраивает сам пользователь. Российским компаниям AWS и Azure с 2022 года фактически недоступны, похожие управляемые сервисы есть у российских облачных провайдеров.

Когда репликация не нужна

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

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

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

Частые вопросы

Какой тип репликации обеспечивает минимальную задержку?

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

Чем репликация в СХД отличается от клонирования?

Клон - разовая полная копия тома на определённый момент, обычно на том же массиве. Реплика лежит на другом массиве и постоянно получает все новые изменения.

Как физически соединяют СХД для синхронной репликации?

Через Fibre Channel или Ethernet (порты репликации, iSCSI) по оптике между площадками. Канал должен выдерживать пиковый поток записи, а задержка туда-обратно - укладываться в требования вендора, обычно единицы миллисекунд.

Какую репликацию выбрать: логическую или физическую?

Физическую - для полной резервной копии всей базы той же версии. Логическую - если нужна часть данных, другая версия СУБД или передача данных в другую систему.

Заменяет ли репликация резервное копирование?

Нет. Репликация спасает от отказа оборудования и площадки, но копирует удаление и шифрование данных. Бэкап с историей версий нужен в любом случае.

Планируете вторую площадку или резервную СХД?

Инженеры ITTELO подберут систему хранения и серверы под ваш объём изменений и требования к простою, соберут и протестируют конфигурацию перед отгрузкой, с гарантией и поддержкой после продажи. На рынке серверов 11+ лет.

Системы хранения данных · +7 (800) 551-80-12 · info@ittelo.ru

ПОДПИСКА

НА РАССЫЛКУ
ПОЛЕЗНЫЕ СТАТЬИ, АКЦИИ
И ЗАКРЫТЫЕ РАСПРОДАЖИ
Котик подписка
Похожие статьи
Вам также может быть интересно

ТОП-5 ошибок при выборе сервера
Товар добавлен в список сравнения
Перейти в сравнение
Продолжить просмотр
Заявка в тех поддержку
Загрузка формы…
Не удалось загрузить форму. Обновите страницу или свяжитесь с нами по телефону.
Консультация
ИТ-специалиста
Оставьте контакты — свяжемся с вами в течение нескольких минут и подготовим коммерческое предложение
IT-архитектор подберет сервер под вашу задачу
Заполните форму — наш специалист свяжется с вами в течение 15 минут, уточнит задачу и подготовит коммерческое предложение
Заказать сервер
Отправим конфигурацию вам на почту. Менеджер перезвонит в течение 15 минут
Зарегистрироваться в бонусной программе
Консультация
ИТ-специалиста
Оставьте контакты — свяжемся с вами в течение нескольких минут и подготовим коммерческое предложение