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

Posted by map[name:devi1 uri:https://www.blogger.com/profile/05777499482649623616] on Saturday, May 28, 2011

Взято здесь: http://www.nix.ru/support/faq/show_articles.php?number=612&faq_topics=RAID

 Соответствие требованиям рынка комплектующих для серверных систем подразумевает поиск и реализацию способов повышения производительности, расширения совместимости, увеличения периода гарантируемой безотказной работы, сокращения периодов простоя устройства по причине неисправности, а также сокращения стоимости эксплуатации. Именно такие цели преследует представленная недавно компанией Western Digital технология Time-Limited Error Recovery (TLER). Технология поддерживается новым поколением дисков Western Digital, Caviar RAID Edition (RE), и позволяет сократить случаи отказа RAID массивов из-за временных сложностей с чтением одного из дисков.

Проблема 

   Обычно в RAID массивы устанавливают стандартные жесткие диски, изначально предназначенные для настольных ПК. Все они обладают встроенной функцией автоматической коррекции ошибок. В ее основе лежит вполне логичное предположение о том, что жесткий диск не должен отправлять куда-либо сообщение о каждой обнаруженной ошибке чтения, загружая тем самым другие устройства в системе ненужной дополнительной работой. Напротив, он должен предпринять все возможное для самостоятельной коррекции обнаруженной ошибки. Ошибка может быть обусловлена плохой читаемостью сектора (нестабильный сектор), сбоем при записи данных в сектор или другими случайными внешними условиями. Ошибкой будет также признан слабый уровень сигнала. В последнем случае, предпринимается попытка оживления данных. Данные заново записываются в тот же сектор (ведь причиной могло послужить простое размагничивание) с их последующим контрольным чтением. Если уровень сигнала по прежнему низкий – причиной ошибки, с большой долей вероятности, является износ/дефект магнитного слоя. Данные будут перемещены в другой сектор диска, а сектор, в котором была обнаружена ошибка, будет помечен, как дефектный. Аналогичные действия предпринимаются и в остальных случаях. Если при повторном обращении, ошибка проявляется снова, предпринимается попытка восстановления данных по имеющимся кодам исправления ошибок (ECC, Error Correction Code). В случае удачи, данные записываются в другой сектор диска, а данный сектор помечается, как дефектный. В случае неудачи, пользователь, к сожалению, остается без данных.

   Этот алгоритм отлично работает до тех пор, пока диск функционирует сам по себе, являясь самостоятельным, не входящим ни в какие RAID массивы, устройством хранения данных. Однако, когда он становится частью массива, эта “самостоятельность” может приводить к проблемам.

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

   Время восстановления работоспособности диска, вынужденного одновременно справляться с большим объемом рабочей нагрузки и исправлением обнаруженной ошибки, неизбежно увеличивается. Несмотря на то, что стандарта, определяющего допустимую продолжительность периода “молчания” диска, нет, практика показывает, что проходит около 8 секунд прежде, чем RAID контроллер, не получив ответа от диска, исключает его из массива. В результате такого “непонимания” между RAID контроллером и жестким диском, RAID массив либо распадается, либо в течение определенного периода времени, до замены диска, функционирует в режиме ограниченных возможностей. Если это возможно, как, например в случае с RAID 5, после замены диска, данные автоматически восстанавливаются на основе кодов четности. Однако, во время восстановления данных диск также функционирует в режиме повышенной нагрузки, поскольку вынужден одновременно выполнять стандартные операции ввода/вывода и восстанавливать утерянные в результате сбоя данные на основе кодов четности. Это, в свою очередь, также увеличивает вероятность того, что период восстановления работоспособности превысит по продолжительности 8 секунд, и обычный HDD, работая не в паре с RAID контроллером, вновь окажется исключенным из RAID массива. Более того, продолжительность восстановления самого RAID массива после сбоя может составить от нескольких часов до нескольких дней. Иными словами, ситуация напоминает путешествие на автомобиле без “запаски”: последствия второго сбоя оказываются более серьезными, чем последствия первого, т. е. если во время восстановления данных произойдет новый сбой, все сохраненные в массиве данные будут утеряны.

without TLER

Решение 

   Диски, с поддержкой технологии TLER (Time Limited Error Recovery – Ограниченное время на коррекцию ошибки) при обнаружении ошибки начинают стандартную процедуру ее коррекции, но, не уложившись в 7 секунд, отправляют RAID контроллеру соответствующее сообщение и откладывают исправление ошибки до более удобного момента, например, до момента простоя системы. В результате, вероятность автоматического исключения диска из RAID массива по причине отсутствия его ответной реакции на команды контроллера сводится к минимуму.

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

with TLER

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

   Однако, несмотря на привлекательность данной технологии, следует всегда помнить о том, что диски с поддержкой данной технологии предназначены для использования только в RAID массивах.


comments powered by Disqus