RAID

IBM TotalStorage Exp400.jpg

RAID(Redundant Arrays of Independent Disks)는 복수의 디스크 드라이브를 묶어 하나의 디스크 드라이브처럼 사용하는 기술을 말한다. 약자이므로 모두 대문자로 적어 주어야 한다.

개요[편집 | 원본 편집]

가용성과 성능을 향상시키기 위해 여러 개의 하드디스크를 하나의 그룹으로 묶어서 사용하는 기술으로 디스크를 묶는 방법에 따라 가용성과 성능을 하나만 혹은 둘다 취할것인지의 여부와 얻을 수 있는 가용성과 성능의 수준이 달라진다.

속도만 치자면야 고속으로 동작하는 디스크에 모든 것을 분산(RAID 0)하는 게 최고지만 그랬다가는 디스크가 손상되는 경우 모든 자료가 날아가게 되므로 극한의 성능만을 추구하지 않는 이상 보통 저렇게 구성하지는 않는다. 기업에서 사용되는 서버/스토리지에서 이 문제는 여러 종류의 디스크를 여러 종류의 RAID로 묶어서 '저장단계'를 구축하고, 각 자료의 요청빈도에 따라 서버/스토리지의 관리 SW/HW가 자료의 위치를 조정하는 방법으로 해결하곤 한다.

이 경우 동작속도가 빠르지만 비싸고 용량이 작은 디스크를 고성능을 발휘하는 RAID로 지정해서 소규모만 구축하고, 이보다는 느리지만 싸고 용량이 큰 디스크를 상대적으로 느린 RAID로 묶어서 대용량으로 구축하게 된다. 서버/스토리지의 관리 SW/HW는 오가는 자료를 확인해서 자주 사용되는 자료가 무엇인지를 파악하고, 이 자료를 더 빠른 구역으로 보낸다. 물론 빠른 구역에 있는 자료의 사용빈도도 체크해서 사용이 자주 일어나지 않을 경우 느린 구역으로 밀어보내게 된다. 물론 이런 작업이 가능하게 되려면 처음 자료를 저장한 이후 한동안 사용빈도를 분석하는 시간이 필요하므로 어느 정도의 시간이 지난 이후에야 장비가 생각한대로 돌아가는 것을 볼 수 있다.

'어, 이거 SSHD랑 퓨전드라이브에서 쓰는 방법 아닌가요?'라고 생각한다면 반만 맞다. 일부 고성능 RAID 카드는 온보드 램에 캐시를 지정해두거나 SSD 캐시 기능을 도입하여 단기간의 속도 향상을 도모한다.

역사[편집 | 원본 편집]

원래는 Redundant Arrays of Inexpensive Disks의 약자였다. 자료를 저장하는 데이터 센터의 업그레이드를 하게되면, 기존 장비에서 떼어낸 용량이 작고 속도도 느린 구형 디스크들이 많이 생겨나는데 이 것들을 재활용 할 방법을 찾다가 나온 것이 RAID의 시작이었다고 알려진다.

1987년 캘리포니아 대학교 버클리 캠퍼스의 데이비드 패터슨(David Patterson)과 가스 A. 깁슨(Garth A. Gibson) 그리고 랜디 카츠(Randy Katz)가 1877년 6월에 "A Case for Redundant Arrays of Inexpensive Disks(RAID)"라는 논문을 ACM SIGMOD(Assosication for Computing Machinery's Special Interest Group on Management of Data) 컨퍼런스에서 발표했다. 그들은 이 논문에서 메인프레임에 사용되는 고성능 디스크의 성능을 일반적으로 사용되는 개인용 PC의 디스크 여러 개를 묶어서 넘어서는 방법을 발표했고, 이 논문을 통해 현재의 RAID라는 개념이 탄생했다.

위의 논문이 발표되기 전에도 RAID라는 명칭을 사용하지 않았을 뿐 이후 규정되는 몇 개의 공식 RAID 레벨들이 개별적으로 발표 혹은 운용되고 있었다고 한다. 영어 위키백과의 RAID 문서에는 이 중 아래 네 가지 사례가 소개되어 있다.

  • 1977년, IBM의 노만 켄 오우치(Norman Ken Ouchi)가 추후 RAID 4로 알려지는 기법의 특허를 출원한다.
  • 1983년경, DEC에서는 HSC50 서브시스템의 한 부분으로 미러링된 RA8X 디스크 드라이브를 출고했는데, 이는 RAID 1의 기법과 같다.
  • 1986년, IBM의 클라크 엣 알(Clark et al)이 이후 RAID 5로 알려지는 기법의 특허를 출원한다.
  • 1988년경, 씽킹 머신스 코퍼레이션의 데이타볼트 제품에서 오류 정정부호(error correction code)를 하나의 어레이로 묶인 디스크에서 사용했다.

이 기술은 학계의 아이디어에서 업계 표준으로 발달했으며, RAID가 단순히 기존의 디스크를 재활용하는 것을 넘어 장치에 설치된 디스크들의 가용성과 성능을 향상시키는 목적으로 사용되면서 RAID를 지원하는 장비를 만드는 업체들에 의해 RAID의 약자가 Redundant Arrays of Inexpensive Disks에서 Redundant Arrays of Independent Disks로 변경되었다.

RAID를 구성하기 전에[편집 | 원본 편집]

  1. 단 1분도 정지되면 안될만큼 중요한 서버인가?
  2. 매일매일 시스템의 상태(특히 하드디스크 상태)를 점검할 수 있는가?
  3. 서비스용 장비에서 RAID가 풀리거나 디스크가 고장나서 대응해 본 경험이 있는가?
  4. RAID구성의 문제로 데이터를 날려본 적이 있는가?
  5. 레이드 구성 프로그램을 능숙하게 사용하고, 고장난 디스크의 위치를 정확히 판별할 수 있는가?
http://www.2cpu.co.kr/bbs/board.php?bo_table=QnA&wr_id=505789

위의 질문에 모두 YES라고 대답할 수 없다면, 일상적으로 쓰는 장비에 RAID를 적용하면 안 된다. 충분한 연습과 테스트를 거친 뒤에 적용해야 뒤탈이 없다. 특히 하드웨어 RAID의 길을 가는 경우 호환성을 타서 설치에 실패하는 사례도 빈번하다.

  • RAID는 가동의 연속성을 보장하고 I/O 성능을 높이기 위한 도구이지 백업 도구가 아니다. 주 사용 시스템에 RAID1을 구성했다고 하여 백업이 되는 게 아니다. 백업이 필요하면 별도의 백업본을 구성하라.
  • RAID를 첫 구성할 때 디스크 구매 예산을 RAID에 소요되는 디스크 갯수만큼만 잡는 실수를 하는 데, 여유분으로 1~2개를 더 사야 한다. 초기불량 대처도 여유롭게 할 수 있고, 추후 디스크 고장 발생시 빠른 교체로 장애가 확대되는 것을 방지한다. 고장 처리를 빨리 안하면 근시일 내에 디스크가 추가로 죽어나가서 결국 백업본을 찾게 된다.
  • 디스크의 고용량화, SSD의 등장으로 파워 유저까지는 굳이 RAID를 고려하지 않아도 상관없는 시대가 되었다. 자신이 수십~수백 테라바이트가 필요하거나, 고용량 영상편집 등 고속 전송이 필요한 경우에나 RAID를 고려할 필요가 생긴다.

관련 용어[편집 | 원본 편집]

  • 컨트롤러
    RAID 최상위에서 파일 입출력의 교통정리를 담당하는 장치다. 컨트롤러가 별도로 있으면 “하드웨어 RAID”라고 부르고, 그렇지 않으면 “소프트웨어 RAID”라고 부른다.
  • 패리티
    에러정정을 위한 해쉬. 데이터 디스크 중 하나가 파손되면 여분의 스페어에 복구를 시도하는 데(핫스페어라면 즉시 복구), 이때 파손된 데이터의 조각을 패리티를 이용해 복원한다.
  • 핫스페어
    실사용하는 디스크들과 함께 물려있으나, 데이터 입출력을 하지 않고 비어있는 채로 대기하는 여분의 디스크. RAID를 제대로 구성한다면 핫스페어 한두개 정도는 같이 끼워놔야 디스크 하나가 깨졌을 때 바로 대체되면서 서비스 다운을 최소화할 수 있다.

대표적인 RAID 레벨[편집 | 원본 편집]

일반적으로 RAID가 추구하는 것은 성능과 가용성으로 쉽게 말해서 최대한 빠른 읽기/쓰기 속도를 확보하고(성능) 디스크 파손시에도 자료를 보존(가용성) 하는 것을 목표로 삼고 있다. 이 목표들을 달성할 수 있는지의 여부는 디스크를 어떤 RAID로 구성하느냐에 달려있다. 디스크를 어떻게 묶어서 RAID를 구성하느냐에 따라 RAID의 종류가 갈리며, 이것을 RAID 레벨이라고 부른다. 레이드 레벨은 숫자를 사용해서 표현하며, 보통 한자리의 수로 표시되나 하나 이상의 RAID 레벨을 조합하는 경우 두자리 수로 표기하기도 한다.

산업 표준으로 정해진 RAID 레벨이 몇 있으며, 이것을 표준 RAID 레벨(Standard RAID Level)이라 부른다. 표준 RAID 레벨을 두개 이상 묶어서 사용하는 경우 네스티드 RAID 레벨(Nested RAID Level)이라는 명칭으로 부르며, 하이브리드 RAID 레벨(Hybrid RAID Level)이라 부르는 경우도 있다.표준이 아닌 RAID 레벨은 당연히 비표준 RAID 레벨(Non-standard RAID Level)이라 부르고 있다.

경우에 따라서는 서버용 스토리지 디스크 제조사가 독자적으로 비표준 RAID 레벨을 만들어서 사용하기도 하는데, 대체로 하이엔드 중에서도 상위급 스토리지의 자료를 찾아보면 이런 기술들이 사용되었다는 안내가 나오는 편이다. 로우엔드/미드레인지나 일반적인 하이엔드 스토리지는 표준 RAID 레벨이나 네스티드 RAID 레벨이 사용되는 게 일반적이다.

각 RAID 레벨의 첫부분에 달린 표는 각 RAID의 기본적인 특성을 정리한 것이다.

  • 최소 요구 디스크 수는 이 RAID를 구성하는데 필요한 최소한의 디스크 수량을 의미한다.
  • 저장소 효율은 구성에 사용된 디스크의 전체 물리용량 중에서 실제로 사용자가 자료 저장에 사용가능한 공간의 비율이다. 예를 들어서 저장소 효율이 50%라고 하면, 500GB 디스크 두개를 묶어서 1TB를 확보해도, 실제로 자료 저장에는 500GB밖에 쓰지 못한다는 의미이다.
  • 손실 대응 가능 디스크 수는 해당 RAID가 몇개의 디스크 파손에도 자료를 보존할 수 있는지를 나타낸다. 이 수치가 0이면 디스크가 하나만 파손되어도 모든 자료가 유실되며, 1이면 한 개까지는 파손되어도 괜찮다.

참고로 손실 대응 가능 디스크 수에는 함정이 있는데, 디스크 1개가 파손된 상황에서 손상된 디스크를 새 디스크로 교체하고, 이 디스크에 있어야하는 자료를 복구하는 과정에서 기존 디스크에 걸리는 부하로 인해 디스크가 추가로 사망하는 경우가 발생할 수 있다. 실제 사례로 RAID 6에서 디스크 하나가 파손되어서 이를 교체했는데, 복구 과정에서 디스크가 하나 더 죽어버린 경우가 있다. 그게 아니더라도 복구 과정에서 기존 디스크에 걸리는 부하가 다른 작업에 지장을 주게 되므로 기업용 스토리지 장비들 중에는 이를 해결하기 위한 변칙적인 RAID 구조를 사용하는 경우도 있다.

표준 RAID 레벨[편집 | 원본 편집]

RAID 0[편집 | 원본 편집]
최소 요구 디스크 수 2
저장소 효율 100%
손실 대응 가능 디스크 수 0

※ n은 전체 드라이브 구성 수량

기록 방식을 그대로 따서 디스크 스트라이핑이라고 부르는 경우도 있다.

하나로 묶인 모든 디스크들에 데이터를 스트라이핑으로 기록한다. 즉, 데이터가 들어오면 이를 분할해서 여러 개의 디스크에 동시에 기록하게 된다.

여러 개의 디스크에 데이터를 동시에 기록하고 읽어올 수 있기 때문에 전체적인 성능은 크게 증가하고, 구성에 사용된 디스크의 저장공간을 전부 자료저장에 쓸 수 있는 장점이 있지만 그 대가로 하나로 묶인 디스크 중에 단 하나라도 고장날 경우 모든 자료가 유실된다.

서버용 스토리지에서는 자료 유실의 위험성 때문에 자료를 정말 극단적으로 빠르게 주고받아야 하는 경우에 한해 간혹 구성하는 경우가 있지만, 디스크의 입출력 속도를 대가로 안정성을 완전히 포기하는 극단성 때문에 아무래도 사용하기가 힘든 면이 있다. 차라리 유사한 성능을 내는 RAID 5나 디스크를 더 많이 쓰더라도 속도와 안정성을 모두 확보 가능한 RAID 10을 사용하는 편.

개인 사용자의 경우는 서버에 달아쓰는 스토리지 처럼 디스크를 여러 개 사용할 수 없고, 어차피 자료를 많이 읽고쓰는 편도 아니기 때문에 자료의 읽기쓰기 속도를 늘리기 위해 단 2개의 디스크만 있어도 구성이 가능한 RAID 0을 구성하는 경우가 있다. 이마저도 2013년 이후 SSD의 가격이 급속도로 낮아지면서 SSD를 하나 설치하고 마는 경우가 일반적이다.

물론 기업에 팔리는 장비라고 해서 RAID 0에 SSD로 구성된 물건이 없지는 않다. 기성 하드디스크나 SSD가 아닌 기판에 플래시메모리와 이를 관리하기 위한 HW를 단 것을 저장장치로 사용하는 올플래시 스토리지 시장의 경우 뒤져보면 들어 있는 모든 저장공간을 RAID 0으로 묶는 물건도 있기는 있다.남자의 로망

RAID 1[편집 | 원본 편집]
최소 요구 디스크 수 2
저장소 효율 1/n × 100
손실 대응 가능 디스크 수 n-1

※ n은 전체 드라이브 구성 수량

기록 방식을 그대로 따서 디스크 미러링이라고 부르는 경우도 있다. 하나의 그룹으로 묶인 디스크에 동일한 자료를 기록한다. 즉, 데이터가 들어오면 이를 모든 디스크에 똑같이 기록한다. 이 때문에 자료를 쓰는 속도는 다른 RAID보다 느리지만, 자료를 읽을때는 여러 디스크에서 똑같이 읽어오므로 속도에서 득을 보게된다.

RAID 0과는 반대로 자료의 안정성을 극단적으로 추구하는 형태로 하나의 그룹에 묶인 디스크에 저장된 자료는 단 하나의 디스크만 살아남아도 자료가 그대로 보존된다. 대신 수십개의 디스크를 하나로 묶어도 저장공간은 1/디스크 수로 정말 코딱지만하게 떨어지므로 정말 극단적으로 안정성을 추구해야하는 동시에 비용과 설치공간의 문제가 없는 경우에 한해만 제한적으로 사용된다.

재정문제로 인해 하드디스크를 많이 쓰기 힘든 개인용 NAS나 스토리지에서는 정말 중요한 자료의 보존에 RAID 1를 사용하기도 한다. 가족사진 같은걸 보관할때는 디스크 하나에만 저장하자니 영 안심이 안 되는 -하드디스크도 엄연히 소모품이다- 경우가 있는데, 이럴때 RAID 1를 활용하면 근심을 좀 덜 수 있다. 참고로 가족사진 같은걸 CD/DVD/BD등의 광학매체에 백업하는 게 낫지 않겠냐고 한다면... 그거 은근히 약하다. 싸게 만든 매체의 경우는 자료의 유실확률이 상당히 높으며 실제로도 CD-R이 한창 보급되었던 시기에 백업한 CD들의 상태가 10여년쯤 지나니 영 불안하게 되더라라는 경험담을 간간히 찾아볼 수 있다.

물론 이것도 안심할 수 없는 게, 디스크 2개를 RAID 1로 묶은 상태에서 하나가 고장나서 교체를 했는 데 리빌드 중에 나머지 하나마저 고장나면 데이터 박살난다.(...) 장비가 노후된 경우 이런 현상이 이러날 수 있으므로 제2의 백업을 항상 준비하자.

RAID 2[편집 | 원본 편집]
최소 요구 디스크 수 3
저장소 효율 [(n-1)/n] × 100
손실 대응 가능 디스크 수 1

※ n은 전체 드라이브 구성 수량

여러 디스크에 걸쳐 연속적으로 자료를 저장(스트리핑)하면서, 자료 유실에 대비해 오류 정정 코드(ECC, Error Correction Code)를 별도의 디스크에 저장하는 방식. 디스크 한 개 까지는 손실되어도 자료의 유지가 가능하다.

기본적으로는 RAID 1과 마찬가지로 여러 디스크에 걸쳐 연속적으로 자료를 저장(스트리핑)하지만, 만약을 대비해 기록 과정에서 오류 정정 코드를 생성하고, 이를 별도로 지정된 오류 정정 코드 저장용 디스크에 저장한다. 오류 정정 코드로 사용되는 것은 해밍 코드로, 이를 계산하기 위해 기록되는 자료를 비트단위로 묶어서 저장하게 된다.

읽기/쓰기 작업시 모든 드라이브에 있는 자료토막에 동시에 접근을 해야하고, 이 때문에 여러 사용자가 동시에 작업을 진행하는 것이 불가능하다. A라는 사용자가 RAID 2로 구성된 공간에 작업을 하고 있다면, B라는 사용자는 이 공간에 대해서는 아무것도 하지 못하게 된다는 이야기. 아예 RAID 컨트롤러가 모든 디스크를 정확히 같은 각도(Angular Orientation)만큼 움직이도록 동기화 시켜서 동작하도록 되어 있다.

ECC를 쓰는 방식이 패리티를 쓰는 것대비 나을게 없기 때문에 2015년 기준으로 초기에 제안된 5개의 RAID 레벨중에 유일하게 사용되지 않는 레벨이다.

RAID 3[편집 | 원본 편집]
최소 요구 디스크 수 3
저장소 효율 [(n-1)/n] × 100
손실 대응 가능 디스크 수 1

※ n은 전체 드라이브 구성 수량

여러 디스크에 걸쳐 연속적으로 자료를 저장(스트리핑)하면서, 자료 유실에 대비해 패리티를 별도의 디스크에 저장하는 방식. 디스크 한 개 까지는 손실되어도 자료의 유지가 가능하다.

RAID 2에서 오류 정정 코드 대신 패리티를 사용하는 형태라고 봐도 무방하다. 자료를 나누는데 사용되는 스트리핑 크기는 바이트로 비트 단위로 작업하던 RAID 2보다 단위가 커졌다. RAID 2와 마찬가지로 입출력 작업시 모든 드라이브에 동시에 접근해서 작업해야하기 때문에 다중 작업 처리가 불가능하다.

RAID 2의 상위 호환, 패리티 버전이라고 봐도 무방할 정도의 특성을 지니는 셈.

RAID 4[편집 | 원본 편집]
최소 요구 디스크 수 3
저장소 효율 [(n-1)/n] × 100
손실 대응 가능 디스크 수 1

※ n은 전체 드라이브 구성 수량

여러 디스크에 걸쳐 연속적으로 자료를 저장(스트리핑)하면서, 자료 유실에 대비해 패리티를 별도의 디스크에 저장하는 방식. 디스크 한 개 까지는 손실되어도 자료의 유지가 가능하다.

자료를 나누는데 사용되는 스트리핑 크기는 특정 용량이 아닌 '블록'단위로 되어 있다.

설명 차제는 RAID 3와 같고, 패리티 전용 디스크를 사용하는 것도 동일하지만 RAID 2/3과는 달리 읽기작업에 한해서는 여러명의 사용자가 동시에 작업을 진행하는 것이 가능해졌다. 정확히는 자료가 서로 다른 드라이브에 있을 경우 이를 동시에 읽어오는 것이 가능해졌다. 다만 자료를 기록할 경우에는 패리티 디스크의 수정이 필요하므로 입력과 출력을 동시에 사용하는 것은 불가능 하다고 한다.

RAID 5[편집 | 원본 편집]
최소 요구 디스크 수 3
저장소 효율 [(n-1)/n] × 100
손실 대응 가능 디스크 수 1

※ n은 전체 드라이브 구성 수량

여러 디스크에 걸쳐 연속적으로 자료를 저장(스트리핑)하면서, 자료 유실에 대비해 패리티를 여러 개의 디스크에 돌아가면서 저장하는 방식. 디스크 한 개 까지는 손실되어도 자료의 유지가 가능하다.

RAID 4와 유사하지만, 패리티 전용 디스크를 사용하지 않고, 모든 디스크에 패리티를 돌아가면서 저장한다. 이를 통해 모든 읽기/쓰기 작업을 동시에 처리하는 것이 가능해졌다. RAID 2~4의 읽기/쓰기 관련 문제와 패리티 디스크의 수명 저하 문제를 해결하는 깔끔한 RAID 구성으로 2015년 기준으로 상당히 널리 사용된다.

RAID 6[편집 | 원본 편집]
최소 요구 디스크 수 4
저장소 효율 [(n-2)/n] × 100
손실 대응 가능 디스크 수 2

※ n은 전체 드라이브 구성 수량

여러 디스크에 걸쳐 연속적으로 자료를 저장(스트리핑)하면서, 자료 유실에 대비해 패리티 2개를 여러 개의 디스크에 돌아가면서 저장하는 방식. 디스크 두개 까지는 손실되어도 자료의 유지가 가능하다.

RAID 5의 패리티 2개 버전. RAID 5보다 성능이 조금 떨어지지만 그 대가로 안정성을 추가로 확보했다. 별것 아닌것 같지만 같이 구매한 디스크는 엇비슷한 시기에 사망하는 경향이 있고, 그게 아니더라도 손실된 디스크의 복구과정에서 걸리는 부하로 인해 디스크가 추가로 손실될 위험성이 항시 존재하므로 RAID 5보다 디스크 손상을 하나 더 버텨낼 수 있다는 것을 결코 나쁜 조건이 아니다.

저속의 대용량 디스크를 사용해서 자주 사용하지 않는 정보를 저장할 공간을 구축하거나, 백업용 자료를 저장하는 공간을 구축할때 유용하다. 이 밑단으로는 슬슬 테이프 스토리지가 등장할 차례.

네스티드 RAID 레벨[편집 | 원본 편집]

RAID 10[편집 | 원본 편집]
최소 요구 디스크 수 4
저장소 효율 스트라이프 수/n
손실 대응 가능 디스크 수 구성에 따라 다름

※ n은 전체 드라이브 구성 수량

RAID 10, RAID 1+0, RAID 1&0등 여러 가지고 표시한다.

일단 디스크를 2개씩 RAID 1로 묶고, 이 묶음을 모아서 RAID 0으로 묶는 형태다. 자료가 들어오면 처음에는 RAID 0의 동작 방식에 따라 자료를 존재하는 RAID 1묶음 들에 토막내서 보낸다. 그러면 이걸 받은 RAID 1묶음 에서는 자료를 양쪽 디스크에 동일하게 저장(RAID 0)하게 된다.

RAID 0를 제외한 대부분의 RAID 구성에 비해 성능면에서 이득을 본다고 하는데, RAID 0이 자료의 안정성을 완전히 포기하는 구조임을 생각해보면 사실상 성능을 극한으로 추구할 경우의 선택지는 RAID 10이 된다는 결론이 나온다. 실제로도 SSD나 15K RPM급 디스크를 RAID 10으로 묶어서 속도를 극한으로 뽑아내는 경우가 많다.

RAID 01[편집 | 원본 편집]
최소 요구 디스크 수 4 (nested) / 3 (hybrid)
저장소 효율 구성에 따라 다름
손실 대응 가능 디스크 수 구성에 따라 다름

※ n은 전체 드라이브 구성 수량

디스크를 2개씩 RAID 0으로 묶고, 이걸 다시 RAID 1로 묶는다.

자료가 들어오면 RAID 1의 동작 방식에 맞춰 RAID 0으로 묶인 모든 장소에 그 자료를 동일하게 기록하게 되고, 이걸 받은 RAID 0단에서는 자료를 양쪽에 나눠서 저장하게 된다.

비표준 RAID 레벨 및 유사 기술[편집 | 원본 편집]

RAID DP(Double-Parity)[편집 | 원본 편집]

RAID 3~4에서 사용되던 '패리티 전용 디스크를 사용한다'라는 구조를 패리티 2개를 사용하는 형태로 만들어서 디스크 2개의 손실까지 버틸 수 있게 한 것이다. RAID 3~4의 고질적인 문제인 패리티가 저장되는 디스크에 입출력 작업이 과도하게 걸려 패리티 디스크의 수명이 빠르게 줄어드는 문제는 해결할 수 없지만, 디스크를 2개까지 잃어도 자료가 보존될 수 있게 함으로서 가용성을 늘리는 비표준 RAID 레벨이다.

2015년 기준으로는 동일한 수준의 가용성을 제공하는 RAID 6로 대체된 상태다. 다만 2010년대 초반까지도 이 RAID 규격을 지원하는 장비들이 소수나마 있었으므로 기존에 도입된 장비를 확인하다 보면 접할 가능성이 있는 규격이다.

한예로 이 규격이 지원되지 않는 장비들이 주류가 된 2013년 언저리에도 간혹 RAID DP장비를 제공할 것을 규격서에 명시하는 경우가 있었다.

JBOD[편집 | 원본 편집]
  • just a bunch of disks or just a bunch of drives

모든 디스크를 오버헤드 없이 데이터 저장에 동원한다는 점에서는 RAID 0과 비슷하나, 데이터를 조각내서 분산 저장하는 RAID 0과 달리 JBOD는 데이터를 연속저장한다. 디스크를 순차적으로 사용하면서 1개 디스크가 다 차면 다음 디스크로 넘어가는 식이다. 디스크 묶음 중 하나가 파손되어도 그 디스크에 저장된 데이터만 손실되기 때문에 RAID 0 보다는 위험부담이 낮은 편이다. 다만 디스크의 동시 액세스는 안하기 때문에 성능의 향상이 전혀 없어서 단순히 용량을 확장하는 데 쓰는 방법이다.

DDP[편집 | 원본 편집]
  • Dynamic Disk Pool

고장난 디스크를 교체한 후에는 신규 디스크에 기존 디스크의 데이터를 채우는 "리빌딩" 작업이 진행되는 데, 이게 시간이 오래 걸리는 작업이다. 리빌딩 작업이 진행중일땐 입출력 성능이 저하될 뿐만 아니라 지속적인 입출력 작업 발생으로 디스크가 추가로 죽어나가는 일이 발생하기도 한다. 그래서 특수 알고리즘을 이용해 리빌딩 시간을 현저히 저감한 것이 DDP이다. 그럼에도 불구하고 RAID 6 정도의 고가용성을 보장하므로, 고용량 스토리지에서는 기본적으로 제안되는 추세이다.

DDP는 디스크가 두 자릿수 이상인 경우에 사용하는 것이 적절하다. 디스크 10장 미만은 구성 자체가 막혀있는 경우가 많고, 입출력 버퍼를 위한 디스크를 추가로 떼어가기 때문이다.

참고자료[편집 | 원본 편집]

  • 영문 위키피디아 'RAID' 문서 #
  • 영문 위키피디아 'Standard RAID levels' 문서 #
  • 영문 위키피디아 'Nested RAID levels' 문서 #
  • 영문 위키피디아 'Non-Standard RAID levels' 문서 #
  • EMC 교육 서비스저 김기성 옮김 (2014. 01. 16). '정보 스토리지와 관리 - 클라우드 컴퓨팅 시대의 정보 저장과 관리, 보호 기법'(Information Storage and Management: Storing, Managing, and Protecting Digital Information in Classic, Virtualized, and Cloud Environments). 3장 데이터 보호: RAID 에이콘 출판사. ISBN 9788960775121.
  • 시게이트 NAS OS가 제공되는 시게이트 비즈니스 스토리지용 온라인 메뉴얼. RAID 모드 항목. #
  • 텀즈, 'RAID' 문서 #