스트라이프 크기는 스트립 크기와 RAID 집합에 있는 데이터 디스크 개수의 곱이다. 예를 들어, 스트라이핑된 RAID에 5개의 디스크가 있고 스트립 크기가 64KB라면, 스트라이프의 크기는 320KB(64KB X 5)가 된다. 스트라이프 너비(stripe width)는 스트라이프 안에 있는 데이터 스트립의 개수를 말한다. 바로 다음에 설명할 패리티나 미러링을 사용하지 않는 경우 스트라이프 RAID 자체는 데이터 보호 기능을 제공하지 않는다.
미러링(mirroring)은 같은 데이터를 2개의 디스크에 저장해 데이터 사본을 2개 만드는 기술이다. 한 디스크 드라이브가 고장 나더라도 살아 있는 디스크 드라이브의 데이터는 손상되지 않고 컨트롤러는 미러 쌍의 살아 있는 디스크를 사용해 호스트의 데이터를 요청을 계속 처리할 수 있다.
고장 난 디스크를 새 디스크로 교환하면 컨트롤러는 미러 쌍의 살아 있는 디스크에서 데이터를 복사한다. 이 작업은 호스트가 알지 못하게 수행된다.
완전한 데이터 중복을 제공하는 거 외에도 미러링은 디스크 고장으로부터 빠르게 복구할 수 있게 해준다. 그러나 디스크 미러링은 데이터 보호를 제공하는 것이지 데이터 백업을 대체하기 위한 것은 아니다. 미러링은 데이터 변경 사항을 계속 감시하는 반면에 데이터 백업은 특정 시간의 데이터를 저장하는 것을 말한다.
미러링은 데이터 중복을 발생시켜, 데이터를 저장하는 데 저장 용량이 두 배가 필요하다. 따라서 미러링은 비용이 많이 들며, 데이터 손실의 위험을 감수할 수 없는 중요한 애플리케이션에서 사용한다. 미러링을 사용하면 두 디스크에서 읽기 요청을 처리할 수 있어 읽기 성능을 향상시킬 수 있다. 그러나 쓰기 요청을 두 디스크에서 수행해야 하기 때문에 쓰기 성능은 약간 저하될 수 있다. 미러링은 스트라이프 RAID와 동일한 수준의 쓰기 성능을 제공하지 못한다.
패리티(parity)는 미러링 비용 없이 디스크 드라이브 고장으로부터 스트라이핑된 데이터를 보호하기 위한 방법이다. 손상된 데이터를 복구하기 위한 수학적인 요소인 패리티를 저장할 디스크 드라이브가 1개 추가된다. 패리티는 데이터 전체의 복사본을 유지하지 않고도 데이터를 보호할 수 있는 중복 기술이다. RAID 컨트롤러가 패리티를 계산한다.
패리티 정보는 별도의 전용 디스크 드라이브에 저장되거나 RAID 집합의 모든 드라이브에 분산해 저장할 수 있다. '데이터 디스크'라고 돼 있는 디스크는 데이터를 저장한다. '패리티 디스크'라고 돼 있는 디스크는 패리티 정보를 저장한다. 각 행에 있는 요소의 합을 저장하기도 한다. 이제 한 데이터 디스크가 고장 나면 손상된 값은 패리티 값에서 나머지 요소 값의 합을 빼서 계산할 수 있다. 여기서는 간단히 설명하기 위해 데이터의 합으로 패리티 값의 계산을 표현했다. 그러나 패리티 계산은 XOR 비트 연산을 사용한다.
패리티 기술은 미러링에 비해 저렴한 비용으로 구현할 수 있다. 4개의 데이터 디스크와 1개의 패리티 디스크로 구성된 패리티 RAID를 생각해보자. 100%의 추가 공간을 필요로 하는 미러링에 비해 이런 패리티 구성은 25%의 추가 디스크 공간만을 필요로 한다. 그러나 패리티에도 몇 가지 단점이 있다. 패리티 정보는 데이터 디스크의 데이터를 사용해 만들어진다. 따라서 데이터가 변경될 때마다 패리티를 다시 계산해야 한다. 이 재계산은 시간이 걸리며 RAID 어레이의 성능에 영향을 미친다.
패리티 RAID에서 스트라이프 크기를 계산할 때는 패리티 스트립을 포함하지 않는다. 예를 들어 64KB 스트립 크기의 5개(4 + 1) 디스크 패리티 RAID 집합에서 스트라이프 크기는 256KB(64KB X 4)이다.
-RAID 레벨
RAID 레벨을 선택할 때는 애플리케이션 성능과 데이터 가용성 요구 조건, 비용을 고려해야 한다. RAID 레벨은 스트라이핑과 미러링, 패리티 기술로 결정된다. 어떤 RAID 레벨은 한 기술만 사용하는 반면에, 또 어떤 레벨은 여러 기술을 조합해 사용한다.
레벨 | 설명 |
RAID 0 | 장애 복구 기능이 없는 스트라이핑된 집합 |
RAID 1 | 디스크 미러링 |
중첩 | RAID 레벨의 조합. 예: RAID 1 + RAID 0 |
RAID 3 | 병렬 액세스가 가능한 스트라이핑된 집합과 전용 패리티 디스크 |
RAID 4 | 독립 디스크 액세스를 사용하는 스트라이핑된 집합과 전용 패리티 디스크 |
RAID 5 | 독립 디스크 액세스를 사용하는 스트라이핑된 집합과 분산 패리티 |
RAID 6 | 독립 디스크 액세스를 사용하는 스트라이핑된 집합과 듀얼 분산 패리티 |
RAID 0은 데이터가 RAID 집합의 모든 디스크에 데이터를 스트라이핑하는 구성이다. 따라서 RAID 집합의 모든 디스크 공간을 사용할 수 있다. 데이터를 읽을 때는 컨트롤러가 모든 스트립을 모으는 역할을 한다. RAID 집합의 드라이브 개수를 늘리면 동시에 읽거나 쓸 수 있는 데이터의 양이 증가하기 때문에 성능이 향상된다. RAID 0은 높은 I/O 처리량이 필요한 애플리케이션에 적합하다. 그러나 디스크 고장 시에도 높은 가용성이 필요한 경우 RAID 0은 데이터 보호나 가용성을 제공하지 못한다.
RAID 1은 미러링 기술을 사용한다. 이 RAID 구성에서는 장애 복구 기능을 제공하기 위해 데이터를 미러링한다. RAID 1 집합은 2개의 디스크 드라이브로 구성되며, 모든 쓰기는 두 디스크에 모두 기록된다. 미러링은 호스트가 알지 못하게 이뤄진다. 디스크 고장이 발생하는 경우 RAID 1은 모든 RAID 구성 중에서 데이터 복구의 부하가 가장 작다. 이는 데이터 복구는 RAID 컨트롤러가 미러 디스크를 사용하는 것으로 이뤄지기 때문이다. RAID 1은 높은 고가용성이 요구되며 비용 제한이 없는 경우에 적합하다.
'IT > Storage' 카테고리의 다른 글
컴퓨트 가상화와 연결 (0) | 2022.06.29 |
---|---|
파일 시스템 -2- (0) | 2022.06.29 |
RAID (0) | 2022.06.29 |
볼륨 매니저와 파일 시스템 (0) | 2022.06.29 |
DBMS와 호스트 (0) | 2022.06.29 |