RAID - 레이드 개념
RAID - 레이드 개념
레이드란? |
RAID(Redundant array of independent/inexpensive disks)는 여러 개의 드라이브를 하나의 논리적인 유닛으로 묶어주는 저장 기술이다
RAID는 여러 가지 형태로 결합시켜 하나의 디스크처럼 사용할 수 있도록 하면서, 신뢰성 혹은 성능 또는 둘 다를 향상시키는 저장장치 관리방법이다 보통 서버의 디스크를 구성할때 사용한다
레이드는 스트라이핑(Striping, 분산), 미러링(Mirroring, 중복), 패리티(Parity, 무결성)의 근원이 되는 기술로 이루어지며 세가지 기술을 적용하느냐에 따라 레벨이 나누어 진다
* HW RAID OR SW RAID
RAID는 HW RAID와 SW RAID로 나뉜다 서버를 세팅하기전에 RAID는 HW RAID이고 Soft RAID는 파티션이다
HW RAID
DISK단위, 안전이 높지만 가격이 비싸다
SW RAID
파티션 단위이며 OS에서 지원, 비용은 저렴하지만 신뢰성과 속도는 HW RAID보다 낮다
1. RAID 0 (Striping) - 스트라이핑(분산) |
스트라이핑은 데이터를 여러 개의 디스크에 분산하여 저장 하는 것을 의미
이러한 분산은 하나의 디스크에 담을수 없는 용량의 데이터를 여러 개의 디스크에 분산시키는 것으로 보다 큰 용량을 구성하려는 목적을 가진 레이드의 핵심이며, 스트라이핑 방식은 두가지로 나뉩니다.
1-1 묶음 - 스펜(Span) |
하나의 디스크가 다차면 다른 디스크에 이어서 데이터를 기록하는 방식
이러한 특성으로 인해 분산을 통한 성능은 없으며 여러개의 디스크를 하나의 공간으로 묶는 것으로만 목적을 하고 있다.
1-2 분산 - 스트라이프(Stripe) |
데이터를 쪼개서 여러 개의 드라이브에 나누어 동시에 기록하는 방식
스트라이프는 여러 개의 디스크를 하나의 공간으로 묶는 것 외에 여러 개의 디스크에 동시에 데이터를 기록하기 때문에 디스크를 하나만 사용할 때보다 높은 성능을 낼 수 있으며 이는 하나의 디스크에 데이터를 쓰는 동시에 다른 디스크에도 데이터를 쓰기 때문에 그만큼 빠른 처리가 가능하다 반대로 데이터를 읽을 때에는 여러 디스크에 나누어진 데이터를 동시에 읽어오기 때문에 그만큼 빠른 처리가 가능한 것이며, 단일 디스크 사용할 때보도 성능상으로 큰 이점을 가진다
* 다만 데이터를 쪼개서 여러 개의 디스크에 나누어 저장하는 특성으로 인해 하나의 디스크에 장애가 발생하면 모든 디스크의 데이터가 쓸모 없어지는 가장 큰 단점이 있다 이러한 단점을 해결하기 위해서 미러링방식과 패리티방식이 존재한다
2. 중복 - 미러링 |
미러링은 하나의 데이터를 두 개의 디스크에 중복하여 저장하는것을 의미한다
3. 무결성 - 패리티(Parity) |
패리티는 데이터의 무결성을 확하는 오류 체크 기술로 데이터의 장애가 발생하게 되면 저장된 패리티를 통해 데이터를 복구할 수 있다
데이터와 해당 데이터에 대한 패리티가 함께 저장되며 특정 디스크의 장애로 인하여 데이터를 읽어버린 경우가 발생하여도 패리티를 통해 잃어버린 데이터를 복구한다
스트라이핑 기술과 함께 사용하며 패리티의 저장 방식에 따라 여러가지 레벨로 나누어 진다
이러한 데이터의 패리티를 생성하고 패리티를 통해 데이터를 복구하는 작업에는 XOR 연산이 필요하게되며 데이터를 저장하고 복구하는데 성능 저하가 일어나 이를 해결하기 위해 레이트 컨트롤러는 전용 XOR 연산 프로세서를 포함하는 것이 보통이다