NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
SolidFire: 차세대 데이터 센터를 위한 All-Flash
Dave Wright
Dave Wright
SolidFire 창업자, 부사장 겸 총괄 이사

2016년 2월, NetApp은 차세대 데이터 센터를 위한 All-Flash 스토리지 시스템 시장의 선두업체인 SolidFire의 인수를 완료했습니다. Tech OnTap에서는 SolidFire의 창업자인 Dave Wright을 초대해 All-Flash 기술에 대한 이야기를 들어보았습니다. Dave는 성능, 자동화, 확장을 통해 클라우드 사용 방식을 혁신하는 고유한 플래시 스토리지 아키텍처를 구축하기 위해 2010년에 자신의 세 번째 회사인 SolidFire를 설립했습니다.

기업과 서비스 공급자 데이터 센터에서 퍼블릭 클라우드 아키텍처를 채택하기 시작하면서 관리자들에게 새로운 과제가 주어졌습니다. 컴퓨팅, 네트워킹, 스토리지의 풀이 동적으로 할당되는 클라우드 모델로 성공하려면 인프라의 비용 효율성이 매우 높아야 하며 멀티 테넌시(Multi-tenancy) 및 혼합 워크로드에 적합한 확장성, 자동화, 지원을 제공해야 합니다. 이러한 요소는 SolidFire 설계의 핵심 원칙입니다.

여러분이 NetApp을 오랫동안 사용해 왔다면 SolidFire에 대해 더 자세히 알고 싶을 것입니다. 이 기사에서는 SolidFire의 설계가 다른 All-Flash 어레이와 차별화되는 몇 가지 기술에 대해 설명합니다.

스케일아웃, 무공유 아키텍처

Pure 및 XtremIO를 비롯한 대부분의 All-Flash 스토리지 시스템은 장애 시 무중단 운영을 위해 이중 컨트롤러 설계를 사용합니다. 두 개의 컨트롤러가 드라이브 세트에 대한 액세스를 공유하고, 장애 시 한 컨트롤러가 다른 컨트롤러를 대체하고 데이터는 RAID 방식을 통해 보호됩니다.

SolidFire 설계에는 스케일아웃 무공유 아키텍처라는 색다른 방식이 사용됩니다. 각 SolidFire 노드는 10개의 내부 MLC 또는 TCL SSD가 탑재된 표준 1U x86 시스템입니다. 노드는 10GbE를 통해 상호 연결되며 노드 간에는 아무것도 공유되지 않습니다. 호스트는 iSCSI 또는 파이버 채널 블록 프로토콜을 통해 데이터에 액세스합니다.

SolidFire 클러스터는 4개 노드에서 시작하여 100개 노드까지 증분식으로 스케일아웃할 수 있습니다. 데이터가 클러스터의 모든 노드에 자동으로 분산되므로 노드를 추가하면 성능과 용량이 선형 확장됩니다. 한 컨트롤러의 성능 제한 때문에 스토리지 볼륨이 제한되는 일은 없습니다.

그림 1) SolidFire는 무공유 설계를 통해 성능과 용량이 선형으로 스케일아웃됩니다.

출처: SolidFire 2016년

이 방식의 주요 장점은 다음과 같습니다.

무중단 스케일아웃/스케일인: 서비스를 중단하거나 QoS(서비스 품질)를 희생하지 않고도 노드를 추가 또는 제거할 수 있습니다. 모든 노드에서 데이터가 백그라운드에서 자동으로 재배포되므로 시스템이 확장되어도 균형이 유지됩니다.

즉각적인 리소스 가용성: 새로 추가된 스토리지 리소스를 시스템 내의 모든 볼륨에 즉시 사용할 수 있으므로 새 드라이브에 볼륨을 재할당할 필요가 없습니다.

노드 혼합 기능: 일부 스케일아웃 시스템의 경우 노드가 동일해야 하지만 SolidFire에서는 다양한 유형과 세대의 노드를 혼합할 수 있습니다. 따라서 요구사항에 맞춰 성능과 용량 포인트를 선택할 수 있습니다.

간단한 용량 계획: 1U 단위로 스케일아웃할 수 있으므로 매우 작은 단위의 성능과 용량도 추가할 수 있습니다. 따라서 향후 몇 년의 용량과 성능 예측에 의존하지 않아도 되며, 사전 오버 프로비저닝이 필요하지 않아 시간이 지남에 따라 가격 절감의 이점을 누릴 수 있습니다.

전면적인 업그레이드 방지: 기존 클러스터에 차세대 노드를 간단하게 추가할 수 있습니다. 오래된 노드를 시기에 맞춰 제거, 폐기하거나 용도를 변경할 수 있습니다. 스토리지 노드 간 호환성이 보장되므로 노드를 추가할 때마다 가장 최신의 기술을 추가할 수 있습니다.

Data Assurance(데이터 무결성 보장)

SolidFire는 데이터 이중화를 제공하기 위해 NetApp Element OS에 Helix™라는 기술을 구현하여 두 개의 별도 노드에 모든 데이터 블록의 사본 2개를 유지합니다. 이 경우 장애가 발생한 이후에도 클러스터에서 애플리케이션 성능을 유지할 수 있습니다. 또한 드라이브 액세스를 공유하는 별도의 스토리지 쉘프를 구축할 필요가 없어 하드웨어가 더 단순해지고 비용이 절감됩니다. 예를 들어, SolidFire는 고가의 엔터프라이즈급 이중 연결 SSD 대신 단일 연결 SSD를 사용합니다.

이 시스템은 빠른 자가 복구가 가능하여 이중화가 복원되기 전에 두 번째 장애가 발생할 위험을 줄여줍니다. 오프라인으로 전환되는 노드가 있을 경우 클러스터가 적절하게 응답하므로 하드웨어 및 소프트웨어를 무중단으로 업그레이드할 수 있습니다.

장애 시 자가 복구

시스템의 모든 리소스가 항상 액티브 풀에 유지되므로 장애를 대비하여 예비 드라이브 또는 예비 노드를 마련하지 않아도 됩니다.

드라이브 장애: 드라이브 장애가 발생할 경우 치밀한 리빌드 프로세스를 사용해 데이터 복사본을 재배포하여 완전한 이중화를 자동으로 복원합니다. 리빌드 중에 모드 작동 또는 성능이 저하되지 않습니다. 이 프로세스는 일반적으로 5분 이내에 완료됩니다. 완전한 이중화가 매우 빠르게 복원되므로 일반적인 시스템의 RAID-6보다 뛰어난 수준의 데이터 보호가 가능합니다.

노드 장애: 데이터 복사본이 별도의 노드에 배포되므로 노드 장애가 발생하더라도 모든 데이터에 계속 액세스할 수 있습니다. 장애가 발생한 노드로의 연결은 다른 노드로 자동 리디렉션됩니다. 드라이브 장애 시와 마찬가지로, 각 블록에 두 개의 복사본을 유지하여 완전한 이중화를 빠르게 자동 복원합니다.

복구 프로세스는 장애 모드(드라이브, 노드, 백플레인, 네트워크 장애, 소프트웨어 장애)와 상관없이 동일합니다. 복구 워크로드가 클러스터의 모든 노드에 분산되므로 이중화가 빠르게 복원되고 단 하나의 노드(또는 애플리케이션 워크로드)에서도 성능에 영향을 미치지 않습니다. 클러스터에 노드가 많을수록 작업이 더욱 빠르게 진행되고 전반적인 영향도 줄어듭니다.

그림 2) 노드 장애가 발생한 후 장애가 발생한 노드에 있는 모든 블록의 새로운 복사본을 정상 노드에 배포하여 데이터 이중화를 복원합니다. 모든 노드에서 성능 및 용량 활용률이 균일하게 증가합니다.

출처: SolidFire 2016년

성능 보장

SolidFire는 단일 클러스터에서 혼합 애플리케이션 워크로드와 멀티 테넌트(Multi-tenant) 환경을 지원하기 위해 QoS를 보장합니다. QoS를 최대치 기준으로 제공하는 경우와 달리, SolidFire는 각 워크로드에서 성능을 보장할 수 있습니다.

시스템의 모든 볼륨에 성능과 용량을 독립적으로 할당할 수 있습니다. 볼륨을 만들 때 단순히 원하는 크기를 설정하고 Min, Max, Burst의 세 QoS 매개 변수를 지정하기만 하면 됩니다. 볼률의 설정을 변경하면 새로운 수준으로 즉시 서비스를 수신하기 시작합니다.

Min 설정은 IOPS(I/O 크기 기준 가중치) 단위로 측정한 최소 성능 수준을 정의합니다. 이는 어떤 상황에서도 볼륨이 해당 성능 수준 이상을 제공함을 보장합니다. Max 설정은 볼륨에서 처리할 수 있는 IOPS의 수를 정의합니다. 엄격한 제한으로 애플리케이션에 문제가 발생하는 상황(예: 일시적 VDI 부트 스톰)에 대비하여 Burst 매개 변수를 사용할 수도 있습니다. 애플리케이션이 최대 한도 미만으로 실행될 경우 애플리케이션에 여유 성능이 누적되므로 필요에 따라 짧은 기간 동안 버스트가 가능합니다.

그림 3) QoS 보장 그림의 왼쪽 부분은 QoS를 사용 중지했을 때 "noisy neighbor(예기치 않은 트래픽 증가)"의 영향을 나타냅니다. 잘못된 워크로드 몇 개가 나머지 워크로드의 성능까지 떨어뜨립니다. 오른쪽은 서로 다른 워크로드에 다양한 설정으로 QoS를 적용한 경우의 영향을 나타냅니다.

출처: SolidFire 2016년

ESG(Enterprise Strategy Group) 연구에서는 QoS를 보장하는 SolidFire가 워크로드 불균형, 일정 리소스 집합의 독점, 풀의 리소스 부족, VM 이동, 비효율적인 계층화, 컨트롤러 병목 현상과 같이 기존 스토리지와 관련된 문제의 최대 93%를 제거할 수 있다고 예측합니다. 이 연구에서는 조직에서 QoS 보장과 자동 로드 밸런싱을 통해 단일 스토리지 시스템에 다양한 종류와 볼륨의 워크로드를 통합할 수 있다고 결론을 내렸습니다. 기존 스토리지를 사용하면서 QoS를 적용하지 않을 경우, 성능 문제를 해결하거나 스토리지 어레이를 오버 프로비저닝하여 문제를 최소화하는 데 오랜 시간이 걸릴 수 있습니다.

자동화된 관리

SolidFire 설계는 자동화를 복잡하게 만드는 복잡성의 대부분을 제거합니다. 성능과 용량은 글로벌 풀로 관리되며 워크로드는 클러스터 전반에 자동으로 배포됩니다. 프로비저닝은 매우 간단하며 다음과 같은 기존 스토리지 작업을 대부분 제거할 수 있습니다.

  • 성능 조정 및 로드 밸런싱
  • 계층화, 우선 순위 지정 또는 캐싱 관리
  • 쇼트 스트로킹 또는 오버 프로비저닝
  • RAID 그룹 및 예비 드라이브 관리
  • 세대별 업그레이드 또는 플랫폼 마이그레이션

SolidFire가 하는 모든 작업은 포괄적인 REST 기반 API를 통해 표시됩니다. 자동화를 통해 복잡한 관리 작업에서 발생하는 인적 오류의 위험이 줄어듭니다.

그림 4) SolidFire REST API SolidFire REST API는 모든 SolidFire 관리 인터페이스, 플러그인과 툴에 활용되며 원활한 사용자 지정 통합을 지원합니다.

출처: SolidFire 2016년

SolidFire API를 사용할 경우 관리 및 오케스트레이션 플랫폼과 면밀한 통합이 가능하고, 사용자를 위한 스토리지 컨트롤을 개발할 수 있으며, 애플리케이션과 서비스도 빠르게 구축할 수 있습니다. SolidFire의 모든 툴과 VMware, OpenStack 등의 타사 통합은 API를 사용하여 구축됩니다.

ESG는 SolidFire 자동화의 이점을 분명히 짚으며 관리자들이 SolidFire를 사용해 가상 시스템의 사용을 최대 81% 늘리고 기존 스토리지보다 운영 비용을 최대 67% 절감할 수 있다는 결론을 내렸습니다.

인라인 데이터 효율성

SolidFire는 글로벌 씬 프로비저닝과 공간 효율적인 스냅샷 및 클론 복제를 포함하여 다양한 스토리지 효율성 기술을 제공합니다. 이러한 기술은 여러분에게 이미 익숙할 NetApp 기술과 원칙적으로 유사합니다.

여기에 다계층 압축글로벌 인라인 중복제거가 결합되어 SolidFire 클러스터의 유효 스토리지 용량이 증가합니다.

각 SolidFire 노드에는 쓰기 캐시의 기능을 하는 PCIe NVRAM 카드가 포함됩니다. 호스트에서 데이터를 쓰면 쓰기가 4KB 블록으로 나뉜 다음, 즉시 압축되어 NVRAM에 저장됩니다. 압축된 각 블록은 추가 스토리지 노드에 동기식으로 복제됩니다. 두 노드의 NVRM에 데이터가 저장된 후 승인이 반환되므로 쓰기 속도가 크게 향상되며 성능 예측이 가능합니다.

압축된 각 블록은 보안 암호화 해시 알고리즘을 사용하여 해싱되며 결과 값은 BlockID로 사용됩니다. BlockID에 따라 블록 배치가 결정되므로 업계 최고 수준의 오브젝트 저장소에 사용되는 것과 유사한 CAS(Content-Addressed Storage) 시스템이 구축됩니다. 해시 알고리즘은 모든 노드에 블록을 무작위로 분산하여 부하가 균일하게 분산되도록 보장합니다.

SolidFire 중복제거 블록 서비스는 BlockID를 기준으로 이전에 쓰인 블록을 식별합니다. 블록이 이미 존재할 경우, 그에 따라 메타데이터가 업데이트되며 중복된 블록은 삭제됩니다.

중복제거 프로세스는 인라인 및 글로벌 방식으로 실행되므로 볼륨 또는 노드 단위가 아닌 전체 클러스터에서 수행됩니다.

인라인 압축과 글로벌 중복제거가 결합되어 다음과 같은 중요 이점을 제공합니다.

  • 드라이브 마모 감소: 반복적 쓰기가 제거되어 SSD의 수명이 증가합니다.
  • 시스템 성능 향상: 시스템 리소스 소비가 최소화됩니다.
  • 핫스팟 제거: 워크로드가 전체 클러스터에 고르게 분산됩니다.

인라인 압축 알고리즘은 속도를 기준으로 선택되었습니다. SolidFire는 또한 백그라운드에서 포스트 프로세스 압축을 사용합니다. 보다 컴퓨팅 집약적인 압축 알고리즘을 많이 사용할수록 성능에 영향을 미치지 않으면서 스토리지 용량이 더욱 최적화됩니다.

전체 스토리지 기능

이 기사에서는 SolidFire All-Flash 스케일아웃 스토리지 플랫폼의 고유한 측면을 이해할 수 있는 기초 정보를 제공합니다. 대부분의 요점을 다루긴 했지만, 분명히 아셔야 할 점은 SolidFire가 다음과 같은 포괄적인 스토리지 서비스를 제공한다는 것입니다.

  • 복제(동기식/비동기식)
  • 통합 클라우드 백업
  • 스냅샷 및 클론 복제
  • 유휴 데이터에 256비트 암호화 사용
  • 종합적인 로깅
  • 클라우드 기반 모니터링
  • 시큐어 멀티 테넌시(Multi-tenancy)
  • 동시 멀티프로토콜 지원(FC/iSCSI)
  • VMware, OpenStack, CloudStack과 긴밀하게 통합

SolidFire에 대해 자세히 알아보려면 본 기사의 사이드바에서 리소스 목록을 확인하거나 solidfire.com을 방문해 보십시오.

Dave Wright는 1998년 Stanford를 자퇴하고 갓 설립된 GameSpy Industries에 합류, 팀원들을 이끌며 백엔드 인프라를 구축하고 수천 개의 게임과 수백만 명의 게이머를 지원하였습니다. 나중에 IGN에서 GameSpy를 인수한 후에는 IGN의 최고 설계자로 근무했습니다.

2007년에는 Jungle Disk를 설립하고 클라우드 기반 스토리지 및 백업 분야를 개척했습니다. 2008년 Rackspace에서 Jungle Disk를 인수한 후에는 Rackspace Cloud 사업부와 긴밀하게 협력하여 클라우드 플랫폼을 구축하고 수십만 명의 고객을 지원했습니다. 2009년, Dave는 Rackspace를 떠나 SolidFire를 설립했습니다.

2016년 4월

 

SolidFire 관련 추가 리소스

비디오, 블로그, 문서

팟캐스트

Tech OnTap 팟캐스트 팀에서 SolidFire에 대한 최신 정보를 제공하고 있습니다.


스토리지 Field Day 비디오

Dave Wright와 SolidFire 팀이 준비한 스토리지 Field Day 5 비디오에서 다음을 확인하실 수 있습니다.


Ultimate Software,
SolidFire 선택

Ultimate Software는 SaaS(서비스형 소프트웨어) 형태의 HCM(인적 자본 관리) 솔루션을 제공하는 업계 최고의 공급자입니다. 150개국에서 2,800곳 이상의 고객사가 Ultimate의 UltiPro® 제품군을 활용하고 있습니다.

Ultimate은 북미에 Pod 아키텍처를 기반으로 하는 4개의 메인 데이터 센터를 구축하고 Pod당 200~500곳의 고객사를 지원하고 있습니다. Ultimate은 스토리지 성능 문제에 부딪히자 SolidFire로부터 5개의 SF3010 노드를 먼저 구입한 이후, 곧이어 66개의 SF2405 노드를 구입했습니다. 여기에 44개의 노드를 추가로 구입할 계획도 가지고 있습니다.

SolidFire가 선택된 이유는 성능 외에도 보안, 가용성 그리고 OpenStack 및 VMware와의 통합 능력이 우수했기 때문입니다. SolidFire에서 지원하는 Pod는 4배 더 뛰어난 성능을 제공하며, QoS로 다른 Pod에서 나타나는 "noisy neighbor(예기치 않은 트래픽 증가)” 문제를 제거합니다.

Ultimate Software 사례 연구를 읽어 보십시오.

TRUSTe
연락처   |   구매 방법   |   피드백   |   채용  |   구독   |   개인 정보 보호 정책   |   © 2016 NetApp