Бонус - Невосстанавливаемые ошибки в RAID 5

Ошибки URE в RAID5

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

Обоснование

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

В Интернете можно найти довольно страшные расчеты. Некоторые предполагают, что вероятность провала восстановления может составлять до 50% на 12TB (6x2TB) RAID 5.

Расчет выглядит следующим образом: предположим, у нас есть вероятность p невозможности прочитать бит с диска. Тогда q = 1 - p — это вероятность успешного чтения на бит. Чтобы восстановить массив RAID 5 из N дисков по C терабайт каждый, необходимо прочитать C*(N-1) терабайтов данных. Обозначим количество бит для чтения как b = C * (N-1) * 8 * 1012 и приходим к вероятности успешного завершения восстановления P = qb.

Значение p указывается в спецификации жесткого диска, обычно около 10-15 ошибок на бит чтения.

Указанный URE в спецификации к диску Вероятность неудачи восстановления
для 6x 2TB дисков
10-14 ~55%
10-15 ~10%
10-16 ~0%
Эти расчеты основаны на несколько наивных предположениях, что делает проблему выглядящей хуже, чем она есть на самом деле. Допущения, которые стоят за этими расчетами, следующие:
  • ошибки чтения равномерно распределены по жестким дискам и во времени,
  • одна единственная ошибка чтения во время восстановления уничтожает весь массив.
Оба этих утверждения неверны, что делает результат бесполезным. Более того, вся концепция указания уровня ошибок потока на битовом уровне для устройства, основанного на блоках, которое не может читать менее 512 байт данных за транзакцию, выглядит сомнительно.

Исходное утверждение можно преобразовать в нечто более практичное:
Утверждение "Существует 50% вероятность того, что не удастся восстановить 12TB RAID 5" то же самое, что и "Если у вас есть массив RAID 0 на 10TB, существует 50% вероятность того, что вы не получите обратно то, что записали на него, даже если вы запишите данные, а затем сразу же прочитаете их обратно." Это предполагает одинаковое количество пользовательских данных на обоих массивах и 2TB жесткие диски. Тем не менее, никто не называет RAID 0 мертвым.

Это может быть переформулировано еще дальше: предполагая устойчивую скорость чтения 100MB/сек, мы можем сказать "Существует 50% шанс, что жесткий диск не может поддерживать непрерывную последовательную операцию чтения в течение 30 часов без остановки", что просто выглядит неправильно. 30 часов — это приблизительное время, необходимое для чтения 10TB данных со скоростью 100MB/сек.

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

Основное

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

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


Вернуться к содержанию

Copyright © 2011 - 2026 www.Volga-Software.ru