본문 바로가기
Dev Story 💻/CS

RAID의 구조에 대하여

by 몽테 2022. 8. 28.
반응형

 

RAID란?

RAID란 Redundant Array of Inexpensive( or Independent) Disks의 약자이다.

당장 영어만 읽어보면 무슨 내용인지 감도 잡히지 않지만, 요점은 복수의 저장장치를 하나로 묶어서 하나의 저장장치 처럼 인식시키거나 표시시키는 기술을 뜻한다.

본래의 목적은 저렴한(Inexpensive) 저용량의 디스크 여러 개를 재활용 하여 하나의 비싼 대용량 디스크로 사용하는 것이다. 예를 들자면, 10개의 500GB의 하드디스크를 가지고 마치 1개의 5TB의 하드디스크 처럼 사용하는 것이다.

 

 RAID구성을 하게되면 큰 이점이 있다.

특정 HDD가 고장이 났다고 하더라도, 그 HDD를 교체하는 것만으로도 바로 원래대로 데이터를 복구 할 수 있다. 심지어 HDD교체나 복구중에도 다른 HDD에는 문제가 없기 때문에, 데이터에는 문제없이 접근이 가능하다.

또 다른 이점으로는 디스크 I/O의 성능이 향상된다.

RAID에는 PC로부터 받아온 데이터를 자동으로 분산하여 복수의 HDD에 한번에 쓰는 기능이 있다.

분산하여 복수의 HDD에 데이터에 한번에 쓰는 것은, 1개씩 HDD에 차례로 쓰는 것 보다 성능이 우수할 수 밖에 없다.

 

 쉽게 말해서 RAID의 장점은

  • 디스크 I/O의 고속화
  • 데이터 안정성 확보
  • 디스크 용량 증설의 용이함

등이 있다.

 

먼저 RAID에 대하여 이해하기 위해서는 Striping과 Mirroring에 대하여 미리 숙지해 두는 것이 좋다.

  • 스트라이핑 : 성능 향상을 위해 논리적으로 연속된 데이터 세그먼트들이 물리적으로 여러개의 디스크 드라이브에 round-robin방식으로 나누어 저장되는 것이다. 프로세서가 하나의 디스크에서 공급하거나 받아들일 수 있는 것보다 더 빠르게 데이터를 읽거나 쓸 수 있는 능력이 된다면, 스트라이핑 방식은 매우 유용한 기술이 된다.
    데이터는 여러개의 드라이브에 걸쳐 일정크기의 바이트 또는 섹터별로 나뉘어 기록되며, 서로 겹쳐서 읽거나 쓸 수 있도록 설계된 네 개의 드라이브가 있다면, 보통 하나의 섹터를 읽을 수 있는 시간에 네 개의 섹터를 동시에 읽는 것이 가능하다.
  • 미러링 : 장비가 고장나는 사고가 발생하였을 경우, 데이터가 손실되는 것을 막기 위하여, 데이터를 하나 이상의 장치에 중복 저장하는 것이다. 이러한 기법은 하드웨어 또는 소프트웨어에 의해 구현될 수 있다. 즉, 신뢰성 확보를 위해 사용하는 것이 미러링이다.

RAID LEVEL

- RAID 0

https://www.techtarget.com/searchstorage/definition/RAID

RAID 0에서는 스트라이핑을 이용하여 데이터를 블록 단위로 분할해, 복수의 디스크에 분산하고 배치하는 것으로, 입출력 속도가 빨라진다. 하지만 데이터 복구를 위한 것이 따로 구비되어 있지 않아, 1개의 HDD에 장애가 발생하더라도 데이터를 복구할 수 없게 되어 안정성의 향상은 실현될 수 없다.

 

- RAID 1

https://www.techtarget.com/searchstorage/definition/RAID

RAID 1은 미러링 방식을 이용하여 같은 데이터를 복제하고 2개의 디스크에 쓰는 방식이다.

어느 한쪽의 HDD가 고장났다고 해도, 미러링된 디스크로 복구 가능하여 신뢰성이 높은 것이 가장큰 특징이다.

반면, 같은 데이터를 2대의 HDD에 쓰기때문에, 용량 코스트가 배가 된다는 단점을 가지고 있다.

 

- RAID 2

https://www.techtarget.com/searchstorage/definition/RAID

RAID2는 ECC(Error Correction Code, 오류 정정 코드) 정보가 저장되는 일부의 디스크를 포함하여 디스크 간 스트라이핑 구성을 사용한다. RAID 3이상의 레벨에 비해 이점이 없기 때문에 더 이상 사용되지 않는 구성이다.

 

- RAID 3

https://www.techtarget.com/searchstorage/definition/RAID

이 기술은 스트라이핑 방식을 사용하고 한개의 드라이브를 패러티(Parity) 정보를 저장하기 위한 전용 드라이브로 사용한다. 내장된 ECC 정보는 오류를 검출하는 데 사용되고, 패러티 디스크를 사용하여 데이터 복구가 가능하다.

패러티(Parity)  : 디스크 장애 시 데이터를 재구축하는데 사용할 수 있는 사전에 계산된 값. 어느 한 쪽 HDD가 고장난 때에도, 거기서 잃어버린 분의 데이터를 패리티로부터 생성할 수 있다.

 

- RAID 4

https://www.techtarget.com/searchstorage/definition/RAID

RAID 3와 구성은 비슷하지만 RAID 3은 데이터를 바이트 단위로 나누어 디스크에 동등하게 분산 기록하지만, RAID 4는 데이터를 블록 단위로 나눠 기록하므로 약간의 차이는 존재한다.

RAID 4 역시 스트라이핑을 사용하며, 한개의 드라이브를 패러티 정보를 저장하는데 사용한다.

패러티 전용 디스크의 병목현상의 위험성이 존재한다.

 

- RAID 5

https://www.techtarget.com/searchstorage/definition/RAID

RAID 5 는 3개 이상의 디스크를 한개의 디스크 처럼 사용하고(성능을 위하여 일반적으로 5개), 패러티 정보를 모든 디스크에 스트라이핑 하여 분산하여 기록한다. 1대의 디스크가 고장나더라도 다른 디스크를 통하여 복구가 가능하지만 2대의 디스크가 고장났을 경우 복구가 불가능하다.

별도의 패러티 전용 디스크를 사용하는 것이 아니기 때문에 병목현상이 없어 멀티 프로세스 시스템과 같이 작은 데이터 기록이 수시로 발생할 경우 속도가 더 빠르다.

1대의 디스크가 깨진 상태에서도 가동이 가능하므로 고장에 대한 내성은 높아지지만, 패리티를 연산할 때 CPU에 부하가 걸린다는 단점이 있다.

 

- RAID 6

https://www.techtarget.com/searchstorage/definition/RAID

기본적으로 RAID 5와 비슷한 구성이지만 한개의 패러티에 대한 2차 패러티를 추가로 생성해 스트라이핑 한다.

패러티를 이중으로 저장하기 때문에 RAID 5와 다르게 2개의 디스크에 장애가 생겨도 복구를 할 수 있는 안정성이 장점이다.

다만, 생성되는 패리티가 증가하기 때문에 성능이나 용량 효율이 RAID 5보다 뒤떨어지는 점이 단점이다.

 

중첩 RAID

각각의 RAID 레벨의 단점을 보완하기 위하여, 서로다른 RAID 레벨을 조합하여 사용하는 RAID 레벨

- RAID 10 (RIAD 1+0)

https://www.techtarget.com/searchstorage/definition/RAID

RAID 1과 RAID 0의 결합으로 RAID 10으로 불리며, RAID 0 의 빠른 속도와 RAID 1 의 안정적인 복구 기능을 합쳐 놓은 방식으로 최소 4개의 디스크로 구성되어 보다 높은 성능을 제공하지만 비용이 훨씬 더 많이 든다. RAID 1+0에서는 데이터를 미러링을 한 후에 스트라이핑으로 묶는다.


Reference

https://www.elecom.co.jp.k.gj.hp.transer.com/pickup/column/storage_column/00003/
https://www.techtarget.com/searchstorage/definition/RAID
https://www.dknyou.com/blog/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=7342927&t=board
반응형

'Dev Story 💻 > CS' 카테고리의 다른 글

통합인증, SSO (Single Sign-On)에 대하여  (0) 2022.08.27

댓글