Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Лекция 13-14. Устройства хранения данных. НЖМД. Интерфейс IDE



RAID

Основные производители

На рынке производителей RAID-конт­роллеров для недорогих систем сущест­вуют основные конкуренты. Наиболее известные из них — Promise Technologies и HighPoint Technologies. Их контролле­рами оснащается каждая третья выпус­каемая материнская плата. Еще один производитель, прежде работавший ис­ключительно на рынке серверных сис­тем, а ныне предлагающий продукцию и для недорогих настольных компьюте­ров, — это компания 3ware, Inc.

Продукция HighPoint ориентирована главным образом на продвинутых поль­зователей и бюджетные серверные систе­мы. Продукцию класса hi-end этот про­изводитель выпускать пока не торопится. Наиболее популярным в настоящее вре­мя является чип НРТ374, который пред­ставляет собой четырехканальный кон­троллер Ultra DMA/ATA133 RAID.

В то же время Promise Technologies уже на протяжении двух лет поставляет для наиболее требовательных клиентов системы серии SuperTrak. Эти системы позволяют с использованием IDE-вин­честеров строить RAID-массивы пятого уровня. Что касается встроенных реше­ний, то наиболее свежими продуктами данной компании являются двухка-нальный Serial ATA и одноканальный контроллер Ultra DMA/ATA133 RAID, размешенные на одном чипе под назва­нием PDC20386.

Однако подобные чипы зачастую не уходят дальше поддержки уровней RA­ID 0, 1 и 0+1, поскольку встраивание дорогостоящих моделей RAID-кон­троллеров было бы слишком негибким решением, ориентированным на узкий круг потребителей.

3ware с момента своего основания бы­ла ориентирована на рынок корпоратив­ных решений. Эта компания примеча­тельна не только тем, что производит 12-канальные IDE-контроллеры, но также и тем, что единственная из всех поставляет контроллеры SATA RAID с поддержкой до 4, 8 и 12 устройств. При этом все платы RAID-контроллеров 3ware, рассчитанные на четыре и более канала, поддерживают уровень RAID 5 и могут быть использованы при построе­нии нетривиальных систем хранения и обработки данных.

RAID — это определенный подход к обеспечению скорости, надежности и повышенной емкости хранения данных, основанный на использовании несколь­ких дисковых накопителей вместо одно­го. Фактически RAID позволяет взять несколько жестких дисков и использо­вать их как один с некоторыми преимуществами, которые определяются уров­нем RAID. В зависимости от конкрет­ных потребностей существует множест­во вариаций и реализаций RAID стои­мостью от десятков и сотен долларов до десятков тысяч. Конечно, чем лучше ре­ализовано то или иное решение на базе RAID, тем предположительно дороже оно обойдется. Наилучшего решения здесь, как и во многих других областях, нет — все во многом зависит от конкрет­ной области применения.

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

Концепция массива и RAID-контроллера

Для начала давайте определимся, с чем именно мы имеем дело. Под дисковым массивом будем понимать объединен­ный в одну группу' набор жестких дис­ков. Когда говорят о RAID, то нужно от­личать физические диски и их массивы от логических. Массивы физических дисков могут быть разделены или сгруп­пированы для создания одного или не­скольких логических массивов. Послед­ние, в свою очередь, могут быть поделе­ны на логические диски, с которыми бу­дет работать операционная система. Ло­гические диски рассматриваются как отдельные жесткие диски, соответст­венно, они могут быть разбиты на разде­лы и отформатированы. Такое разде­ление может показаться немного запу­танным, но многие реализации RAID-массивов относительно просты для по­нимания — по крайне мере, пока дело не дойдет до множества вложенных уровней RAID, используемых в реализа­циях RAID класса high-end.

Контроллер RAID управляет тем, как будут храниться и передаваться данные между физическими и логическими мас­сивами. Он позволяет операционной си­стеме работать с логическими дисками, не обращая внимания на схему реализа­ции RAID-массива. Функции RAID-контроллера могут быть реализованы аппаратно или программно. Аппаратные реализации больше подходят для уров­ней RAID, требующих интенсивных вы­числений. С учетом сегодняшнего уровня развития микропроцессоров про­граммные реализации кажутся более приатекательными, однако централь­ный процессор может в конечном счете оказаться перегруженным тем объемом данных, вычисления над которыми ему придется осуществлять.

Зеркалирование (Mirroring)

Зеркалирование включает в себя обес­печение хранения двух копий одних и тех же данных на двух различных жест­ких дисках или массивах дисков — сис­тема фактически пишет данные одно­временно на два диска. Этот подход яв­ляется одним из двух технических при­емов использования избыточных дан­ных, которые применяются в RAID-массивах для защиты от потери основ­ных. Преимущество очевидно: при вы­ходе из строя одного жесткого диска или дискового массива система сможет про­должить работу за счет использования второй копии данных. Время простоя при использовании зеркалирования ми­нимально, а восстановление данных весьма просто: нужно лишь воссоздать данные из рабочей копии.

На приведенной далее в блоке упро­щенной диаграмме показано, как рабо­тает зеркалирование данных. А, В, и С представляют собой файлы, размещаю­щиеся на каждом из дисков. При этом диски 1 и 2 необязательно должны быть отдельными физическими жесткими дисками — это могут быть дисковые мас­сивы. Главное здесь то, что RAID-контроллер пишет одни и те же данные на каждый из зеркалируемых дисков. В этом случае каждый диск или дисковый массив хранит одну и ту же информацию. Можно несколько усложнить схему, вве­дя разделение данных (striping). Это, не вдаваясь в подробности использования разделения данных, позволит повысить производительность всей системы.

Зеркалирование может представлять­ся неплохим решением для обеспечения сохранности данных, однако платой за это оказывается повышенная стоимость и нерациональное использование диско­вого пространства, связанные с необхо­димостью хранения двух копий одних и тех же данных. Альтернативой зеркали-рованию может служить контроль чет­ности, который мы сейчас рассмотрим.

Контроль четности

Контроль четности — это еще один спо­соб использования избыточности дан­ных в RAID-массивах. Данное понятие широко применяется, когда речь захо­дит о коммуникациях и обнаружении ошибок в передаче данных. Также кон­троль четности используется в микро­схемах памяти, причем практически аналогично использованию этой кон­цепции в RAID. К примеру, возьмем X элементов данных. Они могут быть ис­пользованы для создания элемента чет­ности, и в итоге мы получим Х+1 эле­ментов данных. Если будет потерян

один из Х+1 элементов данных, он мо­жет быть восстановлен при условии, что у нас остались X элементов.

Как правило, данные о четности со­здаются с использованием логической операции «исключающее ИЛИ» (XOR). Для тех, кто не знаком с принципом ее работы, приведена табл. 1 истинности для операции XOR.

Если взять два операнда XOR и ре­зультат этой операции, то любое из трех этих значений можно получить, имея два других, и это именно то, ради чего используется информация о четности. Таким образом, для хранения данных о четности для двух жестких дисков пона­добится лишь один дополнительный диск. Это является очевидным преиму­ществом использования четности вместо зеркалирования, однако уровень от­казоустойчивости в этом случае окажет­ся не столь высоким.

Данные о четности необязательно бу­дут храниться на одном диске — они мо­гут быть распределены по всему дисково­му массиву. Кроме того, как и в случае с зеркалированием, здесь может быть ис­пользовано разделение данных (striping). Основным ограничением в данном слу­чае является то, что алгоритм подсчета четности, как правило, требует значи­тельных вычислительных мощностей, что означает необходимость использова-

ния аппаратного RAID-контроллера. Процесс автоматического восстановле­ния данных при использовании данных о четности также осуществляется аппарат­ным контроллером, и даже в этом случае он занимает больше времени, чем при использовании зеркалирования.

Разделение данных (striping)

Пока что все обсуждаемые концепции были нацелены на улучшение надежно­сти хранения данных. Разделение данных (striping) используется для эффективного повышения производительности диско­вого массива за счет распределения дан­ных по всем его дискам. Главным прин­ципом, на котором базируется эта кон­цепция, является параллелизм. Пред­ставьте, что на одном жестком диске хра­нится большой файл. Чтобы прочитать этот файл, придется ждать, пока жесткий диск считает его от начала до конца. Но если разбить файл на множество отдель­ных фрагментов и распределить их между несколькими дисками, все они могут быть считаны одновременно. Ожидание

сократится до времени считывания одно­го фрагмента, поскольку все диски будут работать параллельно. То же будет верно и для записи большого файла на диск. Производительность передачи данных в этом случае значительно повышается, и она тем выше, чем больше используется жестких дисков. Число дисков в этом слу­чае также соответствует ширине страйпа (stripe width), то есть числу страйпов, ко­торые могут передаваться одновременно. Разделение данных работает следую­щим образом. Каждый блок данных, по­ступающих в RAID-контроллер, разби­вается на более мелкие фрагменты. При этом существует два уровня разбиения данных: разделение на уровне байтов и на уровне блоков. Разделение на уровне байтов (byte level striping) включает в себя разделение данных на отдельные байты и их последовательное сохранение на же­стких дисках. К примеру, если данные разбиваются по 16 байт, а в системе ис­пользуется четыре жестких диска, то пер­вый байт сохраняется на первом диске, второй — на втором, и т. д. Пятый байт сохраняется на первом диске, и цикл по­вторяется. Иногда разделение на уровне байтов осуществляется по 512 байт. Раз­деление на уровне блоков (block level stri­ping) включает в себя разбивку данных на блоки заданного размера. Размер этих блоков также называется размером страйпа (stripe size). Как правило, в зави­симости от реализации RAID-контрол­лера имеется возможность использова­ния различных размеров страйпа.

Поступающий файл разбивается на шесть блоков (А, В, С, D, E, F) и распре­деляется между двумя жесткими диска­ми. При наличии большего числа дисков блоки были бы также распределены и между ними. Теперь, если понадобится передать файл куда-либо, то контроллер будет считывать его с обоих дисков одно­временно, и тут как раз проявится выиг­рыш в производительности, поскольку для передачи всего файла потребуется вполовину меньше времени. С увеличе-нием числа дисков скорость передачи файла будет сокращаться относительно скорости передачи с одного диска до 1/N, где N — число имеющихся жестких дис­ков. Далее будут рассмотрены различные уровни RAID, и станет видно, как в них используются описанные концепции.

Уровни RAID

Все основные концепции, рассмотрен­ные ранее, используются для создания всех тех уровней RAID, о которых мож­но сегодня услышать. Некоторые компа­нии разрабатывают свои уровни RAID, выходящие за рамки тех, что были изна­чально описаны в работе Дэвида Паттер-сона и его коллег. Кроме того, отдельные уровни RAID могут сочетаться в тех или иных реализациях для предоставления большей функциональности, которая может потребоваться в той или иной об­ласти применения.

RAID 0

RAID 0 является наиболее простым ва­риантом и использует лишь разделение данных (striping). Избыточность данных здесь даже не предусматривается, посему уровень этот не рекомендуется исполь­зовать там, где сохранность данных кри­тична. Между тем этот уровень обеспе­чивает наивысшую производительность из всех некомбинированных уровней RAID, а также наименьшую стоимость реализации за счет отсутствия дополни­тельной емкости хранения. Повышен­ная производительность отличает этот уровень RAID от организации дискового массива в так называемом JBOD («just а bunch of disks», в официальной термино­логии — spanning). В случае с JBOD дан­ные, в отличие от RAID 0, пишутся не поочередно на каждый из дисков масси­ва, а последовательно по мере исчерпа­ния свободного пространства на дисках, то есть сначала данные пишутся на пер­вый диск, затем, когда он заполнится, на второй и т. д.

Для организации RAID 0 необходи­мы как минимум два жестких диска, по возможности идентичных, а характери­стики его будут главным образом опре­деляться контроллером. Этот уровень RAID приобрел особую популярность на рынке недорогих систем за счет его низкой стоимости и ощутимого выиг­рыша в производительности; для него существует множество реализаций для SCSI/IDE. Однако при выходе из строя одного из дисков данные всего диско­вого массива будут утеряны.

RAID1

Уровень RAID 1 реализуется с использо­ванием зеркалирования. Две идентич­ные копии данных хранятся на двух дис­ках. При выходе из строя одного из них система сохранит работоспособность за счет того, что данные будут доступны с другого диска. Восстановление утерян­ной копии данных является в этом слу­чае очень простой операцией. Такой подход обеспечивает избыточность дан­ных и определенную защиту от сбоев. Этот уровень подходит для тех случаев, где сохранность данных является кри­тичной. Относительная простота и низ­кая стоимость реализации этого уровня способствовали росту его популярности на рынке недорогих систем. Большинст­во RAID-контроллеров в наши дни реа­лизуют RAID 1 в том или ином виде.

RAID 2

Этот уровень использует разделение данных на уровне битов с применением для контроля ошибок кода Хэмминга (Hamming code ECC). Используемый здесь подход в чем-то схож с обычным разделением данных с применением четности: данные разделяются на уров­не битов и распределяются между жест­кими дисками, хранящими данные и ЕСС-коды. При записи данных коды Хэмминга вычисляются и обновляют информацию на отдельных ЕСС-дис-ках. При чтении данных из дискового массива эти коды используются для проверки искажений данных, возник­ших с момента их записи. Использова­ние кода Хэмминга позволяет обнару­живать искажения до двух бит, а иска­жения в один бит исправлять «на лету». Впрочем, сложность и высокая стои­мость RAID-контроллера, а также не­обходимость использования большого числа дисков привели к тому, что в на­ши дни этот уровень RAID практичес­ки нигде не используется.

RAID3

Уровень RAID 3 использует разделение данных на уровне байтов с выделенным диском для хранения четности. Иными словами, данные распределяются по дисковому массиву на уровне байтов, при этом один из дисков выделяется для хранения избыточной информации. Идея состоит в том, чтобы обеспечить высокий уровень производительности за счет разделения данных (striping), a отказоустойчивость — за счет хранения информации о четности. Для реализа­ции этого уровня необходимо по мень­шей мере три жестких диска. И хотя раз­деление данных (striping) благотворно сказывается на производительности, использование данных о четности ощу­тимо замедляет запись. Кроме того, ин­тенсивные вычисления, связанные с не­обходимостью обновления информации о четности при каждой операции запи­си, вынуждают использовать аппарат­ный контроллер. RAID 3 хорошо подхо­дит для работы с большими файлами благодаря малому размеру страйпа.

RAID 4

RAID 4 во многом схож с предыдущим уровнем, единственное различие заклю­чается в использовании разделения дан­ных на уровне блоков (block level striping) вместо разделения на уровне байтов. Преимущество такого подхода состоит в возможности изменения размера страй­па в соответствии с той или иной облас­тью применения. Этот уровень часто представляется как смесь RAID 3 и RA­ID 5, так как обладает выделенным дис­ком для хранения четности, как в RAID 3, и разделением данных на уровне бло­ков, как в RAID 5. Вместе с тем он обла­дает недостатками RAID 3 — необходи­мостью использования аппаратного контроллера и замедлением записи дан­ных из-за необходимости пересчета ин­формации о четности.

RAID 5

RAID 5 использует разделение данных на уровне блоков и распределенное хране­ние информации о четности. При этом данные распределяются вместе с храни- мой информацией по всему дисковому массиву. Такой подход устраняет ограни­чение производительности, связанное с использованием одного жесткого диска для хранения данных о четности, однако это не избавляет от необходимости вы­числять и записывать дополнительную информацию при каждой операции за­писи, что приводит к замедлению про­цесса. Отказоустойчивость обеспечива­ется за счет отделения информации о четности от данных самого блока. При этом в случае выхода из строя одного из жестких дисков вся информация на нем может быть восстановлена за счет дан­ных на оставшихся дисках, хотя этот процесс несколько сложнее обычного в виду распределенности данных о четнос­ти. Размер страйпа, как и при использо­вании RAID 4, может варьироваться в за­висимости от области применения. RA­ID 5 — наиболее широко используемый уровень RAID в наши дни. Для многих он представляется оптимальным сочета­нием производительности, отказоустой­чивости и эффективности использова­ния дискового пространства.

RAID 6

RAID 6 фактически представляет собой расширение RAID 5, обеспечивающее дополнительную отказоустойчивость за счет использования второй независи­мой схемы распределенного хранения данных о четности. Данные разделяют­ся на уровне блоков, в точности как в RAID 5, а дополнительная информация о четности вычисляется и распределя­ется по всему дисковому массиву. RAID 6 обеспечивает очень высокую отказо- устойчивость, будучи способным про­тивостоять множественным одновре­менным отказам дисковых накопите­лей. Оборотной стороной медали явля­ется весьма низкая производительность при записи данных, сложность и высо­кая стоимость контроллеров, а также менее эффективное использование дискового пространства.

RAID 7

RAID 7 является разработкой Storage Computer Corporation (SCC) и ориенти­рован на использование в системах, где необходимо обеспечить высокую произ­водительность при обработке множества асинхронных запросов, а также высокую пропускную способность. За счет ис­пользования специально созданного контроллера, работающего под управле­нием операционной системы реального времени, а также асинхронной обработ­ки и кэширования запросов на операции ввода-вывода системы RAID 7 являются лидерами в плане производительности. Они оказываются на 25—90% произво­дительнее систем на базе одного диско­вого накопителя и в 1,5—6 раз более про­изводительными, чем системы на базе любого другого уровня RAID. Впрочем, платой за это является наибольшая стои­мость такой системы в пересчете на 1 Мбайт, необходимость использования источника бесперебойного питания для предотвращения потерь информации, меньшие сроки наработки на отказ.

Комбинирование уровней RAID

Описанные выше уровни RAID отнюдь не всегда являются наиболее подходя- щими в той или иной ситуации. Но что, если скомбинировать два различных уровня RAID и воспользоваться при этом преимуществами обоих? Основ­ным стимулом к использованию комби­нированных уровней RAID является повышенная производительность. При этом, впрочем, использование аппарат­ного RAID-контроллера становится уже обязательным условием. Не все уровни RAID комбинируются между собой, а из существующих широко ис­пользуемых комбинаций можно отме­тить 0+1 и 1+0 как наиболее популяр­ные и простые в реализации, а также 0+3, 3+0, 0+5, 5+0, 1+5 и 5+1. Здесь первая цифра означает уровень RAID, на базе которого комбинируются от­дельные дисковые массивы, а вторая — уровень RAID, в соответствии с кото­рым организованы эти самые массивы. Для примера: уровень 0+1 является массивом с разделением данных (striped array, RAID 0), сегментами которого являются массивы RAID 1. При этом RAID 0 используется ради повышения производительности, a RAID 1 — для обеспечения отказоустойчивости.

Программные реализации RAID

С учетом возросшей производительнос­ти центральных процессоров в ряде слу­чаев приемлемым вариантом было бы построение RAID-системы без исполь­зования специализированного кон­троллера. Для этого на разных платфор­мах существуют различные программ­ные решения, с которыми мы вас сей­час познакомим.

Одним из наиболее известных в этой области является Veritas Volume Manager, поддерживающий множество опе­рационных систем: Solaris, HP-UX, AIX, Linux, Windows 2000 и Windows NT. Впрочем, в ряде случаев такое тя­желовесное решение может оказаться неприемлемым. Для платформы FreeBSD существует Vinum Volume Manager, чье создание было вдохновле­но примером Veritas VM. Vinum облада­ет менее избыточной функциональностью, поддерживая лишь уровни RAID 0, 1 и 5, а также их комбинации (напри­мер, RAID 1+0). На платформе Linux программная поддержка RAID доступ­на в стандартном наборе исходных тек­стов ядра начиная с версии 2.0. В вер­сиях ядра 2.3 и 2.4 эта поддержка была во многом переработана, получив до­полнительную функциональность.

Для Windows NT/2K/XP также суще­ствует ряд решений. Кроме уже упомя­нутого Veritas VM есть, к примеру, WIN-RAID, поддерживающий уровни RAID 0 и 1 при использовании дисков с самыми разными интерфейсами: IDE, SCSI, USB, Fire Wire, Fibre channel и т. д. Впро­чем, в Windows 2000/XP имеется встро­енная поддержка программной реализа­ции RAID-массивов, являющаяся неплохой альтернативой продуктам сто­ронних производителей.

Уровень RAID Описание Надежность данных Пропускная способность Число запросов ввода-вывода Рекомендуемая область применения Стоимость накладных расходов
RAID 1 Данные копируются на два отдельных диска   Очень высокая. Устойчив к некоторым отказам нескольких дисков   Производительность выше, чем у одного диска на чтение, но без балансировки нагрузки   Вдвое выше, чем у одного диска на чтение. Слегка ниже, чем у одного диска на запись   Обычная Очень высокая. Нужно вдвое больше дискового пространства  
RAID 2 Данные разделяются между несколькими дисками. Четность хранится на нескольких дисках   Очень высокая. Устойчив к некоторым отказам нескольких дисков   Выше при аппаратном расчете кодов коррекции ошибок   Почти вдвое выше, чем у одного диска   Обычная Высокая, необходимы дополнительные диски  
RAID 3 Данные разделяются между всеми дисками, под четность выделяется свой диск   Намного выше, чем у одного диска. Устойчив к отказу одного диска   Выше других перечисленных уровней на чтение и запись   Быстрее, чем у одного диска, за счет параллельных операций   Видео, обработка изображений, прочая работа с большими файлами   Низкая. Необходим один дополнительный диск
RAID 4 Данные разделяются между некоторыми дисками, под четность выделяется свой диск Намного выше, чем у одного диска. Устойчив к отказу одного диска Выше, чем у одного диска на чтение, но намного ниже, чем у одного диска на запись Выше, чем у одного диска на чтение. Значительно ниже, чем у одного диска на запись   Ориентированы на чтение с небольшим числом операций записи   Низкая. Необходим один дополнительный диск
RAID 5 Данные и четность разделяются между несколькими дисками Намного выше, чем у одного диска. Устойчив к отказу одного диска Выше, чем у одного диска на чтение, но ниже, чем у одного диска на запись I   Выше, чем у одного диска на чтение. Как правило, ниже, чем у одного диска на запись Ориентированы на транзакции со значительным преобладанием операций чтения   Низкая. Необходим один дополнительный диск

 

Разбираем жесткий диск

Самое простое – это снять плату управления. Крепится она всего тремя маленькими болтиками под внутренний шестигранник.

Дальше, сверху еще 7 болтиков, кстати, тоже под шестигранник. Их я открутил с помощью плоской отвертки и все тех же плоскогубцев.

Фильтр

На очереди головки. Их 16 штук, так как у этого винта 8 дисков. Но снять их было не так то просто. Пришлось опять взяться за достойный инструмент. Болты крепления открутились довольно быстро, но дело в том, что в шаговом двигателе, что приводит в действие головки чтения/записи, используются очень сильные магниты (в день разборки три человека прищемили этими магнитами пальцы и в том числе я). Короче, пришлось малость повозится. Вот они, эти головки:

Диски снялись очень легко.

А вот так выглядят головки с приводом и диски в сборе.

В общем, после полной разборки винта остались вот эти вот запчасти.

 

Восстановление дохлой нулевой дорожки у HDD

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


1. Подключить винт как Primary/Master. Если не проходит автодетект, выставить в BIOS/Setup'е 1-й тип или паспортные параметры винта. Остальные винты (если есть) следует во избежание порчи временно отключить.
2. Загрузить DOS, запустить стандартный ДОСовский отладчик:
Debug
-F 200 L200 0
-a 100
mov ax,301
mov bx,200
mov cx,1
mov dx,0080
int 13
int 3
нажать 'Enter'
-G=100
-q
Этот 2-й пункт является дословным цитированием рекомендации от Award'а.
3. Если для винта стоял тип 1, повторить авто детектирование. Если авто детектирование не проходит, выставить паспортные параметры винта.
4. При необходимости перезагрузить DOS. Запустить FDISK, коим разметить Partition Table винта, не забыв указать при необходимости партицию, которая на данном винте будет активной (загрузочной). Запустить "FORMAT C: /S /U" или "FORMAT C: /U" для форматирования диска соответственно с переписью и без переписи загрузчика.
5. Восстановить ранее стоявшую конфигурацию (если на время форматирования отключались другие винты).

 

SMART - технология внутренней оценки состояния HDD

Введение


Сегодня, хотелось бы чуточку подробнее поговорить о вскользь упомянутой в предыдущей статье о критериях выбора винчестера технологии SMART, а также выяснить вопрос о появлении плохих секторов при проверке поверхности специальными программами и исчерпании резервной поверхности для их переназначения - вопросу, поднятому на форуме из прошлой статьи.

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

Впервые над этой задачей задумались инженеры голубого гиганта (IBM то бишь). И в 1995 году они предложили технологию, отслеживающую несколько критически важных параметров накопителя, и делающую попытки на основании собранных данных предсказать выход его из строя - Predictive Failure Analysis (PFA). Идею подхватила Compaq, которая чуть позже создала свою технологию - IntelliSafe. В разработке Compaq также поучаствовали Seagate, Quantum и Conner. Созданная ими технология также отслеживала ряд рабочих характеристик диска, сравнивала их с допустимым значением и рапортовала хост-системе в случае наличия опасности. Это был огромный шаг вперед если и не в повышении надежности винчестеров, то хотя бы в уменьшении риска потери информации при их использовании. Первые попытки оказались удачными, и показали необходимость дальнейшего развития технологии. Уже в объединении всех крупных производителей жестких дисков появилась технология S.M.A.R.T (Self Monitoring Analysing and Reporting Technology), базирующаяся на технологиях IntelliSafe и PFA (кстати говоря, PFA существует и поныне, как набор технологий для наблюдения и анализа за различными подсистемами серверов IBM, в том числе и дисковой подсистемой, причем наблюдение за последней базируется именно на технологии SMART).

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


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


Этапы развития технологии

В своем развитии технология SMART прошла три этапа. В первом поколении было реализовано наблюдение небольшого числа параметров. Никаких самостоятельных действий накопителя не предусматривалось. Запуск осуществлялся только командами по интерфейсу. Спецификации описывающей стандарт полностью нет, и, следовательно, не было и нет и четкого предначертания, о том, какие именно параметры надлежит контролировать. Более того, их определение и определение допустимого уровня их снижения целиком и полностью предоставлялся производителям винчестеров (что естественно в силу того, что производителю виднее что именно надлежит контролировать данном его винчестере, ибо все винчестеры слишком различны). И программное обеспечение, по этой причине, написанное, как правило, сторонними фирмами, не было универсальным, и могло ошибочно рапортовать о предстоящем сбое (путаница возникала из-за того, что под одним и тем же идентификатором различные производители хранили значения различных параметров). Имело место большое число жалоб на то, что число случаев обнаружения пред сбойного состояния чрезвычайно мало (особенности человеческой природы: получать хочется все и сразу, жаловаться на внезапные отказы дисков до внедрения SAMRT в голову как-то никому не приходило). Ситуация усугубилась еще и тем, что в большинстве случаев не были выполнены минимально необходимые требования для функционирования SMART (об этом поговорим позже). Статистика говорит о том, что число предсказываемых сбоев было менее 20%. Технология на этом этапе была далека от совершенства, но являлась революционным шагом вперед.

О втором этапе развития SMART - SMART II известно также не много. В основном наблюдались те же проблемы, что и с первой. Нововведениями являлись возможность фоновой проверки поверхности, выполняемая диском в автоматическом режиме при простоях и ведение журналов ошибок, расширился список контролируемых параметров (снова же в зависимости от модели и производителя). Статистика говорит о том, что число предсказываемых сбоев достигло 50%.

Современный этап представлен технологией SMART III. На ней остановимся подробней, попытаемся разобраться в общих чертах как она работает, что и зачем в ней нужно.

Нам уже известно, что SMART производит наблюдение за основными характеристиками накопителя. Эти параметры называются атрибутами. Необходимые к мониторингу параметры определяются производителем. Каждый атрибут имеет какую-то величину - Value. Обычно изменяется в диапазоне от 0 до 100 (хотя может быть в диапазоне до 200 или до 255), ее величина - это надежность конкретного атрибута относительно некоторого его эталонного значения (определяется производителем). Высокое значение говорит об отсутствии изменений данного параметра или, в зависимости от значения, его медленном ухудшении. Низкое значение говорит о быстрой деградации или о возможном скором сбое, т.е. чем выше значение Value атрибута, тем лучше. Некоторыми программами мониторинга выводится значение Raw или Raw Value - это значение атрибута во внутреннем формате (который так же различен у дисков разных моделей и разных производителей), в том, в котором он хранится в накопителе. Для простого пользователя он малоинформативен, больший интерес представляет посчитанное из него значение Value. Для каждого атрибута производителем определяется минимальное возможное значение, при котором гарантируется безотказная работа накопителя - Threshold. При значении атрибута ниже величины Threshold очень вероятен сбой в работе или полный отказ. Осталось только добавить, что атрибуты бывают критически важными и некритически. Выход критически важного параметра за пределы Threshold фактический означает выход из строя, выход за переделы допустимых значений некритически важного параметра свидетельствует о наличии проблемы, но диск может сохранять свою работоспособность (хотя, возможно, с некоторым ухудшением некоторых характеристик: производительности например).

К наиболее часто наблюдаемым критически важным характеристикам относятся: Raw Read Error Rate - частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска.

Spin Up Time - время раскрутки пакета дисков из состояния покоя до рабочей скорости. При расчете нормализованного значения (Value) практическое время сравнивается с некоторой эталонной величиной, установленной на заводе. Не ухудшающееся немаксимальное значение при Spin Up Retry Count Value = max (Raw равном 0) не говорит ни о чем плохом. Отличие времени от эталонного может быть вызвано рядом причин, например блок питания подкачал.
Spin Up Retry Count - число повторных попыток раскрутки дисков до рабочей скорости, в случае если первая попытка была неудачной. Ненулевое значение Raw (соответственно немаксимальное Value) свидетельствует о проблемах в механической части накопителя.

Seek Error Rate - частота ошибок при позиционировании блока головок. Высокое значение Raw свидетельствует о наличии проблем, которыми могут являться повреждение сервометок, чрезмерное термическое расширение дисков, механические проблемы в блоке позиционирования и др. Постоянное высокое значение Value говорит о том, что все хорошо.

Reallocated Sector Count - число операций переназначения секторов. SMART в современных способен произвести анализ сектора на стабильность работы 'на лету' и в случае признания его сбойным произвести его переназначение. Ниже мы поговорим об этом подробнее.

Из некритических, так сказать информационных атрибутов, обычно производят наблюдение за следующими:

 Start/Stop Count - полное число запусков/остановов шпинделя. Гарантировано мотор диска способен перенести лишь определенное число включений/выключений. Это значение выбирается в качестве Treshold. Первые модели дисков со скоростью вращения 7200 оборотов/мин имели ненадежный двигатель, могли перенести лишь небольшое их число и быстро выходили из строя.

 Power On Hours - число часов проведенных во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MBTF). Принимая во внимание обычно совершенно невероятные величины MBTF, маловероятно, что параметр достигнет когда либо критического порога. Но даже в этом случае выход из строя диска совершенно не обязателен.

 Drive Power Cycle Count - количество полных циклов включения-выключения диска. По этому и предыдущему атрибуту можно оценить, например, сколько использовался диск до покупки.

 Temperatue - просто и понятно. Здесь хранятся показания встроенного термодатчика. Температура имеет огромное влияние на срок службы диска (даже если она находится в допустимых пределах).

 Current Pending Sector Count - здесь храниться число секторов, являющихся кандидатами на замену. Они не были еще определенны как плохие, но считывание их отличается от чтения стабильного сектора, так называемые подозрительные или нестабильные сектора.

 Uncorrectable Sector Count - число ошибок при обращении к сектору, которые не были скорректированы. Возможными причинами возникновения могут быть сбои механики или порча поверхности.

 UDMA CRC Error Rate - число ошибок, возникающих при передаче данных по внешнему интерфейсу. Могут быть вызваны некачественными кабелями, нештатными режимами работы.

 Write Error Rate - показывает частоту ошибок происходящих при записи на диск. Может служить показателем качества поверхности и механики накопителя.
Все происходящие ошибки и изменения параметров фиксируются в журналах SMART. Эта возможность появилась уже в SMART II. Все параметры журналов - назначение, размер, их число определяются изготовителем винчестера. Нас с вами в настоящий момент интересует только факт их наличия. Без подробностей. Информация хранящаяся в журналах используется для анализа состояния и составления прогнозов.
Если не вдаваться в подробности, то работа SMART проста - при работе накопителя просто отслеживаются все возникающие ошибки и подозрительные явления, которые находят отражение в соответствующих атрибутах. Кроме того начиная так же со SMART II у многих накопителей появились функции самодиагностики. Запуск тестов SMART возможен в двух режимах, off-line - тест выполняется фактически в фоновом режиме, так как накопитель в любое время готов принять и выполнить команду, и монопольном при котором при поступлении команды, выполнение теста завершается.
Документировано существует три типа тестов самодиагностики: фоновый сбор данных (Off-line collection), сокращенный тест (Short Self-test), расширенный тест (Extended Self-test). Два последних способны выполняться как в фоновом, так и в монопольном режимах. Набор тестов в них входящих не стандартизирован.

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

Ох уж эти плохие сектора...

Теперь вернемся к вопросу бэд-секторов, с которых все началось. В SMART III появилась функция, позволяющая прозрачно для пользователя переназначать BAD сектора. Работает механизм достаточно просто, при неустойчивом чтении сектора, или же ошибки его чтения, SMART заносит его в список нестабильных и увеличит их счетчик (Current Pending Sector Count). Если при повторном обращении сектор будет прочитан без проблем, он будет выброшен из этого списка. Если же нет, то при предоставившейся возможности - при отсутствии обращений к диску, диск начнет самостоятельную проверку поверхности, в первую очередь подозрительных секторов. Если сектор будет признан сбойным, то он будет переназначен на сектор из резервной поверхности (соответственно RSC увеличиться). Такое фоновое переназначение приводит к тому, что на современных винчестерах сбойные секторы практически никогда не видны при проверке поверхности сервисными программами. В тоже время, при большом числе плохих секторов их переназначение не может происходить до бесконечности. Первый ограничитель очевиден - это объем резервной поверхности. Именно этот случай я имел ввиду. Второй не столь очевиден - дело в том, что у современных винчестеров есть два дефект-листа P-list (Primary, заводской) и G-list (Growth, формируется непосредственно во время эксплуатации). И при большом числе переназначений может оказаться так, что в G-list не оказывается места для записи о новом переназначении. Эта ситуация может быть выявлена по высокому показателю переназначенных секторов в SMART. В этом случае еще не все потеряно, но это выходит за рамки данной статьи.

Итак, используя данные SMART даже не нося диск в мастерскую можно довольно точно сказать, что с ним происходит. Существуют различные технологии-надстройки над SMART, которые позволяют определить состояние диска еще более точно и практически достоверно причину его неисправности. Об этих технологиях мы поговорим в отдельной статье.

Нужно знать, что приобретения накопителя со SMART не достаточно, для того, что бы быть в курсе всех происходящих с диском проблем. Диск, конечно, может следить за своим состоянием и без посторонней помощи, но он не сможет сам предупредить в случае приближающейся опасности. Нужно что-то, что позволит на основании данных SMART выдать предупреждение.
Как вариант возможен BIOS, который при загрузке при включенной соответствующей опции проверяет состояние SMART накопителей. А если же вам хочется вести постоянный контроль за состоянием диска, необходимо использовать какую-то программу мониторинга. Тогда вы сможете видеть информацию в подробном и удобном виде.

Об этих программах мы также поговорим в отдельной статье. Именно это я имел ввиду, когда говорил о том, что по началу не выполнялись необходимые требования при эксплуатации жестких дисков с SMART.

 

Как уберечь винчестер

Специалисты утверждают, что уже спустя несколько месяцев после покупки нового компьютера, стоимость хранящейся на нем информации превышает стоимость самого ПК. Это что касается "офисных" машин. Для домашней "персоналки" этот срок - от полугода до года. Причем, по сути, эта самая информация спокойно переживет поломку любого узла компьютера, за исключением одного-единственного - жесткого диска, на котором она, собственно, и хранится. Так что проблема надежности винчестера сегодня не менее актуальна, чем лет десять назад.

Несмотря на бурный прогресс в области хранения данных на жестких дисках, надежность современных HDD, в общем, в нашем обыденном понимании оставляет желать лучшего. Более того, некоторые склонны утверждать, что в последнее время (по сравнению с недавним прошлым) количество "вылетающих" винчестеров даже увеличилось. И теперь уже практически не осталось ни одной фирмы с абсолютно безупречной в этом отношении репутацией. Так что, думается, отнюдь не лишними окажутся несколько советов желающим "нарастить гигабайты" или переживающим за сохранность своих курсовых - дипломов, многолетней переписки, личного ПО и "уникальных", с таким трудом вытащенных из Интернета "зеркал" различных сайтов.

Охлаждение HDD

Все современные винчестеры греются. Одни сильно, другие - очень сильно. Мало того, из-за того что в компьютере сейчас (по сравнению с опять же недавним прошлым) стало существенно больше "горячих" комплектующих, среднестатистическая температура внутри среднестатистического корпуса (читай - "китайского", в смысле - дешевого) стала выше. Получается, что существенно более горячие современные HDD работают при этом еще и в более неблагоприятных условиях. Потому проблема их охлаждения выходит на первый план (в смысле влияния на надежность). Отсюда первые логичные рекомендации - относительно корпуса и расположения в нем винчестера:

Выбирайте просторный, продуманно сделанный корпус.

Обеспечьте хороший обдув винчестера - не стоит закручивать его в "бутерброд" между другими греющимися приводами.

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

Дополнительный кулер для системного блока - "маслом кашу не испортишь".

Радикальное средство - модные нынче HDD-Cooler'ы.

Примечание: не существует какой-то "стандартной" температуры для винчестеров, превышение которой можно было бы четко считать перегревом - для одних моделей больше 40 будет нехорошо, а для других и 80 нипочем. А так, в общем, чем ближе к "среднесистемноблочной", тем лучше, т.е. это где-то в районе +30 градусов. Но не стоит, измерив температуру, торопиться выбрасывать свой системный блок - минимальная температура не должна быть ниже ~+20 градусов, иначе винчестер может не только не запуститься, но и повредиться.

Питание

Будет ли работать обычная 220-вольтовая лампочка от 230V? Конечно, будет. А от 240V? Тоже. Но вот как долго - это вопрос. Точнее, не вопрос. Понятно, что меньше или существенно меньше - зависит от конкретной лампочки.

Примерно та же ситуация и с винчестерами. Наивные зарубежные производители рассчитывали их, полагаясь на стандартные +5V и +12V. В компьютерном блоке питания (БП) стабилизируемое напряжение лишь +5V (и в качественном, и в дешевом). При нагрузке на процессор (а современные CPU "кушают" немало, сравните - 6A Pentium-i233MMX и 60A Pentium4 - 2.2GHz), в случае, если БП "не тянет", +5V "проседают". Система стабилизации блока питания отрабатывает это дело (повышая напряжение до номинального значения), но из-за отсутствия стабилизации по +12V (а нагрузка-то по ним не изменилась), оно (+12V) завышается. В результате и так критичный к нагреву современный винчестер работает еще и при повышенном напряжении. Итог - смотри рассуждение о лампочке. Отсюда - советы по блоку питания.

Чем больше ватт - тем лучше. И не стоит приводить расчеты, что для потребления даже 200 W придется подключить связку винчестеров, набор сидирайтеров и кофеварку - проблема не в "общей" цифре, а в вышеуказанной особенности работы системы стабилизации. Так что, если есть выбор: 300 Wt неизвестный или 250 W неизвестный, но красивый, берите все же первый.

Менее "ваттный", но "брэндовый" лучше более "ваттного", но "китайского" (в смысле - безызвестно-дешевого). Помните - разгоняют не только процессоры (камень в огород дешевых блоков питания). Так что если есть выбор: 300 W JNC либо 250 W Powerman - без вариантов, последний (даже если чуть дороже).

В случае сильно завышенных +12V, и если вы способны отличить транзистор от диода, можете попробовать включить последний в разрыв - на его p-n переходе упадет "лишнее" напряжение (0.2-0.7V - в зависимости от типа диода). Брать надо мощный (типа КД214) и лучше Шоттки, а для устранения последствий "нелинейности" (желательно) включить еще и с фильтрующим конденсатором на "побольше" микрофарад. Однако не стоит увлекаться и пытаться "заморозить" HDD: минимально рекомендуемое напряжение - +11.7V, а если оно будет меньше +11.5V, вообще, теоретически, но существует возможность повреждения винчестера уже из-за пониженного напряжения.

Если вы не только отличаете диод от транзистора, но и вообще неплохо разбираетесь - в случае завышенных и +5V и +12V (и отсутствии гарантии на БП), можно попробовать разобрать "питатель" и понизить опорное напряжение. Однако и тут не переусерд-ствуйте, пытаясь максимально понизить +12V (понижая +5V, естественно, понижается и +12V): не стоит делать меньше +4.95-4.9V, а при напряжении меньше +4.85V система вообще может потерять стабильность.

Примечание: максимальным считается +12.6V. Однако у многих моделей современных винчестеров наблюдается нелинейно-резкое повышение температуры с превышением +12V. Потому специалисты рекомендуют в случае 12.2-12.3V - подумать и "поволноваться", 12.4-12.6V - сильно поволноваться, 12.6-12.8V - бить тревогу, а в случае 13V и выше - копить деньги или положить гарантийный листок на видное место...

Другие рекомендации

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

Кстати, именно совокупность вышеописанных особенностей можно считать причиной достаточно распространенной в Интернете темы под названием "WinXP - HDD Killer". Многие пользователи после благополучной эксплуатации с новым винчестером Win98, решив задействовать на полную катушку его гигабайты, ставят себе "такую красивую и большую" WinXP. Из-за существенно более высоких требований к объему оперативной памяти (только для самого "ядра" XP нужно за сотню мегабайт), а также из-за многочисленных "оптимизаций log-остроения" со товарищи, винчестер под новыми, такими "тяжелыми" "окнами", практически "не расслабляется" (ведь на дополнительную память денег-то не хватило - "итак еле на винт насобирал"). Поработав в запредельном режиме пару дней, он не выдерживает, порождая видимость очередного всемирного заговора Билла Гейтса.

Итак, не самые очевидные рекомендации.

Увеличение объема оперативной памяти. Для современных приложений минимальный объем - 256 Mb, рекомендуемый - 384 Mb, оптимальный - 512 Mb. (Например, для UT2003 при настройках даже не на самое качественное изображение, 256 Mb просто откровенно мало).

"Ощупайте" контроллер винчестера на предмет наличия горячих микросхем. Будет совсем не лишним (а в некоторых случаях просто спасительным) приклеить на нее (обычно она одна) какой-нибудь небольшой пассивный радиатор (например, от чипсета неисправной материнской платы или видеокарты).

Все современные винчестеры имеют так называемый "бесшумный" режим работы (AAM - Automatic Acoustic Management). При его включении винчестер не только меньше шумит (хотя, в целом, проблема шума винчестера давно в прошлом), но и меньше потребляет энергии, а, соответственно, и греется меньше. Делается это с помощью специальных утилит. Для различных производителей их можно найти по адресам:

Maxtor: www.maxtor.com/SoftwareDown-load/PerformanceOptimization.html
Seagate: www.seagate.com/support/disc/drivers/index.html
WD: support.wdc.com/download/index.asp
IBM: www.storage.ibm.com/hdd/support/download.htm
Fujitsu: www.fel.fujitsu.com/home/drivers.asp?L=en&CID=1
Samsung: www.samsungelectronics.com/hdd/support/utilities/utilities_index.html

Кстати, нужно отметить, что включение "шумопонижения" не влияет на линейную скорость считывания, а лишь на время доступа. Поэтому общая производительность "тихого", но не сильно фрагментированного HDD практически не отличается от "шумного". Итого - счастливым обладателям "безмолвных" винтов в обязательном порядке показана периодическая дефрагментация.

Ну и последнее, "совсем уже косвенное" влияние может оказать правильная настройка кэширования в системе (при достаточном объеме оперативной памяти), которая не только увеличивает общую скорость компьютера, но и уменьшает нагрузку на винчестер. В заключение стоит отметить, что с этой точки зрения количество наборт-ного кэша винчестера - чем больше, тем лучше.

Покупка винчестера

Если вы не занимаетесь редактированием видео и другими задачами, для которых скорость работы HDD крайне принципиальна, стоит подумать над тем, чтобы выбрать все же винчестер на 5400 оборотов, а не на 7200 - понятно, что 5400-обротные греются при работе намного меньше. При выборе нового винчестера в случае вариантов с близкими по значениям ценами стоит расставить важность факторов следующим образом:

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

И напоследок - несколько советов тем, кто приобретает бывший в употреблении винчестер. Даже если вы не сильно разбираетесь в подобного рода технике, - не забудьте при проверке посмотреть хотя бы параметры S.M.A.R.T винчестера. Программ, позволяющих это сделать, существует великое множество (и под DOS, и под Windows). Причем, если один из пунктов красный (близок к 0), не стоит верить убеждениям продавца, мол, "это ничего страшного", "он совершенно не нужен" - в любом случае это отнюдь не хорошо. Подумайте - стоит ли риск (эксплуатация безгарантийного HDD) разницы в цене по сравнению с новым?

Есть некоторые модели, массово выходящие из строя после определенного срока эксплуатации, так называемая "группа риска". Это, в частности, Fujitsu модели MPG3xxxAx, IBM DTLA, WD 2000-2001 года выпуска, плоские (тонкие) Maxtor'ы (541DX) и некоторые другие. Более того, корпорация Western Digital признала, что поставляла на постсоветский рынок "восстановленные" на заводе винчестеры с соответствующей надежностью. И хотя обещала больше так не делать, веры им уже нет. Покупатели и пользователи перечисленных винчестеров должны очень серьезно отнестись ко всему вышеописанному и даже в случае использования всего "самого-самого" почаще делать резервные копии важной информации.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.