Формула для расчета вероятности неисправимой ошибки чтения при перестройке RAID
Я хочу сравнить надежность различных 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).
Что касается вероятности механических сбоев, они пропорциональны количеству дисков и пропорциональны времени, необходимому для восстановления.
2 ответа
Это лучший ответ и с теорией вероятностей:
Есть ряд сайтов и статей, которые пытаются решить этот вопрос.
На этом сайте есть калькуляторы для уровней RAID 0, 5, 10/50/60.
В статье в Википедии об уровнях RAID есть разделы по частоте отказов RAID 0 и RAID 1.
Надежность данного набора RAID 0 равна средней надежности каждого диска, деленной на количество дисков в наборе:
То есть надежность (измеряемая средним временем до отказа (MTTF) или средним временем между отказами (MTBF)) примерно обратно пропорциональна количеству элементов - поэтому набор из двух дисков примерно вдвое менее надежен, чем один диск. Если существует вероятность 5%, что диск выйдет из строя в течение трех лет, в двухдисковом массиве эта вероятность будет увеличена до {P}(по крайней мере, один отказ) = 1 - {P}(ни один отказ) = 1 - (1 - 0,05)^2 = 0,0975 = 9,75%.
В качестве упрощенного примера рассмотрим RAID 1 с двумя идентичными моделями дисковода, каждая из которых с 5% вероятностью выхода из строя диска в течение трех лет. При условии, что сбои являются статистически независимыми, вероятность отказа обоих дисков в течение трехлетнего срока службы составляет 0,25%. Таким образом, вероятность потери всех данных составляет 0,25% в течение трехлетнего периода, если с массивом ничего не сделано.
Также я нашел несколько статей в блоге на эту тему, включая эту, которая напоминает нам о том, что независимые диски в системе (I в RAID) могут быть не такими уж независимыми:
Наивная теория состоит в том, что если жесткий диск 1 имеет вероятность сбоя 1/1000, как и диск 2, то вероятность отказа обоих дисков равна 1/1 000 000. Это предполагает, что сбои статистически независимы, но это не так. Вы не можете просто умножить такие вероятности, если ошибки не коррелированы. Неправильное предположение о независимости является распространенной ошибкой в применении вероятности, возможно, самой распространенной ошибкой.
Джоэл Спольски прокомментировал эту проблему в последнем подкасте StackOverflow. Когда компания собирает RAID, они могут собрать четыре или пять дисков, которые сходили с конвейера вместе. Если у одного из этих дисков есть небольшой недостаток, который приводит к его отказу после, скажем, 10 000 часов использования, скорее всего, они все делают. Это не просто теоретическая возможность. Компании наблюдали, как партии дисков выходили из строя примерно в одно и то же время.