본문 바로가기
IT 이야기 - About IT

RAID 란?

by 회사원 주씨 2008. 8. 4.
반응형

0부터 5까지는 0,1,5만 알면 됩니다.
나머지는 비슷한데 약간 기술적부문만 다른것이고
6이상은 기본개념에서 벗어난 팔아먹을려고 억지로 이름붙이는 스타일이라 실제 필드에서는 그런이름 거의 안씁니다.

0 : 스트라이핑
1 : 미러링
5 : 스트라이핑+패리티

위에 세개입니다. 10이런건 그냥 0+1 이거입니다.(스트라이핑+미러링)

먼저 간단히 RAID라는것은 두가지 목적을 위해 사용합니다

디스크속도 개선, 재해대비, 고용량디스크구현 이 주된 목적입니다.

먼저 RAID0
스트라이핑은 디스크여러개를 묶어서 하나처럼 쓰는기술을 말합니다.
대용량의 디스크를 만들수 있고 사용할때 데이터를 분리해서
읽고 쓰기때문에 속도도 빨라집니다.
DISK1 DISK2 DISK3을 RAID0으로 구성을 한다면 데이터가 012345678을 넣는다면

DISK1에 0 3 6
DISK2에 1 4 7
DISK3에 2 5 8
이 들어가게되죠
근데 DISK1,2,3을 동시에 사용하기때문에 읽고 쓰는속도는 3배가 빨라지겠죠 (실제로는 이렇게는 안됩니다.
이것저것 데이타 쪼개주고 하는 계산시간이 들어가기 때문에)
단점은 디스크 하나가 뽀개지면 전부다 날라간다는겁니다.
DISK2가 날라가면 0x23x56x8의 데이터가 남아있게되는데
망가진 데이터는 쓸수가 없죠
이걸 조금이나마 방지하기 위해 RAID5를 사용하구요
이건 패리티체크를 더한건데..패리티에대한내용은...
따로 공부하세요 ^^;

그리고 RAID1은 철저하게..장애대비용입니다.
똑같은걸 두개이상의 디스크에 기록을 하는거죠
DISK1,DISK2를 RAID0으로 구성했다면
12345678의 데이터를 넣으면
DISK1 1 2 3 4 5 6 7 8
DISK2 1 2 3 4 5 6 7 8
똑같이 들어갑니다. 대신 DISK1이나 DISK2가 뽀개지면
다른 하나 쓰면되니까 그거쓰고있으면서 뽀개진 디스크를 교체해서
시간을 벌고 데이터도 살리고 그런 용도지요.

RAID10(1+0)은 1과 0을 합쳐서
속도도 빠르게 하고 대용량 디스크도 만들고..장애대비도하고(그냥 RAID0만 하면 디스크 자주 뽀개집니다 --;;) 이거죠

실제 필드에서는 RAID1+0을 많이 사용합니다.

추가적으로 이런걸 전용으로 구성해서 서버와 디스크를 분리해서 쓰는것장비들이 NAS, SAN 등의 스토리지 입니다.


****************************************************************************************

RAID는 Redundant Array of Inexpensive (or Independant) Disks의 약어이다
RAID 시스템은 여러 드라이브의 집합을 하나의 저장장치처럼 다룰 수 있게 하고, 장애가 발생했을 때 
데이터를 잃어버리지 않게 하며 각각에 대해 독립적으로 동작할 수 있도록 한다.
1988년 버클리의 David Patterson, Garth Gibson, Randy Katz가 SIGMOD에서
"A Case for Redundant Arrays of Inexpensive Disks (RAID)"라는 논문을 발표했다.
이 논문은 데이터와 패리티 정보를 디스크에 배치하는 방법에 따라 디스크 어레이를 분류하고 있는
데, 이것이 이후 RAID level이라고 불리게 된다. 절대적이지도 않고 가능한 모든 아키텍처를 수용하고 있는 것도 아니다.
기본적인 RAID의 개념은 작고 값싼 드라이브들을 연결해서 크고 비싼 드라이브 하나
(SLED: Single Large Expansive Disk)를 대체하자는 것이다.

 기본정의
장애 발생요인을 최대로 제거한 고성능의 무정지 대용량 저장장치
여러 개의 HDD를 하나의 Virtual Disk로 구성하므로 대용량 저장 창치 구축가능
다수의 HDD에 Data를 분할하여 병렬 전송함으로써 전송 속도 향상
시스템 가동 중 Disk Module 고장 시에도 시스템 정지 없이 새 Disk 로 교체하면서 원래의
Data 를 자동복구
기원
1986년 미국U.C.Berkely 컴퓨터 공학과
발표지 : “ A Case for RAID ”
연구자
David a Patterson
Garth Gibson
Randyh Kats 공동발표
목적및 이론의 근거
소량이면서 저가인 PC Type의 Disk Error 에 대한 연구
중복 구성된 Disk Group에 Data를 Byte, Block, Segment 단위로 나누어 병렬로 동시에 기록
Disk의 일부용량에 Data가 아닌 Parity정보를 처리하고 기록
Data Disk가 파손되어도 Host에 서는 RAID내의 Parity 정보를 이용하여 Read/Write 작업을
지속적으로 수행
Fail Disk 교체 시 RAID내에서 Parity정보를 이용하여 Data복구기능을 수행

고 가용성 / 데이터 보호
시스템에 있는 디스크의 수가 증가함에 따라 그중 한 디스크가 장애를 일으킬 가능성도 함께
함께 증가한다. 그러므로 디스크 어레이는 어느 한 디스크의 장애에 면역성을 가져야 한다.
미러링은 간결하지만 실 저장용량의 두배에 해당하는 디스크를 필요로 한다.
인코딩 기법은 요구되는 여분의 디스크 용량을 감소시키기 위해 사용된다.
드라이브 접속성의 증대
운영체제에게 여러개의 물리적 드라이브가 하나의 논리적 드라이브로 보임으로서 논리적
드라이브 수의 제한을 피할 수 있다.
저렴한 비용과 작은 체적으로 대용량 구현
여러개의 소용량 드라이브로 대용량 드라이브를 대체할 수 있다.
지능형 콘트롤러에 의한 유연성
특정 상황에서의 효율성 증가
효율성은 하나의 디스크 입출력 요구에 대하여 여러 디스크에 데이터를 분산시키고 병렬적으로
입출력을 처리함으로서 증가될 수 있다.
데이터 분산에 의한 효율성의 재고
디스크 어레이 (RAID) 의 목적은 데이터 가용성과 총 저장 용량을 증가시키며 여러 물리적
디스크에 데이터를 적절히 분산시킴으로서 효율성을 재고시키는 것이다.


****************************************************************************************

RAID는 본래 하드디스크 가격이 고가이던 시절 저가형 하드를 연결해 하나의 고용량 하드디스크로서 사용하기 위해 나온 기술입니다.
처음 도입은 많은 디바이스 연결이 가능한 SCSI에서 먼저 사용되었고 E-IDE에서는 확장용 E-IDE카드가 출시된 이후 일부 제품에서 도입되었습니다.
현재는 하드디스크 가격이 저렴하기 때문에 RAID의 확장 기능은 그다미 장점이 없다고 할 수 있습니다.
그러나 서버에서 RAID를 사용하는 것은 확장성 보다는 안정성에 큰 의미가 있습니다.

대부분의 E-IDE에서 지원하는 RAID기능은 레벨 0과 1이 대부분입니다.
그러나 서버에서 사용하는 RAID는 레벨 5를 주로 사용하고 있습니다.
레벨 5는 다수의 하드디스크를 하나의 드라이브로 사용함과 동시에 서로 백업역할을 하게 됩니다.
따라서 하나의 하드디스크에 오류가 발생하면 그 하드디스크만 새걸로 교체하더라도 데이터가 자동으로 복구되며
운영을 멈추거나 할 필요가 없기 때문에 안정성이 중요한 서버에서 주로 사용됩니다.

속도만으로 본다면 레벨 5의 RAID시스템은 단일 E-IDE 하드디스크보다 결코 빠르지 않습니다.
따라서 개인 서버를 목적으로 하신다면 RAID구성보다는 단일 드라이브로 E-IDE하드만 늘려주시는 것이 더 효율적입니다.
중요한 데이터라면 다른 하나의 드라이브를 백업으로 설정하시는 것도 좋은 방법중 하나이구요.

굳이 SCSI를 사용하시거나 여러 드라이브를 하나로 묶어서 사용하는 것은 별로 권장할 만한 구성은 아닙니다.
가격이나 성능면에서 여러 드라이브를 사용하더라도 서버 구성차원에서 클라이언트가 단일 드라이브 처럼
사용하는 방법이 많이 나와있으므로 하드웨어 레벨의 구성은 큰 의미가 없습니다

728x90