RAID-5 어레이에서 패리티는 어떻게 작동합니까?


31

전용 백업을위한 멋진 RAID 어레이를 구축하려고합니다. 모든 것을 디지털화하는이 불쾌한 습관이 있기 때문에 약 2-4TB의 공간을 확보하고 싶습니다. 따라서 드라이브 장애가 발생할 경우 많은 스토리지와 중복성이 필요합니다. 또한 기본적으로 /homeLinux 용 "Time Machine"복제본 중 하나를 사용하여 2-3 대의 컴퓨터 폴더를 백업합니다 . 이 어레이는 SSH를 통해 로컬 네트워크를 통해 액세스 할 수 있습니다.

RAID-5가 패리티를 달성하는 방법과 실제로 필요한 드라이브 수를 이해하는 데 어려움을 겪고 있습니다. 하나는 5 개의 드라이브가 필요하다고 가정하지만 잘못 될 수 있습니다. 내가 본 대부분의 다이어그램은 아직 혼란 스러웠다. 이것이 RAID-5의 작동 방식 인 것 같습니다. 제대로 이해하지 못한다고 확신하므로 수정하십시오.

/---STORAGE---\    /---PARITY----\
|   DRIVE_1   |    |   DRIVE_4   |
|   DRIVE_2   |----|     ...     |
|   DRIVE_3   |    |             |
\-------------/    \-------------/

드라이브 1-3은 단일 대용량 드라이브 ( capacity * number_of_drives)로 나타나고 해당 드라이브를 백업하는 패리티 드라이브 로 작동하는 것 같습니다 . 이상하게 보이는 것은 일반적으로 다이어그램에 3 개 이상의 스토리지 드라이브가 1 개 또는 2 개의 패리티 드라이브로 표시된다는 것입니다. RAID-5 어레이에서 4 개의 1TB 드라이브, 3 개의 실행 스토리지 및 1 개의 실행 패리티를 실행 중이고 3TB의 실제 스토리지가 있지만 1TB의 패리티 만 있다고 가정 해보십시오.

여기에 뭔가 빠졌음을 알고 있습니다. 누군가 나를 도울 수 있습니까? 또한 유스 케이스의 경우 RAID-5 또는 RAID-6가 더 좋을까요? 이 가정용 네트워크를 통해 실행 것 때문에 내결함성 만, 속도가 아닌,이 시점에서 나에게 가장 높은 우선 순위가 대단히 중요합니다.

답변:


30

각 드라이브에서 각 해당 비트를 XOR합니다. 드라이브가 손실되면 누락 된 데이터를 다시 빌드 할 수 있습니다.

배경 :

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1

D가 다른 열의 XOR이라고 가정하고 하나의 드라이브 만 잃어버린 경우 잃어버린 것을 알아낼 수 있습니다.

A B C D
1 0 0 1
0 1 0 1
1 1 0 0

때때로 스트라이프 비트가 드라이브 전체에 분산되지만 개념은 동일합니다.

따라서 RAID-5의 경우, 드라이브 수에 관계없이 RAID에 배치하려는 어레이에서 가장 작은 드라이브보다 같거나 큰 패리티에 대해 하나의 드라이브 만 필요합니다.

계산 복잡도가 RAID-6보다 훨씬 낮기 때문에 개인용 RAID-5가 가장 좋습니다.

RAID-6은 Galois Fields 를 사용하여 패리티를 계산하는 것이 더 복잡 합니다. 그리고 그것은 패리티 계산에 세금을 부과 할 수 있습니다. 그러나 더 많은 드라이브를 잃을 수는 있지만 단일 장애가 발생하자마자 어레이를 재 구축하는 경우 RAID-5를 사용하는 것이 좋습니다.


훌륭한 답변입니다. 비트 수준이 아닌 실제 하드 디스크 기준으로 너무 큰 규모로 생각하고있었습니다. RAID-5는 패리티를 위해 전용 드라이브를 사용합니까, 아니면 패리티를 위해 모든 드라이브를 사용합니까? 나는 그것에 혼란스러워합니다.
Naftuli Kay

2
나는 현대적인 접근 방식이 모든 드라이브에 대각선으로 패리티를 분배하는 것이라고 생각합니다. 여러 IO 요청을 다른 드라이브에 병렬로 보낼 수 있기 때문에 읽기 시간을 패리티 비트로 가속화하는 효과가 있지만 인용하지는 마십시오.
Matt

주어진 x드라이브와 y각 드라이브에서 사용 가능한 GB 를 결정하는 데 사용할 수있는 수학 공식이 있습니까?
Naftuli Kay

2
예, (가장 작은 드라이브 크기) * (어레이의 드라이브 수-1)
Matt

1
패리티가 다른 두 디스크의 XOR 인 경우 두 디스크 중 어떤 디스크가 손상되었는지 어떻게 알 수 있습니까? 어느 디스크에서든 비트 플립이 발생하면 패리티에서 비트 플립이 발생하지 않습니까?
Jay Sullivan

8

다음은 RAID4 및 RAID5에서 패리티가 작동하는 방식을 보여주는 더 나은 다이어그램이라고 생각합니다.

RAID4

Disk1  Disk2  Disk3  Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4

RAID5

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1   
data2   parity2 data2   data2  
data3   data3   parity3 data3
data4   data4   data4   parity4

또는 Wikipedia에서이 SVG를 살펴보십시오. en.wikipedia.org/wiki/Standard_RAID_levels#/media/…
Giuseppe Crinò

4

Raid 5 및 Raid 6에 대한 Wikipedia 기사를 읽는 것이 좋습니다.

http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_parity_handling

RAID 5는 각 스트립에 패리티 블록을 기록하므로 4 디스크 어레이의 스트립 A에 대해서는 디스크 1, 2 및 3의 데이터를 사용하여 4 번째 디스크에 패리티 검사를 기록합니다.

스트립 B의 경우 패리티 블록은 디스크 3에 있고 디스크 1, 2 및 4에 데이터가 있습니다.

디스크 4가 실패하면 디스크 1과 2의 데이터를 알고 디스크 3의 패리티 검사를 수행하여 스트립 B의 데이터를 복구 할 수 있습니다.

스트립 B의 패리티가 "2"이고 디스크 1의 데이터가 "1"이고 디스크 2의 데이터가 "0"인 경우 디스크 4의 데이터는 "1"과 같아야 디스크가 데이터 = "1"로 기록됩니다.

이 방법으로 전체 디스크를 재 작성할 수 있습니다. RAID 6은 스트라이프 당 2 개의 파티 블록을 사용하여이를 확장합니다.

Raid 5의 공간과 관련하여 스트라이프 당 패리티 블록에 기록하기 때문에 하나의 디스크 만 패리티 할 공간을 잃게됩니다. Raid 6을 사용하면 2 개의 디스크를 잃을 수 있지만 두 개의 디스크를 잃을 수 있습니다. 레이드 5;)

Wikipedia 기사가 이것을 더 잘 설명합니다!


3

RAID 5는 어레이에있는 데이터 드라이브 수에 관계없이 하나의 드라이브를 패리티로 사용합니다. 즉, 사용 가능한 공간과 관련하여 더 많은 드라이브가 추가 될수록 효율성이 높아집니다.

패리티는 각 드라이브의 동일한 블록에서 XOR 연산을 수행하여 수행됩니다. 패리티 드라이브의 내용은 모든 드라이브 XOR이 0 이되도록 조정 됩니다 . 이는 RAID 5가 어레이에있는 모든 드라이브의 최소 용량에 의해 제한됨 을 의미합니다 .

RAID 6은 두 개의 동시 드라이브 장애가 허용 될 수 있다는 점을 제외하면 비슷합니다. 이는 단일 드라이브 장애 후 어레이 를 " 리 실버 링 (resilvering) "하는 프로세스가 두 번째 드라이브 장애를 유발할 정도로 스트레스를 줄 수 있기 때문에 유용합니다 .


그래서 기본적으로 내가 있음을 의미 할 수 4 개 2TB 드라이브가 효과적인 중복 저장의 6TB가?
Naftuli Kay

@TK Kocheran RAID 5를 사용하면 가능합니다. 파일 시스템으로 인해 유효 스토리지가 약간 줄어 듭니다. 예를 들어, RAID-Z1 (ZFS의 RAID 5 버전)에 4 개의 2TB 드라이브가있는 NAS의 사용 가능한 공간은 5.18TB입니다.
sblair

물론 그렇습니다 :) 항상 그런 식으로 발생합니다. 다음 질문은 어떤 파일 시스템을 사용
해야하는지

0

내결함성이 목표라면 RAID-6은 두 개의 드라이브를 풀기에 충분한 중복성을 제공합니다. 일반적으로 RAID-5는 단일 드라이브 장애 만 허용합니다.


RAID-6에 대한 드라이브 대 패리티 (총 스토리지)의 비율은 얼마입니까? drive_size * (drive_count - 2)?
Naftuli Kay

1
첫 번째 드라이브를 교체하기 전에 두 번째 드라이브의 내결함성이 나빠질뿐 아니라 다른 상황도 있습니다. RAID 어레이에서 드라이브가 잘못되었습니다. 새 드라이브가 주문되었습니다. RAID 어레이에 대해 전혀 모르는 임의의 사람이 새 드라이브를 가지고 서버 룸에 들어가 번호를 엉망으로 만들고 잘못된 드라이브를 어레이에서 꺼내어 교체합니다. RAID5에서 어레이가 바로 나사로 고정됩니다. RAID6은 여전히 ​​복구 할 수 있음을 의미합니다.
camster342
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.