RAID란? [출처 : IT 용어사전 ]
데이터를 분할해서 복수의 자기 디스크 장치에 대해 병렬로 데이터를 읽는 장치 또는 읽는 방식. 1987년 캘리포니아 대학 버클리 분교의 패터슨, 깁슨, 카츠에 의해 발표되어 논문 ‘A Case for Redundant Arrays of Inexpensive Disks’에서 등장한 기술이다. 1~5단계로 제안된 자기 기억 장치의 새로운 기술과 SLED(single large expensive disk)를 비교하여 설명하였다. 그 후로 여러 업체에서 제안한 0, 6, 10수준 등이 있다. 여러 디스크를 병렬로 연결하여 사용하는 기법으로서 접근(access) 속도와 데이터 보존 신뢰가 우수할수록 높은 등급을 받는 5단계로 구분된다.
쉽게 설명하면, 하드디스크 여러대를 가지고 하나 처럼 사용하는 모드, 데이터 보관의 안전성을 위해서 미러링을 하는 모드, 두 가지를 합한 모드, 속도로 빠르게 하기 위해서 병렬적으로 데이터를 저장하는 모드 등 다양하게 있습니다. 보통 RAID는 여러대의 하드디스크를 동시에 데이터를 분할 해서 저장하기 때문에 빠른 속도를 낼 수 있습니다. 이러 모드가 있는데, 현재에는 더 많이 개발되어서 자신에 용도에 맞는 모드를 선택하면 됩니다.
아래는 RAID 모드를 설명한 것입니다.
RAID는 구현되는 기술에 따라 RAID 0 (stripe), RAID 1(mirroring), RAID 5, RAID 0+1,
RAID 1+0 으로 나누어진다.
RAID 0 (stripe)
1+1=2
간단하게 말해서 위에 숫자처럼 1과 1이 더하면 2가 되는 형식이다.
두개 이상의 디스크가 필요하고 준비된 디스크의 모든 용량을 사용하는 방식
퍼포먼스는 높으나 안정성은 말할 필요도 없이 심하게 불안정하다.
※ 안정성에 관한 이유는 당연히 백업되는 디스크가 없기때문
문제 발생시?? 심하게 곤란하기 때문에 실제로는 잘 안쓰인다.
정말로 돈이 궁하지 않은 경우를 제외하고는 잘 쓰려고 하지 않는다. ㅎㅎ
(가정용 PC에 경우는 포멧하고 다시 install 하면 끝!인 문제이긴 하나 실제 서버에서는
그런 말도안되는 경우는 곤란하기 때문에 요즘은 거의 안쓰인다. -_-;; )
그러나 압도적인 속도는 말하나 마나 들으나 마나다ㅎㅎ
RAID 1 (mirror)
1+1=1
두개이상의 디스크를 붙여서 하나의 디스크처럼 사용하는건 위의 RAID 0과 같지만
위의 raid0 과는 다르게 두개의 디스크중에 절반가량의 용량을 실제 가용용량으로
정하고 나머지 절반의 용량은 백업에 쓰인다는게 틀리다.
(간단하게 생각하면 두개의 디스크중 하나는 실제 사용하는 디스크이고 다른 하나는
백업용 디스크라고 생각하면 이해가 빠르다! -_-;;)
예를 들어 실제 사용되는 디스크에 "20070623.dat" 라는 데이터 파일이 있다고 하면
다른 디스크에는 똑같은 "20070623.dat"라는 복사된 데이터 파일이 같이 존재하게 된다.
I/O퍼포먼스는 RAID 0 보다 상당히 떨어지고 안정성은 높은 편이다.
※ 하나의 디스크가 깨지거나 에러가 발생할 경우 복사된 데이터 파일을 이용해서
복구가 가능하다.
RAID 5
1+1+1=2
세개이상의 디스크를 붙여서 하나의 디스크처럼 사용하고 각각의 디스크는 패리티 정보를
가지고 있어 하나의 디스크가 깨져도 다른 두개의 디스크를 이용해서 깨진 디스크를 복구
시킬 수 있다.
그림을 그려서 이해하면 좋은데 상황이 그렇지 못하고 그림을 못그리니 그냥 아래의
글을 그림이라고 생각하고 이해하도록 하자 -_-
[diskname] disk1 disk2 disk3
[datasector1] A C E
[datasector2] B D F
[parity info] C+F E+A B+E
지금부터 이해를 돕기 위해 위의 내용을 한덩이씩의 disk라고 생각하자 !! -_-
일단 disk 1 의 데이터가 깨져서 disk 1를 사용하지 못하게 된다고 치자!!
그럼 가용 데이터중의 A, B 부분을 못쓰게 되는 것과 같다.
하지만!! 그 내용은 disk 2 와 disk 3 의 [parity info]에서 가지고 있는 것을 볼 수 있다.
그럼 이제 가능한 모든 방법으로 disk 1을 복구시키거나 대체하여 새로운 disk 1을 생성하고
나머지 disk2와 disk3의 parity info 부분의 A와 B를 복사하면 문제가 해결된다.
이 방법은 우리나라에서 가장 많이 사용하는 부분이기도 하고
I/O 퍼포먼스나 안정성면에서 적당한 수준에 있어 많이 사용한다.
※ 지금까지의 내용은 참 무적의 RAID 기술인 것 같지만 단점은.. 존재한다.
세개의 디스크로 RAID 5를 구성시에 두개이상의 디스크가 깨지면 답이 없다는 것.ㅎㅎ
자주는 아니지만 은근히 많다. -_-;;
RAID 1+0
1+1+1+1=2
말 그대로 RAID 0 기술과 RAID 1기술의 복합체이다.
네개 이상의 디스크를 2개씩 RAID 1 기술로 묶고 RAID 0기술로 다시 묶는다.
내용은 위에 언급했던 RAID 기술과 다를게 없다.
하지만 mirroring 에서 끝나는게 아니라 mirroring 된 두개의 디스크를 다시 striping 시켜서
퍼포먼스를 향상 시킨다.
이 방법으로 RAID 0 (stripe)의 중요한 단점인 안정성의 불안을 없앨수 있고
RAID 1(mirror)의 최대 단점인 퍼포먼스를 대폭 향상 시킬수 있다.
※ 최고의 안정성과 높은 퍼포먼스를 보장하지만 RAID를 이용하는데 많은 비용이
소모된다.
RAID 0+1
1+1+1+1=2
말 그대로 RAID 0 기술과 RAID 1기술의 복합체이다.
네개 이상의 디스크를 2개씩 RAID 1 기술로 묶고 RAID 0기술로 다시 묶는다.
내용은 위에 언급했던 RAID 1+0과 동일하다.
역시 동일하게 RAID 0 (stripe)의 중요한 단점인 안정성의 불안을 없앨수 있고
RAID 1(mirror)의 최대 단점인 퍼포먼스를 대폭 향상 시킬수 있다.
여기서 중요한건! 0+1 이라고 해서 stripe 된 다음 mirroring 되는게 아니라
mirroring 된 다음 stripe 된다는 것이 중요하다!
※ 최고의 안정성과 높은 퍼포먼스를 보장하지만 RAID를 이용하는데 많은 비용이
소모된다.
RAID 1+0 과 RAID 0+1 은 비슷해 보이나 RAID 1+0을 선호하는 편이다.