Восстановление данных. Практическое руководство, стр. 91
Как это можно реально использовать на практике? Первое, что приходит в голову, — это использовать часть емкости жестких дисков под хранение избыточной информации (например, кодов Рида-Соломона, помогающих восстановить данные в случае аварии). Тогда при относительно небольших накладных расходах мы сможем восстановить любой из жестких дисков членов сети даже при полном его разрушении лишь за счет одной избыточной информации, распределенной между остальными компьютерами. Более надежного хранилища для ваших данных нельзя и придумать! Подобная схема давным-давно была мною реализована в локальных сетях нескольких фирм. Она доказала свою живучесть, гибкость и надежность. Необходимость в постоянном ручном резервировании при этом отпадает, что для домашних пользователей более, чем актуально!
Единственный минус программного RAID — его невысокая производительность. В частности, поставив программный RAID на сервер, обрабатывающий тысячи запросов ежесекундно и интенсивно модифицирующий большое количество файлов, мы не выиграем ничего. Однако, ведь само понятие "производительности" относительно, и при достаточно быстром процессоре кодирование/декодирование информации вполне реально осуществлять и на лету, безо всяких потерь в пропускной способности! Если операции чтения доминируют над операциями записи, то ставить программный RAID очень выгодно, поскольку контроль целостности считываемой информации осуществляется на "железном" уровне самим приводом, и при использовании систематического кодирования (информационные слова — отдельно, байты четности — отдельно), декодеру Рида-Соломона нет никакой нужды как-то вмешиваться в этот процесс. Помощь его помощь требуется лишь тогда, когда часть информации оказывается безнадежно разрушена, что случается, прямо скажем, не так уж часто. Так что, право же, не стоит перекармливать фирмы, специализирующие на выпуске аппаратных RAID, тем более что на они все равно не уделят достаточного внимания домашним пользователям и малым предприятиям.
Варьируя размер блоков корректирующих кодов, мы получим лучшую или худшую защищенность при большей или меньшей избыточности информации. Действительно, пусть у нас есть
NNА как быть, если погибнет весь жесткий диск целиком? Наиболее разумный выход — создать массив из нескольких дисков, хранящих полезную информацию вперемешку с корректирующими кодами. Главный минус такого подхода — его неэффективность на массивах, состоящих из небольшого количества жестких дисков. Разумный минимум: четыре информационных диска и один контрольный, тогда потеря любого из информационных дисков компенсируется оставшимся в живых контрольным. В случае потери контрольного диска, его очень просто заменить на новый, с последующим пересчетом всех контрольных кодов. Правда, одновременный выход двух дисков из строя — это уже серьезно. Массив из пятнадцати дисков, двенадцать из которых — информационные, а оставшиеся три — контрольные, намного более отказоустойчив и допускает одновременный крах двух любых дисков, а при благоприятном стечении обстоятельств — и трех.
Подробнее о кодах Рида-Соломона можно прочитать в моей книге "Техника защиты CD от копирования". Исходные коды простейшего кодера/декодера, который можно использовать для создания собственного драйвера RAID, можно найти на компакт-диске, поставляющемся с этой книгой.
Заключение
Мы рассмотрели только несколько типов распределенных систем резервирования данных. На самом деле, их гораздо больше, и каждый день появляются все новые и новые. Правда, пока только в виде идей. Готовых реализаций крайне мало, да и те в большинстве своем основаны на уже существующих программах (например, e-Mule). Так что, дерзайте!
Приложение
Описание компакт-диска
Разрушение данных — это самое страшное, что только может случиться с вашим компьютером. На данном компакт-диске собрано большое количество справочной информации, видеоклипы, иллюстрирующие процесс восстановления данных, а также иллюстрации и исходные коды утилит авторской разработки, предназначенных для восстановления данных.
Многие утилиты, собранные на этом диске, предназначены для восстановления данных, а также для анализа и копирования защищенных CD. Обратите внимание на то, что обход защиты от копирования не является нарушением законодательства об авторских правах! Действующее законодательство многих стран явным образом разрешает создание резервных копий защищенных носителей. Например, корпорация PHILLIPS, являющаяся одним из разработчиков технологии записи на CD, является активным противником всяческих отклонений от Стандарта и настаивает на том, что компакт-диски, защищенные от копирования за счет использования нестандартного формата, не должны маркироваться логотипом "Compact Disc".
Лазерный диск, прилагаемый к этой книге, содержит следующие материалы:
□ FIGURES — цветные иллюстрации ко всем главам данной книги;
□ LISTINGS — исходные коды всех примеров, приведенных в книге, которые вы можете свободно использовать по собственному усмотрению;
□ SRC — исходный код и демонстрационные примеры, предназначенные для восстановления данных с нечитаемых CD, в том числе:
• Каталог ETC — демонстрационные примеры, иллюстрирующие низкоуровневый доступ к приводам CD-ROM;
• Каталог RS.LIB — библиотеки для работы с CD на секторном уровне с практическими примерами их использования;
• Каталог RS.SIMPLE — элементарные примеры, иллюстрирующие принципы действия кодов Рида-Соломона;
• Каталог SCSI.ALT — исходный код драйвера, демонстрирующий выполнение машинных команд in/out с прикладного уровня;
• Каталог SCSI.LIB — ряд утилит, разработанных автором лично, и предназначенных для работы с защищенными от копирования компакт-дисками;
□ UTILITIES — Набор небольших, но полезных утилит, предназначенных для посекторного копирования CD, на которых записаны файлы некорректной длины и с некорректными начальными секторами;
□ VIDEO — Видеоматериалы, любезно предоставленные Сергеем Яценко, главным инженером компании АСЕ Lab (http://www.acelab.ru), иллюстрирующие приемы практического восстановления данных.