Защита данных в режиме реального времени

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

Использование массивов RAID

RAID (Redundant Array of Inexpensive Disks — избыточный массив недорогих дисков) — общее название технологии, объединяющей ресурсы нескольких жестких дисков для повышения общей надежности и/или производительности системы хранения информации на дисках. Аппаратные массивы RAID строят на основе подсистемы RAID SCSI-дисков, в то время как в программных RAID-средствах для создания массива используют специальные программные средства. Основные параметры RAID-массива таковы.

● Отказоустойчивость массива позволяет выдерживать аварию одного из дисков. Утраченные данные могут быть восстановлены с помощью остальных дисков.
● Работа массива зависит от совместной работы множества физических дисков. Для создания RAID можно комбинировать и логические тома. Если же физические диски не работают совместно, их называют JBOD (Just a Bunch of Disks — простой набор дисков).
● Физические диски не обязательно должны быть одного типа и размера, однако размеры логических разделов (logical divisions) в пределах массива должны быть одинаковыми.
Иными словами, размеры всех логических ● частей массива должны совпадать.
● Массив RAID можно использовать для защиты всех либо части физических дисков.

Совет:
Вы можете создать программный массив RAID и на базе EIDE-дисков, но SCSI-диски обеспечивают большую производительность. Как указано в гл. 7, интерфейс SCSI обеспечивает многозадачный режим операций чтения/записи на единственном контроллере, в то время как интерфейс EIDE - только однозадачный.

Массивы RAID приобрели широкую популярность, когда стоимость жестких дисков значительно упала. Программные RAID-массивы позволяют использовать эту технологию даже людям со средними доходами. Как правило, используются два типа отказоустойчивых RAID-массивов: с зеркальным отображением диска (disk mirroring) и с чередованием дисков (disk stripping) с контролем четности. Они рассматриваются в последующих разделах.

Зеркальное отображение диска. Обеспечивает защиту всех данных путем их записи сразу в двух местах. Каждый раз, когда вы создаете, редактируете или удаляете файл, изменения регистрируются в обоих местах. Для этого необходимы два отдельных диска, непосредственно объединенных в зеркальный набор (mirror set). Если что-либо происходит с данными на одном из накопителей, то вы разделяете зеркальный набор и получаете доступ к точной (и новейшей) копии данных на другом. Следует отметить, что зеркальные наборы неэффективны с точки зрения использования дискового пространства. Действительно, в таком случае избыточность означает, что для хранения данных требуется вдвое большее дисковое пространство, чем при обычном хранении. И тем не менее, это великолепный способ зашиты данных. Кроме того, в системах SCSI применение таких RAID-массивов уменьшает время считывания, поскольку операция чтения может выполняться сразу с двух дисков в многозадачном режиме.

Примечание:
Если каждый диск в зеркальном наборе имеет собственный контроллер (и, таким образом, авария одного контроллера не приводит к потере доступа к обоим дискам), эта технология называется дуплексированием дисков (disk duplexing). В остальных случаях зеркальный набор работает именно так, как было описано выше.

Чередующийся набор с контролем четности. Подобно зеркальному отображению диска, чередование дисков с контролем четности позволяет защитить данные, распределяя их по множеству дисков. Данные записываются на дорожки каждого жесткого диска чередующимся набором. Чередующиеся наборы с контролем четности должны состоять не менее чем из трех физических дисков. Кроме исходных данных, на диски записывается информация о четности. Как и исходные данные, она распределяется по физическим дискам, однако сохраняется отдельно от тех, к которым относится. При отказе одного из дисков чередующегося набора, для восстановления пропавших данных используется информация о четности из остальных дисков. Благодаря этому сохраняется доступ ко всем данным. Объем информации о четности зависит от количества дисков в чередующемся наборе, поскольку информация о четности рассчитывается так, чтобы восстановить данные на одном диске. Таким образом, в чередующемся наборе из трех дисков для хранения информации о четности будет использоваться третья часть всей суммарной емкости, а в наборе из 10 дисков — десятая. Чем больше дисков в наборе, тем эффективнее его работа.
Если же в чередующемся наборе одновременно выходит из строя несколько дисков, данные теряются, однако авария одного диска устраняется без какого-либо вмешательства с вашей стороны. Допустим, вы собрали RAID-массив из четырех дисков и используете его в качестве основы чередующегося набора с контролем четности. Внезапно отказывает один из дисков. Когда вы перезагрузите сервер и откроете Disk Administrator (Администратор дисков), появится сообщение о том, что диск отказал, а утраченные данные будут восстановлены.
Можно будет записывать и считывать данные из чередующегося набора так, как будто отказавший диск все еще работает. Конечно, вы должны как можно скорее его заменить. Если откажет еще один диск, то восстановить чередующийся набор будет просто невозможно.

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

Достоинства и недостатки различных типов RAID-массивов. Что лучше, использовать чередующиеся наборы с контролем четности или зеркальное отображение диска? Массивы с зеркальным отображением диска отличаются невысокой начальной стоимостью, поскольку для создания зеркального набора достаточно всего двух дисков, в то время как для отказоустойчивого чередующегося набора — не менее трех. Кроме того, операции записи в массивах с зеркальным отображением диска выполняются быстрее. В зеркальных SCSIнаборах операции записи/чтения могут выполняться более-менее одновременно вследствие "многозадачности" интерфейса SCSI. Поэтому зеркальное отображение диска действительно повышает скорость операций чтения/записи. В чередующихся наборах с контролем четности операции записи менее производительны, поскольку в данном случае при каждом изменении данных необходимо повторно рассчитывать информацию о четности. Это не относится к операциям чтения, однако по сравнению с одиночным диском или зеркальным набором запись выполняется медленнее. Наконец, расчеты, необходимые для поддержки чередующихся наборов, выдвигают дополнительные требования к оперативной памяти и производительности процессора сервера по сравнению с зеркальным отображением диска.
Отметим, что чередующиеся наборы с контролем четности применяют чаще остальных типов RAID-массивов. Зеркальное отображение весьма расточительно занимает дисковое пространство — оно используется менее эффективно, чем в чередующихся наборах с контролем четности. Причем эффективность последних повышается с увеличением количества дисков в чередующемся наборе. Высокая эффективность использования дискового пространства компенсирует любые недостатки производительности (фактически, они совершенно незаметны сетевым клиентам). Кроме того, благодаря удешевлению оборудования, дополнительные ресурсы, необходимые для поддержки чередующихся наборов, реально не сдерживают использование этого более совершенного типа RAID-массивов.

Репликация данных

Если же простой системы абсолютно недопустим, можно применить один из двух методов. Первый заключается в кластеризации серверов (clustering) (см. следующий раздел), а второй — в репликации данных. Репликацией называют копирование данных и их структуры с одного сервера на другой. Это весьма популярный метод, используемый для обеспечения целостности и распределения данных (data load) между несколькими серверами. Сначала данные записывают на один из серверов (называемый в сетях Windows NT сервером экспорта (export server)), а затем копируют на другой сервер (сервер импорта (import server)). Для выравнивания нагрузки между серверами обслуживания клиентов (client load) вы можете установить связи между ними с режимом ручного разделения или же использовать режим автоматического разделения.
Как правило, реплицируют данные двух типов: те, которые ни в коем случае не должны быть утрачены и те, для которых полезно выравнивание нагрузки. Из-за ограниченной полосы пропускания сети, репликацию редко используют для защиты обычных данных. Это обусловлено тем, что копирование каждого изменения данных на крупный файловый сервер может занять всю полосу пропускания, необходимую для решения остальных задач. Для защиты файлов данных можно использовать RAID-массивы. Тем не менее, репликация - весьма эффективный метод защиты баз данных или иной жизненно важной информации, например информации об установленных соответствиях (mappings) сервера WINS или каталога со сценариями входа. Таким образом, вместо обслуживания всех запросов клиентов с центрального сервера репликация позволяет распределить эту работу по нескольким серверам и одновременно гарантировать существование избыточного числа копий базы данных.

Кластеризация серверов

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

● Активный/активный.
● Активный/резервный (standby).
● Отказоустойчивый.

В принципе, ту или иную поддержку отказоустойчивости обеспечивают кластеры любого типа, однако ее уровень и скорость, с которой функции отказавшего сервера передаются другому, зависят от типа кластера.
В кластере типа активный/активный все серверы непрерывно функционируют и обслуживают пользователей. При отказе любого сервера остальные серверы (или сервер) продолжают управлять своей рабочей нагрузкой и, кроме того, принимают на себя рабочую нагрузку отказавшего. На передачу нагрузки отказавшего сервера остальным серверам кластера уходит 15—90 с. В кластере типа активный/резервный один из серверов обслуживает запросы пользователей либо выполняет иные задачи, а второй ждет отказа этого сервера. Это отнюдь не уменьшает время восстановления после сбоя (failover time): при отказе первого сервера для передачи его рабочей нагрузки второму по-прежнему необходимо 15—90 с. (При передаче рабочей нагрузки резервному серверу все соединения и сеансы, исполняемые им, завершаются.)

Отказоустойчивые кластеры проектируют так, чтобы их годичный простой не превышал 6 мин. Эти кластеры отличаются от кластеров типа активный/ активный и активный/резервный. В отказоустойчивом кластере все серверы идентичны и работают в связках, выполняя абсолютно одинаковые операции. Таким образом, при отказе одного сервера, его нагрузка фактически мгновенно подхватывается остальными серверами. Отказоустойчивые кластеры используют ресурсы менее эффективно, чем кластеры типа активный/активный или активный/резервный, однако при отказе одного из серверов отказоустойчивые кластеры обеспечивают практически бесперебойную работу. Кластеры других типов, напротив, могут прекратить работу на время до полутора минут, а чтобы исказить операцию записи достаточно даже 15с. Сравнительные характеристики этих трех типов кластеров приведены в табл. 16.4. Тип кластера позволяет определить, создан ли кластер для обеспечения отказоустойчивости или повышения производительности, а также метод распределения рабочей нагрузки между серверами, входящими в кластер. Кластерные продукты различаются применяемой технологией совместного использования данных, методом соединения серверов кластера, а также степенью гибкости поддержки различных аппаратных средств. Кроме того, продукты различаются количеством серверов, из которых образован единый кластер. Так, некоторые продукты поддерживают кластер, содержащий не более двух серверов — первичный и вторичный. Более дорогостоящие продукты поддерживают большее число кластеров.

Таблица 16.4. Сравнение типов кластеров

Для организации совместного использования данных в кластерах применяют репликацию, коммутацию (switching) или зеркальное отображение (mirroring). При репликации данные, записанные на жесткий диск первичного сервера, реплицируются через сетевое соединение между серверами на диск вторичного сервера. При коммутации каждый компонент кластера содержит собственный диск, однако все диски соединены одной шиной SCSI, с тем чтобы при отказе диска первичного сервера, его нагрузку принял на себя диск вторичного. Принцип зеркального отображения описан ранее, в разделе "Использование массивов RAID". В этом случае данные одновременно записываются на диски как первичного, так и вторичного серверов.
Кроме того, в каждом продукте предусмотрено различное физическое соединение компонентов кластера. Иногда серверы кластера соединяют между собой обычным сетевым соединением, скажем, Ethernet; иногда — через соответствующие разъемы. Возможны и другие решения, скажем, фабрика коммутируемых соединений (switched fabric connection) — если они поддерживаются конкретным программным продуктом.
Точно так же и аппаратные средства разных типов отличаются степенью гибкости. Некоторые программы обслуживания кластеров могут работать только с вполне определенными типами оборудования. Это очень неудачное решение. Лучше использовать продукты, поддерживающие любые два сервера, а еще лучше — те, которые поддерживают серверы, работающие на разных платформах (например, один сервер на базе х.86, второй — Alpha). Отметим, что гибкость подобного рода не относится к отказоустойчивым кластерам: все серверы, входящие в них, должны быть идентичны. 

Смотрите также

Глава 12. Тонкая клиентная сеть
Тонкой клиентной сетью называют любую сеть, в которой львиная доля общих ресурсов всех выполняемых приложений расположена на сервере, а не на клиентном компьютере. Этот термин по определению относит ...

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

Физическая кольцевая топология
Наконец, рассмотрим физическую топологию, с которой вам вряд ли придётся столкнуться на практике, но, тем не менее, заслуживающую упоминания. Это сеть, построенная по физической кольцевой топологии ...