Извлечение данных из массива происходит по тому же принципу, что и с любого одиночного носителя. Сначала программа просматривает записи файловой системы и находит объекты по ним. Углубленный поиск заключается в обнаружении на диске последовательностей, характерных для начала файлов определенных типов. Особенность восстановления данных из RAID состоит в том, что программа должна работать одновременно с несколькими дисками или образами, составляя итоговую последовательность из блоков или полос (stripes), находящихся на разных дисках.
Приложений, способных восстанавливать данные из дисковых массивов, не так много. Избыточные массивы отказоустойчивы — необходимость в их восстановлении возникает крайне редко. Пользователи, которые хранят уникальные данные на массивах RAID-0, должны осознавать, что такие массивы не предназначены для этой цели. Однако на подобных массивах обычно находится временная информация типа несжатого видео, не представляющая особой ценности, которую легко воссоздать по оригиналу.
Программа R-Studio
Утилита R-Studio — универсальный инструмент извлечения информации с поврежденных носителей. Программа способна строить виртуальные массивы или наборы (Virtual Volume Sets) из физических дисков, разделов на них или файлов-образов.
1. Откройте предварительно созданные образы дисков, входивших в массив: меню Drive ? Open Image File (Диск ? Открыть файл образа). В результате в дерево дисков с пометками Image (Образ) добавятся смонтированные образы (рис. 3.5).
Если работа ведется непосредственно с винчестерами, этот шаг пропускается.
2. Создайте виртуальный массив того же типа, что и восстанавливаемый. Выберите один из пунктов меню Create (Создать):
? Create Virtual Volume Set (Создать виртуальный набор динамических дисков или томов) — аналог программного массива;
? Create Virtual Mirror (Создать виртуальный зеркальный массив) — RAID-1;
? Create Virtual Stripe Set (Создать виртуальный массив с чередованием) — RAID-0;
? Create Virtual RAID 5 (Создать виртуальный массив RAID-5).
В дерево дисков добавится новый виртуальный массив, а при щелчке на нем кнопкой мыши в правой части окна появятся две панели этого виртуального набора:
? Properties (Свойства) — здесь приведены общие свойства всего массива;
? Parents (буквально — Родители) — на этой панели показываются диски, входящие в массив, и задаются параметры их объединения в набор. Вкладка Parents открыта по умолчанию, и работа в основном ведется на ней.
Рис. 3.5. Открытие образов дисков
Перетащите мышью диски или открытые образы из дерева на панель Parents (Родители) панели виртуального набора (рис. 3.6).
В нижней части панели Parents (Родители) на диаграмме показывается чередование блоков в виртуальном массиве подобно схемам, описанным в начале этой главы. Справа от диаграммы задаются размер блока (Block size), порядок чередования (Blocks order) и количество рядов при чередовании (Rows count). Как правило, значения по умолчанию (Default) соответствуют настройкам большинства современных массивов. Для изменения порядка чередования достаточно расположить диски в нужном порядке, перетаскивая их мышью прямо в списке дисков на вкладке Parents (Родители). Это же можно сделать и на диаграмме чередования.
В дереве дисков щелкните правой кнопкой мыши на значке виртуального набора и в контекстном меню выберите команду Scan (Сканировать). Откроется окно Scan (Сканировать) — см. рис. 2.17, слева.
Дальнейшее сканирование и сохранение найденных файлов ничем не отличается от восстановления данных с одиночного носителя, рассмотренного в предыдущей главе.
Рис. 3.6. Добавление дисков в виртуальный набор
Основная проблема, с которой можно столкнуться, — неправильно заданный порядок чередования дисков, реже — неверный размер блока. В обоих случаях некоторые файлы могут даже быть найдены и извлечены, так как сигнатуры обнаружены, а дальше программа собирает файл по заданному порядку блоков. Содержимое файла окажется набором разных блоков, кроме первого, хотя каждый из фрагментов по отдельности вполне осмыслен. Если все извлеченные файлы явно повреждены и не открываются, целесообразно изменить порядок блоков или дисков в виртуальном массиве либо выбрать другой размер блока. Возможно, если исходные параметры массива были неизвестны, придется сделать несколько попыток восстановления, пока будут подбираться правильные размер блока и порядок чередования.
Программа File Scavenger
Программа File Scavenger (http://www.quetek.com) предназначена специально для восстановления данных из RAID, хотя хорошо работает и с любыми отдельными накопителями: винчестерами, flash-дисками, лазерными дисками. При всей внешней простоте интерфейса это приложение обладает очень гибкими возможностями и настройками. Программа относится к категории Portable Software: единственный исполняемый файл (FileScav. ехе) размером всего 1,38 Мбайт можно записать на любой носитель и запускать прямо с него. Кроме того, есть также файл справки. Непосредственно для работы этот файл не нужен, однако в нем содержится много необходимых сведений не только о работе с программой, но и о восстановлении RAID вообще, поэтому прочитать его следует обязательно!
По умолчанию предполагается, что операционная система и программа запускаются с одного физического диска, а в RAID-массив включены остальные два или три физических диска. В таком случае при запуске утилита попытается определить вероятную конфигурацию массива и будет ориентироваться на нее. Но можно работать и с образами дисков, созданными другими программами, и с физическими дисками, которые подключены к обычным контроллерам.
Запустите программу. В ее окне присутствуют две вкладки:
? Step 1: Search (Шаг 1: искать). На этой вкладке задаются параметры поиска файлов и показываются найденные файлы;
? Step 2: Recover (Шаг 2: восстановить). Пока файлы не найдены, эта вкладка неактивна. После того как на диске в процессе сканирования обнаруживаются файлы, на этой вкладке можно указать параметры восстановления найденных объектов.
Файл-образ можно создавать разными программами, и расширение его большой роли не играет. Как правило, это обычный бинарный файл, хотя некоторые приложения применяют к образу алгоритм сжатия ZIP, так как нет смысла записывать в этом файле все последовательности пустых блоков — нулей. Программа File Scavenger создает образы в файлах с расширением DSK, но способна открывать такие файлы независимо от расширения. Полная процедура восстановления обычно начинается с создания образа диска.
1. Выберите один из физических дисков или разделов в раскрывающемся списке Look in (Искать в) (рис. 3.7).
2. Выполните команду меню File ? Disk Image ? Create (Файл ? Образ диска ? Создать). Появится окно Creating а disk image file (Создание файла образа диска). В нем следует прочитать предупреждение о том, что образ нельзя сохранять на том же диске, образ которого вы создаете, установить флажок, подтверждающий, что вы это поняли, и указать имя файла и папку, куда будет помещен образ.
По умолчанию предлагается создать двоичный (Binary) файл, однако программа умеет сохранять данные и в виде текста (Text). Последнее может быть полезно для просмотра содержимого секторов не в двоичном, а в обычном текстовом редакторе. Дополнительно можно указать первый и последний секторы для считывания лишь части диска.
Указав имя и тип файла, нажмите кнопку Create (Создать). Образ будет сохранен в заданную папку.
96 Глава 3. RAID и восаановление информации
Рис. 3.7. Выбор диска в File Scavenger
В описываемом примере образы с дисков RAID-0 уже сняты и хранятся в папке на первом и единственном системном диске. Остается открыть их программой File Scavenger, смонтировать виртуальный массив и извлечь из него данные.
3. Выполните команду меню File ? Disk Image ? Load (Файл ? Образ диска ? Загрузить). Появится стандартное для Windows окно открытия файлов. Выберите в нем образы (можно выделить сразу несколько файлов) и нажмите кнопку Открыть. Загруженные образы добавятся в раскрывающийся список Look in (Искать в).
4. Нажмите в окне программы кнопку\dvanced (Расширенные настройки) или выберите команду меню File ? Advanced (Файл ? Расширенные). Появится окно Reconstruct а broken RAID or spanned volume (Реконструировать разрушенный массив RAID или составной том). Переключатели и флажки в этом окне задают тип массива, который должен быть воссоздан (рис. 3.8).
5. Выберите соответствующий тип (уровень) RAID. Spanned volume (Составной том) — массив, объединяющий объем нескольких дисков. Для массива следует с помощью переключателя RAID Implementation (Исполнение RAID) указать его оригинальную реализацию:
? Hardware-based (using а RAID controller) (Аппаратно-реализованные (с применением контроллера RAID)) — диски принадлежали к аппаратному массиву;
? Software-based (Программно-реализованные) — диски изначально входили в программный массив.
Рис. 3.8. Задание типа реконструируемого массива
Для массива уровня 5 в области RAID 5 Parity Rotation (Чередование блоков четности RAID 5) дополнительно задается порядок чередования блоков четности. Указав исходные параметры массива, нажмите кнопку ОК. Появится следующее окно, в котором можно включать диски в массив (рис. 3.9).
Рис. 3.9. Добавление дисков в массив
6. В раскрывающемся списке Physical disk (Физический диск) выберите первый диск, который нужно включить в массив. Нажмите кнопку Add (Добавить), и этот диск появится в поле Disk extents or component disks (Дисковые массивы или составные диски). Добавьте таким же способом остальные диски.
Кнопки Move Up (Переместить вверх) и Move Down (Переместить вниз) позволяют изменять порядок следования дисков внутри массива, а значит, и их чередование.
В области Size (Размер) задается объем диска, который программа будет сканировать. Он может быть меньше или равен, но не больше истинного размера массива.
Составив таким образом виртуальный массив, нажмите кнопку ОК. Появится третье, завершающее окно Stripping Block Size (Размер блока чередования).
7 В этом окне задайте величину блока (по умолчанию 64 Кбайт). Дополнительно можно задать количество блоков, для которых одновременно вычисляется четность. По умолчанию для подавляющего большинства контроллеров за одно действие обсчитывается один блок. Некоторые контроллеры, например HP/Compaq, обрабатывали группы из 16 блоков, но они сейчас редкость.
Задав названные параметры (или оставив их значения по умолчанию), нажмите кнопку ОК. Новый виртуальный массив добавится в раскрывающийся список дисков Look in (Искать в).
8. Выберите этот созданный массив в раскрывающемся списке Look in (Искать в). Установите переключатель Mode (Режим) в одно из положений:
? Quick (Быстрый) — быстрый поиск по записям файловой системы;
? Long (Долгий) — долгий поиск по сигнатурам файлов по всему диску.
9. Нажмите кнопку Search (Искать). Появится окно Determining the Boot Sector
(Указание загрузочного сектора), в котором можно указать номер загрузочного сектора. С этого сектора начнется поиск, и если неизвестен реальный номер, оставьте значение по умолчанию (0). Нажмите в окне кнопку ОК. Еще в одном окне программа предлагает игнорировать корректно удаленные файлы (Yes, Skip deleted files) или показывать их (No, Display deleted files). Нажмите кнопку OK и ждите, пока программа просканирует виртуальный RAID-массив в поисках существующих и потерянных файлов.
10. По окончании поиска в окне программы на вкладке Step 1: Search (Шаг 1: искать) появится список найденных объектов. Чтобы просмотреть этот список в виде дерева файлов и папок, нажмите на панели инструментов кнопку "^-а Tree View (Просмотр в виде дерева).
Напротив каждого файла в колонке Status (Состояние) показывается прогноз на восстановление: Good (Хороший) или Poor (Плохой).
И. Перейдите на вкладку Step 2: Recover (Шаг 2: Восстановить) (рис. 3.10). Укажите в поле Destination folder (Папка назначения) директорию, в которую следует сохранить восстановленные файлы. Чтобы сохранить всю структуру файлов и папок, установите флажок Use Folder Names (Использовать имена папок).
Рис. 3.10. Вкладка Step 2: Recover (Шаг 2: Восстановить)
12. Установите в рабочей области окна флажки напротив тех файлов, которые следует извлечь. Нажмите большую кнопку Recover (Восстановить). Выбранные файлы будут извлечены из виртуального массива в папку, указанную в поле Destination folder (Папка назначения).
Поскольку сканирование больших массивов может продолжаться очень долго, в программе предусмотрено сохранение промежуточных результатов. Команда меню File ? Session ? Save (Файл ? Сессия ? Сохранить) позволяет сохранить текущее состояние сканирования в файл, а команда File ? Session ? Load (Файл ? Сессия ? Загрузить) загружает сохраненную сессию, чтобы продолжить сканирование дальше.
Благодаря небольшому объему, портативности и универсальности эта программа может занять достойное место на flash-диске любого пользователя. Конечно, полностью заменить мощный пакет R-Studio она не сможет, но для экстренного восстановления данных очень удобна.