[클라우드 저장소_3편]블록·파일·객체 스토리지_클라우드 컴퓨팅 준비!

안녕하세요. 이번 포스팅에서는 클라우드 서비스의 다양한 종류 중에서도 클라우드 저장소인 블록 스토리지(Block Storage), 파일 스토리지(File Storage), 그리고 오브젝트 스토리지(객체 스토리지)에 대해서 자세히 알아보려고 합니다. 이 세 가지 저장소는 각각 고유한 사용처와 기능을 가지고 있으며, 다양한 업무 환경에서 사용됩니다. 따라서, 각각의 스토리지가 어떤 역할을 수행하며 어디에 사용되는지에 대한 정보를 상세히 제공해 드릴 것입니다.

[클라우드 서비스_2편]클라우드 저장소란?

   Ⅰ. 블록 스토리지

  1. 대규모 데이터 처리와 DB 워크로드에 사용되는 스토리지

 블록 스토리지는 데이터가 사전에 정해진 배열의 고정 크기 블록에 저장되어, 대용량 데이터 저장이 필요한 애플리케이션 환경에서 매우 적합한 고가용성 스토리지 서비스입니다. 이는 주로 데이터베이스 서버, 메일 서버와 같은 시스템에서 사용되며, 성능 요구 수준에 따라 고성능 스토리지를 선택하여 사용할 수 있습니다. 또한, 블록 스토리지는 이중화를 통한 백업 정책과 장애 복구 체계를 갖추고 있어 데이터 손실 없이 안정적인 서비스를 제공할 수 있습니다.이러한 기능들을 통해 블록 스토리지는 신뢰성과 안정성을 보장하며, 대용량 데이터의 효율적인 관리와 보호를 가능하게 합니다.

각각의 파일이나 오브젝트를 여러 블록에 분산시키기 위해 데이터를 블록 시퀀스로 처리할 수 있습니다. 이러한 블록들은 연속적으로 저장될 필요가 없습니다. 사용자가 데이터를 요청할 때마다, 기본 스토리지 시스템은 데이터 블록을 다시 병합하여 사용자의 요청을 처리합니다.

여기에는 계층 구조가 필요하지 않습니다. 각 블록은 서로 다른 고유 주소를 가지며 독립적으로 존재하기 때문입니다. 블록 스토리지는 읽어야 할 데이터의 경로가 하나뿐만이 아니라는 경우도 있어 매우 빠르게 데이터를 검색할 수 있습니다. 또한, 블록 스토리지는 동일한 파일이나 오브젝트를 나타내는 블록을 서로 인접하게 저장할 필요가 없으므로, 가장 효율적인 위치에 블록을 저장할 수 있어 효율성이 매우 높습니다.

그러나 블록 스토리지는 일반적으로 고가이며 메타데이터(오브젝트나 파일 수준 개념) 처리 능력이 제한적이므로 애플리케이션 수준에서 이를 처리해야 합니다. 블록 스토리지는 보통 저장 영역 네트워크(SAN) 저장소에 배치됩니다. 대부분의 애플리케이션에서 오브젝트 또는 파일 스토리지는 실제로 기본 블록 스토리지 맨 위에 있는 계층입니다. 블록 스토리지는 파일 스토리지 시스템이 구축되는 기반으로 생각할 수 있습니다.

가상의 서버_블록 스토리지
가상의 서버_블록 스토리지

  2. 블록 스토리지 주요 기능

(1) 사용자 볼륨 생성

– 생성된 VM에 사용자 볼륨을 손쉽게 생성/연결/증설/해제
– 할당할 블록 스토리지의 유형, 크기 설정
– 기본 내장 OS영역 100GB 제공

(2) 볼륨별 암호화 기능

– 고객의 중요한 데이터를 안전하게 보호

(3) Multi-Attach 기능

– 공유파일시스템, 클러스터파일시스템 사용시, 여러 서버에서 동일한 공간에 있는 파일 엑세스

(4) 스토리지 관리

– 용량 관리 : 디스크/스토리지 사용률 관리, 용량 추이 분석 및 점검 등
– 가용성 관리 : 스토리지 가동률 관리 등

(5) 스토리지 모니터링

– 스토리지 성능 모니터링 (Read/Write IO), 사용량 측정 및 청구서 조회
– 볼륨 용량 부족 알림 메시지 설정 (예시: 할당량 기준 사용량이 80% 이상 Warning, 90% 이상 Critical)

  3. 블록 스토리지의 단점

(1) 데이터 공유 어려움

블록 스토리지는 일반적으로 단일 서버에 연결되어 사용되며, 여러 서버 간에 데이터를 공유하기 어렵습니다.

(2) 비용

대체로 블록 스토리지는 파일 스토리지나 객체 스토리지에 비해 비용이 높습니다. 특히, 고성능의 블록 스토리지를 사용하려면 추가 비용이 발생할 수 있습니다.

(3) 복잡한 관리

블록 스토리지는 파일 시스템을 별도로 구성해야 하고, 스토리지 용량을 수동으로 관리해야 할 필요가 있어 관리가 복잡할 수 있습니다.

데이터 서버의 서버용 컴퓨터
데이터 서버의 서버용 컴퓨터    @Samsung SDS

   Ⅱ. 파일 스토리지

  1. 파일스토리지(File Storage)

파일 스토리지는 네트워크를 통해 이기종 클라이언트에게 데이터 액세스를 제공하는 파일 수준의 스토리지입니다. 파일 스토리지 볼륨에 연결된 서버들은 데이터를 손쉽게 저장하고 공유할 수 있어, 다수의 서버를 사용하는 애플리케이션에서 데이터 활용이 용이합니다. 웹 콘텐츠 관리, 엔터테인먼트 데이터 처리를 위한 저장소, 컨테이너 스토리지, 빅 데이터 분석 등 다양한 애플리케이션에서 편리하게 서비스를 이용할 수 있습니다.

파일 스토리지는 가장 일반적인 저장소 유형 중 하나입니다. 대부분의 사람들은 일상적인 컴퓨터 사용으로 이에 익숙합니다. 간단한 예를 생각해보세요. 여러분은 최근 여행에서 찍은 사진을 개인 노트북이나 데스크톱에 저장합니다. 먼저 ‘여행’이라는 이름의 폴더를 생성합니다. 이제 이 폴더 아래에 ‘좋아하는 사진’이라는 이름의 다른 폴더를 추가하고 마음에 드는 사진들을 넣을 수 있습니다. 이와 같은 방식으로 여러분은 파일을 폴더와 하위 폴더의 계층 구조로 체계화하고, 폴더/파일 경로를 사용하여 접근할 수 있습니다.

파일을 이렇게 저장하면 생성 날짜, 수정 날짜 및 파일 크기와 같은 메타데이터가 제한적으로 첨부됩니다. 이 간단한 조직 스키마는 데이터 양이 증가하면 문제를 일으킬 수 있습니다. 파일과 폴더를 계속 추적하기 위해 파일 시스템에 대한 자원 요구가 증가하여 성능이 저하될 수 있습니다. 이러한 ‘구조적’ 문제는 단순히 파일 시스템의 저장 공간을 늘리는 것으로 해결할 수 없습니다.

  2. 파일 스토리지 서비스 특징

(1) 자유로운 볼륨 사용

파일 스토리지의 볼륨이 생성된 후에는 사용자가 데이터를 생성하거나 삭제할 때, 볼륨이 자동으로 확장 또는 축소됩니다. 이러한 스토리지 볼륨의 생성은 추가 비용을 발생시키지 않으며, 오직 사용량에 대해서만 과금됩니다.

(2) 파일시스템 공유 스토리지

다수의 클라이언트들이 동시에 파일 시스템을 공유하고 사용할 수 있도록 하는 것은 네트워크를 통한 장점 중 하나입니다. 이러한 방식으로 데이터를 관리하면 사용자는 안전하고 편리하게 작업할 수 있습니다. 또한, Linux 서버는 NFS v3 프로토콜을 사용하여 보안성을 강화하며, Windows 서버는 CIFS 프로토콜을 통해 안정성과 보안성을 제공합니다.

(3) 중요 데이터 DR 복제

모 기업 클라우드 플랫폼을 예로, 다른 지역에 원본 파일 스토리지를 복제하는 재해 복원(DR) 기능을 제공하여 시스템 장애나 자연재해와 같은 상황에서도 즉시 DR 스토리지를 활용하여 데이터를 안정적으로 제공할 수 있습니다. 다만, 데이터 복제에 필요한 네트워크 비용 이외에도 스토리지 비용이 추가로 발생합니다.

(4) 스냅샷 기반 백업 제공

볼륨 단위의 이미지 스냅샷 기능을 통해, 사용자가 생성한 스냅샷을 활용하여 파일스토리지의 볼륨을 빠르게 복구할 수 있습니다. 데이터 변경이나 삭제 등과 같은 유사한 상황에서도 이 기능을 사용할 수 있습니다.

  3. 파일 스토리지 주요 기능

파일 스토리지는 다음과 같은 주요 기능을 제공합니다:

(1) 계층적인 파일 시스템

파일 스토리지는 폴더와 서브폴더를 사용하여 파일을 계층적으로 관리합니다. 이로 인해 사용자는 파일 및 디렉토리 구조를 통해 데이터를 쉽게 찾을 수 있습니다.

(2) 공유 가능

파일 스토리지는 여러 사용자 또는 애플리케이션 간에 데이터를 공유하는 데 적합합니다. NFS(Network File System)나 SMB(Server Message Block)와 같은 프로토콜을 사용하여 네트워크를 통해 데이터에 접근할 수 있습니다.

(3) 데이터 보호 기능

파일 스토리지 시스템은 일반적으로 데이터 복제, 스냅샷, 백업 등의 데이터 보호 기능을 제공합니다. 이를 통해 데이터 손실을 방지하고, 필요한 경우 이전 상태로 복구할 수 있습니다.

(4) 사용 편의성

파일 스토리지는 사용자에게 친숙한 파일 및 폴더 구조를 제공하므로, 사용 및 관리가 비교적 쉽습니다.

(5) 접근 권한 관리

파일 스토리지는 파일 또는 폴더 단위로 접근 권한을 설정할 수 있습니다. 이를 통해 데이터의 보안을 유지하고, 특정 사용자 또는 그룹이 데이터에 접근하는 것을 제어할 수 있습니다.

이러한 기능들로 인해 파일 스토리지는 문서 관리, 공유, 백업 등 다양한 환경에서 널리 사용됩니다.

데이터 서버의 장비
데이터 서버의 장비

  4. 파일 스토리지의 단점

(1) 확장성 한계

파일 스토리지 시스템은 계층적인 파일 시스템 구조를 가지고 있어서, 대용량의 데이터를 관리하거나 저장할 때는 성능이 저하될 수 있습니다.

(2) 레이턴시

네트워크를 통해 파일 스토리지에 접근할 때, 네트워크 지연으로 인한 레이턴시가 발생할 수 있습니다.

(3) 복잡한 데이터 관리

파일 스토리지는 파일이나 폴더 단위로 데이터를 관리하기 때문에, 데이터가 많아질수록 관리가 복잡해질 수 있습니다.

 

   Ⅲ. 객체 스토리지

  1. 객체 스토리지(object storage)

오브젝트 스토리지는 ‘오브젝트’라고 불리는 각각의 데이터 단위가 개별 단위로 저장되는 데이터 저장소 유형입니다. 이러한 오브젝트는 PDF, 비디오, 오디오, 텍스트, 웹사이트 데이터나 기타 다른 파일 유형 등 사실상 거의 모든 데이터 유형이 될 수 있습니다.

객체 스토리지에서는 모든 객체가 파일 스토리지와 달리 중첩된 계층 구조 없이 단일한 평면적인 주소 공간에 저장됩니다. 파일 스토리지에서 사용되는 중첩된 계층 구조와는 달리, 객체는 평면 주소 공간에 저장되며 고유한 식별자를 가지고 있습니다. 이러한 객체는 별도의 파일 시스템 테이블이나 색인의 일부가 아니라 객체 자체로 저장되므로 접근이 더욱 간편해집니다. 객체 스토리지 시스템에서는 객체의 키(이름)만 알고 있으면 빠르고 쉽게 해당 객체를 검색할 수 있습니다.

오브젝트 스토리지는 클라우드 기반 저장소에서 꽤 일반적이며, 매우 높은 확장성과 신뢰성을 바탕으로 콘텐츠의 관리, 처리 및 배포에 사용할 수 있습니다. 평면 주소 지정 체계는 개별 오브젝트에 대한 접근이 빠르고 쉽다는 것을 의미합니다. 오브젝트 이름은 색인 테이블에서 ‘키’ 역할을 할 수 있습니다. 오브젝트 스토리지 시스템은 찾고 있는 오브젝트의 키(이름)만 알고 있으면 색인 테이블을 사용하여 빠르고 쉬운 검색이 가능합니다

  2. 객체 스토리지 주요 특징

(1) 메타데이터 관리

객체 스토리지는 데이터와 함께 메타데이터를 저장합니다. 메타데이터는 객체에 대한 상세 정보를 제공하며, 이를 통해 검색과 관리가 용이합니다.

(2) 확장성

객체 스토리지는 매우 높은 확장성을 제공합니다. 데이터가 계속 증가하더라도 성능 저하 없이 데이터를 저장하고 검색할 수 있습니다.

(3) API 기반 접근

객체 스토리지는 HTTP 기반의 RESTful API를 통해 데이터에 접근합니다. 이를 통해 어디서든 인터넷 연결만 있으면 데이터에 접근할 수 있습니다.

(4) 데이터 내구성

객체 스토리지는 데이터를 여러 위치에 복제하거나 분산 저장함으로써 높은 수준의 데이터 내구성을 제공합니다. 또한, 버전 관리 기능을 통해 데이터의 변경 사항을 추적하고 필요할 경우 이전 상태로 복원할 수 있습니다.

(5) 비용 효율성

일반적으로 객체 스토리지는 기존의 파일 스토리지나 블록 스토리지에 비해 낮은 비용으로 대량의 데이터를 저장할 수 있습니다.

데이터서버 엔지니어_객체 스토리지
데이터서버 엔지니어_객체 스토리지

  3. 객체 스토리지 단점

(1) 레이턴시

객체 스토리지는 대량의 데이터를 저장하고 검색하는 데 유리하지만, 작은 파일 여러 개를 빠르게 읽고 쓰는 작업에는 레이턴시가 발생할 수 있습니다.

(2) 호환성 문제

일부 전통적인 애플리케이션은 파일 시스템 또는 블록 스토리지를 기반으로 작동하기 때문에 객체 스토리지와 호환되지 않을 수 있습니다.

(3) 복잡한 관리

API를 통한 접근, 메타데이터 관리 등 객체 스토리지의 특성상 관리가 복잡할 수 있으며, 이를 위한 추가적인 학습이 필요할 수 있습니다.

 

함께 읽으면 좋은 글

클라우드 서비스의 개념 파헤치기_01편!!

 

 

Leave a Comment