Помимо меню, вызываемого при загрузке, для проверки и обслуживания массивов используются утилиты, работающие в среде MS-DOS или Windows. Первые запускаются со специально создаваемого загрузочного диска, а вторые обычно устанавливаются вместе с драйвером RAID-массива или являются одним из компонентов драйвера. Такие резидентные программы способны непрерывно отслеживать состояние массива и при возникновении неполадок уведомлять об этом пользователя даже путем отправки сообщения по электронной почте.
В процессе создания RAID-массива на нулевые дорожки входящих в него дисков контроллер обычно записывает служебную информацию о номере диска в массиве, уровне RAID и размере блока. Информация о дисках, включенных в массив, в свою очередь, сохраняется в энергонезависимой памяти контроллера. Некоторые контроллеры «запоминают» диски по их серийным номерам, но чаще контроллер идентифицирует диски в процессе инициализации массива, основываясь на служебной информации из нулевых дорожек дисков. Вывод: и искажение данных в CMOS контроллера, и изменение служебной информации на самих дисках могут привести к разрушению массива.
Программный RAID-массив
Кроме аппаратной, существует и программная реализация RAID. В этом случае массив формируется из дисков, подключенных к обычному контроллеру SATA или IDE. Поддержка программных дисковых массивов впервые появилась в серверных операционных системах. Сегодня она присутствует даже в Windows XP Professional и выпусках Windows Vista.
Для создания программного массива служит оснастка Управление дисками консоли Управление компьютером или системная команда diskpart. Сначала необходимо преобразовать два или более дисков в динамические диски (команда Преобразовать в динамический диск контекстного меню диска). После преобразования операционная система рассматривает разделы на этих дисках как простые динамические тома.
Из двух и более простых динамических томов, находящихся на разных физических дисках, можно организовать составной том. Составной том может включать в себя до 32 динамических дисков. Это программный аналог RAID-1.
Чередующийся том – программный аналог RAID-0. В чередующийся том также могут входить до 32 динамических дисков. Команды создания составных и чередующихся томов становятся активны в контекстном меню диска после преобразования его в динамический диск.
Сведения о конфигурации программных массивов хранятся в системном реестре Windows. Создание программных массивов – допустимое решение при отсутствии аппаратного RAID-контроллера. Основным недостатком создания программных массивов без аппаратного RAID-контроллера является повышенный расход ресурсов и относительное снижение быстродействия компьютера по сравнению с полноценной аппаратной реализацией RAID. Тем не менее такое решение может применяться на практике.
Причины потерь данных
Говоря о RAID-массивах, необходимо четко разграничивать два понятия. И чтобы различать ситуации, следует обратить внимание на сообщения, выдаваемые контроллером в процессе начальной загрузки компьютера либо после запуска операционной системы Windows, а также обратиться к оснастке Управление дисками в консоли Управление компьютером.
Повреждение массива – физические или логические ошибки на одном или нескольких дисках, входящих в состав массива. Контроллер корректно работает с дисками, образующими RAID, хотя обычно выдает сообщения об ошибках дисков. В этом случае RAID-массив продолжает оставаться для операционной системы единым диском, но на нем возникают те или иные ошибки либо он представляется неформатированным.
Физические или логические проблемы с одним из дисков в массиве уровня 1 или 5 можно рассматривать как штатное событие: массив и создавался, чтобы сохранить данные в такой ситуации. RAID-контроллер почти всегда верно распознает такую ситуацию в процессе инициализации массива, выводит соответствующее сообщение и предлагает заменить неисправный диск. После замены винчестера и включения компьютера контроллер предлагает включить новый диск в массив и воссоздать данные на нем с исправных дисков массива (Rebuild Array). В результате и физическая, и логическая целостность массива почти обязательно восстанавливается.
Примечание
При воссоздании массивов RAID-1 на дисках IDE может появиться опасная ловушка. Некоторые контроллеры, например Promise FastTrack100, всегда копируют данные с диска, подключенного как Master на диск, подключенный как Slave. Нетрудно догадаться, что может произойти при выходе из строя и замене диска, подключенного в конфигурации Master, – данные с оставшегося исправным диска можно потерять безвозвратно.
Разрушение массива – результат утраты контроллером сведений о конфигурации массива. В этом случае винчестеры, входившие в массив, видятся системой как отдельные диски, а некоторые из них могут вовсе не распознаваться. В оснастке Управление дисками они чаще всего показываются неформатированными или как диски с неизвестной файловой системой.
Выход из строя RAID-контроллера однозначно ведет к разрушению массива. Подключение дисков, входивших в массив, к другому идентичному контроллеру и попытка инициализировать его далеко не всегда приводят к успеху. Тем более найти точно такой же контроллер, выпущенный несколько лет назад, бывает проблематично. Поэтому в большинстве случаев разумной тактикой становится извлечение данных из разрушенного массива программными методами.
Таким образом, потеря информации может произойти лишь при разрушении любого массива либо при повреждении массивов RAID-0 или JBOD. В избыточных массивах уровней 1, 3, 5, 1+0 и 0+1 информация сохраняется по определению, а целостность набора восстанавливается штатными средствами контроллера при замене неисправного диска.
В следующем разделе речь пойдет о восстановлении данных из разрушенного массива или с поврежденных дисков в массиве RAID-0 либо JBOD.
Тактика восстановления данных
Если при очередном включении компьютера оказались недоступны диски RAID, следует провести короткую и осторожную диагностику. Как уже говорилось, основные сведения можно почерпнуть из сообщений контроллера в процессе его инициализации, а затем в оснастке Управление дисками консоли MMC.
Далее целесообразно выключить компьютер и снять с него винчестеры, входящие в RAID. Ориентируясь по шлейфам и портам контроллера, пронумеруйте диски, это поможет при дальнейшем программном воссоздании массива.
Подключайте винчестеры по одному к другому компьютеру, к обычному контроллеру (не RAID). Диагностика жестких дисков описана в предыдущей главе. В зависимости от результатов проверки может потребоваться замена контроллера и даже манипуляции внутри гермоблока. Главное – восстановить доступ к диску.
Заниматься углубленной диагностикой и восстановлением данных на неисправном компьютере не рекомендуется. Если на поврежденный или разрушенный RAID-массив была установлена операционная система, загрузка компьютера просто невозможна, поэтому наличие второго компьютера обязательно. Есть и другой вариант – подключить новый диск, установить на него операционную систему и все необходимые утилиты, а потом подключать обратно диски из массива и заниматься извлечением информации.
Желательно создать образ-копию каждого диска. Делать это удобно теми же программами, которыми впоследствии будут извлекаться данные. Для сохранения образов двух или трех дисков может потребоваться винчестер большой емкости, хотя файлы образа, как правило, неплохо сжимаются. Если по результатам проверки винчестеры оказались полностью исправными, можно и не создавать образы, а работать непосредственно с самими дисками, хотя делать это не очень удобно: придется подключать к компьютеру одновременно три, четыре или даже пять дисков – на одном винчестере должны быть операционные системы и рабочие программы, и извлекаемые данные тоже нужно где-то сохранять!
Программные средства восстановления данных
Извлечение данных из массива происходит по тому же принципу, что и с любого одиночного носителя. Сначала программа просматривает записи файловой системы и находит объекты по ним. Углубленный поиск заключается в обнаружении на диске последовательностей, характерных для начала файлов определенных типов. Особенность восстановления данных из RAID состоит в том, что программа должна работать одновременно с несколькими дисками или образами, составляя итоговую последовательность из блоков или полос (stripes), находящихся на разных дисках.
Программ, способных восстанавливать данные из дисковых массивов, не так много. Избыточные массивы отказоустойчивы – необходимость в их восстановлении возникает крайне редко. Пользователи, которые хранят уникальные данные на массивах RAID-0, должны осознавать, что такие массивы не предназначены для этой цели. Однако на подобных массивах обычно находится временная информация типа несжатого видео, не представляющая особой ценности и которую легко воссоздать по оригиналу.
Программа R-Studio
Программа R-Studio – универсальный инструмент извлечения информации с поврежденных носителей. Программа способна строить виртуальные массивы или наборы (Virtual Volume Sets) из физических дисков, разделов на них или файлов-образов.
1. Откройте предварительно созданные образы дисков, входивших в массив: меню Drive → Open Image File (Диск → Открыть файл образа). В результате в дерево дисков с пометками Image (Образ) добавятся смонтированные образы (рис. 3.5).
Рис. 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. Перетащите мышью диски или открытые образы из дерева на вкладку Parents (Родители) панели виртуального набора (рис. 3.6).
Рис. 3.6. Добавление дисков в виртуальный набор
4. В нижней части вкладки на диаграмме показывается чередование блоков в виртуальном массиве подобно схемам, описанным в начале этой главы. Справа от диаграммы задаются размер блока (Block size:), порядок чередования (Blocks order:) и число рядов при чередовании (Rows count:). Как правило, значения по умолчанию (Default) соответствуют настройкам большинства современных массивов. Для изменения порядка чередования достаточно расположить диски в нужном порядке, перетаскивая их мышью прямо в списке дисков на вкладке Parents. Это же можно сделать и на диаграмме чередования.
5. В дереве дисков щелкните правой кнопкой мыши на значке виртуального набора и в контекстном меню выберите команду Scan (Сканировать). Откроется окно Scan (Сканировать) (см. рис. 2.17).
6. Дальнейшее сканирование и сохранение найденных файлов ничем не отличается от восстановления данных с одиночного носителя, рассмотренного в предыдущей главе.
Основная проблема, с которой можно столкнуться, – неправильно заданный порядок чередования дисков, реже – неверный размер блока. В обоих случаях некоторые файлы могут даже быть найдены и извлечены, так как сигнатуры обнаружены, а дальше программа собирает файл по заданному порядку блоков. Содержимое файла окажется набором разных блоков, кроме первого, хотя каждый из фрагментов по отдельности вполне осмыслен. Если все извлеченные файлы явно повреждены и не открываются, целесообразно изменить порядок блоков или дисков в виртуальном массиве либо выбрать другой размер блока. Возможно, если исходные параметры массива были неизвестны, придется сделать несколько попыток восстановления, пока будут подбираться правильные размер блока и порядок чередования.
Программа File Scavenger
Программа File Scavenger (http://www.quetek.com) предназначена специально для восстановления данных из RAID, хотя хорошо работает и с любыми отдельными накопителями: винчестерами, flash-дисками, лазерными дисками. При всей внешней простоте интерфейса это приложение обладает очень гибкими возможностями и настройками. Программа относится к категории Portable Software: единственный исполняемый файл (FileScav.exe) размером всего 1,32 Мбайт можно записать на любой носитель и делать запуск прямо с него. Второй файл – файл справки. Однако несмотря на то, что в нем содержится много нужных сведений не только о работе с программой, но и о восстановлении RAID вообще, для работы этот файл не нужен, но прочитать его следует обязательно!
По умолчанию предполагается, что операционная система и программа запускаются с одного физического диска, а в RAID-массив включены остальные два или три физических диска. Тогда при запуске программа попытается определить вероятную конфигурацию массива и будет ориентироваться на нее. Но можно работать и с образами дисков, созданными другими программами, и с физическими дисками, подключенными к обычным контроллерам.
Запустите программу. В окне программы присутствуют две вкладки:
• Step 1: Search (Шаг 1: Искать). На этой вкладке задаются параметры поиска файлов и показываются найденные файлы.
• Step 2: Recover (Шаг 2: Восстановить). Пока файлы не найдены, эта вкладка неактивна. После того как на диске в процессе сканирования обнаруживаются файлы, на этой вкладке можно указать параметры восстановления найденных объектов.
Файл-образ можно создавать разными программами, и расширение его большой роли не играет. Как правило, это обычный бинарный файл, хотя некоторые программы применяют к образу алгоритм сжатия ZIP, так как нет смысла записывать в этом файле все последовательности пустых блоков – нулей. Программа File Scavenger создает образы в файлах с расширением DSK, но способна открывать такие файлы независимо от расширения.
1. Выберите один из физических дисков или разделов в раскрывающемся списке Look in (Искать в) (рис. 3.7).
Рис. 3.7. File Scavenger – выбор диска
2. Вызовите команду меню File → Disk Image → Create (Файл → Образ диска → Создать). Появится окно Creating a disk image file (Создание файла образа диска). В нем следует обратить внимание на предупреждение о том, что образ нельзя сохранять на том же диске, образ которого создается, установить флажок, подтверждающий, что это понятно, и указать имя файла и папку, куда будет помещен образ.
По умолчанию предлагается создать двоичный (Binary) файл, однако программа умеет сохранять данные и в виде текста (Text). Последнее может быть полезно для просмотра содержимого секторов не в двоичном, а в обычном текстовом редакторе. Дополнительно можно указать первый и последний сектора для считывания лишь части диска.
Указав имя и тип файла, нажмите кнопку Create (Создать). Образ будет сохранен в заданную папку.
В описываемом примере образы с дисков RAID-0 уже сняты и хранятся в папке на первом и единственном системном диске. Остается открыть их программой File Scavenger, смонтировать виртуальный массив и извлечь из него данные.
3. Вызовите команду меню File → Disk Image → Load (Файл → Образ диска → Загрузить). Появится стандартное для Windows окно открытия файлов. Выберите в нем образы (мышью можно выделить сразу несколько файлов) и нажмите кнопку Открыть. Загруженные образы добавятся в раскрывающийся список Look in (Искать в).
4. Нажмите в окне программы кнопку
Advanced (Расширенные настройки) или выберите команду меню File → Advanced (Файл → Расширенные). Появится окно Reconstruct а broken RAID or spanned volume (Реконструировать разрушенный массив RAID или составной том). Переключатели и флажки в этом окне задают тип массива, который должен быть воссоздан (рис. 3.8).
Рис. 3.8. Задание типа реконструируемого массива
5. Выберите соответствующий тип (уровень) RAID. Spanned volume – составной том, объединяющий объем нескольких дисков. Для массива следует указать переключателем RAID Implementation (Исполнение RAID) его оригинальную реализацию:
• Hardware-based (using a RAID controller) – диски принадлежали к аппаратному массиву;
• Software-based – диски изначально входили в программный массив.
Для массива уровня 5 в области RAID 5 Parity Rotation (Чередование блоков четности RAID 5) дополнительно задается порядок чередования блоков четности. Указав исходные параметры массива, нажмите кнопку OK. Появится следующее окно, в котором можно включать диски в массив (рис. 3.9).
Рис. 3.9. Добавление дисков в массив
В раскрывающемся списке Physical disk (Физический диск) выберите первый диск, который нужно включить в массив. Нажмите кнопку Add (Добавить), и этот диск появится в поле Disk extents or component disks (Дисковые массивы или составные диски). Добавьте таким же способом остальные диски.
Кнопки Move Up (Переместить вверх) и Move Down (Переместить вниз) позволяют изменять порядок следования дисков внутри массива, а значит, и их чередование.
В группе Size (Размер) задается объем диска, который программа будет сканировать. Он может быть меньше или равен, но не больше истинного размера массива.
Составив таким образом виртуальный массив, нажмите кнопку OK. Появится третье, завершающее окно.
6. В этом окне, Stripping Block Size (Размер блока чередования), задайте величину блока (по умолчанию 64 Кбайт). Дополнительно можно задать число блоков, для которого одновременно вычисляется четность. По умолчанию для подавляющего большинства контроллеров за одно действие обсчитывается один блок. Некоторые контроллеры, например HP/Compaq, обрабатывали группы из 16 блоков, но такие контроллеры сейчас редкость.