개인적으로 스토리지 공부를 위해 정리한 내용들입니다.
함께 공부하자는 취지로 내용을 공유합니다.
현재의 데이터센터는 서버의 컴퓨팅 성능과 네트워크 기술의 발전으로 단일 서버에서 여러 개의 어플리케이션을 동시에 운영할 수 있게 되었습니다.
이처럼 하나의 물리적 서버 내의 컴퓨팅 자원을 추상화해 여러 가상의 서버를 구성하고 운용하는 기술이 바로 서버 가상화 기술입니다만, 여기서 더 나아가 하드웨어의 모든 부분을 소프트웨어만으로 구현한다는 개념으로 ‘소프트웨어 정의’가 있습니다.
소프트웨어 정의라는 용어는 본래 데이터센터 내 서버, 스토리지, 네트워크, 보안 등의 자원들을 소프트웨어만으로 구성하고 관리한다는 소프트웨어 정의 데이터센터(software defined data center)의 개념으로 VMware에서 처음 제시했습니다만, 지금은 IT 용어 중에서도 국내외를 막론하고 소위 ‘클라우드’ 만큼이나 어떤 신기술을 표현할 때 쓰이는 형용사로써 사용되고 있습니다.
이러한 용어가 탄생하게 된 배경은 데이터 폭증과 레거시 시스템의 노후화로 인해 대두되는 디지털 트랜스포메이션과 맥락을 같이 한다고 할 수 있습니다.
스토리지의 경우도 마찬가지입니다.
데이터센터 내에 비정형 데이터의 비중이 증가하고 컴퓨팅 성능과 네트워크 속도가 이를 뒷받침할 수 있을 정도로 고도화되면서 스토리지의 성능과 확장성 그리고 관리 측면에서 오버헤드가 발생하고 있습니다.
이로 인해 기업의 IT 관리자들은 이러한 스토리지 자원의 활용을 최적화하기 위해 소프트웨어 정의 스토리지에 눈을 돌리고 있습니다.
1. 소프트웨어 정의 스토리지(software-defined storage, 이하 SDS)란?
- 일반적으로 스토리지 하드웨어에 구애되지 않으면서 스토리지 자원과 기능들을 논리적으로 통합해 관리하는 스토리지 관리 소프트웨어
- 국제적인 스토리지 산업협회인 SNIA(Storage Network Industry Association)에서는 SDS에 대해 ‘서비스 관리 인터페이스를 가진 가상 스토리지’라고 정의
- SDS는 범용 서버에 구축이 가능해 통합관리가 가능한 스토리지 소프트웨어
사실 ‘소프트웨어 정의 스토리지’는 마케팅 용어에 가깝습니다.
어떤 제품이 SDS인지 아닌지 벤더별로 정의하는 내용이 조금씩 다를 수 있다고 볼 수 있습니다.
게다가 ‘소프트웨어에 의해 관리되고 동작하는 가상 스토리지’라는 개념 자체는 기존에 존재하는 다른 가상화 기술 관련 용어들과 헷갈릴 수 있습니다:
- 스토리지 가상화
- SDS는 스토리지 리소스를 추상화(abstract)한다는 의미에서 스토리지 가상화(storage virtualization)와 비슷한 개념을 가지고 있어 의미를 혼용하는 경우가 있음
- 단만, 스토리지 가상화는 단순히 여러 물리 디스크 용량을 가상화해 가상의 스토리지 풀을 생성한다는 성격인 반면, SDS는 스토리지 풀을 포함해 스토리지 서비스까지 소프트웨어 수준으로 추상화한다는 개념까지 가져감
- 즉, SDS는 새로운 스토리지 서비스 기능을 지원하지 않는 레거시 장비도 통합해 소프트웨어 수준에서 관리할 수 있음
- 하이퍼컨버지드 인프라(HCI)
- 컴퓨팅, 네트워크, 스토리지를 가상화 한 솔루션으로, SDS와 마찬가지로 x86 범용 서버에 탑재될 수 있음
- 전용 어플라이언스로도 구성
- SDS는 HCI의 부분집합이라고 볼 수 있음
2. 주요 특징
SDS의 정의와 이를 구성하는 주요 기능들은 벤더별로 상이합니다.
<SDS의 공통되는 주요 특장점>
- 하드웨어 범용성
- 기존의 전통적인 어플라이언스 기반 스토리지는 전용 하드웨어만 지원하고 벤더 간 호환성이 떨어져 하드웨어 및 라이선스 비용이 발생하고 운영 효율이 떨어짐
- 인텔 x86 기반 범용 서버를 지원해 하드웨어 종속성이 적음
- 공유 스토리지 풀과 스토리지 서비스를 단일 인터페이스로 관리할 수 있음
- 높은 확장성
- 비정형 데이터의 폭발적인 증가와 더불어 데이터의 성장을 예측하기 힘든 기업의 인프라 환경에 있어서 스케일아웃 방식의 스토리지의 필요성이 부각되고 있음
- 분산 파일 시스템을 지원하는 스케일아웃 방식의 SDS는 노드를 확장할 때마다 가상 스토리지 풀에 스토리지 용량을 추가할 수 있음
- 관리 자동화
- SDS 환경에서는 스토리지 프로비저닝이나 스냅샷, 중복제거, 씬 프로비저닝과 같은 기능들에 대해 정책 기반 관리 기능을 제공할 수 있음
- 데이터의 이동이 발생할 시 사전에 설정한 정책을 기반으로 스토리지 관리를 자동화할 수 있음
실제로 x86 범용 서버를 지원해 원하는 하드웨어 스펙을 맞출 수 있다는 부분은 그렇게 큰 장점이 아닐 수도 있습니다.
기업 인프라에 최적화된 스토리지 하드웨어 스펙을 결정하고 구축하는 과정에서 호환성이나 성능 최적화 등의 과정이 추가로 발생하게 됩니다.
게다가 이를 진행하고 책임지는 것은 결국 기업의 IT 담당자이기 때문에 실적 및 기술력 부족의 이유로 도입을 꺼릴 수 있고, SDS를 도입한다 해도 실제로는 어플라이언스 형태의 SDS 제품을 구매하는 경우가 많다고 합니다.
다만 SDS가 가지는 하드웨어 범용성에 대한 장점은 단순히 도입 시 이루어 지는 게 아니라, 향후 워크로드의 변화나 신기술의 등장과 더불어 맞추어 갈 수 있다는 점입니다.
이러한 장점을 보고 많은 단체가 SDS의 도입을 가속화하고 있고, 실제로도 SDS 시장은 높은 성장률을 보이고 있습니다.
그 근거로 시장조사 기관인 IDC에서는 2024년까지 연간 8.8%의 성장률을 보일 것으로 예상하고 있습니다.
3. 소프트웨어 정의 스토리지의 구성 및 운용
- SDS는 기존의 물리적인 스토리지의 개념 자체를 소프트웨어 화한 것을 통칭
- IT 관리자는 SDS를 이용해 표준화된 인터페이스로 이기종 스토리지 하드웨어의 자원을 중앙화하여 통합된 스토리지 풀을 손쉽게 구성
- 기존에는 클라이언트가 접근 가능한 스토리지 풀이 제한적이고, 별도로 관리가 필요했지만, SDS 구성에서는 인프라 내에서 통합 스토리지 풀에 대한 접근 및 관리가 가능
어플리케이션 입장에서는 기존 그대로 입출력을 받기 때문에 달라지는 점은 없습니다.
하지만 스토리지 측면에서는 제한적이던 하드웨어 유형의 지원 범위가 해소되기 때문에 구성의 제약에서 비교적 자유로워진다고 할 수 있습니다.
특히, 운용 측면에서 다음과 같은 이점을 가집니다:
- 대규모 환경 운영 자동화 : 클라우드를 위시한 하이퍼스케일 인프라가 확산하면서 스토리지 프로비저닝, 티어링 등 정책 기반의 스토리지 관리 자동화를 통해 스토리지 규모 대비 최적화된 운용 및 관리가 가능함
- 하드웨어 선택의 유연성 : 스토리지 하드웨어를 유연하게 구성할 수 있어, 증축 및 업그레이드 시 최신 하드웨어 기술에 접하기 용이하고, 비용 효율을 고려한 구성이 가능함
- 라이선스 관리 편의성 : 단일 관리 소프트웨어로 운영하기 때문에 여러 연동 시스템에 대한 통합 라이선스 관리가 용이하고 확장 및 업그레이드 시 라이선스 추가 구매 비용을 최소화할 수 있음
4. 소프트웨어 정의 스토리지 종류
- SDS는 이처럼 하드웨어 범용성, 확장성, 그리고 관리의 자동화와 같은 특징을 공통적으로 가지고 있음
- 각 벤더 별로 확장 방식, 지원 파일 시스템 및 프로토콜 등에서 차이점을 보임
(1) 어플라이언스 형 SDS
- 어플라이언스 형은 의미 그대로 스토리지 하드웨어와 함께 제공되는 형태
- SDS는 서버 OS를 포함한 상단 계층을 관리하는 형태로 제공되며, 안정성과 성능이 장점
- NetApp 이나 HPE와 같은 전통적인 스토리지 하드웨어 벤더들이 기존 제품을 기반으로 이와 같은 형태로 판매
- 하드웨어와 같이 판매되는 거라면 기존의 전통적인 스토리지와 어떤 차이가 있느냐는 의문이 들 수도 있습니다만, 사용자 관점에서 요구사항에 적합한 하드웨어를 직접 선택하는 것보다 소프트웨어가 미리 탑재된 하드웨어를 선택하는 것이 시간과 비용을 적게 들일 수 있다는 점에서 이점
(2) 소프트웨어 형 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가 있음
5. 정보 출처
https://tech.gluesys.com/blog/2021/06/25/SDS_1.html
https://tech.gluesys.com/blog/2021/08/19/SDS_2.html
'IT 이야기 > 공부합시다' 카테고리의 다른 글
[Network] VXLAN(Virtual eXtention LAN) Gateway (0) | 2023.06.28 |
---|---|
[Network] Overlay(오버레이) Network & Underlay(언더레이) Network (0) | 2023.06.27 |
[스토리지 이중화] NAS 이중화 아키텍처 설계 (0) | 2023.06.26 |
[스토리지 이중화] 고가용성과 이중화 (0) | 2023.06.19 |
[스토리지] 재해복구 (0) | 2023.06.19 |
댓글