BVG Group
 
Имя:  
Пароль:    
 
 
• Регистрация
• Забыли пароль? 
  РУС     ENG   ia aeaaio? ea?oa naeoa iaienaou ienuii
BVG Group
(495) 772-45-95
127018, Москва, ул. Складочная, дом 1, стр. 15, офис 322
ICQ ICQ status 412880034 контакты


ОБОРУДОВАНИЕ ДЛЯ ДИАГНОСТИКИ И РЕМОНТА

 
 
восстановление
данных
 

 
 
 
 
 
?iaaen oeoe?iaaiey
Яндекс.Метрика
 
 
 
check your pagerank

Описание по работе с утилитой DRE HRT

Введение

Утилита HRT DRE предназначена для восстановления данных с неисправных накопителей. Все свои возможности она развивает в паре со специализированными утилитами комплекса HRT, но возможна работа с ней и без внешних утилит, просто часть возможностей при этом не будет реализована.

ОСНОВНОЕ ПРАВИЛО

Первое правило при восстановлении информации с неисправного накопителя: НАКОПИТЕЛЬ В ЛЮБОЙ МОМЕНТ МОЖЕТ ОКОНЧАТЕЛЬНО ВЫЙТИ ИЗ СТРОЯ, ПОЭТОМУ ЧИСЛО ОБРАЩЕНИЙ К НЕИСПРАВНОМУ НАКОПИТЕЛЮ ДОЛЖНО БЫТЬ МИНИМАЛЬНЫМ. Именно из этого правила выводится большинство концепций, заложенных в утилиту.

Основные принципы восстановления данных

Данные следует восстанавливать уже с копии

Раз число обращений к неисправному накопителю должно быть минимальным, нельзя производить глобальный анализ файловой структуры на нём самом. Необходимо скопировать данные на исправный накопитель. В качестве приёмника информации может выступать как физический накопитель равной или большей ёмкости, так и файл-образ. Следует, однако, помнить, что файловая система FAT не позволяет полноценно работать с файлами более 2Г (а более 4Г – не только полноценно, но и неполноценно), поэтому файлы-образы лучше хранить на разделе с файловой системой NTFS.

Файл-образ в дальнейшем может быть скопирован на другой накопитель, либо проанализирован внешними программами, рассчитанными на работу с файлами-образами. Кроме того, файл-образ можно подключить в систему, как виртуальный диск и различные внешне утилиты восстановления данных (например, R-Studio, да и проводник ОС Windows) не заметят, что физически работают с файлом. Они будут уверены, что работа ведётся с физическим накопителем.

Рис. 1. Варианты копирования данных и их дальнейшего использования
 

Пояснение методики пропуска блоков

Посекторное копирование некоторых накопителей может вестись достаточно долго (сутками и даже неделями). Чтобы ускорить процесс, необходимо применять различные ухищрения. Самое простое из них – если встретилось некоторое небольшое количество BAD-секторов подряд, предположить, что идёт пачка BAD-блоков и сделать пропуск большого количества секторов. При этом процесс ускоряется очень и очень значительно, а потери обычно – минимальны. Этот механизм иллюстрируют Рис. 2 и Рис. 3.

Рис. 2. Исходное состояние диска
 

Рис. 3. Принцип пропуска блока
 

Как видно, в пропущенный блок попали и хорошие сектора. Однако мы помним, что главная задача – скопировать диск как можно быстрее. Пока головки будут пытаться вычитать BAD-область, диск может выйти из строя (в том числе, и потому, что головки «скребут» по царапине). А вычитывание пропущенных участков можно будет произвести уже при втором проходе, когда максимум данных уже спасён и риска потерять всё, мучаясь с малым участком уже нет (так как всё находится в копии).

Восстановление данных при помощи файлового разбора

А что делать, если простое копирование идёт крайне медленно (диск сильно разрушен)? Оно может длиться неделями или даже месяцами. Если необходимо восстановить только небольшое количество заранее известных файлов, можно воспользоваться файловым разбором. Если пути к файлам не утеряны, есть шанс или восстановить файлы напрямую, или отметить пространство, занятое ими к копированию, а всё остальное – не копировать (то есть, не тратить на него время). Однако ещё раз повторим, что файловый разбор – это именно средство для того, чтобы отфильтровать ненужное для копирования. Если копирование и так идёт хорошо, лучше к файловому разбору не прибегать. Хотя бы потому, что на неисправном накопителе файловая система тоже могла быть разрушена.

Копирование по головкам

Любой современный накопитель работает в трансляции LBA. То есть, для обращения к сектору, необходимо задать его порядковый номер. Тем не менее, внутри накопителя по-прежнему используются номера цилиндров, головок и секторов (PCHS). И об этой физической структуре следует помнить.

Простейший случай, когда эта информация важна – «осыпающийся» накопитель. Допустим, у него плохо читается одна поверхность, а остальные – хорошо. И следует сначала скопировать все хорошие поверхности, пока пыль от «умирающей» не загрязнила их. Например, у диска, приведённого на Рис. 4, следует сначала скопировать сектора, расположенные на поверхностях 0, 1, 3-5, так как они считаются быстро, а уже затем пытаться вычитать то, что читается с поверхности 1.

Рис. 4. Пример диска с "пылящей" поверхностью
 

Однако, как это сделать? Очень просто. Опять же, необходимо провести два прохода. Для первого прохода отметить к исполнению все сектора, относящиеся к хорошим головкам (благо накопители позволяют преобразовывать координаты LBA в PCHS, а утилиты HRT, пользуясь командами преобразования, могут построить карту), а для второго – к плохим.

Второй случай копирования по головкам более сложен. Дело в том, что сервометки записываются на накопитель «родным» блоком головок. Если он вышел из строя и был заменён, добиться качества его позиционирования, какое было у «родного» практически невозможно. Экспериментально выяснено, что если головка «зацепилась» за сервометки, то дальше она будет худо-бедно читать данные. А процесс переключения головок приведёт к лихорадочным поискам сервометок на другой поверхности. Чтобы сократить время копирования, необходимо и достаточно сначала считать все данные с головки 0, затем – все данные с головки 1 и т.п.

Здесь же следует остановиться ещё на одном случае вычитывания по головкам. Допустим, у накопителя 6 головок (от 0 до 5). И по какой-то причине у него вышли из строя головки 2 и 4. В наличии имеются совместимые блоки головок с живой головкой 2, но мёртвой 4 и с живой головкой 4, но мёртвой 2. В этом случае, на первом проходе копируем головки 0, 1, 3, 5 «родным» блоком головок, затем ставим блок головок с живой головкой 2 и копируем её, затем – снова меняем блок головок и вычитываем по головке 4.

Суть карты копирования

Из всего вышесказанного следует, что во время копирования могут остаться какие-либо блоки, которые было бы хорошо обработать в будущем (так как они были пропущены и не ясно, относятся они к BAD блокам или нет), а также такие блоки, которые мы бы хотели и не хотели обработать (например, при файловом разборе или при копировании по головкам). Для того чтобы учитывать всю эту массу информации, в программе применена карта, пример которой приведён на Рис. 4.

Рис. 5. Пример карты
 

Каждому сектору неисправного диска соответствует один элемент карты, который отмечает состояние сектора. Изначально, все сектора имеют метку «С данным сектором не следует выполнять никаких операций». Поэтому, если просто выбрать накопитель и начать процесс его копирования, то вскоре Вы получите радостное сообщение, что процесс завершён, но результатов не будет никаких. И это понятно. Чтобы минимизировать число обращений к источнику, карта пуста. Вы должны самостоятельно внести в неё пометки, которые заставят утилиту копировать те или иные сектора. В простейшем случае – пометьте всю карту и процесс пойдёт. Более сложные методы пометки карты будут описаны ниже.

По мере прохождения процесса, сектора из состояния «Должен быть скопирован» будут переходить либо в состояние «Скопирован», либо в то или иное проблемное состояние. Через равные промежутки времени, карта будет автоматически сохраняться. То есть, если система «зависнет», либо отключат электроэнергию или случится иная непредвиденная ситуация, пропадут только изменения состояния, произошедшие с момента предыдущего автосохранения. Все остальные сведения будут сохранены, и процесс начнётся не с самого начала.

В целом, процесс можно прерывать и начинать многократно, ведь он базируется на карте, а карта – отражает текущее состояние. Надо прервать копирование для срочного ремонта – прекрасно, прервали, затем – загрузили и начали процесс с точки останова. Выделили пофайлово недостаточный участок и необходимо докопировать другие – никаких проблем, отмечайте их и копируйте. Скопировали всё, но есть подозрения, что некоторые пропущенные (после множественных BAD-блоков) участки содержат полезную информацию – тоже всё просто, перемаркировали «Пропущенное» в «Следует скопировать» и провели процесс. Всё, что уже скопировано – не будет затронуто. То есть, не стоит бояться, что какой-либо дополнительный процесс займёт очень много времени за счёт повторных обращений. Нет, никаких повторов не будет. Время будет затрачено только для новой операции.

При отметке файлов, карта также будет самостоятельно «зеленеть». Это связано с тем, что для файлового разбора необходимо считывать ту или иную служебную информацию. А раз она всё равно считывается, то производится её автоматическая запись на приёмник. Если в дальнейшем она понадобится (при втором проходе, при иных обстоятельствах), все «зелёные» сектора будут считаны не с источника, а с приёмника.

Информация из BAD-блоков

А как быть с BAD-блоками? Что делать с их содержимым? Можно заполнять той или иной сигнатурой (типичные варианты – бесконечная строка BAD!BAD!BAD!, удобная для анализа или нейтральная константа 00000000, прелесть которой заключается в том, что если какое-то ПО берёт из такого сектора указатель, оно не уйдёт в неведомые дали). Это хорошо для тех накопителей, которые вместо ошибочных секторов возвращают нечто странное. С другой стороны, некоторые накопители (например, IBM) возвращают вполне осмысленные данные. Для таких накопителей лучше игнорировать флаг ошибки и записать данные из буфера на приёмник. Вполне возможно, что впоследствии из этих данных удастся сложить пусть повреждённый, но приемлемый файл. И, наконец, можно попытаться вычитать данные статистическим методом, то есть, считать их несколько раз и положить на каждое место то значение, которое лежало на этом месте наиболее частое количество раз. Этот способ хорош, если накопитель отдаёт данные неустойчиво.

Рис. 6. Рекомендуемое заполнение секторов копии, соответствующих BAD-блокам

Итак. Из всего вышесказанного, можно сделать выводы:

        Данные следует копировать на исправный носитель и дальше работать уже с образом данных
        Образ может располагаться как на физическом накопителе, так и в файле (но файл должен быть расположен на NTFS-томе)
        Если встретилось много BAD-блоков подряд, лучше пропустить большой участок и попытать счастья за ним
        Копировать лучше только заведомо нужные участки
        Даже из BAD-блоков можно попытаться вычитать данные

 

Лицензирование

Если ранее лицензия для утилиты не активировалась, то при первом запуске программа выдаст сообщение об ошибке:

после нажатия клавиши OK, появится диалог активации лицензий:

Для получения кода активации необходимо скопировать поля S/N, PCB, и вместе с номером утилиты, который был вложен в коробку с CD диском, прислать запрос на активацию на адрес электронной почты: support@bvg-group.ru . На данный запрос Вам будет выслан код активации, который нужно будет ввести в поле Activate Code и нажать клавишу Activate Licenze. Если код активации был введен правильно, утилита выдаст сообщение:

Достаточно всего однократной активации, после чего карта, на которой была активирована лицензия, всегда будет работать с активированной утилитой. Проверить, активирована ли лицензия для данной утилиты или нет можно при помощи клавиши Check Licenze, если лицензия уже активирована, то будет выдано сообщение:

Если с обновлением появилась новая версия схемы карты, то Вы можете обновить старую схему при помощи клавиши PCB Update. После нажатия этой клавиши, с помощью появившегося файл селектора, нужно выбрать файл с новой схемой.

Понятие проекта

Для работы утилиты, используется большое количество разнообразных настроек. При выходе из утилиты, настройки сохраняются в INI файлах. При повторном запуске – они загружаются вновь. Однако, это чревато. Допустим, Вы копировали данные для одного Заказчика, но тут пришёл другой со срочным заказом. Вы тут же прекратили копирование прошлого заказа и начали работу с новым. А там накопитель с другой неисправностью, поэтому пришлось изменить настройки. И что? Неужели при возврате к прежнему заказу придётся снова всё перенастраивать? Нет! Дело в том, что утилита для каждого заказа организует свой проект.

Проект хранится в отдельном каталоге, и в него копируются все INI-файлы. При открытии проекта, будут загружены не глобальные, а локальные INI Файлы. Поэтому настройки будут восстановлены именно те, которые соответствовали проекту. В том же каталоге хранится карта копирования. А если копирование ведётся в образ, то в том же каталоге хранится файл 0.BIN – образ диска.

Рис. 7. Пример диска, на котором хранятся проекты

Рис. 8. Пример содержимого каталога проекта

Начало работы с утилитой
 

При работе с утилитой, используется понятие «проект». Это каталог, в котором сохраняются все необходимые файлы, а также – служебные пометки, которые могут добавляться в процессе работы.

При запуске утилиты, Вам будет предложено создать новый проект или выбрать ранее созданный:

Создание нового проекта

Если выбрать создание нового проекта, то Вам будет предложено заполнить его свойства:

Строка Root Folder определяет каталог, в который будут помещаться все проекты. По умолчанию, она соответствует каталогу, в котором расположен исполняемый файл. Однако, при необходимости, каталог по умолчанию может быть изменён путём правки строки Root Folder секции [DRE] файла HDD.INI.

Строка Project's Name определяет уникальное имя проекта. На её основе будет сформировано имя каталога, в который будет помещаться вся информация, относящаяся к проекту.

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

После нажатия на кнопку OK, Вам будет предложено выбрать тип приёмника.

Приёмник типа файл будет располагаться в каталоге проекта, и иметь имя 0.BIN.

Однако здесь следует остановиться вот на каком нюансе. Во времена, когда накопители имели объём менее 250 гигабайт, всё было хорошо. Файлы-образы были основным инструментом восстановления данных. Однако когда неисправный накопитель имеет ёмкость в районе 500-750 гигабайт (или более), возникает ошибка, предположительно связанная с файловой системой Windows. Система выдаёт сообщение «Ошибка отложенной записи», после чего ранее сделанный образ (а он мог делаться неделю и более) становится недоступен. Тщательная проверка программы показала, что скорее всего, дело именно в Windows. Поэтому если Вы собираетесь копировать большие накопители в файлы-образы, Вы делаете это на свой страх и риск.

Само собой разумеется, не стоит размещать проекты на томах, размеченных в файловой системе FAT, так как максимальный размер файла там 2-4 гигабайта. И если образ имеет больший размер, во время копирования возникнет ошибка.

Флажок Sparse File необходим для создания «разряжённого» файла. В противном случае, при начале работы с образом (а именно – при файловом разборе или при копировании в обратную сторону) система может «повиснуть». При этом будет не ясно, что же произошло. Программа «висит» и не может быть даже «снята» через менеджер задач. А дело в том, что если в файле произошёл скачок, Windows заполнит пространство от места последней записи до точки «скачка» нулями. Заполнение идёт со скоростью 1-2 гигабайта в минуту. Сколько понадобится, чтобы занулить 200 гигабайт – не сложно рассчитать. И всё это время программа не будет подавать признаков жизни.

Для решения данных проблем, применяется механизм «разрежённых» файлов файловой системы NTFS. Некоторое время, программа HRT DRE открывала файл только в разрежённом виде. Однако ошибка отложенной записи на таких файлах возникает намного чаще, чем на обычных. Поэтому пришлось вынести эту функцию во флажок.

В целом, рекомендации могут быть следующие:

      Для накопителей до 100 гигабайт, допускается установка флажка
      Для накопителей от 100 до 250 гигабайт рекомендуется не устанавливать флажок, но и не пугаться, когда при файловом разборе или копировании в обратную сторону программа надолго «зависнет»
      Для накопителей более 250 гигабайт, стараться не пользоваться файлом-образом (однако, на свой страх и риск – можно)

В случае с приёмником-накопителем, Вам будет дополнительно предложено выбрать его.

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

Открытие существующего проекта

При открытии существующего проекта, Вам будет выведен список всех проектов, расположенных в текущем корневом каталоге

Сменить корневой каталог можно, нажав кнопку …

При выборе тех или иных записей в списке проекта, также будет отображаться комментарий, связанный с данным проектом. Вы можете не только просмотреть комментарий, но и отредактировать его. При нажатии на кнопку ОК, изменения будут сохранены, а проект – открыт.

С каждым проектом неразрывно связана карта. При открытии проекта, она будет загружена автоматически.

Главное окно программы

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

Начальный и конечный LBA в комментариях не нуждаются. Они задают координаты начала и конца выполнения операции. Параметр Dest LBA обычно равен начальному LBA. Его назначение следующее: Допустим, Вы работаете с накопителем большой ёмкости. С него следует восстановить достаточно небольшой раздел. У Вас в наличии имеется только накопитель-приёмник малой ёмкости, на который указанный раздел поместится, а весь накопитель - нет. Как известно, ОС Windows прекрасно справится с накопителем, у которого нет таблицы разделов, а с LBA0 расположен сам раздел (режим «большой дискеты»). Параметр Dest LBA позволяет создать такую «большую дискету». Достаточно выбрать параметр Start LBA, равный началу копируемого раздела, а Dest LBA равным нулю. И данные будут смещены в начало накопителя-приёмника (или файла-образа). Как всегда, напомним, что при использовании сжатых каталогов NTFS данная проблема не стоит. Она стоит при копировании на накопитель-приёмнк или в обычный каталог NTFS. Узнать параметры разделов можно через механизм Mark By FS, описанный ниже.

Группа кнопок Direction задаёт направление копирования. Оно может вестись или вперёд или назад. Обычно накопители копируются вперёд. Если же в начале имеется много секторов, замедляющих скорость копирования, то можно запустить копирование назад.

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

В поле Current Mode выводится текущий режим карты HRT, т.е. в каком режиме в данный момент считываются данные с источника (PIO, UDMA).

Кнопка Mark All+Start запускает самый простой процесс копирования – без предварительной подготовки. Она просто отмечает ВСЕ сектора накопителя-источника, как подлежащие копированию и начинает процесс. В простейшем случае, из всех кнопок нужна только эта. А все прочие настройки можно оставить по умолчанию.

Внимание! Эта кнопка хороша при первом запуске. Однако если Вы случайно нажали на неё уже после того, как в карте появились какие-либо отметки, она «сметёт» их, не глядя (кроме отметки «Успешно скопировано»). Иногда это нежелательно. Поэтому при нажатии на кнопку выдаётся дополнительный запрос:

Кнопка же Start начнёт процесс для заранее подготовленной карты. Если карта не подготовлена (проект только что создан), процесс завершится довольно быстро, к источнику не будет произведено ни одного обращения, а на приёмник не будет записано ни одного байта данных. Карту следует подготовить одним из следующих методов (каждый из которых будет рассмотрен ниже):

  • Прямым редактированием
  • Редактированием на основе Файловой Системы
  • Поголовочным построением при помощи специализированной утилиты комплекса HRT
  • Редактированием карты по результатам предыдущего прохода копирования

Назначение вкладок, расположенных в нижней части окна, мы рассмотрим позже. Пока же перейдём к рассмотрению окна карты.

Окно карты

Текущее состояние карты всегда можно посмотреть в параллельном окне, внешний вид которого представлен ниже:

Один квадратик в карте соответствует одному сектору копируемого накопителя. Цвет квадратика определяет состояние сектора. В правом верхнем углу расположен список всех возможных состояний сектора:

Напротив каждой записи есть флажок, если он установлен, то сектора с выбранным состоянием участвуют в копировании. Данные флажки можно изменять и в процессе копирования.

Тип Пояснение
For Copy Основная пометка для копирования. Ставится, например, при нажатии Mark All + Start. По умолчанию, копируются только сектора с такой пометкой.
For Ignore Заполнение карты по умолчанию. Исходно считается, что никакие сектора не подлежат копированию. Однако, в дальнейшем, Вы можете изменить пометку секторов с этого типа на Marked for Copy, либо Marked By FS (во время файлового разбора). Разумеется, изменять можно на любые типы, но данные два изменения – наиболее типичны.
Copied Все успешно скопированные сектора отмечаются данным типом. Многие обработчики не меняют данный тип ни на какой другой, так как если данные успешно скопированы, то чего ещё можно желать? Таким образом, это состояние – одно из самых устойчивых.
Skipped К сектору не было попыток обращения. Просто на некотором расстоянии до него была обнаружена группа BAD секторов, и программа осуществила пропуск прыжком, отметив все пропущенные сектора данным образом.
For Copy Основная пометка для копирования. Ставится, например, при нажатии Mark All + Start. По умолчанию, копируются только сектора с такой пометкой.
BAD При чтении данного сектора, накопитель выставил бит ERR в регистре статуса, а код ошибки был не UNC (либо в настройках программы стояло, что ошибки UNC не следует обрабатывать), поэтому программа записала в соответствующий сектор копии сигнатуру BAD.
RL Copied Сектор скопирован при помощи операции Read Long. Несмотря на красивое описание, данная операция крайне ненадёжна. Попробуйте считать хорошие сектора при помощи этой команды, получите массу неверных битов. Однако традиционно все копировщики умеют использовать данную команду. То есть, данный тип копирования оставлен в угоду традициям и не рекомендуется для применения.
Timeout Во время чтения возник таймаут. Вероятность того, что сектор был сбойным – 50 на 50. Или сбойный или ещё вычитается. Однако для экономии времени разбирательство было оставлено на следующий проход копирования.
Copied with ERR Данный сектор читается с ошибкой. Однако произведена попытка восстановления данных с максимальной правдоподобностью (алгоритм описан ниже).
Changed Сектор изменён в дампе. Суть изменений будет описана ниже
Marked By FS Сектор помечен к копированию в файловом разборщике.


 

Щелчок по цветному квадратику рядом с флажком позволит изменить цвет квадратика.

Кнопка Update Statistics позволяет посмотреть текущую статистику отметки секторов в карте. При нажатии напротив каждого типа сектора выводится статистика, сколько секторов такого типа присутствует на приемнике:

Для более детальной статистики введена кнопка Details, при ее нажатии появляется диалог полной статистики, в которой уже присутствует статистика по каждой физической головке в отдельности:

Клавиши Soft Reset и Hard Reset служат для подачи накопителю программного или аппаратного сброса. В некоторых случаях позволяет вывести накопитель из зависания. Эти кнопки допускается нажимать даже во время копирования.

Кнопка Cancel работает, когда идёт процесс копирования, прерывая его. Это необходимо для временной приостановки процесса, например, если необходимо подправить параметры, ответственные за обработку ошибок, построить карту по головкам, изменить направление копирования или, в конце концов, использовать адаптер HRT для более срочного заказа. Впоследствии процесс будет продолжен согласно карте, то есть, с точки, где было произведено его прерывание.

Теперь рассмотрим нижнее поле, расположенное под картой

Светодиоды аналогичны таковым для утилит HRT. Однако есть одна тонкость, связанная с особенностями микросхем ITE и Marvel. Если копировать накопитель с интерфейсом IDE, никаких проблем не возникает. Однако такие накопители уходят в прошлое. Им на смену приходят накопители с интерфейсом SATA. И если копировать их, то при возникновении ошибки иногда микросхема ITE завешивает весь компьютер. Чтобы этого не происходило, необходимо отключать отображение светодиодов. Для этого следует снять флажок Show LEDs.

Поле Current LBA показывает номер текущего обрабатываемого сектора. Во время копирования это текущий копируемый сектор. Если же щёлкнуть по любому из квадратиков «мышью», то в поле появится значение LBA, соответствующего квадратику.

Флажок Hide Map позволяет ускорить процесс копирования примерно на 10-30% за счёт того, что система не будет тратить время на перерисовку карты. Рекомендуется снимать его только в случаях, когда процесс копирования подтормаживает, чтобы рассмотреть характер проблемы, а в остальных случаях – устанавливать.

Поле Time автоматически обновляется в процессе копирования, отображая время, затраченное на сам процесс, причем время считается от момента очередного запуска процесса копирования.

Дамп сектора

Двойной щелчок по квадратику приведёт к отображению его дампа

Клавиши Forward и Backward выводят дамп последующего и предыдущего сектора соответственно. С помощью клавиши Go to LBA можно перейти к любому LBA блоку. Как уже говорилось ранее, обращение к источнику происходит всего один раз, и все последующие чтения производятся с приемника. Если же все-таки необходимо повторно прочитать сектор с источника, то это можно сделать, нажав клавишу Read from SRC. Также, можно сохранить считанный сектор в файл и восстановить его обратно из файла, причем запишется сектор на диск приемник или в образ, в который сохраняются данные пользователя.

Основная цель данного дампа следующая: Допустим, сектор считался с ошибкой. Однако из опыта работы Вы знаете, что там содержатся важные сведения для файловой системы. Тогда Вы заходите в дамп, правите содержимое (да хотя бы зануляете, чтобы не было ложных указателей) и сохраняете результат. Чтобы подчеркнуть тот факт, что сектор был изменён в дампе, ему будет присвоен статус Changed.

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

Вкладка Properties

На данной вкладке сгруппированы элементы для просмотра свойств накопителя, а также посылки управляющих воздействий на него.

В поле Device отображается имя накопителя, а в полях Max LBA и Size in GB – объём накопителя в секторах и в «честных» гигабайтах (1 гигабайт равен 1024 мегабайта).

Кнопка Select Port позволяет изменить адаптер, к которому подключён накопитель (если у Вас установлено несколько адаптеров HRT).

Кнопка ATA Reset позволяет послать в накопитель программный сброс.

Кнопка Settings позволяет изменить настройки работы программы. В том числе, она позволяет переключаться между режимами PIO и UDMA, а также задать тип UDMA.

Важная информация: Экспериментально выяснено, что самым надёжным режимом является UDMA2. Повышение режима с некоторыми кабелями приводит к появлению битовых ошибок. Поэтому крайне рекомендуется работать в режиме UDMA не выше второго.

Рис. 9. Диалог, появляющийся при нажатии кнопки Settings

Кнопка ATA Command вызывает стандартный диалог HRT, позволяющий подавать ATA команды. Этот механизм настолько важен, что его рассмотрение мы вынесем в отдельный раздел ниже.

Переключатель Off/On позволяет управлять питанием накопителя

Кнопка Stop Spindle посылает накопителю команду остановки шпиндельного двигателя. Эта методика традиционно применяется для выполнения операции Hot Swap.

Историческое отступление. Метод Hot Swap начал применяться в те далёкие времена, когда почти никто из ремонтников не слышал о таком понятии, как «лоадер». В некоторых случаях, он применяется и в наше время. Суть метода проста: Пусть имеется накопитель, служебная область которого настолько разрушена, что он не может нормально стартовать. И пусть отсутствует штатная методика оживления такого накопителя. В этом случае, берётся накопитель, который называется «донор». При необходимости (и наличии возможности), его служебная область приводится в соответствие со служебной зоной неисправного накопителя (например, копируется дефект-лист). Далее донор включается и выходит в готовность. Теперь у него останавливается шпиндельный двигатель, плата отвинчивается (без отключения питания) и переставляется на неисправный гермоблок. Получаем накопитель с загруженной микропрограммой. Поэтому во многих случаях, с этого накопителя можно считывать данные. Детали в каждом случае свои, но в общем и целом – Hot Swap выполняется именно так.

Кнопка Run HRT Utility выполняет чрезвычайно важную функцию: вызывает специализированную утилиту HRT для построения карты по головкам. Дело в том, что для ATA накопителей, в отличие от SCSI, не существует универсальной команды преобразования логического сектора к физическим координатам PCHS. Каждый производитель делает это по-своему. Поэтому невозможно построить карту по головкам, пользуясь только стандартной утилитой. Необходимо для каждого типа использовать специализированную утилиту. В целом, алгоритм преобразования выглядит следующим образом:

Нажать кнопку Run HRT Utilities. В появившемся окне найти в списке соответствующий накопитель (рассмотрим на примере накопителя Western Digital)

Двойной щелчок по элементу списка откроет утилиту HRT:

В ней стандартным образом выбираем накопитель. Получаем стандартное окно накопителя.

Однако, это окно отличается от классического варианта. В конце меню появляется пункт Build Map:

При выборе данного пункта, открывается окно построения карты

Поля From LBA и To LBA не вызывают никаких вопросов. Поле Search Step требует некоторых комментариев. Дело в том, что команда преобразования логического сектора в физический требует слишком много времени. Если производить преобразование для каждого сектора, процесс будет длиться несколько дней, что в условиях умирающего накопителя (да и нетерпеливого клиента) совершенно неприемлемо. Поэтому программа пользуется тем фактом, что некоторое количество секторов принадлежит одной головке.

Поэтому программа транслирует сектор LBA и LBA + Step. Если и там и там номер головки совпадает, начинается анализ следующего промежутка, размером Step. Если же номер головки изменился, то на рассматриваемом диапазоне имеется точка перехода между головками. Эта точка ищется методом половинного деления.

Таким образом, чем больше параметра Search Step, тем быстрее завершится процесс трансляции. Но с другой стороны, если параметр задан слишком большой, то на рассматриваемом диапазоне может произойти не одна, а две (или даже более) смены головок, а утилита сочтёт это за одну смену и отработает некорректно.

Существуют накопители, переключающие головки по окончании каждого цилиндра (обычно это старые накопители – Quantum, Fujitsu и т.п.). Для них данный параметр должен быть не более половины минимального SPT (именно из этих соображений выбрано значение по умолчанию 100). Большинство же современных накопителей осуществляют трансляцию «кольцами». При этом по мере роста LBA переключается номер цилиндра, а номер головки – остаётся прежним. И лишь по достижении определённого значения (например, на каждом 128-м цилиндре) происходит смена головки. Для таких накопителей можно задавать значения в районе 1000 и даже более (вплоть до 50000). Характер трансляции можно выявить, пользуясь диалогом Issue Translator, имеющимся в большинстве утилит комплекса HRT. На Рис. 8 приведён пример настройки с шагом 10000, выставленный для накопителя Western Digital.

Рис. 10. Пример изменённого шага поиска для накопителя Western Digita

Когда трансляция завершена, выходим из специализированной утилиты HRT. В окне карты появляется дополнительный список головок (см. Рис. 9). Снимая галочки, можно исключать головки из процесса копирования. Снимать и устанавливать галочки можно даже не останавливая процесса.

Рис. 11. Появилась возможность исключать головки из процесса копирования

Кроме того, если установить флажок Show Heads, каждый квадратик на карте начнёт отображать номер головки, которой соответствует текущий LBA (см. ). Если какой-то сектор не был оттранслирован (например, процесс расчёта головок был прерван пользователем), номер головки будет F. Стоит отметить, что вывод номеров головок замедляет процесс работы на 5-10%. Поэтому включать отображение стоит только по необходимости.

Рис. 12. Карта с отображением номеров головок на каждом из квадратиков

Пока писался этот раздел документации, на соседней машине копировался накопитель Western Digital, покрывшийся множественными BAD блоками. Причём характер вычитывания был такой: Сначала большой кусок читается быстро, затем – начинаются тормоза. Через некоторое время – снова быстро. А ведь накопитель WD имеет стеклянные пластины, поэтому если он посыпался – читать надо как можно быстрее, иначе вскоре процесс разрушения станет просто ужасным. Поэтому процесс копирования был прерван, произведено построение карты по головкам. Далее, включено отображение номеров головок на карте и процесс запущен вновь. Сразу стало ясно, что «пылит» головка 1. Отображение головок было выключено (для ускорения работы), а в списке головок – снята галочка около головки 1. В результате, все прочие головки были скопированы с огромной скоростью. Дальше, головка 1 была возвращена и процесс был запущен вновь. Разумеется, головка 1 читалась всю ночь, но прочим поверхностям летящая с неё пыль уже не угрожала. Они уже были считаны.

Отдельно следует упомянуть о том, что если у накопителя не пуст G-LIST, даже построенная карта по головкам не защитит на 100% от обращения к неисправной головке. Дело в том, что резервные сектора не обязательно будут размещаться на той же головке, что и основные. Например, резервные сектора накопителей IBM (и последовавших за ними HITACHI) всегда располагались на головке 0. И дальше ситуация получается точно такая же, как и со слишком большим шагом поиска. На Рис. 13 показан случай, когда замещающий сектор вообще не будет замечен. А на Рис. 14 показана ситуация, где замещающий сектор может даже вызвать ошибку в алгоритме поиска точки изменения номера головки. Лучшее решение в такой ситуации – задавать размер шага равным единице, но тогда время построения карты будет неприемлемо велико. Второе решение – при возможности очищать G-LIST. Но в целом, практика показала, что проблема обычно не мешает работе, просто про неё следует помнить.

Рис. 13. Ситуация, в которой замещающий сектор вообще не будет обнаружен

Рис. 14. Ситуация, когда замещающий сектор может создать ошибочную ситуацию

рус
eng 
главная |  продукты |  цены |  дилеры |  контакты
новости |  информация |  поддержка  |  карта сайта 
© 2006-2015 BVG Group
эл. почта:  office@bvg-group.ru