1. Нажмите кнопку Восстановление данных, а затем щелкните кнопкой мыши на ссылке Raw Recovery (Восстановление сырых данных), появившейся в рабочей области окна. Появится первая страница мастера (рис. 2.24).
Рис. 2.24. Выбор диска
2. В дереве дисков и разделов выберите объект, в котором будет производиться поиск утраченных файлов. Хотя в нем показаны и разделы, целесообразно выбирать физический диск целиком. Нажав кнопку Типы файлов, можно указать, какие типы файлов (по их сигнатурам) программа будет искать при сканировании диска. По умолчанию ищутся все файлы. Нажмите кнопку Далее. После сканирования, продолжительность которого зависит от объема диска и числа файлов на нем, появится следующий экран мастера (рис. 2.25).
Рис. 2.25. Найденные файлы
На этом экране показаны найденные на диске последовательности, которые программа расценила как файлы. Эти файлы найдены не по вхождениям файловых систем, а лишь по сигнатурам, выделенным в последовательности данных на диске. Поэтому в левой части окна файлы сгруппированы только по типам, а имена им присваиваются чисто условные вида fil*.***, хотя расширения соответствуют действительным.
3. Для просмотра любого из найденных файлов выберите его, а затем нажмите кнопку Просмотр файла. Программа использует собственный встроенный просмотрщик. При этом содержимое большинства типов отображается «как есть», а в случае с архивом показываются файлы и папки, находящиеся в нем (рис. 2.26).
Рис. 2.26. Просмотр файла
4. Вернувшись к списку найденных файлов, установите флажки напротив тех, которые нужно восстановить. Можно также помечать виртуальные папки в левой части окна – тогда будут восстановлены все файлы указанного типа. Как только помечен хотя бы один файл, становится активной кнопка Далее. Нажмите ее, и появится последний экран мастера (рис. 2.27).
Рис. 2.27. Сохранение восстановленных данных
5. Последний шаг – указание места, куда будут сохранены помеченные файлы. Таким местом может быть не только папка на локальном компьютере, но и сетевая папка или даже FTP сервер. Кроме того, программа может сразу же заархивировать восстанавливаемые файлы – так можно сэкономить место на диске, куда будут сохраняться восстановленные данные. Укажите путь для сохранения и нажмите кнопку Далее. Через некоторое время восстановленные файлы появятся в указанном месте.
Функция Raw Recovery (извлечение сырых данных) позволяет извлечь с диска безнадежно утраченную информацию. Разумеется, эта функция не универсальна – содержимое кластеров, в которые производилась запись новых данных, действительно потеряно навсегда. Тем не менее это последнее средство, которое в критической ситуации нужно обязательно использовать.
Восстановление случайно удаленных данных
Эта задача является частным случаем исправления логических ошибок диска. Вся особенность в том, что пользователь обычно знает, что, откуда и когда удалено, а диск, как правило, совершенно исправен и физически, и логически. Кроме того, прогноз восстановления полностью определяется тем, как быстро владелец компьютера вспомнил об утрате. При физических дефектах или серьезных логических ошибках диска работа сразу прекращается, и винчестер экстренно начинают восстанавливать. После случайного удаления документов пользователь обычно работает до тех пор, пока эти документы вдруг не понадобятся. Если на место удаленных данных что-то было записано, вероятность восстановления уменьшается, а если записано было много, она стремится к нулю.
Извлекать данные после удаления файлов, форматирования или удаления разделов умеют практически все программы восстановления данных. Как уже было сказано, это частный и один из самых простых случаев. Существуют и утилиты, специально предназначенные для восстановления случайно удаленной информации. В частности, компания Runtime Software (http://www.runtime.org) выпускает большой набор отдельных специализированных средств восстановления в различных файловых системах как для Windows, так и для Linux.
Резюме
Если потеряны данные на жестком диске, начать стоит с простейшей диагностики проблемы. При этом важно решить: связана ли эта потеря с аппаратной аварией либо все ограничивается случайным искажением записей таблицы разделов или файловой системы?
В первом случае необходим срочный ремонт винчестера, после чего данные будут доступны. Во втором случае восстановление информации производится программными методами.
Программное восстановление должно быть неразрушающим, то есть не связанным с записью данных на проблемный диск. Сначала нужно создать полную посекторную копию диска на другом носителе, а затем всю дальнейшую работу проводить уже с этим образом.
Для извлечения информации более целесообразно использовать специальные программные пакеты, хотя возможно и ручное восстановление с помощью дисковых редакторов. Успех извлечения данных отчасти зависит от числа попыток: разные программы по-разному справляются с восстановлением в конкретных ситуациях. И, если требуемый результат не получен с первой попытки, стоит использовать другое средство.
Рассмотренные в этой главе программы и принципы восстановления во многом применимы не только к жестким дискам, но и к другим типам носителей, поэтому когда речь пойдет об извлечении данных с полупроводниковых устройств хранения, придется еще не раз вернуться к пакетам R-Studio и EasyRecovery.
Глава 3 RAID и восстановление информации
• Принципы работы RAID
• Причины потерь данных
• Тактика восстановления данных
• Программные средства восстановления данных
• Отдельные случаи восстановления
• Резюме
Аббревиатура RAID расшифровывается как Redundant Array of Independent Disks – избыточный массив независимых дисков. Сегодня RAID представляет собой совокупность технологий, как аппаратных, так и программных. Общий смысл их состоит в том, что несколько жестких дисков включаются в набор, который на уровне аппаратного или программного интерфейса представляется единым диском. Цель создания RAID-массива – увеличение скорости обмена данными с дисковой системой, повышение уровня надежности хранения данных либо и то и другое одновременно.
Идея создания RAID появилась в 1987 году. Долгое время RAID-массивы были довольно дорогими и применялись лишь в крупных компьютерных системах. В последние годы вместе со снижением стоимости винчестеров RAID-массивы тоже стали более доступными: их чаще стали использовать в обычных рабочих станциях и домашних компьютерах. Встроенными RAID-контроллерами снабжается примерно треть материнских плат, выпущенных в 2007–2008 годах.
Принципы работы RAID
В основе работы RAID лежат несколько принципов организации записи данных на массив дисков. Реализация этих принципов позволяет ускорить запись и извлечение данных, а также увеличить степень надежности их хранения.
• Данные в процессе записи разбиваются на несколько потоков, и каждый поток записывается на свой диск. В результате увеличивается скорость записи и скорость считывания информации, однако при этом каждый диск содержит лишь часть набора данных, поэтому потеря любой из частей разрушает весь набор.
• Весь поток данных одновременно записывается на несколько дисков. При этом каждый диск становится полной копией остальных. Выход из строя любого из дисков никак не сказывается на сохранности информации, так как остаются другие копии. Это повышает степень надежности хранения, однако приводит к избыточности хранимой информации.
• При записи один из дисков может использоваться для хранения контрольных сумм, позволяющих при необходимости восстановить любую из утраченных частей набора.
При создании массивов RAID все перечисленные выше принципы используются в разных комбинациях, разновидности которых называютсяуровнями RAID.
Уровни RAID
Уровни RAID – способ организации дисков внутри массива. В 1993 году промышленный консорциум по стандартизации RAID (RAID Advisory Board – RAB) определил семь типовых уровней RAID: от 0 до 6. Термин «уровни RAID» (RAID levels) является официальным и прочно вошел в лексику компьютерных пользователей, хотя никакой иерархии здесь нет: это всего лишь семь совершенно разных независимых архитектур. Спецификация RAID-2 осталась чисто теоретической, поскольку описывает массивы из 14 или 39 дисков. Зато уже после принятия стандарта были предложены спецификации RAID 0+1 и RAID 1+0 (RAID-10), которые по сути являются комбинациями RAID-0 и RAID-1.
RAID-0 – простейший вариант построения массива (рис. 3.1). Это так называемое чередование, или простое распараллеливание записи/чтения данных между всеми дисками. Поток данных разбивается на равные блоки («полосы» – stripes) заданного размера, и первый блок записывается на один диск, второй – на следующий, третий – снова на первый диск и т. д. Массив может строиться из любого числа дисков: чем больше их чередуется, тем выше скорость обмена данными. Запись производится без избыточности, поэтому такой массив не является RAID в прямом смысле, хотя термин RAID-0 широко используется и принят RAB.
RAID-0 – простейший вариант построения массива (рис. 3.1). Это так называемое чередование, или простое распараллеливание записи/чтения данных между всеми дисками. Поток данных разбивается на равные блоки («полосы» – stripes) заданного размера, и первый блок записывается на один диск, второй – на следующий, третий – снова на первый диск и т. д. Массив может строиться из любого числа дисков: чем больше их чередуется, тем выше скорость обмена данными. Запись производится без избыточности, поэтому такой массив не является RAID в прямом смысле, хотя термин RAID-0 широко используется и принят RAB.
Рис. 3.1. Структура RAID-0
Степень надежности такого массива всегда ниже степени надежности входящих в него дисков. При выходе из строя любого из дисков данные всего массива будут потеряны, поэтому RAID-0 иногда сравнивают с миной замедленного действия. Теоретически скорость обмена данными возрастает пропорционально числу дисков, образующих массив, а емкость массива равна сумме емкостей дисков. На практике результат несколько меньше. Типичное применение RAID-0 находит там, где важна скорость, а не степень надежности: например, в компьютерах, специально предназначенных для захвата и обработки потокового видео. В настольных системах обычно используют двух-, реже четырехдисковые RAID-0. Такие конфигурации поддерживают встроенные контроллеры материнских плат средней ценовой категории.
RAID-1 является другой простейшей архитектурой (рис. 3.2). В этом случае производится запись двух зеркальных копий данных на двух идентичных дисках без всяких дополнительных преобразований. Выход из строя одного диска не приводит к потере данных. Это массив со 100 %-ной избыточностью. Он обеспечивает предельную степень надежности, хотя стоимость хранения данных возрастает ровно вдвое.
Рис. 3.2. Структура RAID-1
Массивы уровня 1 подходят для хранения критически важных данных. На практике быстродействие такого массива может немного превосходить быстродействие каждого из дисков. Это связано с аппаратной реализацией чтения и записи данных.
Спецификация RAID-2 осталась чисто теоретической, поскольку она описывает массивы, состоящие из 14 или 39 дисков.
RAID-3 – трехдисковый массив. Два диска в нем работают подобно RAID-0, данные на них записываются с чередованием. Однако для каждых двух чередующихся блоков контроллер вычисляет код четности (Parity Code) и записывает его на третий диск. Благодаря простому алгоритму данные четности для двух блоков занимают столько же места, сколько каждый из этих блоков. В результате образуются наборы из трех взаимосвязанных блоков: два, на первых двух дисках, содержат данные, а третий, на третьем диске (экстраблок), – контрольную сумму для двух блоков данных (рис. 3.3). По данным на одном из первых двух дисков и контрольным суммам всегда можно восстановить содержимое другого диска при его повреждении. Точно так же коды четности, в случае аварии третьего диска, всегда можно пересчитать по данным на первых двух дисках.
Рис. 3.3. Структура RAID-3
Скорость работы такого массива такая же, как у RAID-0, а отказоустойчивость аналогична RAID-1. Накладные расходы снижены за счет того, что емкость массива из трех одинаковых дисков примерно равна удвоенной емкости одного диска.
Существует спецификация RAID-4, которая отличается только размерами блоков данных при чередовании. Это несколько улучшает работу массива при случайном чтении, но из-за большего объема буферной памяти контроллеры RAID-4 не получили широкого распространения.
RAID-5 – другая реализация идеи чередования с контролем четности. Чередование блоков данных происходит между всеми тремя дисками. В массиве уровня 5 все диски равноценны, а блоки четности распределены между ними (рис. 3.4). При этом блок четности для блоков, находящихся на двух дисках, всегда записывается на третий диск и так далее «по кругу». Порядок чередования блоков данных и блоков четности (Parity Rotation) зависит от контроллера. Существует несколько вариантов такого чередования: Forward (Прямое), Backward (Обратное) и Backward symmetric (Обратное симметричное). В большинстве современных RAID-контроллеров используется последний вариант.
Рис. 3.4. Структура RAID-5
RAID-5 сегодня считается наиболее оптимальной конфигурацией массива для высокопроизводительных и надежных рабочих станций. Поддержка этого уровня, наряду с RAID-0 и RAID-1, заложена во многие встроенные контроллеры современных материнских плат.
В спецификации RAID-6 контрольная сумма вычисляется два раза и копируется сразу на два разных диска. В результате работоспособность массива сохраняется даже при одновременной поломке двух дисков из трех. Это очень надежное, но дорогое решение, которое так и не нашло широкого применения.
Составные массивы (multi-RAID) представляют собой сочетание двух спецификаций. Они могут реализовываться полностью на уровне контроллера либо частично на аппаратном уровне, а частично на программном.
RAID 0+1 – чередование двух или нескольких двухдисковых массивов RAID-1.
RAID 1+0 (RAID-10) – зеркалирование массива RAID-0 на другой такой же массив.
Оба этих варианта привлекательны для недорогих систем. Хотя в обоих случаях емкость дисков используется только на 50 % (каждый винчестер полностью дублируется), а сам контроллер дешев. Контроллеры этих уровней RAID занимаются только распределением потоков данных, тогда как контроллеры RAID-3 и RAID-5 непрерывно в реальном времени обсчитывают четность, а это уже серьезная вычислительная задача.
Массивы RAID 5+0 (RAID-50) и RAID 6+0 (RAID-60) образуются чередованием массивов уровней 5 и 6 соответственно. Это большие серверные решения. Для их реализации нужны дорогие многопортовые контроллеры, а в массив будут включаться от шести до нескольких десятков жестких дисков.
Существует спецификация JBOD (Just a Bunch of Disks – простая группа дисков). В этом случае несколько винчестеров представляются одним большим диском. Объединение (spanning) нескольких физических дисков еще недавно использовалось в компьютерах для видеозахвата и видеомонтажа, чтобы получить достаточно места для сохранения непрерывного файла размером в десятки или сотни гигабайтов. С появлением терабайтных винчестеров это утратило актуальность.
Контроллеры и конфигурирование RAID
Первоначально RAID-контроллеры выполнялись только в виде самостоятельных плат расширения PCI. Такой контроллер включает в себя микропроцессор, буферную память, flash-память с микропрограммой и областью для хранения сведений о конфигурации массива. Известными производителями RAID-контроллеров являются компании Adaptec, Intel, Tekram (Areca), Promise, 3Ware. Современные дискретные контроллеры поддерживают спецификации RAID-0/1/10/5/6/50/60/ JBOD и несут от 4 до 8 портов Ultra320 SCSI либо SAS/SATA.
Интегрированные RAID-контроллеры материнских плат строятся либо на отдельных чипах, например Silicon Image, Promise, ITE GigaRAID, либо являются частью чипсета материнской платы, например Intel ICH5 или VIA VT8237. Эти контроллеры, которые сейчас широко распространены, обслуживают от двух до четырех дисков SATA или IDE и поддерживают уровни RAID-0/1/JBOD, но нередко и RAID-5/10.
Создание массива осуществляется микропрограммой контроллера. Особенности построения, конфигурирования и обслуживания массива зависят от модели контроллера. Типичная процедура создания и настройки RAID напоминает настройку BIOS компьютера.
1. Во время начальной загрузки компьютера нажмите клавишу или сочетание клавиш, вызывающее процедуру настройки контроллера RAID. На экране появится меню настройки.
2. В меню настройки RAID выберите команду с названием наподобие Create Array (Создать массив). Затем обычно требуется указать физические диски, которые должны быть включены в массив, и выбрать тип массива из нескольких предлагаемых вариантов.
3. Далее (в общем случае) следует указать размер блока чередования (Stripe Block Size). Некоторые контроллеры предлагают упрощенную процедуру создания массива, когда достаточно выбрать один из пунктов с названием типа Optimize Array for Performance (из двух дисков будет создан RAID-0), Optimize Array for Security (создается массив RAID-1) или Optimize Array for Capacity (диски объединяются в массив JBOD). При выборе таких пунктов в массив включаются все обнаруженные диски, а все настройки устанавливаются по умолчанию.
При создании RAID-1 есть возможность сразу скопировать все данные с одного диска на второй – «зеркальный». Как правило, это действие обозначается как Create & Duplicate the disk (Создать массив и дублировать диск).
В меню, вызываемом при загрузке, доступны операции обслуживания массива. Проверка (Check) массива средствами контроллера позволяет выявить ошибки чередования и четности. После замены одного из дисков массив следует перестроить (Rebuild) или восстановить (Restore). Это достаточно длительный процесс, в ходе которого контроллер воссоздает содержимое замененного диска по двум оставшимся (RAID-5) или копирует один диск на другой (RAID-1).