EMC는 오늘 많은 기대 속에 XtremIO의 상용 버전(GA)을 출시했습니다. 전에도 말씀 드렸던 것처럼 이번 출시는 업계에 큰 도약의 기회를 제공할 것으로 예상됩니다. 레거시 디스크 아키텍처는 고성능 스토리지를 위한 올 플래시 아키텍처로 빠르게 전환되고 있습니다. 스토리지 업계의 거두인 EMC가 이러한 전환에 동참함으로써 전체 업계가 플래시로 이동하는 현상이 더욱 가속화될 것입니다. 이러한 변화를 주도해 온 기업들에게는 매우 보람 있는 일이라고 하겠습니다.
또한 EMC의 이번 출시는 여느 때의 대대적인 출시와는 달리, XtremIO가 무엇인지에 중점을 두어 간단 명료한 프리젠테이션으로 차분하게 진행되었습니다. 이 프리젠테이션에서는 ‘1.0’버전이라는 제품의 한계뿐만이 아니라 EMC가 내세우는 기술적인 우위에 대해 확실한 설명을 제공해 주었습니다.
행사에 대한 제 의견을 간단히 요약하자면, EMC가 XtremIO와 경쟁 제품간의 차별점으로 강조하려고
했던 사항은 다음과 같습니다.
1) XtremIO는 상용 버전(general availability, GA)이며 ‘최적기’ 제품 구현을 위한 준비가 됨
2) XtremIO의 고유한 아키텍처는 시장의 타제품과 차별화됨
- 수평 확장 어레이로 성능과 용량을 선형으로 확장
- 플래시에 종속되는 메타데이터가 아닌 인메모리 메타데이터 모델 사용
- 사후 처리 축소가 필요 없는 100% 인라인 중복 제거
- 가비지 수집에 대한 성능 페널티 없는 일관성 있는 성능 제공
이러한 주장을 하나하나 살펴보고 퓨어스토리지의 관점에서 말씀 드리도록 하겠습니다.
XtremIO는 상용 버전(GA)입니다. – 준비가 되었을까요?
모든 제품들과 마찬가지로, 최초의 상용 버전이 출고되려면 어느 정도 절충하지 않으면 안되는 이슈
들이 발생하는데 오늘 출시한XtremIO도 예외는 아닙니다. 이러한 문제들에는 어떤 것들이 있는지 잠
시 살펴보도록 하겠습니다. (EMC의 프리젠테이션에 포함된 내용과 출시 행사 시 채팅 윈도우 내
용 발췌)
XtremIO GA 포함사항:
- 10TB xBricks
- 1, 2, 또는 4 xBrick 구성
- FC 및 iSCSI 지원
- 인라인 4K 중복 제거
발표 시점에서 홍보되었으나 GA에는 포함되지 않은 기능:
(이러한 기능들의 한계는 출시 행사 당시 EMC 담당자와의 라이브 채팅 윈도우를 통해 토론되었습니다. 저작권 보호 문제 때문에실제로 언급된 사항을 여기에 옮겨 적을 수 는 없지만 원하시면 출시 행사를 재생하여 더 자세한 문맥과 내용을 확인하실 수있습니다.)
- 듀얼 드라이브 손실 RAID 복구: GA에서는 제공되지 않으며, 싱글 드라이브 장애 복구만 지원됨
- 스냅샷(Snapshots): GA에서는 제공되지 않음
- 클러스터 수평 확장(Scale-out cluster expansion): GA에서는 제공되지 않음. XtremIO configs는 1, 2, 또는 4-brick 구성은제공되나 이들간의 온라인 확장은 지원되지 않음
마지막으로 일부 “GA 준비성”과 관련된 질문인데 출시 당시에 설명되지 않은 사항들이 있습니다.
- HA 전략 – EMC는 XtremIO의 고가용성(HA)에 대해 대대적으로 선전을 했는데 정작 프리젠테이션에서는 핵심적인 어레이 기능에대한 설명은 거의 없었습니다. HA 프로세스는 소프트웨어/아키텍처 측면에서는 어떻게 처리가 되는 것인지? 어떤 유형의 I/O 중단을 야기하고 이는 얼마나 지속되는지? 컨트롤러 손실이 성능에 미치는 영향은 어떤지? 전력 손실이 발생하는 경우 성능에는 어떤 영향이 있으며, 복구 시나리오에는 어떤 것이 있는지? 향후 출시 행사에서는 HA 전략과 아키텍처에 관해 좀 더 명확하게 프리젠테이션을 했으면 하는 바램이 있습니다. 그때까지 고객들께 드리고 싶은 조언은 계속 여러 다른 시스템을 테스트 해보라는 것입니다.
- 무중단 업그레이드(NDU) / 유지보수 전략 – EMC는 NDU가 구현된다고 했지만, 역시 그 방법이나 업그레이드가 성능에는 어떤 영향을 주는지 등에 대한 상세 설명은 별로 없었습니다. EMC의 채트 사카크(Chad Sakac)의 블로그에는 NDU 코드를 제공합니다. 그런데 고객들이 처음 업그레이드 할 때는 사용할 수가 없게 되어있습니다. 무중단 업그레이드 코드는 어떻게 실행이 되는 것인지? 용량 확장은 어떻게 수행되는것인지? 컨트롤러 교체는 어떻게 하는 것인지? XtremIO가 인메모리 메타데이터 접근방식을 이용한다는 사실을 고려하면, 이 기능들을 제대로 작동하도록 만들기는 쉽지 않을 것입니다.
- 비용 – EMC는 독립형으로서는 물론 VNX 및 VMAX와 비교함에 있어서 일체 제품의 비용 에 관해서는 언급하지 않았습니다. 올 플래시 VNX와 비교하여 비용은 어떤지? 소프트웨어 라이선스 전략에는 어떤 것이 있는지? 스냅샷과 같은 기능들은 다른 EMC 어레이플랫폼상에서 라이선스가 필요한데 XtremIO에서도 추가로 라이선스가 필요한 것인지? 설치 및/또는 유지 보수 시에 전문 서비스가 필요한건지?
자, 그럼 아키텍처 문제로 넘어 가보겠습니다.
XtremIO의 아키텍처 관련 주장 분석
MC가 제기한 4가지 주장을 하나씩 살펴보도록 하겠습니다.
1) XtremIO는 사후 처리 축소가 필요 없는 100% 인라인 중복제거를 합니다.
이는 맞는 말입니다. XtremIO는 간단한 4K의 SHA-1 콘텐츠 해시 기반의 중복 제거 방식을 구축합니다. 사실 해시는 어레이가 어디에 어떻게 데이터를 저장하는지 찾아내는 방법이기 때문에 이는 인라인으로 수행되어야만 합니다. 이 부분에서 EMC가 중복 제거를 제공하지 않는 타사의 제품들을 겨냥하고 있다는 걸 알 수 있습니다. 퓨어스토리지는 다양한 데이터 축소 알고리즘을 활용하는데, 대부분은 인라인이며 일부는 처리 후에 추가적인 가치를 더해줍니다.
EMC는 자사 제품의 가장 큰 약점 중 하나를 장점이라고 강조하고 있는 듯합니다. EMC의 제품은 4K 고정 블록 중복제거만 할 뿐인데 이는 4K 인메모리 메타데이터에 의존합니다.
이부분을 퓨어스토리지와 비교해 보도록 하겠습니다. 퓨어스토리지는 적응이 뛰어난 데이터 축소 기술을 구현하며, 어레이 내부에서 5가지 독립 데이터 축소 기술을 사용합니다. 그리고 앞으로 더 나은 데이터 축소를 제공하기 위해 지속적으로 새로운 기술을 추가하고 향상하고 있습니다.
퓨어스토리지가 사용하는 데이터 축소 기술은 다음과 같습니다
- 인라인 패턴 제거: 모든 패턴 블록을 쉽게 제거하고 이들을 간단하고 효율적으로 메타데이
터 구조에 저장합니다. - 다양한 가변 구조에서의 인라인 중복제거: 크기가 512바이트에서 32K까지인 중복 제거 세그먼트를 감지하여 단일한 메타데이터 입력으로 저장하는 유연한 중복제거 구조를 이용합니다. 이러한 세그먼트들은 모든 512바이트 구조에서 생성될 수 있습니다. (4K 정렬 문제 없음)
- 인라인 압축: 평균 2대 1 이상의 데이터 압축을 유지합니다. (데이터베이스에 좋습니다!)
- 클론 / 복사 중복제거: 데이터 스냅샷과 복사 작업(예:xCopy)을 가속화하고 메타데이터를 효과적으로 만드는 특정 목적의 중복제거도 제공합니다.
- 사후 처리 데이터 축소: 더 심화된 데이터압축(더 많은 CPU 비용이 드는 압축 사용)을 위해 데이터를 어레이에 저장한 뒤 분석하는 프로세스를 백그라운드에서 상시 실행하여 (CPU 상당의 예산으로 가능) 장기 데이터에 대한 추가적인 축소를 제공합니다.
인라인과 사후 처리 축소의 차이를 살펴보면, #1-#4는 항상 인라인입니다. #2와 #3의 상대적으로공격적인 축소는 어레이를 통해 자동으로 조절이 가능하기 때문에 일관성 있는 성능을 유지할 수있습니다. 실제로 이를 낮추는 경우는 거의 없지만 기록 부하가 많은 환경에서는 어레이의 성능을 보호하는 차원에서 실행할 수도 있습니다. 또한 잠재적인 데이터 축소를 놓친 경우에는 어레이가 #5를 통해 완전한 데이터 축소를 몇 시간 내에 수행합니다.
데이터 축소, 중복제거와 압축
여기서 알 수 있는 사실은 XtremIO는 충분한 압축을 제공하지 않다는 사실입니다. 이 자료를 공유한 적은 이제껏 없었지만 퓨어스토리지는 전 고객의 100여개 어레이를 대상으로 평균 데이터 축소율을 계산했습니다. 평균적으로 압축이 중복제거보다 데이터 축소에 효과적이라는 사실이 밝혀졌습니다. 특히 데이터베이스와 혼합 VM 부하(VM에도 어플리케이션이 있다는 사실을 주지하십시오!)에서 이는 더 확연하게 나타났습니다. 벨 커브 그래프를 통해 대부분의 어레이가 제공한 데이터 축소는 어느 부분에 속하며 압축이 얼마나 큰 부분을 차지하는지 확인해 보실 수 있습니다.
여기 데이터가 있습니다.
더 간단하게 설명하자면, 압축이 제공되지 않으면 혼합 부하에서 잠재적인 데이터 축소의 50% 이상을 손해 보는 것이기 때문에 동일한 사양의 하드웨어 기반 솔루션을 놓고 볼 때 비용이 2배 더 높아지는 것과 마찬가지가 됩니다.
그래서 결국 ‘100% 인라인’은 부차적인 문제이고 중요한 점은 제공되는 데이터 축소의 수준이 어떠하며 이를 가능하게 하는 활용사례에는 어떤 것이 있느냐라는 얘기인데, 이 부분에 있어서는 퓨어스토리지의 완승입니다.
2) 인 메모리 메타데이터 모델
EMC는 프리젠테이션의 많은 시간을 XtremIO의 인메모리 메타데이터 모델에 할애했습니다. 메타데이터가 지속적이며 컨트롤러의DRAM에 존재한다는 것을 플래시에 종속된 메타데이터와 비교한 것입니다. EMC가 고급 서비스의 생명선이라고 할 수 있는 메타데이터를 강조한 것은 잘한 일입니다.
중복제거, 압축, 씬 프로비저닝, 이들 모두 메타데이터에 의해 구동되기 때문입니다. 사실 EMC의플랫폼이 압축이나 가변 입자 크기의 세부적인 중복제거를 제공하지 않는 큰 이유는 XtremIO의간단한 4K 메타데이터 모델 때문이라고 추측됩니다. (위 참조)
비교를 하자면, 퓨어스토리지 역시 메타데이터를 많이 사용합니다. 그러나 퓨어스토리지의 모델은 전혀 다릅니다. 퓨어스토리지는메타데이터의 100%를 플래시 자체에 전담 및 종속하고 (사용자 데이터와 같은 동일한 데이터 구조에서 저장 및 보호), 그 다음DRAM에서 가장 많이 사용된 메타데이터를 캐시화하여 작업 속도를 증가시킵니다.
궁극적으로 메타데이터 모델을 분석할 때 중요한 세가지 사항이 있습니다.
- 메타데이터는 무엇을 가능하게 하는가? 이 경우 역시 퓨어스토리지의 명확한 승리입니다. 퓨어스토리지의 상대적으로 더 복합적이고 풍부한 메타데이터 구조는 보다 세부적이고 크기가 가변적인 중복 제거와 압축을 가능하게 합니다. (압축은 4K 블록의 크기를 감소하고 크기가 가변적인 더 작은 블록들이 어떻게 슬롯에 맞춰지는지를 추적한다는 사실을 기억하십시오.
- 메타데이터는 어떻게 보호되는가? 메타데이터는 현대의 모든 어레이에서 없어서는 안되는 생명줄과 같기 때문에 이를 보호하는 것이 매우 중요합니다. XtremIO는 메타데이터를메모리 내에 저장하고 전력이 완전히 상실되는 경우 컨트롤러의 SSD를 보호하기 위해UPS 기기에 의존해 메모리를 디스테이지(de-stage)합니다.
이러한 접근 방식이 얼마나 효과적인가에 대한 판단은 독자에게 맡기기로 하고, 이를 퓨어스토리지의 접근 방식과 비교해 보겠습니다. 퓨어스토리지의 방식은 호스트가 IO를 다시 ‘인식’하기도 전에 미리 어레이의 솔리드 스테이트 메모리에 있는 두 곳의 중복 지점에 IO와 해당 메타데이터의 기록 작업을 수행합니다. - 크기와 성능 면에서 어떠한 영향을 미치는가? 얼마나 많은 메타데이터가 존재하며 얼마나빨리 액세스할 수 있느냐가 모든 어레이의 성능에 큰 영향을 미칩니다. 이 문제에 대한세부적인 내용은 본 글에서는 다루지 않겠습니다. (메타데이터 구조는 매우 복잡합니다.)하지만 퓨어스토리지 메타데이터에서 가장 중요한 메타데이터는 DRAM에 캐시화되지만,플래시에 보다 큰 메타데이터 구조를 가능하게 하는 것은 풍부한 서비스를 가능하게 하
는데 매우 중요한 역할을 하기 때문에, I/O 작업의 메타데이터 읽기에 필요한 플래시 액세스를 극소화하도록 최적화되어 있다는 사실은 알려드리고 싶습니다.
3) 가비지 수집 패널티 발생이 없는 일관성 있는 성능
이는 약간 이해되지 않는 주장으로, 솔직히 EMC가 어느 제품을 겨냥하는 것인지 잘 모르겠습니
다. EMC가 주장하는 바는 다음과 같습니다.
- XtremIO는 시스템 수준에서 가비지 수집을 하지 않음
- 다른 어레이들은 그렇게 하기 때문에 성능에 지장을 줌
- 대부분 80% 가량의 용량이 찼을 때 성능에 영향을 미침
이 각각의 주장에 대해 응답을 하자면 EMC는 고비용의 eMLC SSD를 활용하는데, 이는 가비지 수집을 내부에서 처리합니다. 구체적으로 어떤 eMLC 드라이브를 EMC가 사용하는 지는 알 수 없지만 대부분의 경우 이러한 기기들은 30-50%의 여분 플래시를보유하여 가비지 수집을 드라이브 내부에서 관리합니다.
다시 말씀 드리자면, eMLC SSD는 광고된 것 보다 내부에 약 30-50% 더많은 여분 플래시를 보유하고 있습니다. 그리고 이 공간을 가비지 수집에 이용하는 것입니다. 여러분, 플래시의 가비지 수집에서 공짜란 없습니다. 이는 매개체의 속하며, 꼭 수행되어야 할 작업입니다
퓨어스토리지는 일반적으로 5-7% 오버 프로비저닝된 소비자급의 MLC SSD를 이용합니다. 대신퓨어스토리지는 20%의 초기 플래시(사용자에게는 보이지 않음)를 가비지 수집 관리에 할애합니다. 또한 이 가비지 수집 작업에는 전용 CPU 시간이 할애되어 백그라운드 프로세스로서 지속적으로 수행됩니다.
가비지 수집은 어레이 성능과 무관합니다.
이는 무엇을 의미하는 것일까요? 가비지 수집이 어레이의 성능에 아무런 영향을 미치지 않는 다는 것입니다. 퓨어스토리지는 100% 용량이 찼을 때까지 완전한 읽기 및 기록 작업 성능을 보장합니다. 퓨어스토리지의 어레이를 구동하고 있는데 어떤 용량에서든 성능이 떨어진다면 퓨어스토리지는 고객들에게 지원 요청을 통해 이를 버그로 처리하도록 말씀 드립니다.
마지막으로 압축과 크기 가변 중복제거를 구현하면 가비지 수집이 필요할 것이라는 사실을 짚고 넘어가고 싶습니다. (4K오버라이트는 4K 백앤드 공간에 딱 맞아 떨어지지 않습니다.) 이러한 기능을 포함하는 것을 심각하게 고려하는 모든 벤더들은 퓨어스토리지가 그랬던 것처럼 성능에 지장을 주지 않고 가비지 수집을 제공하는 문제에 대한 해결책을 찾아야 할 것입니다.
4) XtremIO는 수평 확장 어레이로 성능과 용량이 선형으로 확장됨
수평 확장과 수직 확장에 대해서는 다른 포럼에서 여러 차례 논의 된 바 있기 때문에 오늘은 더 깊
이 들어가지는 않을 생각입니다. 그렇지만 몇 가지 고려해야 할 사항들이 있습니다.
- 수평 확장은 중요한 장점이지만 그 치명적인 약점은 성능과 용량을 선형으로 확장한다는 것입니다.
더 나은 성능을 바라십니까? 그럼, 노드를 추가해야 합니다. 더 많은 용량이 필요하십니까? 노드를 추가해야 합니다. 이렇듯 수평 확장은 성능을 추가하는 데는 훌륭한 아키텍처이지만 용량 추가에는 비용이 많이 드는 옵션인 것입니다.
퓨어스토리지의 고객 지원 데이터를 보면 고객들의 대부분은 성능 확장이 아니라 용량 확장의 필요성이 훨씬 강한 것을 알 수 있습니다. 수십만 IOPS는 데이터센터의 거의 모든 부하에 충분합니다. (XtremIO은 하나의 xBrick를 통해 이를 지원) 그러나 많은 부하들이 브릭 하나 이상의 용량을 필요로 합니다. 그렇기 때문에 용량 증가를 원하는 모든 고객들은 추가로 컨트롤러, 스위치, UPS를 다시 구입해야 합니다. 시스템에 겨우 몇 개의 SSD를 추가하기 위해 말입니다. - 장애 발생시 가용성과 성능의 측면에서 보면 아주 흥미로운 영향을 미칩니다.
수평 확장은 n개의 컨트롤러가 있는 경우 하나의 컨트롤러에 장애가 발생하면 ‘1/n’의 성능이 손실됩니다. 하나의 4-brick (컨트롤러 8개) 클러스터에서 1/8의 성능손실은 그다지 크게 느껴지지 않을 수 있습니다. 그러나 1-brick(컨트롤러 2개)이 구현되는 1/n은 50%에 해당합니다. 고려해야 할 다른 중요한 사항은 수평 확장 모델에서 어레이에 있는 모든 LUN은 전제 어레이에 퍼져 있다는 사실입니다. 이는 노드 하나가 완전히 손실되면 전체 어레이에 액세스할 수 없다는 걸 의미합니다.
수평 확장 지원
퓨어스토리지의 관점에서 보면, 퓨어스토리지의 아키텍처는 처음부터 필요한 경우 수평 확장을 지원할 것을 고려하여 설계되었습니다. (이게 바로 퓨어스토리지의 클러스터 인터커넥트로 InfiniBand를선택한 이유입니다.) 퓨어스토리지가 수직 확장 극대화에 중심을 두는 현재의 접근 방식을 통해고객의 요구 사항을 충족한다는 사실을 확인할 수 있습니다.
퓨어스토리지는 수직 확장을 통해 컨트롤러 한 셋트로 용량 확장을 제공해 왔으며 (고객은 10TB에서 150TB가 넘는 범위의 플래시어레이 (FlashArrays)를 구현할 수 있으며 이는 앞으로 더 증가할 예정입니다.), 매년 보다 빠른 컨트롤러를 제공하고 있으며 이는 기존의 어레이에 대한 더 간단하고 무중단, 저비용의 업그레이드입니다. 고객들은 용량과 성능을 각각 확장하도록 선택할 수 있으며, 두 가지 유형의 확장 모두중단이 없으며 수평 확장 모델에 비해 비용이 낮습니다.
기능과 가격절감
퓨어스토리지는 향후 시장의 요구가 있는 경우에 물론 수평 확장을 지원할 것입니다. 그러나 현재로서는 고객들은 더 공격적인 기능, 관리성 및 생태계 통합 지원에 집중하도록 요구하고 있습니다. (퓨어스토리지는 올-플레시 어레이 업계에서 이미 이 분야의 시장 선두를 달리고 있습니다.) 1백만 IOPS의 장벽을 뛰어 넘으려고 노력하기보다는 플래시의 가격을 효과적으로 절감하는데 더 중점을 둘 계획입니다.
퓨어스토리지는 모든 기능을 갖추고 사용 가능한 GB 당 $3-4의 가격에 수십만 IOPS를 대기 시간 1ms 미만으로 지원하는 타협 없는 솔루션을 제공합니다. 퓨어스토리지의엔지니어링 팀이 꼭 개선해야 할 영역을 하나 골라야 한다면, 수평 확장을 통한 성능 향상은 대상에서 제외될 것입니다.
결론: 사용해보면 알 수 있습니다.
이번 주는 플래시 업계에 있어 중요한 한 주였습니다. EMC XtremIO가 마침내 출시되었습니다. 고성능 작업 부하를 위해 회전식 디스크를 올 플래시 솔루션으로 교체하는 것에 대해 심각하게 고려해 볼 고객들이 증가할 것이기 때문입니다. 엔터프라이즈 플래시는 바야흐로 주류에 진입했습니다.
본 글에는 다양한 분석을 제공했습니다. 그러나 눈으로 기술적인 데이터만 확인하지 말고 직접 사용하여 판단해 보라고 권하고 싶습니다. 이론의 세계를 떠나 두 솔루션을 데이터센터에서 직접 사용해 보면 기술적 차이를 명확하게 확인하실 수 있으리라고 믿습니다. 퓨어스토리지는 플래시를 기폭제로 이용하여 더 나은 스토리지 환경을 제공하는데 전념을 다하고 있습니다. 퓨어스토리지는 고객들을 위해 존재합니다. 고객 만족을 통해 시장 선두의 위치에 우뚝 설 것입니다.