지난번에 올린 ‘소프트웨어 정의 스토리지 1편: 개요’ 포스트에서는 소프트웨어 정의 스토리지(Software Defined Storage, 이하 SDS)의 개념과 특성에 대해 다루었습니다. 이번 포스트에서는 SDS의 구성과 종류에 대해 소개해 보고자 합니다.

 

소프트웨어 정의 스토리지의 구성 및 운용

SDS는 기존의 물리적인 스토리지의 개념 자체를 소프트웨어 화한 것을 통칭합니다. IT 관리자는 SDS를 이용해 표준화된 인터페이스로 이기종 스토리지 하드웨어의 자원을 중앙화하여 통합된 스토리지 풀을 손쉽게 구성할 수 있습니다. 기존에는 클라이언트가 접근 가능한 스토리지 풀이 제한적이고, 별도로 관리가 필요했지만, SDS 구성에서는 인프라 내에서 통합 스토리지 풀에 대한 접근 및 관리가 가능합니다.

 

Alt text

< 소프트웨어 정의 스토리지 구성 비교 >

 

어플리케이션 입장에서는 기존 그대로 입출력을 받기 때문에 달라지는 점은 없습니다. 하지만 스토리지 측면에서는 제한적이던 하드웨어 유형의 지원 범위가 해소되기 때문에 구성의 제약에서 비교적 자유로워진다고 할 수 있습니다. 특히, 운용 측면에서 다음과 같은 이점을 가집니다:

  • 대규모 환경 운영 자동화 : 클라우드를 위시한 하이퍼스케일 인프라가 확산하면서 스토리지 프로비저닝, 티어링 등 정책 기반의 스토리지 관리 자동화를 통해 스토리지 규모 대비 최적화된 운용 및 관리가 가능함.
  • 하드웨어 선택의 유연성 : 스토리지 하드웨어를 유연하게 구성할 수 있어, 증축 및 업그레이드 시 최신 하드웨어 기술에 접하기 용이하고, 비용 효율을 고려한 구성이 가능함.
  • 라이선스 관리 편의성 : 단일 관리 소프트웨어로 운영하기 때문에 여러 연동 시스템에 대한 통합 라이선스 관리가 용이하고 확장 및 업그레이드 시 라이선스 추가 구매 비용을 최소화할 수 있음.

 

소프트웨어 정의 스토리지 종류

SDS는 이처럼 하드웨어 범용성, 확장성, 그리고 관리의 자동화와 같은 특징을 공통적으로 가지고 있습니다만, 각 벤더 별로 확장 방식, 지원 파일 시스템 및 프로토콜 등에서 차이점을 보입니다.

현재 SDS는 크게 어플라이언스 형과 소프트웨어 형 두 가지 방식으로 판매됩니다:

어플라이언스 형 SDS

어플라이언스 형은 의미 그대로 스토리지 하드웨어와 함께 제공되는 형태입니다. 여기서 SDS는 서버 OS를 포함한 상단 계층을 관리하는 형태로 제공되며, 안정성과 성능이 장점이라 할 수 있습니다. NetApp 이나 HPE와 같은 전통적인 스토리지 하드웨어 벤더들이 기존 제품을 기반으로 이와 같은 형태로 판매합니다. 하드웨어와 같이 판매되는 거라면 기존의 전통적인 스토리지와 어떤 차이가 있느냐는 의문이 들 수도 있습니다만, 사용자 관점에서 요구사항에 적합한 하드웨어를 직접 선택하는 것보다 소프트웨어가 미리 탑재된 하드웨어를 선택하는 것이 시간과 비용을 적게 들일 수 있다는 점에서 이점이라 할 수 있겠습니다.

소프트웨어 형 SDS

소프트웨어 형의 경우, 고객이 직접 범용 스토리지 서버와 OS를 준비하고 SDS 소프트웨어를 설치 및 구축하는 방식입니다. 여기서 SDS 소프트웨어는 서버 OS나 가상머신 상에서 어플리케이션으로 구동되기 때문에 유연한 구성이 가능합니다. 순수하게 SDS로서의 특성이 반영된 판매 방식이라고 볼 수 있습니다. 대표적으로 Nexenta Systems와 DataCore가 소프트웨어형 SDS를 제공하고 있습니다.

Storage as a Service

이와 같은 유연성을 활용해 SDS 솔루션을 Storage as a Service(STaaS)로 제공할 수 있습니다. 현재 기업 내 대용량 비정형 데이터가 증가하면서 대규모 백업 및 아카이브용 스토리지를 구축하고 운용하기보다는, STaaS를 통해 클라우드 서비스 제공자로부터 낮은 비용으로 스토리지 용량을 빌려 쓰고 운용비용을 절감하는 방식이 주목받고 있습니다. 서비스 제공자는 가상머신에 탑재된 SDS 플랫폼을 온-디맨드 방식으로 호스팅하고, 서비스 수준(SLA)을 기준으로 사용한 스토리지 공간만큼 비용을 청구합니다. 대표적으로 Dell EMC와 NetApp 등에서 서비스를 제공 중이며, 퍼블릭 클라우드 업체인 AWS, Microsoft Azure, Google Cloud에서도 제공하고 있습니다.

컨테이너 기반 구성

SDS 솔루션 중 컨테이너(container) 환경을 지원하는 제품도 있습니다. 쿠버네티스(Kubernetes)와 같은 컨테이너 오케스트레이션 플랫폼에 탑재되어 컨테이너 기반의 스토리지 서비스를 제공할 수 있습니다. 쿠버네티스는 컨테이너 스토리지 인터페이스(Container Storage Interface, 이하 CSI)라는 표준 인터페이스를 통해 오케스트레이션 툴과 이기종 스토리지 시스템을 연결합니다. 이 CSI를 통해 표준을 지원하는 각종 SDS 솔루션의 볼륨 플러그인을 생성하고, 컨테이너 워크로드에 알맞게 커스터마이징 된 스토리지 플러그인을 구성할 수 있습니다. 쿠버네티스가 지원하는 SDS 솔루션은 대표적으로 GlusterFS와 Dell EMC의 ScaleIO가 있습니다.

 

마치며

지금까지 소프트웨어 정의 스토리지의 구성과 종류에 대해 다루어 보았습니다. 비즈니스 환경에 최적화된 스토리지 인프라를 구축하기 위해서는 그에 적합한 SDS 제품을 도입하고 적절한 정책과 관리 기능들을 설정해야 합니다. 다만, 이러한 높은 수준의 커스터마이징을 달성하려면 시간과 인력이 들어가기 마련입니다. 게다가 커스터마이징 된 인프라는 새로운 비즈니스 환경에 맞추어 빠르게 변화하기에는 유동적이지 않을 수도 있어 도입 단계에서부터 향후 인프라 성장과 비용 효율을 고려하는 작업이 필요하다고 할 수 있습니다.

 

참고

  • https://searchstorage.techtarget.com/definition/software-defined-storage
  • https://searchstorage.techtarget.com/tip/Expert-advice-on-comparing-software-defined-storage-vendors
  • https://searchstorage.techtarget.com/opinion/The-hidden-cost-of-SDS-products?_ga=2.33097405.2027801409.1624256163-483564325.1615275503
  • https://www.enterprisestorageforum.com/management/what-is-storage-as-a-service/
  • https://education.emc.com/content/dam/dell-emc/documents/en-us/2015KS_Gloukhovtsev-Software-defined_StorageWhat_can_it_do_for_you.pdf
  • https://www.ibm.com/downloads/cas/VAQK54XO