RAID 유형을 선택할 때는 디스크 성능과 애플리케이션 IOPS에 미치는 영향을 고려해야 한다.
미러와 패리티 RAID 구성에서는 쓰기 연산이 더 많은 I/O 부하를 가져온다. 이를 write penalty라고 한다.
RAID 1에서는 모든 쓰기 연산이 미러 쌍을 이루는 두 디스크에서 모두 이뤄져야 한다.
RAID 5에서 쓰기 연산은 4개의 I/O 연산을 수행하고, I/O를 수행하면 컨트롤러는 모든 쓰기 연산마다 패리티 세그먼트를 읽고 재계산하여 써야 한다.
컨트롤러의 패리티는 다음과 같이 계산한다.
Ep = E1 + E2 + E3 + E4 (xor 연산)
컨트롤러가 I/O 쓰기를 수행할 때 마다 이전 패리티(Ep old)와 이전 데이터(E4 old)를 디스크로부터 읽어야 한다. 이것이 2개의 read I/O다.
그 이후 새로운 패리티(Ep new)를 다음과 같이 계산한다.
Ep new = Ep old - E4 old + E4 new (xor 연산)
새 패리티를 계산 후, 새 데이터와 패리티를 디스크게 기록한다. 이것이 2개의 write I/O다.
따라서 컨트롤러는 매 쓰기 연산마다 2개의 읽기와 2개의 쓰기를 발생시키며 쓰기 패널티는 4이다.
RAID 6에서는 듀얼 패리티를 사용하기 때문에 디스크 쓰기에 3개의 읽기 연산이 필요하다. (패리티 2개와 데이터 1개) 2개의 패리티를 계산 후 컨트롤러는 3개의 쓰기 연산(패리티 2개와 데이터 1개)를 수행하므로, RAID 6에서는 각 쓰기당 6개의 I/O 연산이 발생되고, 쓰기 패널티는 6이다.
'OS & Container > Storage' 카테고리의 다른 글
스토리지 시스템 컴포넌트 (0) | 2022.03.21 |
---|---|
RAID 정리, 핫 스페어 (0) | 2022.03.18 |
RAID 레벨 (0) | 2022.03.15 |
RAID Array 구성요소, 기술 (0) | 2022.03.08 |
NCQ와 Flash Drive (0) | 2022.03.02 |