Удаленная репликация данных - теперь легко и просто

 

Эта небольшая заметка посвящена относительно новой возможности, появившейся у ряда производителей систем хранения данных, а именно удаленной репликации (Remote Replication). Несложно заметить, что у систем хранения данных поколения 2011 года кроме обычных портов Fibre Channel, SAS, iSCSI 10 Gb появились и гигабитный порты (порт) iSCSI для удаленной репликации данных. Вот об этой новой для рынка недорогих систем хранения данных возможности мы и расскажем.

Зачем это вообще нужно?

Вопрос логичен - столько лет жили без удаленной репликации средствами самой системы хранения данных и как-то не тужили, благо программ для архивирования/синхронизации данных много и есть из чего выбрать. Но есть одно но - для репликации/архивирования данных внешними средствами надо было занимать ресурсы основного канала обмена данными системы хранения (Fibre Channel, SAS и т.п.) плюс использовать специальное программное обеспечение, которое обычно совсем не бесплатно, а чаще всего заметных денег стоит.

Поэтому решение, которое позволяет:

  • Не использовать основной канал обмена данными с системой хранения для архивирования

  • Не покупать специальное программное обеспечение

явно стоит того, чтобы им воспользоваться, тем более что это решение является по сути бонусом к системе хранения и никаких дополнительных денег не стоит. К тому же репликация данных в режиме реального времени решает важную проблему поддержки фактического зеркалирования данных. Почему фактического? Просто скорость записи данных по основному интерфейсу системы значительно больше скорости репликации по низкоскоростному 1 Gb iSCSI порту, но это будет хоть как-то заметно в случае записи больших объемов данных, да и тут в случае ЧП пострадают данные, записанные только в последние  минуты работы. Но - всегда необходимо помнить о том, что процесс репликации асинхронный по определению.

Как это делается?

Принципы работы удаленной репликации через специальные порты очень просты. Источник, т.е. система хранения, на которой хранятся исходные данные (оригинал) является iSCSI инициатором, другая система хранения является iSCSI target (т.е. приемником или исполнителем). Делать репликацию возможно только для всей LUN (логического диска). Причина очевидна - репликация никак не привязана к какой-либо файловой системе, поэтому копируются просто сектора с данными, а не какие-либо определенные файлы.

Далее все просто. Система хранения после запуска процесса репликации копирует все данные с источника на приемник. По завершении этой операции любая запись данных на LUN-источник приведет к копированию этих данных на LUN-приемник. Система хранения-источник будет поддерживать идентичность дисков либо в режиме online либо по заданному пользователем расписанию. При этом логический диск-приемник может быть доступен как через основной интерфейс системы хранения (Fibre Channel, SAS и т.п.) так и через iSCSI интерфейс порта репликации.

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

Как настраивается удаленная репликация?

Настройка удаленной репликации на примере двух систем хранения Maxtronic серии Nova показана на рисунках ниже.

Часть 1. Подготовка приемника (target). Картинки кликабельны. 

Создается дисковая группа
Создается логический диск - именно на этот логический диск будут копироваться данные с источника
Необходимо смапировать созданный ранее логический диск на специальный iSCSI порт, для чего, как и при обычном мапировании, выбираем Add (Добавить). В появившемся меню выбираем порт удаленной репликации (rmt), в нашем примере это rmt0 и нажимаем Apply (Применить)
Мапирование завершено, результат на рисунке
В этом меню задаем IP адрес iSCSI порта приемника, выбрав порт и нажав кнопку Modify (Изменить). Этот адрес, строго говоря, м.б. любым, но важно, чтобы адреса iSCSI портов источника и приемника были в одной подсети
Далее нажимаем кнопку Target (Исполнитель, Приемник) и создаем так называемый Target node, т.е. узел, связывая между собой порт iSCSI и логический диск, на который будет выполняться удаленная репликация
Target node создан

На этом подготовка Target (Исполнитель, приемник) завершена

Часть 2. Подготовка источника (iSCSI initiator, source)

На системе источника для целей репликации надо создать LUN для лога емкостью не менее 10 GB. Нам также нужен, разумеется, собственно логический диск, данные с которого необходимо копировать
Задаем IP адрес источника, который, напоминаем, должен быть в одной подсети с Target (Исполнитель, приемник)
Результат присвоения адреса
Указываем источнику приемник, нажав кнопку List (список)
Наш приемник появился в списке

Запуск процесса репликации

Добавляем в разделе Log Volume (Том для лога) нажатием кнопки Add (Добавить) логический диск для лога репликации
Том для лога репликации создан
Назначаем пару нашему источнику на приемнике
С помощью кнопки Modify (Изменить) можно поменять приоритет репликации. Приоритет будет влиять на производительность системы хранения для своей основной задачи, поэтому пользоваться этим параметром следует осторожно

На рисунках сверху фактически описан процесс настройки удаленной репликации в системе хранения. Этот краткий курс вполне достаточен для первичной настройки. 

О чем необходимо помнить

Мы уже столкнулись с вполне предсказуемым непониманием пользователей того, как функционирует удаленная репликация. В первые же минуты использования системы пользователь, разумеется, желает проверить, что удаленная репликация работает. Для этого он, после первичной синхронизации записывает какой-либо файл на диск-источник и с удивлением обнаруживает, что на диске-приемнике этот файл не появляется. Ни сразу, ни через час, отчего сразу делается вроде бы логичный вывод - удаленная репликация не работает. На самом деле не стоит забывать, что запись данных на диск-приемник выполняется без всякого участия той операционной системы, которая видит диск-приемник. Именно вследствии записи данных "с черного хода" операционная система понятия не имеет об этой записи, поскольку по сути мы имеем дело со своеобразным SAN. 

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

Заключение

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