?한국전자통신연구원?/?김성운 책임연구원


 

전 세계적으로 데이터가 기하급수적으로 증가하면서 2020년경에는 엑사바이트 시대로의 진입이 예상되고 있다. 이러한 저장 공간에 대한 요구가 증가함에 따라, 최근들어 클라우드 스토리지 서비스를 통해서 저장 공간의 급속한 증가에 대응하고 있다.

 

클라우드 스토리지 서비스는 저장 공간을 서비스로 제공(Storage as a Service)하기 위해, 사용자가 인터넷을 통해 데이터를 저장 관리할 수 있도록 클라우드 서비스 공급자에 의해 운영 관리되는 클라우드 컴퓨팅 모델이다. 사용자는 주어진 시간 내에 온디맨드 스토리지 서비스를 받기 위해 자체 데이터 스토리지 인프라를 구매하거나 관리할 필요 없이 클라우드 스토리지 서비스를 이용하면 된다. 이를 통해 '언제 어디서든' 데이터에 접근할 수 있도록 빠르고 안전한 대규모 저장 공간이 제공된다.

 

사용자는 데이터 스토리지 공간을 소유, 운영 및 관리하는 퍼블릭 클라우드 공급업체에서 서비스를 구매하며, 사용량 및 사용시간에 따라 비용을 지불하는 모델로 인터넷을 통해 제공된다. 클라우드 스토리지 공급업체는 전 세계에서 어플리케이션을 통해 데이터에 접근할 수 있도록 용량, 보안 및 안정성을 보장한다. 다양한 어플리케이션들은 클라우드 공급업체 API를 통하거나 기존 스토리지 프로토콜을 통해 클라우드 스토리지에 접근한다.

 

[그림 1] 클라우드 스토리지 서비스 및 적용 모델


cloud_181120_image_5


 

본 고에서는 이와 같이 인터넷을 통해 클라우드 스토리지 서비스를 제공할 때의 장단점 및 클라우드 서비스에 필요한 요구 사항에 대해 알아보고, 또한 클라우드 스토리지 서비스 모델과 클라우드 스토리지 서비스에 대한 최신 기술 동향을 살펴본다.

 




 

Ⅰ. 클라우드 스토리지 서비스 개요


스토리지 시스템은 안전한 정보 저장 및 데이터 활용을 위해 오래전부터 꾸준히 사용되었다. 그러나 스토리지 공간의 효율성과 비용 절감을 위해 여러 가상머신 기반의 데이터 접근 요청이 증가함에 따라 등장한 새로운 서비스 모델이 클라우드 스토리지 서비스이다. 클라우드 스토리지의 장점은 첫째로 총 소유 비용을 절감할 수 있다. 저장공간에 대한 요구는 항상 증가하고 있으며 이러한 요구를 충족하기 위해 자체 보유의 스토리지 장치를 구축하지 않고 클라우드 스토리지를 통해 요구를 충족시킴에 따라 소유 비용을 줄일 수 있다. 둘째는 서비스 제공에 걸리는 시간을 줄인다. 사용자의 저장 공간 요청에 대해 필요한 양을 즉시 공급할 수 있기 때문에 스토리지 공간을 구성하고 제공하는데 까지 걸리는 시간이 줄어든다. 셋째는 정보 관리가 안정적으로 수행된다. 클라우드 스토리지 수명 주기 관리 정책을 사용함으로써 자동화된 계층화를 통해 데이터 보안, 잠금, 유지, 백업 등 강력한 정보 관리 작업 수행이 가능하다. 그러나 한번 클라우드 서비스를 사용하게 되는 해당 서비스 공급자의 서비스를 지속적으로 사용해야 하는 Lock-In 문제 및 개인이나 기업의 사적인 정보를 클라우드 스토리지에 올려 둘 때 생기는 보안 문제와 같은 클라우드 스토리지 서비스의 단점이 있다.

 

클라우드 스토리지 서비스를 제공할 때 기본적으로 요구되는 사항 중 첫 번째는 내구성이다. 온프레미스와 클라우드에 데이터는 중복 저장되어야 하며, 여러 시설과 각 시설의 여러 디바이스에 걸쳐 저장되기 때문에 자연재해, 인적 과오 또는 메커니즘 결함으로 데이터 손실이 발생하지 않도록 해야 한다. 두 번째는 가용성이다. 모든 데이터는 필요할 때 언제든지 사용할 수 있어야 하지만, 데이터 생성 시점과 저장시점 간에 차이가 발생할 수 있다. 클라우드 스토리지는 이러한 시점간의 스큐, 최소의 검색 시간, 사용 비용 간에 적절한 균형을 유지하면서 24시간 무중단 서비스가 제공되어야 한다. 세 번째는 보안이다. 데이터 보안는 데이터 전송 중이나 데이데 저장시 모두 암호화 되어야 한다. 온프레미스 스토리지에서 제공되는 권한과 액세스 제어는 클라우드에서도 동일하게 작동되어야 클라우드 스토리지 서비스의 데이터 보안성이 실현된다고 할 수 있다.

 

클라우드 스토리지 포맷에는 객체 스토리지, 파일 스토리지, 블록 스토리지의 3가지 기본 유형이 있다. 사용자의 요구에 따라 각 유형의 특성에 알맞게 스토리지 서비스를 사용할 수 있다.

 

1. 객체 스토리지


객체(Object) 스토리지는 데이터를 메타데이터라는 고유 식별자와 페어링한다. 객체는 압축되거나 암호화되지 않으므로 대규모로 신속하게 액세스할 수 있어 클라우드 네이티브 애플리케이션에 적합하다. 클라우드에서 개발된 애플리케이션들은 객체 스토리지의 방대한 확장성 및 메타데이터 특성을 활용하는 경우가 많다. Amazon S3 (Simple Storage Service) 객체 스토리지 솔루션은 규모와 유연성을 제공하며 분석, 백업 또는 아카이브를 위해 많이 사용된다. IBM Cloud Object Storage 시스템은 대량의 비정형 데이터를 저장하고 보안, 가용성 및 신뢰성을 유지하기 위해 IDA(Information Dispersal Algorithm) 기술을 적용한다.

 

2. 파일 스토리지


클라우드 파일 스토리지는 공유 파일 시스템을 통해 서버와 애플리케이션에 데이터에 대한 액세스를 제공하도록 클라우드에 데이터를 저장하는 방법이다. 파일 스토리지는 NAS(Network Attached Storage) 시스템에서 널리 사용되며 데이터를 체계화하여 사용자에게 표시합니다. 계층 구조로 되어 있어 데이터를 하향식으로 쉽게 탐색할 수 있지만 처리하는 데 시간이 오래 걸립니다. Amazon EFS(Elastic File System)과 같은 파일 스토리지 솔루션은 대규모 콘텐츠 리포지토리, 개발 환경, 미디어 스토어 또는 사용자 홈 디렉터리 등에 사용된다.

 

3. 블록 스토리지


블록 스토리지는 균등한 크기를 갖는 액세스하기 쉬운 블록에 데이터를 저장하는 데이터 스토리지이다. 블록 스토리지는 클라우드 스토리지 노드와 같은 단일 스토리지 볼륨을 블록이라는 개별 인스턴스로 분할한다. 따라서 빠르고 지연 시간이 짧은 스토리지 시스템으로서 고성능 워크로드에 적합하다. 데이터베이스 또는 ERP 시스템과 같은 기타 엔터프라이즈 애플리케이션은 호스트별로 지연 시간이 짧은 전용 스토리지가 필요한 경우가 많다. 이러한 스토리지는 DAS(Direct Attached Storage) 또는 SAN(Storage Area Network)와 유사하다. Amazon EBS(Elastic Block Store) 같은 블록 기반 클라우드 스토리지 솔루션은 개별 가상 서버로 프로비저닝되기 때문에 고성능 워크로드에 필요한 낮은 지연 시간을 제공한다.

 




 

Ⅱ. 클라우드 스토리지 서비스 모델


초기의 기업용 스토리지 시스템은 수천개 정도의 파일을 관리하고 수백명 동시 사용자를 지원하는 것으로 충분했다. 따라서 단순한 DAS(Direct-Attached Storage) 형태로 서비스가 가능했지만, 대규모 스토리지 요구와 빠르고 안전한 스토리지 서비스 요구가 증가됨에 따라 가상화 기반의 클라우드 스토리지 서비스가 증가하게 되었다.

 

클라우드 스토리지 서비스 모델은 SaaS, PaaS, IaaS 및 데이터 스토리지 서비스 모델이 있다. 스토리지 인프라를 빌려 주는 IaaS 스토리지, 플랫폼을 빌려 주는 PaaS 스토리지, 소프트웨어를 제공하는 SaaS 스토리지와 데이터 저장공간을 제공하는 데이터 스토리지로 구성된다. 또한 클라우드 스토리지를 통해 데이터를 저장하거나 유지하기 위해서 사용되는 스토리지 적용 서비스에는 온프레미스 스토리지, 프라이빗 클라우드 스토리지, 퍼블릭 클라우드 스토리지 및 하이브리드 스토리지 형태의 적용 모델이 있다.

 

1. 온프레미스 스토리지


온프레미스는 기업이 자체 시설에서 보유하고 직접 유지 관리하는 프라이빗 데이터 센터를 의미한다. 데이터베이스 또는 ERP 시스템과 같은 기업용 어플리케이션은 빠르고 안전한 데이터 처리를 위해 지연 시간이 짧은 전용 스토리지인 온프레미스 스토리를 대부분 활용한다.

 

2. 프라이빗 클라우드 스토리지


클라우드 스토리지는 서로 다른 물리 하드웨어로부터 통합된 가상 스토리지 볼륨 사이에서 데이터를 온디맨드 방식으로 아카이브, 구성, 분산하는 스토리지이다. 따라서 프라이빗 클라우드 스토리지는 온프레미스 스토리지 시스템을 사용하는 개인이나 기업에서 통합된 가상 스토리지 시스템을 구축하여 운영하는 클라우드 스토리지 시스템이다. 즉 스토리지 공간을 추상화하고 단일 리소스처럼 동작할 수 있도록 관리툴을 통해 오케스트레이션이 되어야 한다.

 

3. 퍼블릭 클라우드 스토리지


서비스 공급업체의 클라우드 스토리지 서비스를 의미한다. 기업 자체에서 보유하는 데이터가 증가하고 안전한 백업 문제를 해결하기 위해 타사에서 제공하는 솔루션을 사용한다. 타사에서 소유하고 관리하는 하드웨어를 기반으로 가상 리소스 풀에 데이터를 저장한다. 데이터 저장을 위한 시스템을 소유하거나 관리하지 않을 경우 특정한 위험이 수반되므로 많은 조직이 컨테이너를 사용하여 퍼블릭 클라우드 환경에서 워크로드와 애플리케이션을 이동한다.

 

4. 하이브리드 클라우드 스토리지


하이브리드 클라우드는 하나 이상의 퍼블릭 클라우드와 프라이빗 클라우드 환경에 있는 데이터를 저장하는 스토리지이다. 하이브리드 클라우드를 구성하는 퍼블릭 클라우드와 프라이빗 클라우드 환경은 서로 분리된 엔터티이며, 암호화된 API를 통해 두 환경 간에 데이터를 쉽게 마이그레이션할 수 있다. 기업은 이와 같이 분리되어 있지만 서로 연결된 아키텍처를 활용하여 중요한 데이터는 프라이빗 클라우드에 저장하고 덜 민감한 데이터는 퍼블릭 클라우드에 저장할 수 있을 뿐만 아니라 원하는 대로 두 환경 사이에서 데이터를 이동할 수 있다. 이러한 데이터 이동은 독립적인 스토리지 플랫폼을 사용할 필요가 없는 컨테이너 네이티브 스토리지를 사용하는 것이 가장 좋습니다. 단일 통합 컨테이너 플랫폼은 보다 효율적으로 하이브리드 클라우드를 확장할 수 있으며 데이터가 어떤 클라우드 환경에 있던지 관계없이 단일 제어 지점을 제공해 준다.

 




 

Ⅲ. 클라우드 스토리지 서비스 기술 동향


현재 클라우드 스토리지 기술의 핵심은 가상화와 분산 파일 시스템이라 볼 수 있다. 클라우드 스토리지 파일 시스템 관련 기술은 공개 소프트웨어와 상용 소프트웨어로 분류할 수 있는데, 분산 파일 시스템의 공개 기술로는 하둡(Hadoop), 글러스터FS(GlusterFS), 스위프트(Swift, Open Stack Object Storage) 등이 있고 상용 소프트웨어에는 IBM의 Scale-out File Services(일명 SoFS)를 비롯하여 Microsoft, EMC, HDS(Hitachi Data System) 등이 있다. 이러한 상용 솔루션들은 스토리지의 선형적인 확장성을 지원하기 위해 Scale-out 방식과 유니파이드 스토리지 (Unified Storage) 방식으로 클라우드 스토리지 시장을 공략하고 있다.
또한 스토리지의 동적 할당 및 관리를 위한 스토리지 가상화 기반의 다양한 클라우드 스토리지 서비스를 사용하고 있다. 특히 기업의 저장공간을 효율적으로 퍼블릭 클라우드 스토리지로 확장할 수 있고, 데이터가 어떤 클라우드 환경에 있든지 관계없이 단일 제어 지점을 제공해 주는 장점 때문에, 단일의 클라우드 스토리지 서비스에서 하이브리드 클라우드 서비스 모델로 이동되고 있다. 즉 온프레미스 스토리지와 퍼블릭 클라우드 스토리지를 연동하거나 프라이빗 클라우드와 퍼블릭 클라우드를 연동하는 하이브리드 클라우드 스토리지 서비스 모델이 빠르게 확산되고 있다.
하이브리드 클라우드 서비스는 데이터 특성에 따라 내부 스토리지의 입출력 성능과 외부 스토리지의 저장소 운용 탄력성의 이점을 효과적으로 활용하기 위해 지능형 스토리지 운영 관리를 한다. 하이브리드 클라우드 스토리지 환경에서는 특정 서비스에 종속되지 않으면서 다양한 스토리지를 단일점으로 연동하는 다중 스토리지 통합 관리 및 소유권자의 데이터 통제권(Control)과 신뢰성(Trust) 기술이 기반이 되고 있다. 성공적인 하이브리드 클라우드 서비스를 제공하기 위해서는 레거시 애플리케이션을 재구성하지 않고 다양한 스토리지 유형을 사용할 수 있어야 한다. 이를 위해 클라우드 스토리지 관리를 위한 SDS(Software Defined Storage) 기술을 활용되고, 동시에 스토리지 하이브리드 서비스를 제공하기 위한 CSG(Cloud Storage Gatewary)기술이 활용된다.
데이터 저장량이 점점 방대해지고 이를 저장하는 스토리지와 데이터를 분석하는 시스템의 성능을 점점 한계에 직면함에 따라 소프트웨어로 이 한계를 극복하고자 SDN 솔루션이 도입되었다. VMware의 Virtual SAN, IBM GPFS, Dell EMC SDS, HP의 스토어버추얼 VSA와 스토어원스 VSA 등 글로벌 벤더들은 각자 고유의 SDS 솔루션을 제공하고 있다.
퍼블릭 클라우드의 대규모 저장 공간을 제공하고 동시에 온프레미스의 빠른 데이터 접근 성능을 만족시키기 위해 CSG(Cloud Storage Gateway) 솔루션이 도입되었다. Ctera의 EV16, Nasumi의 Cloud NAS, NetApp의 AltaVault, Amazon S3 통합 API를 제공하는 Amazon Storage Gateway, Dell-EMC의 CloudArray, Acronis의 Acrnois Stoarge Gateway, Microsoft의 Storsimple, Panzura의 Freedom NAS 등 다양한 상용 CSG 솔루션들이 있다.

 

1. HDFS


하둡은 공개용 클라우드 스토리지 관련 기술중에 가장 많은 서브 프로젝트를 가지고 있고, 높은 확장성, 다양한 기능 제공 등으로 가장 많이 사용되고 있고, 상용 업체에서도 기반 기술로 이용중이다. 하둡은 크게 하둡커널, 멥리듀스, HDFS(Hadoop Distributed File System) 3개 부분으로 구성된다. 이중 하둡 분산 파일시스템이 HDFS는 범용 컴퓨터들로 된 커다란 클러스터에서 수행되는 분산 파일 시스템이다.

 

2. 글러스터 FS


글러스터(Gluster)는 2005년에 설립된 오픈 소스 스토리지 솔루션기업으로 비정형 데이터 관리를 표준화하는 확장형(Scale-out) 스토리지 솔루션 기술을 보유하고 있다. 오픈 소스 소프트웨어와 범용 하드웨어를 이용해 스토리지를 단순화하는 기술을 보유하고 있으며, 글러스터의 핵심제품인 글러스터 FS는 다수의 범용 스토리지(S-ATA 드라이브, NAS 시스템 등)와 컴퓨터 리소스를 통합해 중앙관리가 가능하고 글로벌 접근성을 제공하는 고성능의 스토리지 풀을 구축할 수 있다.

 

3. 스위프트


2010년 7월에 Rackspace Cloud사와 NASA에 의해 시작된 IaaS 클라우드 컴퓨팅 프로젝트인 OpenStack에서는 클라우드 서비스가 한 기술에 종속되지 않고, 데이터 와 애플리케이션을 한 클라우드에서 다른 클라우드로 손쉽게 이전할 수 있도록 하는 것을 목표로 한 오픈 소스(Open Source), 오픈 표준(Open Standard)기반의 개방 커뮤니티를 만들었는데 이렇게 탄생한 것이 OpenStack Object Storage이다. OpenStack Object Storage는 스위프트(Swift)라고도 부른다. 스위프트는 데이터가 전 시스템에 걸쳐 골고루 분산되어 있고, REST기반 API를 지원하며 중앙 DB가 없다. 기본 개발 언어는 Python으로 특정 하드웨어에 무관하게 일반사양의 하드웨어를 지원하며 RAID 등의 구조를 필요로 하지 않는다. 파일시스템이 아니라 계층 구조를 지원하지 않으며 다수의 웹 서버들로 구성된다. 사용자 계정에 대응하는 어카운트(account), 디렉토리에 대응하는 컨테이너(container)와 개별 파일에 해당하는 오브젝트(object)라는 논리적인 구조를 갖는다. 어카운트, 컨테이너 및 오브젝트는 각각 다른 개수의 복사본(replica)을 가질 수 있으며 수 페타바이트(petabyte)까지 확장성이 제공된
다. 구글 파일시스템이나 아마존 S3가 큰 오브젝트에최적의 성능을 보이는 반면 스위프트는 큰 오브젝트뿐만 아니라 수 없이 많은 적절한 크기의 파일들 처리에도 아주 뛰어난 성능을 보인다.

 

4. SoFS


IBM에서 제공하는 스케일 아웃 스토리지 솔루션이다. Scale out File Service(SoFS)는 높은 확장성을 갖는 그리드 기반의 솔루션으로, 고성능의 공유디스크 클러스터 파일시스템인 GPFS 기술이 중심이다.

 

5. 스케일아웃


Scale-out은 초기 도입규모를 최소화 한 후에 데이터 증가에 따라 필요한 만큼 추가로 구입해 확장하는 방식을 말하며 스케일아웃 NAS 라는 이름으로 시판되고 있다. IBM SoFS, EMC isillion, HDS-Scaleway 등과 같은 솔루션이 있다.

 

6. 유니파이드 스토리지


Unified Storage는 분산된 환경에서 파일 및 블록을 중앙 집중식으로 관리하고, 멀티프로토콜 파일시스템을 공유하고 확장할 수 있다. DART(Data Access in Real Time) 운영체제에서 NFS 프로토콜과 CIFS프로토콜의 파일락매커니즘을 사용하여 윈도우, 리눅스 클라이언트간에 파일을 효과적으로 공유할 수 있다. 또한, 블록 어플리케이션에서는 iSCSI프로토콜을 사용하고, 스토리지 전용 네트워크인 화이버 채널(Fibre Channel)을 사용하여 높은 대역폭과 지연시간을 줄일 수 있다.

 

7. SDS (Software Defined Storage)


SDS는 독점적인 하드웨어에 대한 소프트웨어 종속성을 제거하여 일반적으로 모든 업계 표준 또는 x86 시스템에서 운용되고 관리될 수 있게 한다. 하드웨어에서 소프트웨어가 분리되므로 사용자의 필요에 따라 하드웨어 구성을 변경시키지 않아도 적절하게 스토리지 용량을 확장하거나 업그레이드 가능한 유연성을 제공한다. 또한 SDS는 스토리지 요구에 자동적으로 대응하기 위해 표준 API를 제공하고 가상화된 데이터 경로를 지원하여 스토리지 확장성과 스토리지 사용 모니터링 및 관리를 위한 스토리지 투명성을 제공해야 한다.

 

8. CSG (Cloud Storage Gateway)


CSG는 온프레미스 스토리지나 프라이빗 클라우드 스토리지 및 퍼블릭 클라우드 스토리지 간의 인터페이스를 제공하여 통합된 클라우드 스토리지 시스템으로 운영 관리할 수 있도록 해주는 하드웨어나 소프트웨어 기반 스토리지 어플라이언스이다. CSG는 호환되지 않는 스토리지 프로토콜들을 연동할 수 있도록 기본적인 프로토콜 변환을 통해 스토리지 서비스 모델간의 상호 연결성을 제공한다.