오랫동안 다른 드라이브가 고장날 위험이 높기 때문에 대형 (> 5TB?) RAID-5 어레이의 아이디어가 얼마나 나쁜지에 대해 들었습니다.
RAID-Z1이 어떤 크기의 어레이에 대해서도이 문제를 해결할 수 있었습니까 (절대적으로 숫자가 필요한 경우 4x2TB 또는 5x2TB를 고려하십시오)? 모든 드라이브에서 강렬하지 않은 데이터를 다시 복제하는 더 안전한 방법일까요?
답변
ZFS가 실제 사용 된 블록에서만 작동하고 빈 공간이 아닌 ZFS가 작동한다는 점을 감안할 때 큰 RAIDZ1 vdev를 만드는 것은 여전히 위험합니다. 대부분의 풀은 최소 30-50 % 사용되며 많은 풀은 권장 최대 80 %까지 올라갑니다 (일부 풀은 성능상의 이유로 전혀하지 않는 것이 좋습니다). 사용 된 블록으로 큰 승리는 아닙니다. 또한 다른 답변 중 일부는 읽기가 잘못되어 문제를 일으키는 것처럼 들립니다. 그렇지 않습니다. 블록 내부의 비트 썩음은 여기에서 당신을 망치게하는 것이 아닙니다. 보통, 그것은 첫 번째 디스크의 리 실버가 여전히 진행되고있는 동안 당신을 죽일 것입니다. 큰 raidz1에서 며칠, 심지어 몇 주가 걸릴 수 있습니다 새로운 디스크에 다시은을 뿌릴 수 있으므로 그렇게 할 가능성은 중요하지 않습니다.
고객에게 개인적으로 권장하는 것은 750GB가 넘는 디스크와 함께 RAIDZ1 (RAID5와 동등한)을 전혀 사용하지 않는 것입니다. 나는 다른 이유로 인해이 규칙을 위반하는 것이 좋았습니다 (시스템에는 다른 곳에서 백업이 있고 데이터가 그다지 중요하지 않습니다). 그러나 일반적으로 RAIDZ2를 최소 옵션으로 밀어 넣는 것이 가장 좋습니다. 디스크.
또한 여러 가지 이유로 일반적으로 raidz2 스트라이프의 경우 8-12 개 디스크를, raidz3 스트라이프의 경우 11-15 개의 디스크를 사용하지 않는 것이 좋습니다. 3TB 디스크가있는 해당 범위의 최저값에 있어야하고 1TB 디스크의 해당 범위의 최고 값에 대해서는 정상일 수 있습니다. 이렇게하면 리 실버가 진행되는 동안 더 많은 디스크가 고장날 것이라는 생각에서 벗어날 수 있습니다. 그 이유 중 하나 일뿐 아니라 큰 이유입니다.
제정신이 아닌 규칙을 찾고 있다면 (편집 04/10/15-이 규칙은 회전하는 디스크만을 염두에두고 작성했습니다. 또한 논리적이기 때문에 [어떻게 raidz1에서 3 개 이하의 디스크를 하시겠습니까?] SSD 풀에서도 의미가 있지만 모든 SSD 풀은 내 머리에 아무런 문제가 없었습니다.
- 750GB가 넘는 디스크에서는 raidz1을 전혀 사용하지 마십시오.
- raidz1에서 3 개 미만 또는 7 개 이상의 디스크를 사용하지 마십시오.
- 3-disk raidz1 vdev를 사용하려는 경우 대신 3-way 미러 vdev를 고려하십시오.
- raidz2에서 6 개 미만 또는 12 개 이상의 디스크를 사용하지 마십시오.
- raidz3에서 7 개 미만 또는 15 개 이상의 디스크를 사용하지 마십시오.
- 디스크 수에서 IOPS가 증가하는 기존 RAID 어레이와 달리 ZFS에서는 VDEVS 수이므로 더 짧은 스트라이프 vdev를 사용하면 풀 IOPS 가능성이 향상됩니다.
답변
RAID-Z는 R5만큼 좋지 않습니다. R1 또는 R10만큼 우수합니까?
RAID-Z는 R5가 아닌 드라이브의 공백을 인식합니다. 따라서 RAID-Z는 누락 된 디스크를 복구하기 위해 데이터가있는 영역 만 읽어야합니다. 또한 데이터가 반드시 모든 디스크에 걸쳐 스트라이프되는 것은 아닙니다. 매우 작은 파일 은 단일 디스크에만 있고 다른 디스크에는 패리티 가있을 수 있습니다. 이 RAID-5로 인해 어레이에서 사용 된 공간만큼의 데이터를 정확하게 읽어야합니다 (1mb가 5TB 어레이에서 사용되는 경우 재구성은 1mb 만 읽으면 됨).
다른 방법으로, 대부분의 대형 어레이가 가득 찬 경우 대부분의 데이터를 모든 디스크에서 읽어야합니다. R1 또는 R10과 비교하여 정확히 하나의 디스크에서 데이터를 가져와야합니다 (실패한 디스크 당, 어레이를 복구 할 수있는 상황에서만 여러 디스크에 장애가 발생한 경우).
걱정하는 것은 모든 섹터 읽기 작업마다 올바르게 작성되지 않았거나 더 이상 읽을 수없는 섹터를 찾을 수 있다는 사실입니다. 요즘 일반적인 드라이브의 경우 약 1×10 ^ -16입니다 (일부 드라이브는 같지 않으므로 드라이브의 사양을 확인하여 정격을 확인하십시오). 이것은 매우 드물지만 1PB마다 약 1 회 발생합니다. 10TB 어레이의 경우 어레이가 토스트 될 확률이 1 %이며 복구하려고 할 때까지 알 수 없습니다.
ZFS는 또한 어레이를 재구성 하기 전에 읽을 수없는 대부분의 섹터가 눈에 띄기 때문에이 기회를 완화하는 데 도움이 됩니다. ZFS 어레이를 정기적으로 스크러빙하는 경우 스크럽 작업에서 이러한 오류가 발생하여 해결됩니다 (또는 롤링 방식 인 경우 디스크를 교체 할 수 있도록 경고합니다). 엔터프라이즈 급 디스크는 한 달에 약 1 ~ 4 회 문지르는 것이 좋습니다. 소비자 등급 드라이브는 적어도 일주일에 한 번 이상.