2008년 창간 · 디지털 에디션 · 2026년 6월 19일

SMB IT Journal

중소기업을 위한 정보기술 자료

한국어
스토리지

핫 스페어인가, 뜨거운 혼란인가

RAID의 안전성을 높이기 위한 일반적인 방법 중 하나는 드라이브 장애 발생 시 교체 시간을 최소화하기 위해 예비 드라이브를 확보해 두는 것입니다. 가장 극단적인 형태가 바로 “핫 스페어”입니다. 이는 어레이 안에 실제로 장착되어 있지만 사용되지 않다가, 어레이가 드라이브 장애를 감지하는 순간 시스템이 자동으로 장애 드라이브를 비활성화하고 핫 스페어를 활성화하는 방식입니다. 마치 사람이 드라이브를 빼고 다른 드라이브를 꽂은 것처럼 즉시 리실버(어레이 재구성) 작업이 시작됩니다. 이를 통해 새 드라이브를 교체하는 시간을 수 시간 혹은 수 일에서 수 초로 단축할 수 있으며, 이론적으로는 안전성을 극적으로 향상시킬 수 있습니다.

먼저, 개인적으로 명명 관례에 오류가 있다고 생각하는 점을 짚고 싶습니다. 우리가 핫 스페어라고 부르는 것은 사실 “웜 스페어(warm spare)”라고 불러야 한다고 생각합니다. 왜냐하면 사용 준비는 되어 있지만 즉시 사용할 수 있는 데이터를 담고 있지 않기 때문입니다. 섀시 외부에 보관되어 사람이 직접 교체해야 하는 드라이브는 콜드 스페어입니다. 진정한 핫 스페어가 되려면 드라이브에 데이터가 가득 차 있어야 하며, 그렇다면 RAID 어레이의 참여 구성원이 되는 것입니다. Red Hat에는 이 용어가 재해 복구 사이트에 어떻게 적용되는지에 관한 좋은 문서가 있으니 참조하시기 바랍니다. 우리가 핫 스페어라고 부르는 것은 이미 데이터를 포함하고 있지 않으며 장애 드라이브를 즉시 대체하는 것이 아니라 손실된 드라이브를 복구하는 프로세스를 즉시 시작하는 것이므로 이 차이는 매우 중요합니다.

개념을 명확히 하기 위해, 이하에서는 벤더들이 핫 스페어라고 부르는 것을 “웜 스페어”라고 지칭하겠습니다. 곧 이해가 될 것입니다.

웜 스페어에는 두 가지 주요 우려 사항이 있습니다. 첫 번째는 대부분의 사용 사례에서 웜 스페어의 비효율성이고, 두 번째는 “자동 어레이 파괴” 위험입니다.

대부분의 사람들은 패리티 RAID 5 어레이에서 두 번째 드라이브 장애의 높은 위험을 완화하기 위한 수단으로 웜 스페어 개념에 접근합니다. RAID 5 어레이는 어레이 내 단일 디스크 장애에 대해서만 보호합니다. 단일 디스크가 장애를 일으키면 어레이는 패리티가 없는 상태로 남게 되며 추가 드라이브 장애가 발생하면 어레이 전체가 손실됩니다. RAID 5는 주어진 용량 대비 매우 저렴하지만 이 비용 효율성을 위해 신뢰성을 희생합니다. RAID 5는 RAID 6나 RAID 10과 같은 다른 RAID 옵션에 비해 위험하기 때문에, 어레이가 성능이 저하된 상태로 있는 시간을 최소화하고 최대한 빨리 리실버링을 시작할 수 있도록 웜 스페어를 구현하는 것이 일반적입니다.

따라서 보다 관련성 있는 핵심 내용은 웜 스페어가 일반적으로 비용 절감을 위해 덜 신뢰할 수 있는 RAID 어레이 유형을 사용하는 것에 대한 버퍼로 사용된다는 것입니다. 웜 스페어는 RAID 5 어레이에서 압도적으로 더 일반적이며 그 다음이 RAID 6 어레이입니다. 이 둘 모두 신뢰성이나 성능이 아닌 용량 대비 비용 때문에 RAID 10보다 선택됩니다. 웜 스페어 아이디어가 추가 신뢰성을 위해 진정으로 의미가 있는 경우가 하나 있는데, 바로 웜 스페어가 있는 RAID 10이지만 이 부분은 나중에 다루겠습니다. 그 시나리오 외에는 웜 스페어가 실제 세계에서 거의 의미가 없다고 생각합니다.

먼저 웜 스페어가 있는 RAID 1을 살펴보겠습니다. RAID 1은 두 개 이상의 드라이브로 구성된 미러입니다. 웜 스페어를 추가하는 것은 미러링된 쌍 중 하나가 죽으면 웜 스페어가 즉시 남은 드라이브의 미러링을 시작하여 단시간 내에 다시 보호받을 수 있다는 점에서 좋습니다. 훌륭합니다. 단 한 가지 사소한 결함이 있는데, 그 웜 스페어로 사용하는 드라이브를 처음부터 RAID 1 어레이에 추가했다면 3차 미러가 되었을 것입니다. 이 3차 미러 역할에서 드라이브는 어레이의 전반적인 성능에 기여하여 쓰기 성능을 유지하면서 읽기 성능을 거의 50% 향상시키고, 웜 스페어의 “리미러링이 완료된 후” 보호가 아닌 드라이브 장애 시 즉각적인 보호를 제공했을 것입니다. 기본적으로 웜 스페어가 아닌 진정한 “핫 스페어”가 되었을 것입니다. 따라서 단 한 푼도 더 쓰지 않고 추가 드라이브를 핫 “어레이 내” 역할로 두는 것만으로 드라이브 어레이 성능과 신뢰성이 모두 향상될 수 있었습니다.

RAID 5에서는 웜 스페어 개념에 대한 더욱 극적인 경고를 볼 수 있는데, 다른 어디보다 더 일반적인 이곳에서 그것이 나타납니다. RAID 5는 어레이에서 장애가 발생한 드라이브를 패리티를 사용하여 재구성할 수 있는 단일 패리티 RAID입니다. 여기서 진짜 문제가 시작됩니다. RAID 1에서 리미러링 작업이 꽤 빨리 완료될 수 있는 것과 달리, RAID 5 리실버(재구성)는 상당히 오랜 시간이 걸릴 가능성이 있습니다. 웜 스페어는 이 리실버 프로세스가 성공적으로 완료될 때까지 어레이를 보호하는 데 도움이 되지 않으며, 이는 흔히 수 시간이 걸리고 어레이의 크기와 사용량에 따라 수 일 혹은 수 주, 수 개월이 걸리기도 합니다. 만약 그 웜 스페어 드라이브를 추가 패리티 스트라이프를 가진 어레이 구성원으로 활용했다면 RAID 6를 달성할 수 있었을 것입니다. RAID 5 플러스 웜 스페어에 사용하는 동일한 드라이브 세트가 정확히 같은 용량의 RAID 6 어레이를 만들 수 있습니다. RAID 1 예시처럼, 이는 드라이브가 다른 드라이브가 장애를 일으킬 때까지 기다렸다가 교체 과정을 시작하는 것이 아니라 라이브 데이터로 어레이에 참여하는 핫 스페어를 갖는 것과 매우 유사합니다. 이 경우 어레이는 장애 발생 시 RAID 5와 동등한 수준으로 저하되지만 재구성 시간 없이 즉시 사용 가능하므로, 가능한 매우 긴 리실버 프로세스 이후에만 유용한 것이 아니라 즉시 추가 드라이브가 유용합니다. 따라서 같은 비용, 같은 용량으로 웜 스페어가 있는 RAID 5 대신 RAID 6로 설정하는 것이 완전한 승리입니다.

이 예시를 웜 스페어가 있는 RAID 6로 계속할 수 있습니다. 이것은 정의하기가 조금 덜 쉬운데, 대부분의 RAID 시스템에서 ZFS의 다소 드문 RAIDZ3를 제외하고는 RAID 6보다 한 단계 위의 3중 패리티 시스템이 없기 때문입니다(예를 들어 RAID 7이 있다면 어떨지 상상해보세요). 만약 그런 것이 있다면 RAID 5 플러스 웜 스페어에 대해 만들어진 정확한 논거가 RAID 6 플러스 웜 스페어에도 적용될 것입니다. 대부분의 경우 웜 스페어가 있는 RAID 6는 RAID 10 어레이와 비교하여 자체를 정당화해야 합니다. RAID 10은 RAID 6 어레이보다 성능이 뛰어나고 훨씬 더 신뢰할 수 있지만, RAID 6는 일반적으로 RAID 10에 비해 비용을 절감하기 위해 선택됩니다. 그러나 RAID 6의 취약성을 상쇄하기 위해 웜 스페어가 때때로 사용됩니다. 웜 스페어가 있는 작은 5디스크 RAID 6 어레이와 같은 경우, 이는 웜 스페어 없이 6디스크 RAID 10 어레이와 달러 대 달러로 동등합니다. 대형 어레이에서는 RAID 6의 비용 이점이 확실해지지만, 비용 절감이 클수록 위험 차등도 커집니다. 패리티 RAID 시스템은 미러 기반 RAID 시스템인 RAID 10보다 어레이 크기가 커질수록 위험이 훨씬 빠르게 증가합니다. 오늘 절약하는 돈은 내일의 중단 또는 데이터 손실 위험을 감수한 것입니다.

웜 스페어가 효과적으로 작용하는 곳은 RAID 10 어레이에서입니다. 여기서 웜 스페어 재구성은 RAID 1처럼 패리티 위험을 수반하지 않는 미러 재구성이고, 더 취약한 시스템으로 돈을 절약하려는 RAID 10 이상의 논리적 확장 RAID 시스템이 없습니다. 여기서 웜 스페어를 추가하는 것은 동일한 추가 신뢰성을 얻는 더 비용 효율적인 방법이 없기 때문에 중요한 어레이에 의미가 있을 수 있습니다. 그러나 RAID 10은 웜 스페어 없이도 매우 신뢰할 수 있어, RAID 5나 RAID 6에 웜 스페어를 고려하는 모든 조직은 이미 이전에 고려했던 신뢰성 수준을 뛰어넘은 간단한 RAID 10에서 논리적으로 멈출 것입니다. 따라서 더 취약한 시스템을 고려하지 않고 가능한 가장 강력한 옵션을 찾는 조직만이 논리적으로 RAID 10 플러스 웜 스페어를 솔루션으로 볼 것입니다.

기술적 정확성을 위해 말씀드리면, RAID 10은 표준 2디스크 RAID 1 미러 대신 RAID 0 스트라이프에서 3디스크 RAID 1 미러로 이동함으로써 더 나은 읽기 성능과 신뢰성의 극적인 향상(단, 50% 비용 증가)을 위해 확장될 수 있습니다. 이것은 실제 세계에서 거의 찾아보기 힘든 수준의 신뢰성이지만 존재할 수 있고 옵션입니다. 일반적으로 이는 물리적 어레이 섀시의 드라이브 수 제한과 완전히 별개의 보조 RAID 10 어레이를 다른 섀시에 구축하고 높은 수준에서 미러링하여 효과적으로 RAID 101을 만드는 것과 경쟁이 잘 되지 않기 때문에 제한됩니다. 이것이 오늘날 일반적인 고급 스토리지 어레이 클러스터의 효과적인 결과입니다.

두 번째 우려 사항은 “자동 어레이 파괴”입니다. 이는 RAID 5 및 RAID 6의 패리티 RAID 시나리오(또는 드문 RAID 2, RAID 3, RAID 4 및 RAIDZ3)에만 적용됩니다. 웜 스페어 개념에서는 드라이브가 장애를 일으키면 웜 스페어가 어레이 컨트롤러에 의해 자동으로 즉시 교체되고 리실버링 프로세스가 즉시 시작됩니다. 리실버링이 완전히 신뢰할 수 있는 프로세스라면 이는 분명히 크게 환영받을 것입니다. 안타깝게도 현실은 상당히 다릅니다.

리실버 프로세스 중에 패리티 RAID 어레이는 복구 불가능한 읽기 오류(URE)가 발생할 위험이 있습니다. 단일 패리티 RAID 리실버(RAID 2~5)에서 URE가 발생하면 리실버링 프로세스가 실패하고 어레이가 완전히 손실됩니다. 추가 드라이브가 장애를 일으킨 것이 아니므로 이를 이해하는 것이 중요합니다. 따라서 웜 스페어가 없었다면 리실버링이 시작되지 않았을 것이고 데이터는 여전히 손상되지 않고 사용 가능했을 것입니다. 단지 평소보다 빠르지 않고 2차 드라이브 장애의 작은 위험이 있을 뿐이었습니다. URE 비율은 오늘날의 대용량 드라이브에서 매우 높으며, 대형 어레이에서는 표준 리실버링 작업 중에 “가능”에서 “예상됨”으로 이동할 정도로 위험이 높아질 수 있습니다.

따라서 많은 경우에 웜 스페어 자체가 예상대로 데이터의 구원자가 아닌 데이터 손실의 방아쇠가 될 수 있습니다. 살아남을 수도 있었던 어레이가 시스템을 관리하는 사람이 첫 번째 드라이브 장애 경고를 받기도 전에 리실버링 프로세스에 의해 파괴될 수 있습니다. 사람이 개입했다면 최소한 리실버가 실패했을 경우 최신 데이터 사본이 사용 가능하도록 리실버를 시작하기 전에 어레이를 새로 백업하는 단계를 취할 수 있었을 것입니다. 또한 어레이가 과부하를 경험할 가능성이 낮은 업무 시간 이후나 주말로 리실버 시작을 예약할 수 있었을 것입니다.

이중 및 삼중 패리티 RAID(각각 RAID 6 및 RAIDZ3)도 패리티를 기반으로 하기 때문에 URE 위험을 공유합니다. 이들은 추가적인 패리티 레벨을 통해 이 위험을 완화하고 대부분의 경우 성공적으로 그렇게 합니다. 위험은 여전히 존재하며, 특히 매우 큰 RAID 6 어레이에서는 그렇지만, 시장에서 훨씬 더 큰 스핀들 기반 스토리지 미디어가 출시될 때까지 앞으로 몇 년 동안은 대부분의 스토리지 어레이에서 위험이 일반적으로 꽤 낮게 유지됩니다.

패리티 RAID와 URE 위험의 가장 큰 문제는 패리티 RAID로의 동인(비용을 낮추기 위해 추가적인 데이터 무결성 위험을 감수하려는 의지)이 URE 위험 증가를 유발하는 동인(저비용, 비엔터프라이즈 SATA 하드 드라이브 구매)과 동일하다는 것입니다. 패리티 RAID를 사용하는 조직은 일반적으로 크고 저렴한 SATA 드라이브와 함께 사용하여 폭발적인 조합을 위해 두 가지 매우 위험한 요소를 결합합니다. 비패리티 RAID 1 또는 RAID 10을 사용하면 문제가 완전히 제거되고, 신뢰할 수 있는 엔터프라이즈 SAS 드라이브를 사용하면 위험 요소가 한 자릿수(단순 표현이 아닌 실제로 한 자릿수 변화)만큼 크게 줄어듭니다.

또한 리실버 작업 중에 패리티 시스템의 성능이 장기 중단에 해당할 만큼 급격히 저하될 수 있습니다. 리실버 프로세스는 특히 대형 어레이에서 최종 사용자가 완전히 실패한 어레이와 리실버링 중인 어레이를 구별할 수 없을 만큼 집약적일 수 있습니다. 사실, 리실버링이 극단적으로 진행될 경우 너무 오래 걸리고 너무 방해가 되어 비즈니스에 미치는 비용이 어레이가 완전히 실패하고 백업에서 복구를 시작한 것보다 높아질 수 있습니다. 이 리실버 문제는 RAID 1과 RAID 10에는 영향을 미치지 않는데, 이들은 패리티가 아닌 미러 기반 RAID 시스템이기 때문에 리실버 프로세스가 간단하고 시스템의 성능 저하가 최소화되고 단기간에 그칩니다. 극단적인 경우 패리티 리실버는 몇 주 또는 몇 달이 걸릴 수 있으며, 이 기간 동안 시스템은 오프라인처럼 동작합니다. 또한 이 프로세스의 어느 시점에서든 위에서 언급한 URE 오류가 발생하여 리실버를 종료하고 어차피 백업에서 복구를 강제할 가능성이 있습니다. (일반적인 리실버는 수 주가 걸리지 않지만 수 시간이 걸리며 수 일이 걸리는 것도 흔한 일입니다.)

최종 요약은 다음과 같습니다(다시 “핫 스페어”라는 관용 용어 사용): “핫 스페어”가 없는 RAID 10은 거의 항상 “핫 스페어”가 있는 RAID 6보다 더 나은 선택입니다. “핫 스페어”가 없는 RAID 6는 항상 “핫 스페어”가 있는 RAID 5보다 낫습니다. 추가 미러 구성원이 있는 RAID 1은 항상 “핫 스페어”가 있는 RAID 1보다 낫습니다. 따라서 핫 스페어와 함께 어떤 RAID 레벨을 결정하든, 동일하거나 거의 동일한 비용으로 성능과 신뢰성을 모두 최대화하려면 단순히 한 단계 높은 RAID 신뢰성 레벨로 이동하고 “핫 스페어”를 없애면 됩니다.

웜 스페어는 패리티 RAID와 마찬가지로 한 때는 빛을 발했습니다. 사실 패리티 RAID가 여전히 광범위한 사용에 의미가 있었을 때, 즉 URE 오류가 가능성이 낮고 디스크 비용이 높았을 때 웜 스페어 드라이브도 의미가 있었습니다. 잘 짝지어져 있었고, 하나가 의미 있으면 다른 하나도 자주 그랬습니다. 종종 간과되는 것은 패리티 RAID, 특히 RAID 5가 효율성을 잃으면서 예상치 못한 방식으로 웜 스페어도 함께 끌어내렸다는 것입니다.

태그disk drive hard disk raid storage

광고

SMB IT Journal — the IT resource for small business