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

5534
FarO

Я хочу сравнить надежность различных 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).

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

12
Привет, Олаф! Насколько мне известно, этот вопрос кажется слишком специфичным для компьютерного оборудования, чтобы хорошо подходить для [math.SE], но вы можете задать его на [мета-сайте] (http: //meta.math.stackexchange .com /) если они хотели бы получить ваш вопрос. Если это так, отметьте еще раз, и мы будем рады перенести его для вас! slhck 11 лет назад 1
Как вы получаете 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 за интересный вопрос. http://www.cs.cmu.edu/~bianca/fast07.pdf Ярослав Рахматуллин 11 лет назад 2
Добавлена ​​информация и проверены расчеты. FarO 10 лет назад 0

2 ответа на вопрос

3
FarO
2
Brad Patton

There are a number of sites and articles that attempt to address this question.

This site has calculators for RAID 0, 5, 10/50/60 levels.

The wikipedia article on RAID levels has sections on RAID 0 and RAID 1 failure rates.

RAID 0:

Reliability of a given RAID 0 set is equal to the average reliability of each disk divided by the number of disks in the set:

That is, reliability (as measured by mean time to failure (MTTF) or mean time between failures (MTBF)) is roughly inversely proportional to the number of members – so a set of two disks is roughly half as reliable as a single disk. If there were a probability of 5% that the disk would fail within three years, in a two disk array, that probability would be increased to (at least one fails) = 1 - (neither fails) = 1 - (1 - 0.05)^2 = 0.0975 = 9.75%.

RAID 1:

As a simplified example, consider a RAID 1 with two identical models of a disk drive, each with a 5% probability that the disk would fail within three years. Provided that the failures are statistically independent, then the probability of both disks failing during the three-year lifetime is 0.25%. Thus, the probability of losing all data is 0.25% over a three-year period if nothing is done to the array.



Also I've found several blog articles about this subject including this one that reminds us the independent drives in a system (the I in RAID) may not be that independent after all:

The naïve theory is that if hard disk 1 has probability of failure 1/1000 and so does disk 2, then the probability of both failing is 1/1,000,000. That assumes failures are statistically independent, but they’re not. You can’t just multiply probabilities like that unless the failures are uncorrelated. Wrongly assuming independence is a common error in applying probability, maybe the most common error.

Joel Spolsky commented on this problem in the latest StackOverflow podcast. When a company builds a RAID, they may grab four or five disks that came off the assembly line together. If one of these disks has a slight flaw that causes it to fail after say 10,000 hours of use, it’s likely they all do. This is not just a theoretical possibility. Companies have observed batches of disks all failing around the same time.

Похожие вопросы