ZFS RAIDZ에 대한 IOPS 계산이 RAID5 및 RAID6에 대한 IOPS 계산과 다릅니 까? IOPS 디스크 수 더 많은 디스크는 더 많은

기존 RAID 어레이에 대한 IOPS를 계산할 때 다음 공식을 사용할 수 있습니다 ( Symantec Connect 에서 IOPS v1.3 중단하기에서 차용 ).

Ieffective = (n * Isingle) / (READ% + (F * WRITE%))

어디:

  • 효과적인 IOPS 수입니다
  • Isingle은 단일 드라이브의 평균 IOPS 입니다.
  • n은 어레이의 디스크 수
  • READ %는 디스크 프로파일 링에서 가져온 읽기 비율입니다.
  • WRITE %는 디스크 프로파일 링에서 가져온 쓰기의 비율입니다.
  • F는 RAID 쓰기 패널티입니다 .

    RAID Level      Write Penalty
    RAID-0          1
    RAID-1          2
    RAID-5          4
    RAID-6          6
    RAID-10         2
    RAID-DP         2
    

공식은 본질적으로 다음의 함수입니다.

  • 어레이의 각 개별 드라이브에 대한 IOPS
  • 디스크 수 더 많은 디스크는 더 많은 IOPS를 의미합니다
  • 각 쓰기 작업에 대한 RAID 패널티.
    • RAID5 및 RAID6에는 모든 쓰기 작업에 4 개 이상의 디스크 작업이 필요합니다. 컨트롤러는 블록을 읽은 다음 패리티 데이터를 읽고 (두 작업) 새 패리티 데이터를 계산 한 다음 패리티 블록을 업데이트하고 데이터 블록을 업데이트해야합니다 (두 번 더). RAID6에는 2 개의 패리티 블록이 있으므로 3 개의 읽기와 3 개의 쓰기가 필요합니다. 따라서 RAID5 및 RAID6 어레이는 RAID1보다 적은 IOPS를 수행 할 수 있습니다.
    • RAID1 및 RAID10은 미러의 각 디스크에 하나씩 2 개의 쓰기 만 필요합니다.

그리고 분명히, 이것은 모두 이론적 성능 의 추정치 를 제공합니다 . 다양한 컨트롤러와 RAID 방법에는이 중 일부 속도를 높이는 트릭이 있습니다.

RAID5 및 RAID6에 해당하는 ZFS는 RAIDZ 및 RAIDZ2입니다. RAIDZ 어레이에 대한 IOPS를 계산할 때 RAID5 및 RAID6에 사용하는 것과 같은 공식을 사용하거나 ZFS에 쓰기 작업에 필요한 작업 수를 줄이는 특별한 방법이 있습니까?

RAIDZ 어레이의 IOPS를 계산할 때 사용할 다른 공식이 있습니까?



답변

대답하기가 더 쉽습니다 …

그것은 모두 여기에 증류수 것 : ZFS의 RAID 권장 사항 : 공간, 성능, MTTDLZFS, Vdevs 및 성능에 대해 자세히 살펴

  • 하나의 패리티 드라이브가있는 RAIDZ는 단일 디스크의 IOPS 성능을 제공하지만 단일 디스크의 n-1 배 집계 대역폭입니다.

따라서 확장이 필요한 경우 RAIDZ vdev의 수로 확장 할 수 있습니다. 예를 들어 16 개의 디스크를 사용하면 4 개의 디스크로 구성된 4 개의 디스크 RAIDZ가 8 개의 디스크로 구성된 2 개의 RAIDZ보다 IOPS 가능성이 더 높습니다.

놀랍지 않나요?

일반적으로 ZFS 설치시 스트라이프 미러 (RAID 1 + 0)를 사용합니다. 같은 개념이 적용됩니다. 미러 쌍이 많을수록 성능이 향상됩니다.

ZFS에서는 전체 vdev 단위로만 확장 할 수 있습니다. 따라서 RAID 1 + 0 세트의 확장은 더 많은 쌍을 추가하는 것을 의미하지만, RAIDZ 세트에 대해 동일한 작업을 수행한다는 것은 동일한 컴포지트의 RAIDZ 그룹을 더 추가하는 것을 의미합니다.