NetApp Tech OnTap NetApp 로고
NetApp Tech OnTap
     
Back to Basics: RAID-DP

이 기사는 많이 사용되고 있는 NetApp® 기술의 기본 원리를 다루는 연속 기사 'Back to Basics'의 제3편입니다.

디스크 드라이브에서 크기를 늘리고 중요한 데이터를 보호하기 위해 복원력을 제공하기가 점점 더 어려워지고 있습니다. 디스크는 커졌지만 전체적인 안정성에는 거의 변화가 없었습니다. 디스크 크기가 더 크다는 것은 RAID(Redundant Array of Independent Disk) 패리티 정보를 사용하여 장애 발생 디스크를 재구성하는 데 필요한 시간이 상당히 길어져 재구성이 완료되기 전에 2차 디스크 장애나 기타 오류가 발생할 가능성이 증가한다는 것을 의미합니다. 미디어 크기가 증가하면 비트 및 블록 오류의 발생 가능성도 그에 비례하여 증가하므로 재구성 중 이러한 유형의 이벤트도 분명히 발생할 수 있으며, 업무를 중단시키고 단일 패리티 RAID 구현의 데이터 손실을 유발할 수 있는 이중 장애의 가능성도 증가합니다.

NetApp은 이 복원력 문제를 해결하기 위해 고유한 이중 패리티 RAID인 RAID-DP®를 선구적으로 개발하기 시작했습니다. 다른 이중 패리티 RAID 6 구현이 존재하지만 RAID-DP는 성능의 큰 저하 없이 동일한 RAID 그룹에서 이중 디스크 장애에 대한 보호를 제공하는 유일한 RAID 솔루션입니다.

RAID-DP는 NetApp 스토리지 시스템에 기본 옵션으로 제공될 만큼 성능이 매우 우수합니다. 테스트에서 랜덤 쓰기 성능의 차이가 NetApp RAID 4 대비 2%에 불과한 것으로 나타났습니다. 그에 비해 또 다른 주요 스토리지 벤더의 RAID 6 랜덤 쓰기 성능은 동일한 시스템의 RAID 5에 비해 33% 낮습니다. (RAID 4 및 RAID 5는 모두 단일 패리티 RAID를 구현한 것입니다.) RAID 4는 지정된 패리티 디스크를 사용하지만, RAID 5는 패리티 디스크가 핫 스팟이 되는 경우를 피하기 위해 패리티 정보를 RAID 그룹 내의 모든 디스크에 분산합니다. NetApp RAID 4에서는 이 기능이 불필요합니다. 나중에 살펴보겠지만 Data ONTAP®은 데이터를 쓰는 방식이 다르기 때문입니다.

RAID-DP는 다음과 같은 중요한 이점을 제공합니다.

  • 최대의 데이터 보호. NetApp RAID-DP에서는 이중 디스크 장애로 인한 데이터 손실의 가능성이 RAID 5 구성보다 수백 배 낮습니다. RAID 1+0은 RAID 5보다 우수한 데이터 보호 기능을 제공하지만 미러링된 디스크의 이중 장애가 발생하는 경우에는 여전히 데이터 손실의 위험이 있습니다. RAID-DP는 RAID 1+0 비용의 절반으로 100% 이중 디스크 장애 보호 기능을 제공합니다.
  • 가장 저렴한 비용. RAID 5 구현에서는 RAID 그룹 크기가 3+1 또는 5+1(비용 오버헤드 17-25%)로 제한되는 경우가 많습니다. RAID 1+0에는 1+1(오버헤드 50%)이 필요합니다. 이에 비해 NetApp은 최대 28(26+2)개의 디스크로 구성되는 RAID 그룹 크기를 지원하므로 용량 오버헤드가 7%에 불과합니다.
  • 성능 유지. 앞에서 설명한 바와 같이 경쟁제품의 이중 패리티 기술은 상당한 쓰기 성능 저하를 초래할 수 있으며 "주로 읽기" 유형의 애플리케이션에 적합합니다. NetApp의 기본 옵션인 RAID-DP는 단일 패리티 RAID에 비해 성능 저하를 거의 유발하지 않으면서 모든 워크로드에 사용하기 적합합니다.
  • 소프트웨어 라이센스 비용 없음. RAID-DP 기능은 모든 NetApp 시스템에 기본으로 제공됩니다. 또한 더 큰 RAID 그룹을 사용하여 추가 패리티 디스크의 비용을 상쇄할 수 있으므로 사용하는 데 추가 비용이 들지 않습니다.

이번 Back to Basics 기사에서는 NetApp RAID-DP 기술의 구현 방법과 해당 사용 사례 및 RAID-DP 구현을 위한 모범 사례 등에 대해 살펴보겠습니다.

RAID-DP가 Data ONTAP에 구현된 방법

NVRAM 및 WAFL과의 완벽한 통합

Data ONTAP 내의 RAID-DP 구현은 NetApp NVRAM 및 NetApp WAFL®(Write Anywhere File Layout)과 밀접하게 관련되어 있습니다. 이는 RAID-DP가 다른 RAID 6 구현에 비해 탁월한 성능을 달성할 수 있는 비결입니다.

메모리에 쓰는 작업은 디스크에 쓰는 것보다 훨씬 빠르게 수행되므로 스토리지 시스템 벤더는 보통 배터리가 지원되는 비휘발성 RAM(NVRAM)을 사용하여 쓰기 데이터를 캐슁하고 쓰기 성능을 높입니다. NetApp은 자사의 모든 스토리지 시스템에 NVRAM을 제공하지만, NetApp Data ONTAP 운영 환경은 일반적인 스토리지 어레이와 상당히 다른 방식으로 NVRAM을 사용합니다.

NVRAM은 마지막 CP(Consistency Point) 이후 Data ONTAP이 받은 쓰기 요청의 저널로 사용됩니다. Data ONTAP은 수 초마다 CP(Consistency Point)라고 하는 특별한 Snapshot™ 복사본을 만듭니다. 이는 온디스크 파일 시스템의 일관된 이미지입니다. Data ONTAP은 기존 디스크 블록을 덮어쓰지 않기 때문에 새로운 블록이 디스크에 써지더라도 CP는 변경되지 않고 유지됩니다. 이 접근 방식을 사용하면 장애가 발생하는 경우 Data ONTAP이 최신 CP를 되돌린 후 NVRAM에서 쓰기 요청 저널을 재생하기만 하면 됩니다.

이는 쓰기 요청을 디스크 드라이버 계층에 캐슁하는 기존 스토리지 어레이가 NVRAM을 사용하는 방식과 상당히 다른 것으로, NVRAM 소요량이 감소하고 쓰기 작업에 대한 대응 시간이 단축되며 디스크에 대한 쓰기 작업을 최적화할 수 있는 등 여러 가지 이점이 있습니다.

쓰기 최적화: RAID 4

쓰기를 캐슁하는 이 접근 방식은 NetApp RAID 구현에 완벽하게 통합되어 있으며, NetApp은 이를 통해 디스크 쓰기 성능이 기본 RAID 어레이에 최적화되도록 쓰기를 스케줄링할 수 있습니다. RAID-DP를 소개하기 전에 먼저 NetApp이 RAID 4 구현 시 이 프로세스를 최적화하는 방법에 대해 설명하겠습니다.

RAID 어레이는 스트라이프 단위로 데이터를 관리하며, 스트라이프는 RAID 그룹에 있는 각 디스크에서 1개의 블록으로 구성됩니다. 스트라이프별로 1개의 블록이 패리티 블록으로 지정됩니다. 그림 1은 4개의 데이터 디스크("D"로 표시된 처음 4개의 열)와 단일 패리티 디스크("P"로 표시된 마지막 열)로 구성되며 수평 패리티를 사용하는 기존 RAID 4 그룹을 보여 줍니다.

RAID 4 패리티의 예

그림 1) RAID 4 패리티의 예

이 예에서는 예시를 위해 각 수평 스트라이프의 값을 더한 후 합계를 패리티 값으로 저장함으로써 패리티가 계산됩니다(3 + 1 + 2 + 3 = 9). 실제로 패리티는 배타적 논리합(XOR) 연산을 사용하여 계산됩니다.

단일 장애로 인해 데이터를 재구성해야 하는 경우, 패리티를 생성하는 데 사용되는 프로세스가 역으로 처리됩니다. 예를 들어 첫 번째 디스크에서 장애가 발생하는 경우, RAID 4는 나머지 데이터에서 디스크 1의 각 블록의 데이터를 재계산합니다. 위의 예에서는 패리티에 저장된 값에서 나머지 디스크의 값을 빼기만 하면 됩니다(9 - 3 - 2 - 1 = 3). 이는 단일 패리티 RAID가 단일 디스크 장애에 대해서만 보호할 수 있는 이유이기도 합니다. 값 2개가 누락되는 경우 정보가 충분치 않아서 누락된 값을 재계산할 수 없다는 것을 알 수 있습니다.

전형적인 RAID 구현에서 이미 데이터(및 패리티)가 들어 있는 스트라이프에 새 데이터를 쓰기 위해서는 데이터 블록과 새 패리티 블록을 쓰기 전에 패리티 블록을 읽고 스트라이프의 새 패리티 값을 계산해야 합니다. 따라서 써야 하는 각 블록에 대해 상당량의 오버헤드가 발생하게 됩니다.

NetApp은 쓰기를 메모리에 버퍼링한 후 가능할 때 전체 RAID 스트라이프와 패리티를 쓰는 방식으로 이러한 약점을 최소화합니다. 그러면 쓰기 전에 패리티 데이터를 읽을 필요가 없으며 WAFL이 데이터 블록의 전체 스트라이프에 대해 패리티를 한 번만 계산하면 됩니다. (정확한 블록 수는 RAID 그룹의 크기에 따라 다릅니다.) 이것이 가능한 것은 WAFL이 기존 블록이 수정될 때 해당 블록을 덮어쓰지 않으며 어떠한 위치로든 데이터와 메타데이터를 쓸 수 있기 때문입니다. 다른 데이터 레이아웃에서는 보통 수정된 데이터 블록이 덮어써지며 대개 메타데이터의 위치가 수정되어야 합니다.

대각 패리티 추가: RAID-DP

NetApp RAID-DP는 RAID 그룹당 패리티 디스크 2개를 사용합니다. 첫 번째 패리티 디스크는 앞서 설명한 바와 같이 수평 스트라이프에 대해 계산된 패리티를 저장합니다. 두 번째 패리티 디스크는 대각 스트라이프에서 계산된 패리티를 저장합니다. 그림 2에는 그림 1의 수평 패리티 외에 파란색 바탕의 블록으로 표시된 대각 패리티 스트라이프 하나와 "DP"로 표시된 2번째 패리티 디스크가 추가되었습니다.

대각 패리티 추가

그림 2) 대각 패리티 추가

대각 패리티 스트라이프에는 수평 패리티 디스크의 블록이 계산의 일부로 포함됩니다. RAID-DP는 데이터 디스크와 패리티 디스크를 모두 포함하여 원래 RAID 4 구성의 모든 디스크를 동일하게 다룹니다. 그런데 대각 패리티 스트라이프에는 디스크 하나가 생략됩니다. 그림 3은 수평 패리티 스트라이프와 대각 패리티 스트라이프를 추가로 보여 줍니다.

수평 및 대각 패리티를 모두 보여 주는 다중 스트라이프

그림 3) 수평 및 대각 패리티를 모두 보여 주는 다중 스트라이프

각 대각 패리티 스트라이프에는 디스크 1개가 누락되지만 대각선별로 누락되는 디스크는 서로 다릅니다. 또한 대각 스트라이프 1개에는 패리티가 대각 패리티 디스크에 저장되지 않습니다(그림 1의 흰색 블록). 이는 전체 데이터의 복구 기능에 영향을 미치지 않습니다.

이중 디스크 오류 복구

수평 패리티와 대각 패리티를 함께 사용하면 동일한 RAID 그룹 내에서 디스크 2개에 장애가 발생하는 경우에도 데이터를 복구할 수 있습니다. 단일 디스크 장애 또는 배드 블록 또는 비트 오류가 발생하는 경우, 수평 패리티만 사용하면 누락된 데이터를 재생할 수 있습니다.

다중 디스크 장애가 발생하는 경우 RAID-DP는 먼저 그림 4와 같이 재구성을 시작할 체인을 식별합니다. 패리티에서 데이터를 재구성하는 것은 요소 1개가 누락되었을 때만 가능하다는 점을 기억하십시오. 각 대각 패리티 스트라이프가 데이터 디스크 중 1개를 건너뛰는 것은 이 때문입니다.

대각 패리티를 사용하여 RAID-DP 복구 시작

그림 4) 대각 패리티를 사용하여 RAID-DP 복구 시작

대각 패리티를 차례로 사용하여 첫 번째 블록을 복구하면 수평 패리티를 사용하여 두 번째 블록을 복구할 수 있습니다(그림 4의 첫 번째 행). 그러면 다시 대각 패리티를 사용하여 또 다른 누락된 블록을 복구할 수 있습니다. 이 복구 체인은 대각 패리티가 존재하지 않는 스트라이프로 인해 중단될 때까지 계속됩니다. 이때 또 다른 진입점이 발견되고, 또 다른 대각 및 수평 스트라이프의 체인에 대한 복구가 시작됩니다. 결국 누락된 블록이 충분히 채워지므로 수평 패리티만 사용하여 패리티가 없는 스트라이프의 모든 값을 재계산할 수 있게 됩니다. 이 프로세스는 TR-3298: RAID-DP에 자세히 나와 있습니다.

여기서는 RAID-DP의 바탕이 되는 기본 개념을 더욱 쉽게 이해할 수 있도록 간단한 예를 들었지만, RAID 그룹이 수십, 수백 개의 디스크로 구성되고 수백만 개의 데이터 행이 있는 실제 스토리지 구현에서도 동일한 프로세스가 적용된다는 것을 이해해야 합니다. 위의 예에서는 인접한 데이터 디스크 2개의 복구를 보여 주었지만, 장애 디스크가 서로 인접해 있는지 또는 데이터 디스크인지 또는 패리티 디스크인지 여부와 관계없이 동일한 프로세스가 유효하게 작용합니다.

쓰기 최적화: RAID-DP

위의 RAID 4에서 설명한 바와 같이 WAFL은 항상 전체 블록 스트라이프를 버퍼링하고 가능할 때마다 디스크에 쓰려고 합니다. RAID-DP는 데이터 블록을 메모리에 버퍼링하여 한 번의 읽기 작업으로 다중 수평 및 대각 패리티 계산을 완료합니다. 대각 패리티를 계산하고 2번째 패리티 블록을 쓰는 추가 오버헤드가 발생하지만 RAID 4 대비 RAID-DP의 성능 오버헤드는 2%에 불과합니다.

사용 사례

이 기술은 NetApp 스토리지에 매우 폭넓게 사용되므로 RAID-DP 사용 사례를 소개할 때는 사용해야 하는 상황보다 사용하지 않는 상황을 소개하는 것이 더 쉽습니다. 90%가 넘는 NetApp 고객이 업무상 중요한 워크로드, 성능이 중요한 워크로드를 비롯한 대부분의 워크로드에 이미 RAID-DP를 사용하고 있습니다. RAID-DP는 모든 신규 NetApp 스토리지 시스템의 기본 기능으로, NetApp은 모범 사례에 RAID-DP를 사용하도록 규정하고 있으며 공개되는 성능 벤치마크에 RAID-DP를 사용하고 있습니다. 모든 NetApp 소프트웨어는 RAID-DP와 완전히 호환됩니다. 다른 어떠한 벤더도 자사의 RAID 6 구현에 대해 이러한 주장을 펼치지 못하고 있습니다.

RAID-DP 대신 RAID 4를 선택할 수 있는 상황은 스크래치 공간, 테스트 및 랩 환경과 같이 복원력이 중요하지 않은 몇몇 경우에 불과합니다.

RAID-DP 사용

RAID-DP는 Data ONTAP 버전 6.5에서 처음 소개되었습니다.

RAID-DP 볼륨 생성

RAID-DP RAID 그룹으로 Aggregate(또는 전형적인 볼륨)를 생성하려면 NetApp 그래픽 툴을 사용하여 스토리지를 프로비저닝할 때 이 옵션을 선택하거나 aggr create or vol create 명령에 -t raid_dp 스위치를 추가합니다.

RAID 유형이 지정되지 않은 경우, Data ONTAP은 자동으로 기본 RAID 유형을 사용합니다. 이 유형은 Data ONTAP의 모든 현재 출하 버전을 위한 RAID-DP입니다. Data ONTAP Information Library에서 사용 중인 Data ONTAP 버전을 선택하면 해당 시스템의 기본 유형이 무엇인지 확인할 수 있습니다. (NetApp NOW®에 액세스해야 합니다.)

Broome-Tioga BOCES의 스토리지 인프라

기존 RAID 4 RAID 그룹을 RAID-DP로 변환할 수 있습니다. 변환은 Aggregate 또는 기존 볼륨 레벨에서 이루어지며, RAID 그룹별로 대각 패리티 디스크로 사용할 수 있는 디스크(최소한 RAID 그룹에서 가장 큰 디스크 이상)가 있어야 합니다.

RAID-DP RAID 그룹 크기 선택

RAID-DP를 포함하여 큰 RAID 그룹 크기를 사용하면 패리티에 소요되는 추가 디스크의 가용 용량에 대한 영향을 상쇄할 수 있습니다. 이 영향을 줄이거나 제거할 수 있는 한 가지 방법은 사용하는 디스크 드라이브 유형의 기본 RAID-DP 그룹 크기를 사용하는 것입니다. 기본 RAID-DP RAID 그룹 크기의 배수를 기반으로 하여 Aggregate를 생성하십시오.

하드 디스크 드라이브(SATA, FC 및 SAS)에 선호되는 싸이징 방법은 12(10+2) ~ 20(18+2) 범위 내에서 균등한 RAID 그룹 레이아웃이 되도록(즉, 모든 RAID 그룹이 동일한 수의 드라이브를 갖도록) RAID 그룹 크기를 설정하는 것입니다. 균등한 RAID 그룹 레이아웃을 얻을 수 있는 RAID 그룹 크기가 여러 가지인 경우, 범위 내에서 가장 큰 RAID 그룹 크기 값을 사용하는 것이 좋습니다. 불완전한 RAID 그룹이 불가피한 경우, Aggregate에서 모자란 드라이브 수가 RAID 그룹 수보다 하나 작은 값보다 크지 않도록 하는 것이 좋습니다(그렇지 않으면 다음으로 가장 낮은 RAID 그룹 크기를 선택합니다). 불완전한 RAID 그룹을 초래하는 드라이브 부족분을 RAID 그룹 전체에 고르게 분산하여 단일 RAID 그룹에서 부족분이 단일 드라이브를 초과하는 경우가 없도록 해야 합니다.

RAID-DP 관리

RAID-DP를 사용하거나 RAID-DP로 전환할 때 운영 절차를 변경할 필요가 거의 또는 전혀 없습니다. 한 스토리지 시스템에 RAID 4 및 RAID-DP Aggregate 및 볼륨이 혼재되어 있을 수 있으며, 관리에 사용하는 명령도 동일합니다.

RAID-DP 재구성

이중 디스크 장애가 발생하는 경우, RAID-DP는 복구가 더욱 신속하게 완료될 수 있도록 재구성 프로세스의 우선순위를 자동으로 높입니다. 따라서 디스크 2개의 장애에 따른 데이터 재구성 시간은 단일 디스크 장애에 따른 데이터 재구성 시간보다 약간 더 짧습니다. 이중 디스크 장애가 발생하는 경우, 두 번째 디스크보다 어느 정도 전에 첫 번째 디스크 장애가 발생하여 최소한 일부 정보가 이미 수평 패리티를 사용하여 다시 생성되었을 가능성이 높습니다. RAID-DP는 두 번째 디스크 장애로 인해 요소 2개가 누락된 곳에서 복구를 시작하여 이러한 경우를 자동으로 조정합니다.

Data ONTAP에는 스토리지 관리자가 RAID 재구성이 시스템 성능에 미치는 영향을 조정할 수 있는 옵션이 있습니다.

raid.reconstruct.perf_impact 옵션은 기본적으로 중간으로 설정됩니다. 이 옵션에 사용할 수 있는 값은 낮음(low), 중간(medium) 및 높음(high)입니다. 이 옵션을 낮음으로 설정하면 시스템 리소스가 포그라운드 I/O에 응답하는 데 우선적으로 사용되므로 RAID 재구성을 완료하는 데 소요되는 시간이 길어집니다. 이 옵션을 높음으로 설정하면 RAID 복구 작업이 더 많은 양의 시스템 리소스에 대해 포그라운드 I/O와 경쟁할 수 있습니다(따라서 포그라운드 I/O 성능이 저하됩니다).

경우에 따라 이 옵션을 조정해야 할 수 있지만 이는 마지막 수단이어야 합니다. NetApp에서는 보통 기본값을 유지할 것을 권장합니다.

결론

NetApp RAID-DP 기술은 거의 모든 공통 스토리지 워크로드에 사용할 수 있는 중요한 복원력 툴입니다. NetApp RAID-DP에 대해 자세히 알아보려면 NetApp TR-3298: 데이터 보호를 위한 이중 패리티 RAID 구현WP-7005: NetApp RAID-DP: 성능 저하 없는 이중 패리티 RAID 6 보호를 참조하십시오.

 RAID-DP에 대한 의견이 있으십니까?

NetApp 온라인 커뮤니티에서 질문하고 아이디어를 교환하며 생각을 공유하십시오.

Jay White
기술 마케팅 엔지니어
NetApp


Jay는 시스템 복원력, 스토리지 서브시스템(쉘프, 드라이브 등) 및 RAID를 담당하는 기술 마케팅 엔지니어입니다. Jay는 스토리지 서브시스템 구성 및 복원력과 관련된 몇 가지 기술 보고서와 FAQ를 작성했습니다.



Carlos Alvarez
선임 기술 마케팅 엔지니어
NetApp


Carlos는 2008년부터 NetApp에서 근무해 왔으며 중복제거, 데이터 압축 및 씬 프로비저닝 분야에 대한 심도 있는 전문 지식을 바탕으로 스토리지 효율성 분야를 전담하고 있습니다. 또한 가장 효과적이고 적합한 NetApp 스토리지 효율성 기술을 고객 구성에 통합할 수 있도록 정기적으로 지침을 제공합니다.


Tech OnTap
구독 신청
Tech OnTap은 IT 통찰력, 실제 모범 사례, 유용한 정보와 툴, 미공개 엔지니어링 인터뷰 기사, 데모, 동종 업계 평가 등의 다양한 정보를 매월 제공합니다.

지금 바로 NetApp 커뮤니티의 Tech OnTap에 방문하여 구독 신청하십시오.

탐색
탐색
Back to Basics 추가 정보

NetAppR 핵심 기술의 기본 원리에 대해 알아보십시오. 이 시리즈에서 현재까지 제공된 기사:

탐색
 


Go further,faster TRUSTe
연락처   |   구매 방법   |   피드백   |   채용  |   구독   |   개인 정보 보호 정책   |   © 2011 NetApp