RAID-5 어레이에서 패리티는 어떻게 작동합니까? 드라이브 수를 이해하는 데 어려움을

전용 백업을위한 멋진 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가 더 좋을까요? 이 가정용 네트워크를 통해 실행 것 때문에 내결함성 만, 속도가 아닌,이 시점에서 나에게 가장 높은 우선 순위가 대단히 중요합니다.



답변

각 드라이브에서 각 해당 비트를 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를 사용하는 것이 좋습니다.


답변

다음은 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


답변

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 기사가 이것을 더 잘 설명합니다!


답변

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

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

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


답변

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


답변