Способы защиты данных и диагностики жестких дисков в системах от Maxtronic International

Введение

            Сколько времени существует  компьютерное оборудование, использующее жесткие диски для хранения данных, ровно столько же времени пользователи беспокоятся о сохранности своих ценных, а для кого-то бесценных данных. Беспокойство это вполне понятно - жесткие диски хранят огромное количество данных и одновременно являются одними из самых ненадежных компонентов компьютерных систем. Сама конструкция жесткого диска, в котором работает механика, предполагает возможность выхода его из строя. Удивительно, что когда ломается что-то даже в очень дорогом и высоконадежном автомобиле, человек воспринимает сей факт относительно спокойно. Но стоит сломаться жесткому диску с ценными для человека данными, как его удивлению нет предела - "как такое может быть???". К сожалению, несмотря на бурные дискуссии по поводу того, диски какой фирмы более надежны, апеллировать к репутации производителя совершенно бессмысленно - ломаются жесткие диски от любого производителя - у кого-то в данное время чуть меньше, у кого-то чуть больше, но в среднем ломаются одинаково у всех. Поэтому, нормальный подход грамотного пользователя должен быть довольно простым - любой диск может сломаться в любой момент и к этому надо быть готовым всегда. Еще более грамотным подходом является возможность предвидеть потенциально плохой диск с помощью соответствующих программ и/или оборудования. 
Компания Maxtronic International, известный производитель систем хранения данных, применяет в своих системах несколько способов диагностики и защиты данных, о которых и пойдет речь в настоящей статье.

Диагностика 

DST

Disk Self Test (DST - Самотестирование диска). Способ, позволяющий использовать встроенные производителем жесткого диска возможности диагностики. Фактически процедуру DST можно сделать на любом компьютере, запустив соответствующую фирменную утилиту от производителя, но для этого надо во-первых, вынуть диск из системы хранения данных и, во-вторых, научиться пользоваться фирменными утилитами, которые у каждого производителя свои. В системах хранения данных от Maxtronic (далее просто системы хранения данных) предусмотрена возможность запуска DST для дисков любого производителя, установленных в системе хранения данных. 
DST в первую очередь предназначен для получения информации о вероятности выхода из строя жесткого диска, поэтому его задача - найти "тонкое" место. DST выполняет тест на запись, проверку сервопривода управления перемещением головок диска и сканирование чтением всей поверхности диска. DST может быть использован как в коротком (short), так и в расширенном (extended) режиме. Короткий тест занимает около 7 минут для диска в 250 гигабайт, расширенный - до 2-х часов на том же диске. DST можно запустить как для одного конкретного диска, так и для всех дисков одновременно, причем тест нескольких дисков будет выполняться параллельно и по затратам времени будет эквивалентен времени на тестирование одного диска. 
DST рекомендуется запускать ДО создания RAID массива в системе хранения данных. Если же RAID уже сконфигурирован, то необходимо отключить систему от компьютера по SCSI или Fibre Channel. Если во время выполнения DST компьютер обратится к данным в системе хранения, то выполнение DST будет немедленно прекращено. 

Для запуска DST следует войти в раздел System Params, выбрать Utility и далее Disk Self Test. Возможен выбор из:

  • Short Self Test - короткий тест.

  • Extended Self - расширенный тест.

  • Stop DST - остановка теста. Этот вариант выбора может быть использован только в том случае, если DST ранее был запущен.

По завершении тестирования вы можете увидеть сообщения, подобные этим:

Short (or Extended) Disk Self Test Completed:

Disk #1: DST Completed without Error, PASS
Disk #2: DST Completed with Electrical failure, FAIL
Disk #3: DST Completed with Servo failure, FAIL
Disk #4: DST Completed with Read failure, FAIL
Disk #5: DST Not Completed, unknown test error
Disk #6: DST Completed, unknown failure, FAIL

В этом примере (понятно, что он весьма условен, в реальной жизни вероятность сбоя сразу у нескольких дисков близка к нулю) только Disk 1 нормально прошел тест. У диска 2 Electrical failure, т.е. сбой функционирования электроники диска, у диска 3 сбой перемещения головок (Servo failure), у диска 4 сбой чтения (Read failure),  диск 5 вообще не смог завершить тестирование, а диск 6 имеет неизвестную проблему.

Если же во время работы DST компьютер обратится к данным в системе хранения, то тест будет прерван с соответствующим сообщением:
Warning message:
Disk Self Test (DST): Disk Self Test (DST) Interrupted by host. Aborted.

Если же вы сами остановите тест, то сообщение будет несколько иным:
Warning message:
Disk Self Test (DST): Disk Self Test Stopped by RAID Controller.

Разумнее всего сначала запустить короткий DST тест и только в случае обнаружения каких-либо проблем выполнить расширенный тест. Если в результате расширенного теста ошибка подтвердится, диск с ошибкой следует обязательно заменить на исправный. Но, следует учесть, что встроенные в систему хранения данных способы тестирования в DST не совпадают полностью с методами, используемыми производителями жестких дисков для аналогичной проверки. Из этого следует вполне логичный вывод - забракованный DST диск может НЕ БЫТЬ забракован соответствующей специальной фирменной утилитой от производителя. Тем не менее рекомендации по замене остаются в силе - лучше не рисковать.

DS

Disk Scrubbing (DS - "Чистка" диска) - эта процедура дает возможность обнаружить плохие (bad) сектора жесткого диска и переназначить на место плохих секторов резервные хорошие. Эта процедура применяется, в отличие от DST, только к уже созданным RAID массивам, поскольку позволяет не только замещать плохие сектора, но и восстанавливать целостность RAID массива с обнаруженным (ми) плохим (ми) сектором (секторами) корректировкой контрольной суммы RAID. В отличие от DST теста, DS может выполняться в фоновом режиме, без ограничения доступа к данным в системе хранения со стороны компьютера. Центральный процессор системы хранения данных сам распределяет свои силы между обслуживанием запросов от компьютера, к которому подключена система хранения данных и выполнением DS. Понятно, что наивысший приоритет имеют запросы от компьютера. Но как только в этих запросах появляется "окно", выполнение DS продолжается. 

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

Запускать DS можно как вручную (Manual), так и по расписанию (Schedule). Мы рекомендуем настроить запуск DS именно по расписанию, не реже раза в неделю, выбрав наименее занятое работой с данными время. Прежде чем ввести расписание запуска DS, следует обязательно установить часы реального времени (RTC) в системе хранения данных. Для установки RTC следует зайти в System Params, выбрать Event Log, затем RTC. Выберите Set RTC и введите дату и время в формате MM/DD/YY W HH:MM, где MM - номер текущего месяца (для января, например - 01), DD - текущий день, YY - две последние цифры текущего года, W - номер из одной цифры текущего дня недели (1 - понедельник, 7 - воскресенье), HH - час, MM - минуты. Обращаем ваше внимание на то, что везде, где указаны две буквы, вводимое число должно состоять из 2-х цифр, т.е. если число меньше 10, то следует обязательно добавлять 0. 

После установки часов реального времени можно приступить к вводу расписания выполнения DS. Для этого зайдите в Utility, затем выберите Disk Scrubbing и в завершении выберите Schedule Scrubbing (Расписание "чистки"). Далее вы можете выбрать All arrays (Все массивы) или конкретный массив по его номеру. Мы рекомендуем выбрать All arrays (Все массивы), поскольку вряд ли сохранность данных на каком-либо из массивов вас не волнует. Затем следует указать значение Frequency (Частота) - интервала в неделях между запусками DS. Если ввести здесь 0, то DS выполнится только один раз. Мы рекомендуем ввести в этом параметре 1, т.е. проверять диски еженедельно. Далее осталось ввести в параметре Day (День) день недели, а в параметре Time (Время) время запуска DS и в параметре ON/OFF (Включить/Выключить) выбрать ON - на этом собственно процесс ввода расписания выполнения DS закончен. Для уверенности в том, что данные никогда не будут потеряны, настоятельно рекомендуем также разрешить корректировку контрольной суммы (Parity, хотя это не простая четность) RAID в тех случаях, когда система будет восстанавливать поврежденные сектора. Для этого выберите Utility, затем Overwriting Parity (Перезаписывать четность) и в нем выберите Yes (Да).
Примечания: 

  • Единственное событие, которое может привести к отказу запуска DS или остановке DS - обрыв сети питания системы хранения данных. 

  • Время проверки массива из 16 дисков по 250 Гигабайт при отсутствии обращений от компьютера, работающего с системой хранения - около 6 часов.

  • В системах хранения данных на IDE дисках возможен только ручной запуск DS ввиду отсутствия в таких системах часов реального времени.

По завершении DS система хранения запишет в свой Event Log сообщение такого вида:

Disk Scrubbing Result:

--1. Bad Block Check--

Disk # 1: Found 3 Bad Blocks, Recovered 3, Total 10+(3) Bad Blocks

Disk # 2: Found 6 Bad Blocks, Recovered 6, Total 0+(6) Bad Blocks

Disk # 3: Found 11 Bad Blocks, Recovered 10, Total 12+(11) Bad Blocks

………………………………………………………………….

Disk # 16:Found 0 Bad Blocks, Recovered 0

--2. RAID Parity Check (Overwrite Parity YES) --

RAID X: Found 3 Parity Errors, Overwrite Parity

Сначала, в части 1 сообщения, можно видеть обнаруженные и восстановленные сектора по каждому из жестких дисков. Текст Total XX+(YY) Bad Blocks не появляется, если ни один сектор не восстанавливался, как в случае с диском 16 нашего примера. В части 2 сообщения вы получаете информацию о том, восстанавливалась ли контрольная сумма RAID и сколько раз. Конечно, не стоит доводить ситуацию до абсурда и надеяться на DS как на панацею от неисправных дисков. При неоднократном попадании жесткого диска в список с обнаруженными плохими секторами его следует просто заменить. Стоимость жесткого диска пренебрежимо мала по сравнению со стоимостью данных, на нем хранящихся. Для минимальной потери производительности при замене жесткого диска в RAID массиве предназначена еще одна возможность в системах хранения данных - Disk Cloning and S.M.A.R.T., о которой пойдет речь ниже.

DC

Disk Cloning and S.M.A.R.T. (Клонирование диска и диагностика - сокращенно DC) - еще одна возможность для пользователя следить за диском, вероятность выхода из строя которого высока, и с минимальными потерями в производительности системы хранения заменить такой диск. DC есть смысл применять в том случае, если в системе таким средством, как DS, обнаружен жесткий диск с постоянно добавляющимися дефектами, шансы которого на выход из строя близки к 100%. Разумеется, проще всего его сразу заменить, но часто бывают ситуации, когда свободного диска под руками нет и есть временная необходимость в использовании даже некачественного диска, но с гарантией от потери данных в системе. Клонирование "умирающего" диска позволяет поддерживать в системе хранения его точную, "клонированную" копию и после реальной "смерти" диска немедленно перейти к работе с его точной копией. 

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

Что происходит при штатном подключении диска из "горячего" резерва в RAID вместо вышедшего из строя? Контроллер RAID начинает перестройку (rebuild) массива, в течение которой производительность системы хранения заметно уменьшается, эта процедура для диска в 250 Гигабайт, например, занимает приблизительно 3 часа и самое неприятное, что в случае выхода из строя в этот момент еще одного жесткого диска, данные могут быть потеряны. Вероятность такого события довольно мала, близка к 0, но, тем не менее, она есть. Если же в системе постоянно поддерживается копия (клон) "умирающего" диска, то замена этого диска после его "смерти" на копию произойдет практически мгновенно и контроллер RAID не будет делать перестройку массива. 

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

Перейдем теперь к описанию правил запуска DC. В отличие от DS, клонирование диска может быть запущено только вручную (точнее, DC нельзя запускать по расписанию) по понятным причинам. Но, для того, чтобы избавиться от необходимости постоянного ручного слежения за подозрительным диском, в системе хранения предусмотрена процедура S.M.A.R.T. контроля, автоматизирующая запуск клонирования диска, количество плохих секторов на котором превысило заданный вами предел. 

Ручной запуск

Расскажем сначала о ручном запуске DC, без участия S.M.A.R.T. Его есть смысл использовать в том случае, если судьба "умирающего" диска вами уже предрешена и вы хотите сделать его копию для максимально возможной безболезненной замены этого диска на новый. 

Выберите Utility, далее Disk Clone (Клонирование диска) и Start Disk Clone (Старт клонирования диска).  Теперь выберите Source Disk (Диск-источник) по его номеру и Target Disk (Диск, на который следует копировать источник). Разумеется, выбор Target Disk будет вам предложен в том и только в том случае, если в системе хранения есть хотя бы один диск в "горячем" резерве. Далее вы можете выбрать между Start Permanent Clone (Начать непрерывное клонирование) и Start Swap After Clone (Заменить диск после клонирования). Start Permanent Clone есть смысл применять в том случае, если вы хотите максимально продлить использование "умирающего" диска или тогда, когда возможная "смерть" диска неочевидна.  Диск будет непрерывно копироваться и в любой момент копия будет готова к использованию. Для разрешения этого способа просто выберите Yes (Да). 

Примечание: Если исходный диск "умрет" в момент копирования, RAID контроллер начнет перестройку массива с того места, которое копировалось в момент "смерти" диска. Контроллер НЕ БУДЕТ перестраивать RAID с нуля.

Start Swap After Clone следует выбирать в том случае, если вы решили подозрительный жесткий диск заменить и вы хотите сделать такую замену с минимальными потерями в производительности системы хранения. Для разрешения этого способа просто выберите Yes (Да). По завершении клонирования диск из RAID массива будет немедленно заменен на только что созданную копию.

Примечание: Клонируемый диск будет помечен на LCD дисплее системы хранения буквой "C". 

Автоматический запуск

Для автоматического запуска клонирования диска выберите Utility, далее SMART, затем Disk Check Time (Интервал проверки диска). Значение интервала может быть 1, 15, 30 и 60 минут. По умолчанию выбрано значение 60 минут, которое и рекомендуется оставить. Теперь выберите Utility, SMART и затем раздел SMART Mode (Режим S.M.A.R.T.).  В этом разделе можно выбрать:

  • Disable (Запретить) - ничего не произойдет в случае обнаружения дефекта и клонирование не начнется.

  • Enable (Alert Only) (Разрешить, но только сообщить о дефекте) - S.M.A.R.T. отработает, но в случае обнаружения дефекта только сообщит о нем. Клонирование также не начнется. 

  • Enable (Permanent Cloning) (Разрешить и начать непрерывное копирование) - в случае обнаружения дефекта начнется непрерывное копирование диска с обнаруженным дефектом.

  • Enable (Start Swap After Clone) (Разрешить и начать копирование с последующей заменой) - в случае обнаружения дефекта начнется копирование диска с обнаруженным дефектом и немедленно по окончании копирования дефектный диск будет заменен на копию. Именно такой вариант мы рекомендуем выбрать в этом разделе.

Нам осталось только определить критерий, по которому клонирование будет запущено. Для этого выберите Utility, SMART и затем раздел Bad Sectors (Плохие сектора).  В этом разделе можно выбрать:

  • Show Statistics (Показ статистики) - выбрав этот пункт, вы сможете убедиться в наличии или отсутствии восстановленных секторов на диске (дисках). Отчет об этом будет иметь приблизительно такой вид:
    Bad sectors statistics:
    Disk # 1 has 100 bad sectors remapped
    Disk # 2 has 200 bad sectors remapped
    Disk # 3 has 300 bad sectors remapped
    ……………………………………………
    Disk # 16 has 400 bad sectors remapped

  • Threshold for Clone (Пороговое значение для клонирования) - в этом параметре указывается, как много секторов на диске должны выйти из строя для запуска процедуры клонирования. Число, выбираемое здесь, определяет максимально допустимое количество плохих секторов на 1 Гигабайт емкости диска. Т.е., если выбрать значение 3 для диска емкостью 250 Гигабайт, то клонирование начнется после появления 750 плохих секторов. Мы рекомендуем выбирать значение не более 2.

  • Threshold for Swap (Пороговое значение для замены) - в этом параметре указывается, как много секторов на диске должны выйти из строя для запуска процедуры клонирования с последующей немедленной заменой. Число, выбираемое здесь, определяет максимально допустимое количество плохих секторов на 1 Гигабайт емкости диска. Т.е., если выбрать значение 3 для диска емкостью 250 Гигабайт, то клонирование начнется после появления 750 плохих секторов. Мы рекомендуем выбирать значение не более 3. Threshold for Swap сам по себе является рекомендуемым - диск с сотнями плохих секторов не придает уверенности в своей надежной работе, поэтому есть прямой смысл именно его использовать в разделе Bad Sectors (Плохие сектора).

Итак, указав интервал проверки диска, выбрав Enable (Start Swap After Clone) и указав пороговое значение для автоматического клонирования и замены, вы в результате получите автоматическую замену "умирающего" жесткого диска на исправный по достижении плохим диском определенного вами порога количества плохих секторов.

Примечания: 

  • Клонируемый диск немедленно после замены на свою копию будет помечен буквой "X" на экране LCD дисплея системы хранения. 

  • Процедуры клонирования и S.M.A.R.T. будут работать только начиная с систем хранения данных SA серии и более новых (иными словами, с систем, производство которых началось с мая 2004 года). 

Простые правила

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

  1. Установив жесткие диски в систему хранения данных, обязательно запустить Disk Self Test. Если DST выявит неисправный диск (диски), то заменить его (их).

  2. Создать необходимый RAID массив (массивы) в системе хранения данных.

  3. Настроить часы реального времени (RTC).

  4. Задать регулярную проверку RAID массива (массивов) процедурой Disk Scrubbing.

  5. В случае обнаружения диска с поврежденными (плохими) секторами выбрать один из вариантов своих действий:

    1. Заменить диск с поврежденными секторами.

    2. Запустить процедуру Disk Cloning and S.M.A.R.T.

  6. Периодически, в соответствии с заданным вами же расписанием выполнения Disk Scrubbing, знакомиться с содержимым Event Log системы хранения данных для своевременного реагирования на возможные неисправности жесткого диска. Для удобства можно настроить соответствующее программное обеспечение на отправку письма по электронной почте в случае возникновения ошибок на каком-либо жестком диске.

Заключение

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