Формула для расчета вероятности неисправимой ошибки чтения при перестройке RAID

12

Я хочу сравнить надежность различных RAID-систем с пользовательскими (URE / bit = 1e-14) или корпоративными (URE / bit = 1e-15) дисками. Формула для определения вероятности успеха восстановления (без учета механических проблем, которые я буду принимать во внимание позже) проста:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

Важно помнить, что это вероятность получить по крайней мере один URE, а не только один.

Предположим, мы хотим использовать 6 ТБ свободного места. Мы можем получить это с:

  • RAID1 с 1 + 1 дисками по 6 ТБ каждый. Во время восстановления мы читаем 1 диск объемом 6 ТБ, и риск составляет: 1- (1-1e-14) ^ (6e12 * 8) = 38% для потребителя или 4,7% для корпоративных накопителей.

  • RAID10 с 2 + 2 дисками по 3 ТБ каждый. Во время восстановления мы читаем только 1 диск объемом 3 ТБ (тот, который связан с неисправным!), И риск ниже: 1- (1-1e-14) ^ (3e12 * 8) = 21% для потребителя или 2,4% для корпоративные диски.

  • RAID5 / RAID Z1 с 2 + 1 дисками по 3 ТБ каждый. Во время восстановления мы читаем 2 диска по 3 ТБ каждый, и риск составляет: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% для пользовательских или 4,7% или корпоративных дисков.

  • RAID5 / RAID Z1 с 3 + 1 дисками по 2 ТБ каждый (часто используется пользователями таких продуктов SOHO, как Synologys). Во время восстановления мы читаем 3 диска по 2 ТБ каждый, и риск составляет: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% для пользовательских или 4,7% или корпоративных дисков.

Вычислить погрешность для допуска на один диск легко, сложнее рассчитать вероятность для систем, допускающих отказы нескольких дисков (RAID6 / Z2, RAIDZ3).

Если для восстановления используется только первый диск, а второй считывается снова с начала в случае или URE, то вероятность ошибки равна той, которая рассчитана с квадратным корнем (14,5% для потребителя RAID5 2 + 1, 4,5% для потребителя RAID1 1 + 2). Тем не менее, я предполагаю (по крайней мере, в ZFS с полными контрольными суммами!), Что второй диск четности / доступный диск доступен только для чтения там, где это необходимо, а это означает, что требуется всего несколько секторов: сколько URE может быть на первом диске? не так много, в противном случае вероятность ошибки для систем с допуском одного диска взлетела бы даже больше, чем я рассчитывал.

Если я прав, второй диск четности практически снизит риск до крайне низких значений.

Помимо этого, важно иметь в виду, что производители увеличивают вероятность URE для накопителей потребительского класса по маркетинговым причинам (продают больше накопителей корпоративного класса), поэтому ожидается, что даже жесткие диски потребительского класса достигнут 1E-15 URE / бит считывания ,

Некоторые данные: http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

Поэтому значения, которые я указал в скобках (диски предприятия), реально применимы и к дискам потребителя. А реальные корпоративные диски имеют еще более высокую надежность (URE / бит = 1e-16).

Что касается вероятности механических сбоев, они пропорциональны количеству дисков и пропорционально времени, необходимому для восстановления.

FARO
источник
1
Привет, Олаф! Насколько мне известно, этот вопрос кажется слишком специфичным для компьютерного оборудования, чтобы быть подходящим для математики , но вы можете спросить на их мета-сайте , хотят ли они получить ваш вопрос. Если это так, отметьте еще раз, и мы будем рады перенести его для вас!
Slhck
2
Как вы получаете 38% URE для RAID5 с 3 дисками? Используя URE = 10 ^ 14, HDD = 3,5 * 1024 ^ 4 байта, я получаю 3,8% URE на диск и 11,1% для URE при восстановлении. То есть: 100 * (1- (1- (hdd / ure)) ^ 3). Я думаю, что ваши цифры немного не соответствуют (хотя практическая частота отказов выше, чем заявлено производителями). Поскольку частота ошибок указана для битов, считываемых с диска, а не для битов, я думаю, что часть, в которой вы используете ^ bit_read, неверна. Возможно, расскажите подробнее, как вы рассчитали эти шансы? +1 за интересный вопрос. cs.cmu.edu/~bianca/fast07.pdf
Ярослав Рахматуллин
Добавлена ​​информация и проверены расчеты.
FarO

Ответы:

2

Есть ряд сайтов и статей, которые пытаются решить этот вопрос.

На этом сайте есть калькуляторы для уровней RAID 0, 5, 10/50/60.

В статье в Википедии об уровнях RAID есть разделы по частоте отказов RAID 0 и RAID 1.

RAID 0 :

Надежность данного набора RAID 0 равна средней надежности каждого диска, деленной на количество дисков в наборе:

То есть надежность (измеряемая средним временем до отказа (MTTF) или средним временем между отказами (MTBF)) примерно обратно пропорциональна количеству элементов - поэтому набор из двух дисков примерно вдвое менее надежен, чем один диск. Если существует вероятность 5%, что диск выйдет из строя в течение трех лет, в двухдисковом массиве эта вероятность будет увеличена до {P} (по крайней мере, один отказ) = 1 - {P} (ни один отказ) = 1 - (1 - 0,05) ^ 2 = 0,0975 = 9,75%.

RAID 1 :

В качестве упрощенного примера рассмотрим RAID 1 с двумя идентичными моделями дисковода, каждая из которых с 5% вероятностью отказа диска в течение трех лет. При условии, что сбои являются статистически независимыми, вероятность отказа обоих дисков в течение трехлетнего срока службы составляет 0,25%. Таким образом, вероятность потери всех данных составляет 0,25% в течение трехлетнего периода, если с массивом ничего не сделано.



Также я нашел несколько статей в блоге на эту тему, включая эту, которая напоминает нам о том, что независимые диски в системе (I в RAID) могут быть не такими уж независимыми:

Наивная теория заключается в том, что если жесткий диск 1 имеет вероятность сбоя 1/1000, как и диск 2, то вероятность отказа обоих дисков составляет 1/1 000 000. Это предполагает, что сбои статистически независимы, но это не так. Вы не можете просто умножить такие вероятности, если ошибки не коррелированы. Неправильное предположение о независимости является распространенной ошибкой в ​​применении вероятности, возможно, самой распространенной ошибкой.

Джоэл Спольски прокомментировал эту проблему в последнем подкасте StackOverflow. Когда компания создает RAID, она может собрать четыре или пять дисков, которые сходили с конвейера вместе. Если у одного из этих дисков есть небольшой недостаток, который приводит к его выходу из строя после, скажем, 10 000 часов использования, вполне вероятно, что все они делают. Это не просто теоретическая возможность. Компании наблюдали, как партии дисков выходили из строя примерно в одно и то же время.

Брэд паттон
источник