linux2019. 3. 4. 12:17

SAS 12Gbps

PCIe 기반 확장카드 방식의 SSD

SATA 6Gbps 


RAID는 Redundant Array of Inexpensive Disks 혹은 Redundant Array of Independent Disks의 약자

그 이름에서 유추할 수 있듯 다수의 디스크를 기반으로 하나의 디스크처럼 인식하도록 구성하는 기술을 뜻한다.


RAID 0

일반 사용자들이 RAID라면 가장 먼저 떠올리는 성능 향상용 RAID 방식은 스트라이핑(Striping)이라고도 불리는 RAID 0으로, 각 디스크에 모든 데이터를 나눠 저장하므로 SSD나 하드디스크의 성능을 최대로 쓰면서 용량 낭비도 없고, 두 개 이상의 디스크만 있다면 갯수에 상관없이 구성할 수 있다.


RAID 1

이에 비해 미러링(Mirroring)으로도 불리는 RAID 1의 경우 '거울(Mirror)'이라는 이름처럼 완전히 동일한 데이터를 각각의 디스크에 저장하는 방식으로, RAID 1 구성을 위해서는 두 개 이상의 짝수 디스크가 필요하다.

쉽게 이야기하자면 RAID 1은 디스크에 저장된 내용을 다른 디스크에 실시간 백업하는 것으로 볼 수 있는데, 미러링된 디스크 세트는 특정 디스크에 문제가 발생해도 완전히 똑같은 자료가 남아있으므로 데이터 안정성을 중시할 때 구성하는 방식이다.

RAID 1은 그 특성상 전체 디스크중 절반의 용량을 사용할 수 없고, 쓰기 성능 향상은 기대할 수 없지만, 읽기 성능은 원본과 미러링된 디스크 양쪽에서 불러올 수 있으므로 성능 향상을 기대할 수 있다.


RAID 2/ 3/ 4

앞서 설명한 RAID 0과 RAID 1이 각각 성능과 안정성을 극단적으로 추구한 방식이기 때문에 반대로 안정성과 성능면에서는 서로 부족한 모습을 보이는데, 이를 개선하기 위해 새롭게 등장한 RAID 구성 방식이 있다.

그 중 앞서 개발된 것이 RAID 2/ 3/ 4로, 실제 데이터를 저장하는 디스크는 성능 향상을 위해 RAID 0으로 구성하고, 여기에 데이터 복구를 위한 별도의 디스크가 추가된 형태이다.

RAID 2는 bit 단위, RAID 3은 byte 단위, RAID 4는 block 단위로 데이터를 분산 저장하며, RAID 2는 데이터 복구를 위한 헤밍코드를, RAID 3/ 4는 페리티 코드를 이용하므로 RAID 0이나 RAID 1에서 부족했던 점들이 개선되었지만, 뒤를 이어 개선된 RAID 방식이 등장함에 따라 현재는 사장된 방식이다



RAID 5/ 6

RAID 2/ 3/ 4를 밀어낸 RAID 방식은 바로 Level 5와 Level 6으로, 각각의 디스크에 데이터를 분산 저장하여 성능을 높이면서도 다른 디스크에 저장된 데이터 복구를 위한 페리티 정보를 함께 저장해 안정성을 높인 방식이다.

이렇게 데이터와 페리티 정보가 분산 저장됨에 따라 RAID 2/ 3/ 4 방식에 비해 특정 디스크에 문제 발생시 바로 대처할 수 있는데, RAID 5는 하나의 페리티 정보를 저장하므로 하나의 디스크에 문제 발생시 대처가 가능하지만 두 개의 디스크에 문제 발생시 대처하기가 어렵다.

RAID 6는 페리티 정보를 두 개의 디스크에 저장하므로 두 개의 디스크 고장까지 대응할 수 있지만, 이를 위해 복잡한 연산이 필요하므로 쓰기 작업 구현이 복잡해서 일반적으로 잘 사용되지 않으며, RAID 5는 최소 세 개, RAID 6 구성에는 네 개의 디스크가 필요하다.




현재 주로 쓰이는 RAID 기술은 성능 중시형 RAID 0과 안정성 중시형 RAID 1, 성능과 안정성을 둘 다 고려한 RAID 5가 있지만, 기존에 RAID 2/ 3/ 4와 같이 다양한 방식의 RAID 구성이 가능하다.



기본 RAID의 응용, 01/ 10/ 50/ JBOD

현재 주로 쓰이는 RAID 기술은 성능 중시형 RAID 0과 안정성 중시형 RAID 1, 성능과 안정성을 둘 다 고려한 RAID 5가 있지만, 기존에 RAID 2/ 3/ 4와 같이 다양한 방식의 RAID 구성이 가능하다.

대표적인 것이 바로 인텔 메인보드 칩셋에서도 기본 지원하는 RAID 10(1+0)으로, RAID 1(미러링)로 안정성을 확보한 디스크 세트들을 RAID 0(스트라이핑)으로 성능을 확보하는 방식이며, RAID 01은 그 반대의 경우(스트라이핑 후 미러링)이다. 

또한 RAID 50은 RAID 5를 기반 디스크 세트를 RAID 0으로 더해 안정성을 더한 방식이다.



한편, RAID는 특성상 용량이 다른 디스크를 이용할 경우 더 큰 용량 디스크의 여분 공간을 버리게 되므로 동일한 용량의 디스크를 이용해야 용량의 낭비가 없는데, Spanning으로도 불리는 JBOD(Just a Bunch of Disks)은 서로 다른 용량의 디스크를 마치 하나의 디스크처럼 사용할 수 있도록 해주는 기술이다.



JBOD(Just a Bunch of Disks)

다른 RAID 레벨과 달리 성능이나 안정성면에서 아무런 이득이 없지만 용량 낭비가 없고, 데이터가 각각의 디스크에 순서대로 저장되므로 특정 디스크에 문제가 발생할 경우 해당 디스크에 저장된 자료만 손실되어 RAID 0에 비해 데이터 손실 위험성이 낮다.


출처:

https://m.post.naver.com/viewer/postView.nhn?volumeNo=3410080&memberNo=11608918&vType=VERTICAL

Posted by easy16