RAID 재 구축 중 복구 할 수없는 읽기 오류 가능성을 계산하는 공식


12

다른 RAID 시스템의 안정성을 소비자 (URE / bit = 1e-14) 또는 엔터프라이즈 (URE / bit = 1e-15) 드라이브와 비교하고 싶습니다. 재구성의 성공 확률을 갖는 공식 (기계적 문제는 무시하고 나중에 고려할 것임)은 간단합니다.

error_probability = 1-(1-per_bit_error_rate) ^ bit_read

기억해야 할 것은 이것이 반드시 하나만이 아니라 최소한 하나만 얻을 가능성이라는 것입니다.

6TB의 사용 가능한 공간을 원한다고 가정 해 봅시다. 우리는 그것을 얻을 수 있습니다 :

  • 1TB의 디스크가 각각 6TB 인 RAID1 재구성하는 동안 6TB의 디스크 1 개를 읽고 위험은 다음과 같습니다. 1- (1-1e-14) ^ (6e12 * 8) = 38 % (소비자) 또는 4.7 % (기업 드라이브).

  • 각각 3TB의 2 + 2 디스크가있는 RAID10. 재구성하는 동안 3TB의 디스크 1 개 (실패한 디스크와 페어링 된 디스크) 만 다시 읽으며 위험은 더 낮습니다. 1- (1-1e-14) ^ (3e12 * 8) = 21 % 소비자 또는 2.4 % 엔터프라이즈 드라이브.

  • 각각 3TB의 2 + 1 디스크를 가진 RAID5 / RAID Z1. 재 구축하는 동안 각각 3TB의 디스크 2 개를 다시 읽으며 위험은 소비자의 경우 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38 %, 엔터프라이즈 드라이브 또는 4.7 %입니다.

  • 각각 2TB의 3 + 1 디스크가있는 RAID5 / RAID Z1 (종종 Synology와 같은 SOHO 제품 사용자가 사용). 재 구축하는 동안 각각 2TB의 디스크 3 개를 다시 읽으며 위험은 소비자의 경우 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38 %, 4.7 % 또는 엔터프라이즈 드라이브입니다.

단일 디스크 허용 오차에 대한 오류를 계산하는 것은 쉽지만 여러 디스크 오류 (RAID6 / Z2, RAIDZ3)에 견딜 수있는 시스템의 확률을 계산하는 것이 더 어렵습니다.

첫 번째 디스크 만 재 구축에 사용되고 두 번째 디스크가 처음부터 다시 읽거나 URE 인 경우 오류 확률은 제곱근 (소비자 RAID5의 경우 14.5 %, 소비자의 경우 4.5 %)입니다. RAID1 1 + 2). 그러나 필자는 두 번째 패리티 / 사용 가능한 디스크가 필요한 경우에만 읽기 때문에 몇 개의 섹터 만 필요하다는 것을 의미한다고 생각합니다 (적어도 전체 체크섬이있는 ZFS에서는!). 그렇지 않으면 단일 디스크 허용 오차 시스템의 오류 확률이 계산 한 것보다 훨씬 더 급격히 증가합니다.

내가 맞다면, 두 번째 패리티 디스크는 실제로 매우 낮은 값으로 위험을 낮출 것입니다.

또한 제조업체는 마케팅상의 이유로 소비자 급 드라이브에 대한 URE 확률을 높이고 (더 많은 엔터프라이즈 급 드라이브 판매) 소비자 급 HDD도 1E-15 URE / 비트 읽기를 달성 할 것으로 예상된다는 점을 명심해야합니다. .

일부 데이터 : http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

따라서 괄호 안에있는 값 (엔터프라이즈 드라이브)은 실제로 소비자 드라이브에도 적용됩니다. 실제 엔터프라이즈 드라이브는 훨씬 높은 안정성을 제공합니다 (URE / bit = 1e-16).

기계적 고장 가능성과 관련하여 디스크 수에 비례하고 재 구축에 필요한 시간에 비례합니다.


1
안녕하세요 올라프! 내가 우려하는 한,이 질문은 컴퓨터 하드웨어에 너무 구체적이지 않아 수학에 적합 하지는 않지만 메타 사이트에서 질문을하고 싶은지 물어볼 수 있습니다. 이 경우 다시 신고하면 기꺼이 마이그레이션 해 드리겠습니다.
slhck

2
3 개의 드라이브가있는 RAID5의 경우 정확히 38 % URE 확률에 도달합니까? URE = 10 ^ 14, HDD = 3.5 * 1024 ^ 4 바이트를 사용하면 재구성하는 동안 드라이브 당 3.8 % URE 및 URE에 대해 11.1 %를 얻습니다. 즉 : 100 * (1- (1- (hdd / ure)) ^ 3). 실제 고장률은 제조업체가 명시한 것보다 높지만 귀하의 수치는 약간 떨어졌습니다. 오류율은 비트 당이 아니라 드라이브 당 판독 된 비트마다 제공되므로 ^ bit_read를 사용하는 부분이 잘못되었다고 생각합니다. 아마도 당신은 그 확률을 계산하는 방법에 대해 더 자세히 설명하고 있습니까? 흥미로운 질문에 +1 cs.cmu.edu/~bianca/fast07.pdf
Ярослав Рахматуллин

정보를 추가하고 계산을 확인했습니다.
FarO

답변:



2

이 문제를 해결하기 위해 여러 사이트와 기사가 있습니다.

사이트 에는 RAID 0, 5, 10/50/60 레벨 용 계산기가 있습니다.

RAID 레벨 에 대한 Wikipedia 기사 에는 RAID 0 및 RAID 1 실패율에 대한 섹션이 있습니다.

RAID 0 :

지정된 RAID 0 세트의 안정성은 각 디스크의 평균 신뢰성을 세트의 디스크 수로 나눈 것과 같습니다.

즉, MTTF (Mean Time to Failure) 또는 MTBF (Mean Time Between Failures)로 측정 된 안정성은 대략 멤버 수에 반비례합니다. 따라서 두 개의 디스크 세트는 단일 디스크의 절반에 해당합니다. 3 년 내에 디스크가 고장날 확률이 5 % 인 경우, 두 개의 디스크 어레이에서이 확률은 {P} (최소한 한 번은 실패) = 1-{P} (둘 다 실패하지 않음) = 1로 증가합니다. -(1-0.05) ^ 2 = 0.0975 = 9.75 %.

RAID 1 :

단순화 된 예로서, 2 개의 동일한 디스크 드라이브 모델을 가진 RAID 1을 고려하십시오. 각각 3 % 이내에 디스크가 고장날 확률은 5 %입니다. 고장이 통계적으로 독립적 인 경우, 3 년 수명 동안 두 디스크가 고장날 확률은 0.25 %입니다. 따라서 어레이에 아무 것도 수행하지 않으면 3 년 동안 모든 데이터가 손실 될 확률은 0.25 %입니다.



또한 나는 포함하여이 주제에 대한 여러 기사를 블로그 찾은 이 하나의 독립 후 모든 것을하지 않을 수 있습니다 시스템 (RAID의 I)에서 우리에게 독립적 인 드라이브를 생각 나게한다 :

순진한 이론은 하드 디스크 1의 고장 확률이 1/1000이고 디스크 2의 경우도 마찬가지이므로 둘 다의 고장 확률은 1 / 1,000,000입니다. 그것은 실패가 통계적으로 독립적이라고 가정하지만 그렇지 않습니다. 실패가 서로 관련이없는 한 확률을 곱할 수는 없습니다. 독립성을 잘못 가정하는 것은 확률을 적용 할 때 흔히 발생하는 오류 일 수 있으며, 가장 일반적인 오류 일 수 있습니다.

Joel Spolsky는 최신 StackOverflow 팟 캐스트에서이 문제에 대해 언급했습니다. 회사가 RAID를 구축하면 조립 라인에서 함께 나온 4 ~ 5 개의 디스크를 잡을 수 있습니다. 이 디스크 중 하나에 약간의 결함이있어 10,000 시간 사용 후 고장이 발생하는 경우 모두 해당 될 수 있습니다. 이것은 단지 이론적 인 가능성이 아닙니다. 회사는 디스크 배치가 거의 동시에 실패하는 것을 관찰했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.