Raid 구성 및 특징

반응형
반응형

나스를 사용하다보니 Raid 구성에 관심을 갖게 되었습니다. 물론, 회사에서 업무를 하면서 스토리지 Raid 구성에 대해 어느정도 잘 알고 있기 때문에 알고 있는 내용을 작성해 보는 시간을 가져볼까 합니다. 


"Raid 구성 및 특징"




>Raid 란?

Raid란 데이터를  분할해서 여러개의 하드디스크에 병렬로 데이터를 읽는 장치 혹은 읽는 방식을 말합니다. 1987년 캘리포니아 대학 버클리 분교의 패터슨, 깁슨, 카츠에 의해서 발표 및 등장한 기술입니다. Raid 1단계부터 5단계까지 제안되었고, 이후에 여러 업체에서 0, 6, 10단계에 대해 발표가 되었습니다. 

여러 개의 디스크를 병렬로 연결하여 사용하는 방법으로 읽기 및 쓰기 속도와 데이터를 보존할 수 있는 신뢰도가 우수할 수록 높은 단계로 정해져 있습니다. 

간단히 말하면, 복수의 하드디스크 를 하나로 사용하는 단계부터 데이터 보관의 안정성을 높인 미러링(Mirroring), 두 단계를 합한 단계 등의 다양한 방법들이 있습니다. 일반적으로 Raid는 여러개의 하드디스크에 데어터를 분할 저장하여 안정성을 포함한 빠른 읽기 및 쓰기를 위한 구성이라고 볼 수 있습니다.


>Raid 0 단계(Striped Disk Array wiout Fault Tolerance)

최소 디스크 개수 : 2
용량 : 디스크 수 X 디스크 용량

데이터 입출력을 위해 데이터 스트립(Strip : 데이터를 복수의 디스크에 분산저장)을 제공하고, 저장 속도가 빠르지만 데이터를 중복하여 기록하지는 않는다. 복수의 디스크에 분산저장 되어있는 데이터가 오류를 발생하면 정보가 파괴되면서 모든 데이터를 잃을 수 있다. Parity(오류 검출 기능)가 없기 때문에 자료의 복원이 불가능하고 안전을 보장할 수 없다. 디스크의 수가 많아질수록 속도는 더 빨라지지만 데이터 손실의 위험이 커진다. 두 개 이상의 디스크가 필요하고 모든 용량을 사용한다.

>RAID 1 단계(Mirroring and Duplexing)

최소 디스크 개수 : 2
용량 : (디스크 수/2) X 디스크 용량

최소 2개의 디스크를 사용하게 된다. 한 개는 실제 사용하는 디스크이고 나머지 한 개는 백업용 디스크라고 보면 된다. 두 개 이상의 디스크를 연결하여 사용하는 점은 RAID 0 과 같지만 실제 사용용량은 절반으로 줄 어든다. RAID 1의 핵심은 Mirroring이다. 두 개의 디스크에 같은 자료를 저장하기 때문에 디스크 중 하나에 장 애가 발생해도 데이터는 손상되지 않는다. Parity는 없지만 데이터 저장에 있어서 가장 안정적인 단계이다. 하 지만 두 배의 저장 공간을 필요로 하고 읽기/쓰기 속도도 RAID 0 에 비해 느리다. 

>Raid 2 단계 (Hamming code ECC)

RAID 2는 기록용 디스크와 데이터 복구용 디스크를 별로도 둔다. RAID 0처럼 Strip방식이지만 에러 검출과 수정을 위하여 Hamming code를 사용하는 것이 특징이다. 에러 검출 능력이 없는 드라이브를 위해 사용하지만 4개의 디스크에 기록하기 위해서 3개의 부가데이터 디스크를 기록해야 하고, SCSI(Small Computer System Interface)디스크 드라이브는 기본적으로 에러 검출 능력이 있기 때문에 RAID 2는 사용하지 않는다. 

>RAID 3 단계(Parallel Transfer with Parity) , 4단계 (Independent Data Disks with Shared Parity Disk)

최소 디스크 개수 : 3
용량 : (디스크 수 - 1) X 디스크 용량

RAID 0의 구성인 Strip방식을 기본으로 하고, 에러 검출을 및 수정을 위한 Parity정보를 별도의 디스크에 저장한다. 즉 Parity 정보를 위한 전용 디스크를 사용하고, 나머지 디스크에 RAID 3은 Byte 단위로 RAID 4는 Block 단위로 분산저장 한다. RAID 3는 균등하게 저장되지만 RAID 4는 균등하게 저장되지 않는다. Block단위 로 데이터를 처리하면 작은 데이터를 한 번에 처리할 수 있기 때문에 RAID 4가 성능 부분에서 장점이 있다. RAID 3 은 동기화 과정을 거쳐야 하기 때문에 RAID 4를 선호한다. 데이터가 저장된 디스크 한 개에서 장애가 발생하면 Parity정보를 이용해 복구할 수 있으나, 두 개에서 장애가 발생하면 데이터의 손실이 생기고, 정작 Parity정보가 저장된 디스크에 장애가 발생하면 복구할 수 없다. 또한 Parity 디스크에 병목현상이 생겨 속도가 저하될 수 있다. 쉽게 말하자면 RAID 0 의 구성에 백업용 드라이브를 하나 달아서 안정성을 확보한 구성이다. 

> RAID 5 단계(Independent Data Disks with Distributed Parity Blocks)

최소 디스크 개수 : 3
용량 : (디스크 수 - 1) X 디스크 용량

RAID 3,4의 단점을 보완한 구성방식으로, Parity정보를 위한 전용 디스크 대신 모든 디스크에 Parity정보를 분산하여 저장한다. 각각의 디스크는 Parity정보를 갖고 있어 하나의 디스크에 장애가 발생할 경우 다른 디스크의 Parity정보를 이용하여 복원한다. Parity정보가 분산되어 있어 디스크 병목현상은 없지만, 사방으로 퍼져있는 Parity정보를 갱신하며 읽기 때문에 성능이 저하된다. 성능 면에서는 RAID 0보다 떨어지지만 성능, 안정성, 용 량 부분을 모두 고려한 형태이다. 디스크 3개를 기준으로 2개 이상의 디스크에 장애가 발생할 경우 복구가 불 가능 하다. 일반적으로 Hot/Spare 디스크를 따로 두어 디스크 장애가 발생할 경우 Hot/Spare 디스크로 복원이 되고, 장애가 발생한 디스크는 새로 교환하여 Hot/Spare 디스크로 사용한다.

> RAID 6 단계 (Independent Data Disks with Two Independent Distributed Parity Schemes)

최소 디스크 개수 : 4

RAID 5와 같은 개념이지만, 하나의 Parity를 Dual로 분산하여 저장하는 방식이다. RAID 5보다 데이터의 안정 성을 고려하는 시스템에서 사용된다. 두 개의 디스크에 장애가 발생하여도 정상적으로 동작한다. 디스크를 Strip방식으로 사용하기 때문에 RAID 01이나 10보다 성능은 더 높고 신뢰성도 우수하지만, Parity정보를 이중으로 저장하게 되면 쓰기정보를 여러 번 갱신해야 하기 때문에 RAID 5보다 성능이 떨어진다. 보통 Storage가 많은 시스템에서 사용하는데, 장애가 발생하여 교체한 디스크의 Rebuilding time이 증가할수록 Rebuilding하는 동안 다른 디스크에 오류가 발생할 확률이 높아지는 Risk를 줄여준다. Raid 5단계에서는 Rebuilding을 하는 동안 또 다른 디스크에 장애가 발생할 경우 데이터 복구가 불가능하다.

> RAID 1+0 (Very High Reliability Combined with High Performance_Striping & Mirroring)

최소 디스크 개수 : 4
용량 : (디스크 수 / 2) X 디스크 용량

RAID 1과 0의 방식을 합한 방식이다. 네 개 이상의 디스크를 2개씩 묶어 RAID 1으로 묶고, 다시 RAID 0으로 묶은 방식을 말한다. 즉, Mirroring한 두 디스크를 다시 Striping하여 안정성을 높이고 속도도 향상할 수 있다. 높은 안정성과 속도 를 보장하지만, 전체 용량은 여전히 절반이고 구성비용이 많이 들어간다. 한 개의 디스크에서 장애가 발생하면 Mirroring되어있는 디스크에서 에러가 발생한 데이터만 복구하면 된다.

> RAID 0+1 (High Data Transfer Performance)

최소 디스크 개수 : 4
용량 : (디스크 수 / 2) X 디스크 용량

RAID 0과 1의 방식을 합한 방식이다. RAID 0+1방식은 복수의 디스크를 RAID 0방식으로 묶은 후, 다시 RAID 1으로 묶은 방식을 말한다. 즉, 디스크를 절반씩 RAID 0방식으로 2개 구성하고, 그 2개를 Mirroring한 방식이다. 0+1과 1+0의 차이는 어느 쪽을 먼저 구성하느냐의 차이로, 4개 드라이브로 구성한다면 차이가 없지만 6개의 드라이브로 구성한다면 달라진다. 한 개의 디스크에서 장애가 발생하면 다른 RAID 0 구성에서 나머지 디스크까지 데이터 전체를 복구해야한다.

<2016.08.13 작성>

반응형

댓글

Designed by JB FACTORY