본문 바로가기
컴퓨터

[데이터베이스] RAID

by skyjwoo 2020. 6. 17.
728x90
반응형

 

RAID(Redundant Array of Inexpensive Disks): 보조기억장치의 성능과 신뢰성을 향상시키기 위한 디스크 구성 방법이다. 성능 향상을 위해 디스크를 병렬적으로 구성하며, 조합 패턴에 따라 레벨 0, 1, 5로 구분되고 이 패턴들을 한 번 더 조합하여 10, 0+1 등으로 디스크를 구성할 수 있다.

 

RAID 구성 별 특징

 

RAID level 0

Striping을 한다. 이는 여러 개의 디스크를 하나의 디스크처럼 동작하도록 한다는 것이다. 데이터를 디스크의 개수만큼 분할하여 저장하거나 불러온다. 예를 들어 File A를 5개의 disk에 분할하여 저장한다면, A1, A2, A3, A4, A5로 나뉘어져 5개의 disk에 저장될 것이다. 이 데이터를 읽어들일 땐, A1~A5를 각각의 disk에서 불러와 하나로 합한 후(즉, A가 된다.) 읽어들인다. [각주:1] 여기서 다른 건 몰라도 block transfer time은 5배 빨라질 수 있음을 예상해 볼 수 있다. 

또 level 1, level 5에 비해 추가적인 데이터 쓰기가 없으므로, 쓰기 속도가 가장 빠르다고 볼 수 있다. 이렇게 다른 구성에 비해 성능이 좋기에 신뢰성 보단 성능이 많이 요구되는, 읽기, 쓰기가 자주 일어나지만, 그리 중요하진 않은 파일을 관리할 때 자주 쓰인다.

 

 

RAID level 1

단순하게 디스크를 복사하는 방법이다. shadowing, mirroring이라고도 한다. 이렇게 구성하면, 디스크 하나가 깨지더라도 다른 하나로 서비스가 가능하다. 즉, reliability를 보장한다.  쓰기 시에 두 디스크에 모두 작성이 완료되어야 작업이 완료된 것으로 쓰기 성능은 떨어지나, 읽을 때에는 둘 중 빨리 읽은 데이터를 전송하면 되기에 읽기 시에 어느 정도 이득을 취할 수 있다. Log같은 매우 중요한 데이터를 저장할 때 쓰인다.

 

 

RAID level 5

이 방식은 성능과 신뢰성 두 가지를 보장하고자 했다. level 0이 쓴 스트라이핑 방식과 , 디스크 오류를 검출할 수 있는 추가 정보를 기록해 신뢰성을 보장하고자 했다. 이 추가 정보의 예로는 패리티 비트(parity bit)가 있다. 한 디스크에 많은 부하가 가해지는 것을 방지 하기 위해 여러 디스크에 돌아가며 추가 정보를 기록한다. table data처럼, 신뢰도와 성능이 어느 정도 보장된 저장 장치가 필요할 때 쓰인다.

 

RAID level5, p가 붙은건 parity bit이다.

여러 결합 방식이 중첩적으로 쓰인 nested RAID 방식은 10, 0+1, 50 등의 방식이 있으며, 이를 통해 각각의 구성 방식의 한계를 어느 정도 보완할 수 있다. 주로 10, 50 방식이 자주 쓰인다. 

 

RAID 10

RAID 1이 먼저 구성 된 후 이를 RAID 0으로 합한 형태이다. RAID 1 중 하나가 통째로 날라가지 않는 이상 서비스가 가능하다. RAID 1의 신뢰성과 RAID 0의 성능 향상을 어느 정도 얻어낼 수 있다.

RAID 50

RAID 5가 먼저 구성 된 후 이를 RAID 0으로 합한 형태이다. parity bit가 양 쪽에서 병렬적으로 작동 가능하기에 신뢰도가 더 높아졌고, 복구 속도 또한 빨라졌다. 만일 RAID 5만으로 구성했다면, 5개의 디스크에 대한 parity를 구해야 하지만, 여기선 각각 3개의 디스크에서만 구하면 된다. 

 

  1. 데이터를 나누고 합하는 건 RAID controller에 의해 이뤄진다. [본문으로]
728x90
반응형