728x90
반응형
맨 위로 올라가기
RAID(Redundant Array of Independent Disks)

 

RAID 는 Redundant Array of Independent Disks(독립적인 디스크의 중복 배열)의 약어로

여러 개의 디스크 드라이브를 하나의 논리적인 단위로 묶어서 데이터를 저장하는 기술이다.

 


이를 통해 데이터의 안정성과 성능을 개선하고 데이터 손실 위험을 감소 시킬 수 있다.
RAID는 주로 서버나 스토리지 시스템에서 사용되며, 여러가지 수준이 있다.

 

RAID의 기본 아이디어는 여러 개의 하드 디스크를 사용하여 데이터를 분산시키고,
하나 이상의 디스크가 고장 날 경우에도 데이터 손실 없이 복구 할 수 있도록 하는 것이다.(고가용성)

이를 위해서 RAID는 다양한 방식의 Layout, 디스크 개수 및 미러링 방식 등을 사용한다.

 

예를 들어, 온라인 쇼핑몰을 운영하고 있는 A라는 사람이 있다고 가정하자.

이 쇼핑몰에서는 많은 양의 상품 정보와 고객 주문 정보를 데이터베이스(Database)에 저장하고 있다.
이 데이터베이스에는 많은 디스크가 필요하며, 데이터의 안정성과 신뢰성이 매우 중요하다.

만약 이 상인이 RAID 5 기술을 사용하여 데이터를 저장한다면, 여러 개의 디스크를 사용하여 데이터를
분산 저장할 수 있으며, 어느 한 디스크가 고장 나더라도 데이터를 복구 할 수 있다.
이를 통해 데이터의 안정성과 신뢰성을 보장할 수 있다.
또한, RAID 5는 디스크의 손상이 발생할 경우 데이터를 복구하는 시간을 최소화하여서 서비스를 중단시키지
않도록 도와준다.

따라서 RAID 기술은 온라인 쇼핑몰과 같이 많은 양의 데이터를 다루는 서비스를 운영하는 기업들에게
매우 유용한 기술이 될 수 있다.

 


RAID LEVEL의 종류와 설명

 

LEVEL 설 명
RAID 0
(Striping, Concatenate)
디스크 스트라이핑 방식으로 데이터를 분산 저장한다.
데이터의 처리 속도가 2배 이상 빨라져 입출력 성능이 향상된다.

** Disk Striping:
여러 개의 디스크를 하나의 논리적인 디스크로 연결하여 데이터를 분산 저장
하지만 한 개의 디스크에 문제가 발생하면 해당 디스크에 저장된 모든 데이터가 손실됨
따라서 디스크 스트라이핑 사용할 때는 데이터의 안정성 보다 속도와 용량을
중요시하는 경우에 적합함(장애에 취약함)
RAID 1
(Mirroring)
미러링 방식으로 디스크에 동일한 데이터를 복제하여 저장한다.
이를 통해 디스크 고장 시 데이터를 보호할 수 있다.
하지만 저장 공간의 절반 이상을 사용하게 되므로, 저장 공간 효율성은 낮아진다.

** Mirroring:
두 개의 디스크를 하나의 논리적인 디스크로 연결하여, 두 디스크에 동일한 데이터 저장
디스크에 문제가 발생하여 데이터가 손실되어도 다른 디스크에 저장된 동일한 데이터를
사용할 수 있기 때문에, 데이터의 안정성을 높일 수 있음
이러한 미러링을 사용하면 디스크를 복제하기 때문에 디스크의 용량은 실제 용량의 반으로
줄어들기 때문에 중요한 데이터를 저장하는 서버나 데이터베이스에서 많이 사용된다.

RAID 2
(Hamming Code)
스트라이핑 기술을 이용하여 여러 개의 디스크에 분산 저장하는 방식인 동시에,
해밍 코드를 이용하여 추가적인 패리티 비트를 계산하고,
이를 이용하여 디스크에서 발생한 오류를 검출하고 복구한다.

해밍코드를 사용하기 때문에 오류 검출 및 복구에 대한 성능은 우수하나,
추가적인 계산 비용이 필요하기 때문에 전체 성능은 다른 RAID 레벨에 비해 떨어진다.

** Hamming Code:
오류 검출 및 정정을 위한 부호화 방법 중 하나로, 리처드 해밍이 개발함
원래 데이터에 일정한 규칙에 따라 패리티 비트를 추가하여 오류 검출 및 정정을 수행함
이때, 패리티 비트는 데이터 비트의 비트 수와 관련이 있음.

간단한 예로, 4비트의 데이터 "1010"을 해밍코드로 부호화할 때,
3개의 패리티 비트를 추가할 수 있다. 이때 패리티 비트의 위치는 데이터 비트의 2 제곱
(1, 2, 4, 8, ...)에 해당하는 위치이다. 따라서, 1번째 비트와 2번째 비트는 1, 4번 째 비트와
2번째 비트는 2, 4 번째 비트와 4의 위치에 따라 패리티 비트를 추가한다.

이렇게 부호화된 데이터를 전송할 때, 수신측에서는 같은 규칙으로 패리티 비트를 계산하여
오류 검출 및 정정을 수행한다. 예를 들어 수신측에서 "1011"을 받았을 때,
데이터 비트와 패리티 비트를 이용하여 오류 검출 및 정정을 수행한다.

하지만 해밍코드는 데이터 전송량이 증가하고 부호화 및 복호화에 대한 연산이
복잡해질 수 있다는 단점이 있다.
RAID 3
(Parity)
데이터를 나누어 저장하는 데에 블록 단위로 스트라이핑 기술을 사용하며,
이 때 패리티 비트도 따로 하나의 디스크 드라이브에 저장된다.

예를 들어, 4개의 하드 디스크 드라이브에 데이터를 저장할 경우,
각 블록은 3개의 디스크 드라이브에 데이터 비트를 저장하고,
1개의 디스크 드라이브에는 해당 블록의 패리티 비트를 저장한다.

따라서 하나의 디스크 드라이브에 문제가 발생할 경우,
해당 디스크의 패리티 비트와 나머지 디스크 드라이브의 데이터를 이용하여
해당 디스크 드라이브의 데이터를 복원할 수 있다.
데이터 복원 시간이 상대적으로 빠르다는 장점이 있다.

하지만 이 Level에서는 병목현상(bottleneck)이 발생할 가능성이 높다.
이는 패리티 비트를 저장하는 디스크 드라이브가 다른 디스크 드라이브들보다
느리게 동작하기 때문이다. 또한 하나의 디스크 드라이브에 문제가 발생할 경우
해당 디스크 드라이브의 패리티 비트를 계산하는 데에 많은 시간이 소요될 수 있으며
이러한 이유로 RAID 3은 대개 사용되지 않는 구성 중 하나이다.

** Parity Bit:
데이터 전송에서 오류 검출 및 수정에 사용되는 비트이다.
이 비트는 원본 데이터의 일부분에 대한 검사 비트로 사용되며, 일반적으로 1비트로 구성

패리티 비트의 값은 원본 데이터 비트들의 합에 따라 결정된다.
예를 들어, 짝수 패리티 방식에서는 데이터 비트들의 합이 짝수인 경우에는
패리티 비트가 0이되고 합이 홀수인 경우에는 패리티 비트가 1(+1/true)이된다.

패리티 비트는 데이터 전송 중에 오류가 발생한 경우,
해당 비트를 포함한 데이터 비트들의 합이 변경되는 것을 감지할 수 있다.
따라서 수신자는 오류가 발생한 위치를 찾아내어 해당 비트를 수정할 수 있다.
하지만 패리티 비트는 오류 검출 및 수정에 사용되지만 데이터의 무결성을 보장하지 않음
RAID 4
(Parity + 블록 단위 I/O)
스트라이핑 기술을 사용하여, 데이터를 여러 개의 디스크에 분산하여 저장
이 때 각 디스크에 저장되는 데이터는 일정한 크기의 블록(block)으로 나뉘어짐

예를 들어, 4개의 디스크를 사용하는 경우, 데이터 블록을 4등분하여 각각 디스크에 저장
이렇게 저장된 데이터를 읽어올 때에도 각 디스크에서 동시에 읽어오므로 성능이 향상됨

또한 한개의 디스크에 패리티 정보를 저장하나 블록 단위로 관리한다는 차이점이 존재
RAID 5
(Parity + Parity 분산 저장)
데이터를 스트라이핑하면서 패리티 정보를 분산 저장하면서 회전 패리티 방식을 사용하여
데이터의 무결성을 보호한다. 데이터와 패리티 정보가 번갈아가면서 디스크에 기록되며
이전 데이터 블록과 함께 회전하면서 패리티 비트가 계산된다.
이를 통해 디스크 중 하나가 손상되어도 다른 디스크에서 데이터를 복구할 수 있다.

이러한 방식으로 데이터의 안정성과 성능을 모두 보장할 수 있음

데이터를 포함하는 디스크 내부에 패리티 정보를 저장
해당 Level은 안정성과 성능을 모두 고려한 RAID 기술 중 하나로 많이 사용됨.

** 회전 패리티 방식(Rotating Parity Scheme)
데이터 전송 중 오류 검출을 위한 기술 중 하나이다.

회전 패리티 방식은 데이터 블록의 패리티 비트를 계산할 때, 이전 데이터 블록의 비트를
함께 고려하여 계산하는 방식이다. 예를 들어 8비트 데이터 블록이 있다면,
이전 데이터 블록의 패리티 비트와 현재 데이터 블록의 패리티 비트를 계산한다.
계산된 패리티 비트는 이전 데이터 블록의 패리티 비트와 함께 회전하면서 저장되고
데이터 전송 중에 발생하는 오류를 검출하기 위해 사용된다.

회전 패리티 방식은 오류 검출을 위해 많이 사용되며, 다른 방식보다도 간단하게
구현할 수 있다는 장점이 있다. 하지만 회전 패리티 방식은 오류가 발생한 위치를
파악하거나 수정하는 데는 적합하지 않다.
RAID 6
(Parity + Parity 분산 다중화)
데이터를 포함하는 디스크 내부에 패리티 정보를 다중화시켜서 저장하여 안정성 극대화

하나의 디스크에 대해 두 개의 패리티가 독립적으로 연산하므로 RAID 5에 비해
데이터 처리 효율은 낮지만, 복잡한 장애 상황에서도 정상적으로 동작하므로
대용량 시스템에서 주로 사용됨

 

 

 

728x90
반응형

'Network' 카테고리의 다른 글

허브(Hub)  (0) 2023.05.11
리피터(Repeater)  (0) 2023.05.11
VLAN(Virtual Local Area Network)  (0) 2023.05.11
NIC(Network Interface Controller)  (0) 2023.05.11
OSI 7 계층 - 세션, 표현, 응용 계층  (0) 2023.05.10

+ Recent posts