9.4 Локальное и удаленное зеркальное отражение
9.4 Локальное и удаленное зеркальное отражение
Зеркальное отражение уже упоминалось в разделе 9.1, но подробно не рассматривалось. Зеркальное отражение представляет собой процесс создания дубликата доступных данных, что позволяет обеспечить доступность данных при отказе в работе основного хранилища.
К популярным причинам использования зеркального отражения относятся следующие:
предоставление метода восстановления данных после различных неисправностей;
распределение нагрузки или самих данных;
обеспечение отказоустойчивости;
Рис. 9.15. Зеркальное отражение на уровне приложения
использование вторичного тома для создания хранилища данных, резервного копирования или тестирования с помощью реальных данных.
Зеркальное отражение может быть локальным или удаленным. Локальное отражение выполняется на нескольких уровнях.
На уровне приложения серверного узла. Приложение выдает два идентичных запроса на запись, предназначенные различным дискам (рис. 9.15).
На уровне программного массива RAID. Приложение выдает единственный запрос на запись. Программный массив RAID, реализованный в драйвере диспетчера тома, преобразует единственный запрос в две идентичные операции записи (рис. 9.16).
На уровне адаптера шины. Приложение выдает единственный запрос на запись, который преобразуется в два идентичных запроса на запись на уровне адаптера шины, установленного на сервере (рис. 9.17).
ш На уровне контроллера хранилища. Такой тип зеркального отражения выполняется внутри подсистемы хранения (рис. 9.18).
Все эти методы относятся только к локальному отражению, имеющему ряд недостатков. Шина имеет ограничение на длину; например, устройства SCSI могут находиться друг от друга на расстоянии не далее нескольких десятков футов. Конечно, для разнесения устройств на большее расстояние можно воспользоваться SAN на базе Fibre Channel. С другой стороны, репликацию можно провести с помощью средств как источника, так и точки назначения данных (рис. 9.19).
Рис. 9.17. Зеркальное отражение на уровне адаптера шины
Такой подход предоставляет весьма интересные возможности, например:
выполнение синхронной или асинхронной репликации;
ш выполнение двунаправленной репликации, повышающей эффективность и позволяющей серверам дублировать друг друга;
восстановление после ошибок и тестирование контрольных точек.
Рис. 9.19. Удаленное зеркальное отражение с помощью средств обеих точек репликации
Репликация может выполняться на уровне блоков дисков (другими словами, уровнем ниже файловой системы) или средствами драйвера фильтрации файловой системы, который может реплицировать файлы и каталоги.
Существует синхронная и асинхронная репликация. При синхронной репликации операция записи выполняется на обоих узлах (на источнике и вторичном узле, на который выполняется репликация), при этом от обоих серве-
ров получается подтверждение об успешной записи. Таким образом, страдает производительность приложений. При асинхронной репликации запрос записи на удаленный узел размещается в очереди, а запрос записи на локальный узел выдается сразу после возврата управления приложению, благодаря чему операции записи проводятся асинхронно.
Синхронная репликация выполняет синхронизацию данных за счет производительности приложения. Асинхронная репликация позволяет повысить производительность приложения за счет временной рассинхронизации данных на двух дисках. Как только данные поступают и записываются на удаленный диск, зеркальные диски вновь становятся синхронизированными. И синхронный и асинхронный метод репликации сохраняет порядок операций записи на устройство хранения.
Независимые производители программного обеспечения разработали несколько систем, обеспечивающих отказоустойчивость в среде Windows NT средствами репликации. Обратите внимание, что некоторые из этих систем автоматически выбирают синхронную или асинхронную репликацию. Работа начинается с синхронной репликации, но если на удаленной системе возникает ошибка, том отмечается как несинхронизированный и система переключается на асинхронную модель репликации.
В разделах 9.4.1–9.4.3 рассматриваются популярные программы репликации, доступные в продаже. Следует отметить, что представленные сведения не являются рекомендацией. В данном случае программы выбирались на основе двух характеристик.
Доступность сведений о программе.
Поддержка программами необходимых возможностей.
9.4.1 Программы Volume Replicator и Storage Replicator от компании VERITAS
Один из независимых производителей программного обеспечения – компания VERITAS – специализируется на хранилищах данных, их управлении и технологиях по восстановлению данных для разных платформ, включая Windows NT.
Программа Volume Replicator выполняет репликацию томов и работает с данными из блоков дисков. При этом между драйвером файловой системы и драйвером класса диска уже помещен драйвер фильтрации – VERITAS Volume Manager. Новый драйвер фильтрации подключается к этому драйверу диспетчера томов и перенаправляет запросы на удаленный том.
Программа Storage Replicator выполняет репликацию данных из файлов, а не из блоков дисков. Как показано на рис. 9.20, драйвер фильтрации файловой системы расположен над файловой системой. Программа Storage Repli-
Рис. 9.20. Архитектура программ Volume Replicator и Storage Replicator компании VERITAS
cator сохраняет порядок записываемых данных. Операционная система Windows NT может находиться как на первичном, так и на вторичном узле, т.е. Windows может выступать в роли как источника (генерирующего данные для репликации), так и точки назначения (получающей данные репликации от другой системы, поддерживающей работу Storage Replicator). При внесении в конфигурацию определенных изменений для обеспечения корректной работы программы Storage Replicator необходимо перезапустить соответствующие системы службы. Для Volume Replicator перезагрузка не требуется. На рис. 9.20 показана архитектура продуктов Volume Replicator и Storage Replicator.
Как Volume Replicator, так и Storage Replicator используют интерфейсную библиотеку TDI (Transport Driver Interface) для отправки и приема данных. Программа Storage Replicator представляет собой драйвер фильтрации файловой системы, расположенный над самой файловой системой. В то же время Volume Replicator – это драйвер фильтрации диска (а не файловой системы). На рис. 9.20 демонстрируется, что TDI – подключаемая библиотека, а не отдельный драйвер.
9.4.2 Программа RepliStor от компании LEGATO
Программа RepliStor, разработанная компанией LEGATO (после приобретения компании Octopus), предназначена для синхронной репликации данных на уровне файлов и каталогов. Программа пытается копировать файлы (и синхронизировать их) для сохранения производительности и обеспечения отказоустойчивости. Кроме того, предоставляется возможность репликации разделов системного реестра.
Программа RepliStor поддерживает указание списков файлов, каталогов или общих ресурсов, а также исключений из этих списков, которые не будут подвергаться репликации. Кроме того, RepliStor поддерживает репликацию открытых файлов, если они были указаны до открытия другими приложениями. Также поддерживается репликация общих ресурсов распределенной файловой системы Windows NT 4.0, однако репликация общих ресурсов распределенной файловой системы Windows 2000 не обеспечивается. Версия RepliStor для Windows 2000 поддерживает интеграцию в Active Directory. После репликации файла RepliStor копирует только изменения, внесенные в файл.
Программа RepliStor может быть настроена на использование выделенного сетевого адаптера, что дает возможность изолировать сетевые данные RepliStor. Более того, передаваемые по сети данные шифруются, а каждый сетевой пакет поддерживает цифровую подпись.
Описываемая программа поддерживает репликацию «точка-точка» или «точка-множество». Точкой назначения может быть другой сервер под управлением Windows NT (работающий с другим аппаратным обеспечением) или член кластера. Источником репликации также может быть член кластера. Программа RepliStor проводит репликацию асинхронно, т.е. запросы записи на удаленный узел размещаются в очереди, а запросы записи на локальный узел выполняются без подтверждения с удаленного узла.
Программа RepliStor дополняет другие системы компании LEGATO, например Co-StandbyServer, которая не в состоянии зеркально отражать системные диски (диски, с которых загружается Windows NT). Поскольку RepliStor обеспечивает репликацию на уровне файлов и каталогов, поддерживается копирование и системных дисков.
Кроме все прочего, предоставляется настраиваемый таймер, по которому вторичная система отправляет тестовые эхо-пакеты системе-источнику. Если доставка тестового пакета завершится неудачно, вторичная система сначала отправляет тестовый эхо-пакет по протоколу ICMP; это позволяет убедиться, что основная система действительно неисправна.
Если обращение к основной системе завершилось неудачно, RepliStor предоставляет следующие настраиваемые варианты действий:
? на вторичной системе запускаются необходимые службы;
Рис. 9.21. Архитектура программы Co-StandbyServer
параметры IP-адреса и маски подсети перенаправляются вторичной системе;
на вторичной системе выполняются определенные команды, в том числе с помощью командных файлов.
9.4.3 Программа Co-StandbyServer
Программа Co-StandbyServer от LEGATO представляет собой кластерную систему для платформы Windows NT. Каждый сервер в кластере может быть активным, и изменения каждого диска реплицируются в обе стороны. Если один из серверов в кластере откажет в работе, Co-StandbyServer перенаправляет такие параметры, как IP-адреса, общие ресурсы, имена серверов и другие ресурсы, работающему серверу.
Как показано на рис. 9.21, Co-StandbyServer обеспечивает двунаправленную синхронную репликацию на уровне блоков между двумя серверами Windows NT, которые могут находиться на расстоянии до 10 км друг от друга. Обратите внимание, что оба сервера могут быть активными и взаимозаменяемыми. Таким образом, на рис. 9.21 показано, что во время репликации одного диска слева направо, второй диск реплицируется справа налево.
Два сервера, между которыми выполняется зеркальное отражение на уровне блоков, не должны быть идентичными. Единственное требование заключается в работе серверов под управлением Windows NT и использовании аппаратного обеспечения, входящего в список совместимого с Windows NT. Функция зеркального отражения не может быть реализована для загрузочного диска.
Существуют определенные проблемы при использовании Co-StandbyServer совместно с конфигурациями чередования на базе Windows 2000 LDM. Программа Co-StandbyServer предоставляет возможности двух типов.
Зеркальное отражение, при котором записи на один сервер дублируются на другой сервер.
Режим совместного хранилища, при котором отказ в работе хранилища одного сервера приводит к предоставлению хранилища второго сервера первому серверу, что позволяет ему продолжать работу.
В числе преимуществ Co-StandbyServer можно выделить следующие:
не требуется специального аппаратного обеспечения, и оба сервера могут работать на разном аппаратном обеспечении; например, один сервер может быть многопроцессорным, а второй – однопроцессорным;
программа Co-StandbyServer поддерживает различные серверы под управлением Windows 2000, включая контроллеры домена, рядовые серверы и т.д.;
обеспечивается поддержка сценариев для реализации режима защиты целостности для популярных приложений Windows NT, включая IIS, SQL и Exchange.