KR101694299B1 - 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버 - Google Patents

클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버 Download PDF

Info

Publication number
KR101694299B1
KR101694299B1 KR1020110135878A KR20110135878A KR101694299B1 KR 101694299 B1 KR101694299 B1 KR 101694299B1 KR 1020110135878 A KR1020110135878 A KR 1020110135878A KR 20110135878 A KR20110135878 A KR 20110135878A KR 101694299 B1 KR101694299 B1 KR 101694299B1
Authority
KR
South Korea
Prior art keywords
data
storage device
storage
metadata
storage devices
Prior art date
Application number
KR1020110135878A
Other languages
English (en)
Other versions
KR20130068590A (ko
Inventor
진기성
차명훈
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020110135878A priority Critical patent/KR101694299B1/ko
Publication of KR20130068590A publication Critical patent/KR20130068590A/ko
Application granted granted Critical
Publication of KR101694299B1 publication Critical patent/KR101694299B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/263Network storage, e.g. SAN or NAS

Abstract

클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버가 개시된다. 본 발명에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 복수의 데이터 서버들이 상기 복수의 데이터 서버들에 포함된 복수의 저장장치들의 리스트 및 상기 복수의 저장장치들과 관련한 정보를 메타데이터 서버에 송신하는 단계; 상기 메타데이터 서버가 상기 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 상기 복수의 저장장치들을 분류하는 단계; 및 상기 메타데이터 서버가 상기 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성하는 단계를 포함한다.

Description

클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버 {Method and metadata server for managing storage device of cloud storage}
본 발명은 클라우드 스토리지(cloud storage)의 저장장치를 관리하기 위한 방법 및 메타데이터(metadata) 서버에 관한 것으로서, 메타데이터 서버에서 복수의 저장장치들의 특성에 따라 복수의 저장장치들을 관리하고, 서비스 특성에 따라 저장장치들을 별도로 할당하며, 저장할 데이터에 따라 복수의 저장장치들의 데이터 저장을 제어함으로써, 클라우드 스토리지에서 각기 다른 특성을 가지는 저장장치들을 효율적으로 관리할 수 있고 서비스 품질을 높일 수 있는 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버에 관한 것이다.
종래의 스토리지 환경에서는 기업에서 생산되는 데이터가 주류를 이루었으나, 최근 인터넷 기술의 비약적인 발전으로 블로그, 사진, 동영상과 같은 멀티미디어 데이터가 급속도로 증가하고 있다. 특히, 국내외에서 인터넷 서비스를 실시 중인 대형 포탈 업체의 경우에는 매월 수 테라 바이트(Tera Byte; TB) 내지 수십 TB씩의 데이터가 새롭게 생성되고 있다. 그러나 종래의 저장 구조 환경에서는 스토리지 확장성 및 관리의 용이성 측면에서 많은 문제점을 가지고 있기 때문에 이렇게 변화하는 서비스 환경에 적용하기가 쉽지 않았다.
최근 스토리지 시스템 혹은 파일 시스템에 대한 근원적인 기술 발전은 스토리지 시스템의 확장성(scalability) 및 성능을 크게 향상시키고 있다. 파일 시스템 구조 측면에서 살펴보면, 몇몇 시스템들이 파일의 데이터 입출력 경로와 파일의 메타데이터 관리 경로를 분리시켜서 분산 스토리지 시스템의 확장성과 성능을 높이기 위한 노력을 하고 있다. 이러한 구조는 클라이언트 시스템이 저장장치들을 직접 접근할 수 있게 해주며, 또한 파일의 빈번한 접근으로 인해 발생하는 병목 지점을 회피하여 스토리지의 확장성을 높일 수 있다. 이러한 네트워크 기반 클라우드 스토리지 환경에서는 클라이언트 파일 시스템, 메타데이터 서버, 데이터 서버들이 네트워크를 통해 교신하면서 데이터의 입출력을 제공한다. 클라이언트가 특정 파일을 접근하기 위해서는 먼저 메타데이터 서버로부터 파일의 실제 데이터가 저장된 블록의 위치 정보를 획득한 후, 블록이 위치한 데이터 서버에 접근하여 블록의 데이터를 읽어 클라이언트에게 반환한다.
그러나 이러한 종래의 네트워크 기반 클라우드 스토리지 구조에서는 스토리지를 구성하는 수백 개 이상의 저장장치들의 상이한 특성들을 고려하지 않기 때문에 서비스 특성에 적합하도록 저장장치의 융통성 있는 활용이 어려운 문제점이 있었다.
본 발명의 목적은, 메타데이터 서버에서 복수의 저장장치들의 특성에 따라 복수의 저장장치들을 관리하고, 서비스 특성에 따라 저장장치들을 별도로 할당하며, 저장할 데이터에 따라 복수의 저장장치들의 데이터 저장을 제어함으로써, 클라우드 스토리지에서 각기 다른 특성을 가지는 저장장치들을 효율적으로 관리할 수 있고 서비스 품질을 높일 수 있는 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버를 제공하는 것이다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 복수의 데이터 서버들이 상기 복수의 데이터 서버들에 포함된 복수의 저장장치들의 리스트 및 상기 복수의 저장장치들과 관련한 정보를 메타데이터 서버에 송신하는 단계; 상기 메타데이터 서버가 상기 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 상기 복수의 저장장치들을 분류하는 단계; 및 상기 메타데이터 서버가 상기 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성하는 단계를 포함하여 구성된다.
상기 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 상기 복수의 데이터 서버들을 사용하는 클라이언트가 상기 복수의 데이터 서버들에 저장할 데이터를 송신하는 단계; 상기 메타데이터 서버가 상기 복수의 저장장치들 중 데이터 처리 속도가 가장 빠른 제1 저장장치에 상기 데이터를 저장하도록 제어하는 단계; 및 상기 메타데이터 서버가 상기 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 단계를 더 포함할 수 있다.
상기 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 상기 메타데이터 서버가 상기 복수의 저장장치들 중 제2 저장장치에 상기 데이터의 복사 데이터를 저장하도록 제어하는 단계; 및 상기 메타데이터 서버가 상기 복사 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 단계를 더 포함할 수 있다.
상기 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 상기 복수의 저장장치들 중 제3 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 미만으로 떨어질 경우, 상기 메타데이터 서버가 상기 제3 저장장치에 저장된 데이터를 상기 제3 저장장치보다 데이터 처리 속도가 느리고 용량이 큰 제4 저장장치로 이동시키도록 제어하는 단계; 및 상기 메타데이터 서버가 상기 제4 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경하는 단계를 더 포함할 수 있다.
상기 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 상기 복수의 저장장치들 중 제5 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 이상으로 올라갈 경우, 상기 메타데이터 서버가 상기 제5 저장장치에 저장된 데이터를 상기 제5 저장장치보다 데이터 처리 속도가 빠른 제6 저장장치로 이동시키도록 제어하는 단계; 및 상기 메타데이터 서버가 상기 제6 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경하는 단계를 더 포함할 수 있다.
상기 클라우드 스토리지의 저장장치를 관리하기 위한 방법은, 상기 메타데이터 서버가 제공 서비스에 대응하는 서비스 볼륨을 생성하는 단계; 및 상기 제공 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버는, 복수의 데이터 서버들에 포함된 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 상기 복수의 저장장치들을 분류하고, 상기 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성하는 저장장치 제어부; 및 상기 복수의 저장장치들에 저장되는 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 메타데이터 제어부를 포함하여 구성된다.
상기 저장장치 제어부는, 상기 복수의 데이터 서버들을 사용하는 클라이언트가 상기 복수의 데이터 서버들에 저장할 데이터를 송신하면, 상기 복수의 저장장치들 중 데이터 처리 속도가 가장 빠른 제1 저장장치에 상기 데이터를 저장하도록 제어하고, 상기 메타데이터 제어부는, 상기 데이터의 위치 정보를 포함하는 메타데이터를 저장할 수 있다.
상기 저장장치 제어부는, 상기 복수의 저장장치들 중 제2 저장장치에 상기 데이터의 복사 데이터를 저장하도록 제어하고, 상기 메타데이터 제어부는, 상기 복사 데이터의 위치 정보를 포함하는 메타데이터를 저장할 수 있다.
상기 저장장치 제어부는, 상기 복수의 저장장치들 중 제3 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 미만으로 떨어질 경우, 상기 제3 저장장치에 저장된 데이터를 상기 제3 저장장치보다 데이터 처리 속도가 느리고 용량이 큰 제4 저장장치로 이동시키도록 제어하고, 상기 메타데이터 제어부는, 상기 제4 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경할 수 있다.
상기 저장장치 제어부는, 상기 복수의 저장장치들 중 제5 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 이상으로 올라갈 경우, 상기 제5 저장장치에 저장된 데이터를 상기 제5 저장장치보다 데이터 처리 속도가 빠른 제6 저장장치로 이동시키도록 제어하고, 상기 메타데이터 제어부는, 상기 제6 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경할 수 있다.
상기 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버는, 제공 서비스에 대응하는 서비스 볼륨을 생성하는 볼륨 제어부를 더 포함하되, 상기 저장장치 제어부는, 상기 제공 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당할 수 있다.
본 발명의 일 측면에 따르면, 클라우드 스토리지(cloud storage)의 저장장치를 관리하기 위한 방법 및 메타데이터(metadata) 서버에 관한 것으로서, 메타데이터 서버에서 복수의 저장장치들의 특성에 따라 복수의 저장장치들을 관리하고, 서비스 특성에 따라 저장장치들을 별도로 할당하며, 저장할 데이터에 따라 복수의 저장장치들의 데이터 저장을 제어함으로써, 클라우드 스토리지에서 각기 다른 특성을 가지는 저장장치들을 효율적으로 관리할 수 있고 서비스 품질을 높일 수 있는 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버를 제공할 수 있다.
본 발명의 일 측면에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버에 따르면, 서비스 특성에 따라 저장장치를 별도로 관리할 수 있기 때문에 기업용 데이터 분석 서비스와 같이 고속의 처리 성능이 필요한 서비스에는 고속의 저장장치를 할당하고, 데이터 백업과 같이 대규모 용량이 중요한 서비스에는 고용량의 저장장치를 할당하는 등의 효율적인 스토리지 및 서비스 관리가 가능하다.
도 1은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법을 구현하기 위한 시스템을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 저장장치 제어부의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 볼륨 제어부의 동작을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 볼륨 제어부에서 생성된 서비스 볼륨에 데이터가 저장되는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 저장장치 제어부가 데이터를 저장하는 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 저장장치 제어부가 데이터를 이동하는 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에서 서비스 볼륨을 생성하고 마운트하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에서 접근이 빈번하지 않은 오래된 데이터를 이동하는 과정을 설명하기 위한 순서도이다.
도 10은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에서 접근이 급증하는 데이터를 이동하는 과정을 설명하기 위한 순서도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법을 구현하기 위한 시스템을 개략적으로 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법을 구현하기 위한 시스템은 메타데이터 서버(100), 데이터 서버(200) 및 클라이언트(300)가 네트워크 스위치(400)를 통해 데이터를 주고받는 구조이다. 메타데이터 서버(100) 및 데이터 서버(200)는 도 1에 도시된 바와 같이 논리적으로 구분되어 있거나 별도로 독립된 서버로 구성할 수도 있지만, 다른 실시예에서는 동일한 서버에 포함될 수도 있다.
클라이언트(300)는 메타데이터 서버(100)에서 생성된 서비스 볼륨을 마운트(mount)하여 사용자 응용 프로그램이 파일 시스템에 접근할 수 있도록 하는 역할을 수행한다. 사용자 응용 프로그램이 파일에 접근할 때에는 먼저 메타데이터 서버(100)로부터 접근할 파일의 메타데이터를 획득한 후, 메타데이터에 포함된 데이터의 위치 정보를 이용하여 데이터 서버(200)로부터 데이터를 읽어 온다. 클라이언트(300)는 도 1에서 복수 개인 것으로 도시되었으나 이는 일 실시예에 따른 것이고, 다른 실시예에서 클라이언트는 하나로 구성될 수 있다.
데이터 서버(200)는 파일의 실제 데이터를 관리하는 서버로 데이터 저장 관리기(미도시)와 데이터의 저장장치(미도시)를 포함할 수 있다. 일 실시예에서, 저장장치는 SSD(Solid State Drive), SAS(Serial Attached SCSI), SATA(Serial Advanced Technology Attachment) 등의 상이한 장치를 포함할 수 있으며, 최소 1개부터 서버의 공간이 허용하는 만큼의 저장장치를 장착할 수도 있다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버(100)는 저장장치 제어부(101), 메타데이터 제어부(102) 및 볼륨 제어부(103)로 포함하여 구성될 수 있다. 도 1에 도시된 메타데이터 서버(100)의 구성은 일 실시예에 따른 것이고 도 1에 도시된 블록들은 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 일부 블록이 추가, 변경 또는 삭제될 수 있다.
저장장치 제어부(101)는 데이터 서버(200)에 장착된 모든 저장장치의 등록 및 관리를 위한 장치이다. 저장장치 제어부(101)는 각 저장장치의 특성에 따라 복수의 저장장치 그룹들로 분류하고 각 저장장치 그룹들에 해당하는 저장장치들을 관리할 수 있다. 일 실시예에서, 저장장치 제어부(101)는 데이터 서버(200)에 포함된 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 복수의 저장장치들을 분류하고, 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성할 수 있다.
예를 들어, 저장장치 제어부(101)는 복수의 저장장치들을 크게 4 가지로 분류할 수 있다. 표 1은 이와 같은 복수의 저장장치들을 분류한 복수의 저장장치 그룹들을 나타낸다.
저장장치 그룹 저장장치 타입 데이터 처리 속도 용량
클래스 A SLC SSD 매우 빠름 매우 작음
클래스 B MLC SSD 빠름 작음
클래스 C SAS 보통 보통
클래스 D SATA 느림

클래스 A는 SLC(Single Level Cell) 타입의 SSD 장치로서 용량은 매우 작으나 데이터 처리 속도가 매우 빠른 저장장치이다. 클래스 B는 MLC(Multi Level Cell) 타입의 SSD 장치로서 용량은 조금 작으나 데이터 처리 속도는 빠른 저장장치이다. 클래스 C는 SAS 장치로서 보통의 용량을 가지고 있으며 보통의 데이터 처리 속도를 제공하는 저장장치이다. 클래스 D는 SATA 장치로서 용량은 크지만 데이터 처리 속도는 느린 저장장치이다.
상기와 같이 저장장치들을 분류함으로써 각 서비스 특성에 따라 사용자 데이터를 관리하기 위한 장치의 할당 및 관리가 가능하며, 서로 상이한 타입의 저장장치들을 혼합하여 보다 효율적이고 지능적인 데이터 관리가 가능하다.
일 실시예에서, 실시간 데이터 처리 서비스는 이메일(E-MAIL) 서비스, 기업 데이터 처리 서비스 등과 같이 데이터 용량은 적게 필요하나 데이터에 대한 고성능 입출력이 필요한 서비스로서 클래스 A를 할당할 수 있다.
다른 실시예에서, 대규모 아카이빙(Archiving) 서비스는 데이터 백업과 같이 속도는 크게 중요하지 않으나 대용량의 저장 공간이 필요한 서비스로서 클래스 D를 할당할 수 있다.
또 다른 실시예에서, 생명 주기형 서비스는 UCC(User Created Contents)와 같이 최근 인기 데이터는 자주 접근되고, 오래된 데이터는 자주 접근되지는 않으나 누적된 양은 많은 서비스로서 최근 데이터는 클래스 A에 할당할 수 있고 오래된 데이터는 점차적으로 클래스 D로 이동할 수 있다.
다시 도 1을 참조하면, 메타데이터 제어부(102)는 데이터의 파일이름, 크기, 소유자, 생성시간, 복수의 저장장치들에 저장되는 데이터의 위치 정보를 포함하는 메타데이터를 관리한다.
볼륨 제어부(103)는 클라이언트(300)가 파일 시스템을 마운트할 수 있는 서비스 볼륨을 관리하는 장치이다. 일 실시예에서, 볼륨 제어부(103)는 제공 서비스에 대응하는 서비스 볼륨을 생성하고, 상기 제공 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당할 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 저장장치 제어부의 동작을 설명하기 위한 도면이다.
도 2에서는 이해를 돕기 위하여 데이터 서버(201, 202)가 두 개인 경우를 도시하고 있으나, 다른 실시예에서는 데이터 서버는 세 개 이상일 수 있음은 당업자에게 자명하게 도출될 수 있는 사실이다.
데이터 서버(201, 202)에는 SSD, SAS, SATA와 같은 다양한 형태의 저장장치들이 장착될 수 있으며, 도 2에서 데이터 서버(201)는 3 개의 SLC SSD(601, 602, 603)를 포함하고 있고, 데이터 서버(202)는 2개의 SAS(604, 605)를 포함하고 있다. 각 데이터 서버(201, 202)에 장착되는 저장장치의 수는 서버의 규격에 따라 각기 달라질 수 있으며 본 발명의 일 실시예에서는 저장장치의 수에 대한 별도의 제한을 두지는 않고, 필요한 수만큼의 저장장치를 포함할 수 있다.
데이터 서버(201, 202)가 최초 기동될 때에는 자신에게 포함된 저장장치들의 리스트 및 각 저장장치의 상세 정보를 메타데이터 서버에게 등록할 수 있다.
메타데이터 서버는 데이터 서버(201, 202)가 등록한 저장장치(601 내지 605)들을 저장장치 제어부(101)를 통해 일괄적으로 관리한다. 저장장치 제어부(101)는 각 저장장치들을 클래스 A(501), 클래스 B(502), 클래스 C(503) 및 클래스 D(504)와 같이 4개의 저장장치 그룹으로 분류하고, 개별 저장장치들을 각 저장장치의 특성에 따라 관리한다. 이때 저장장치 그룹 및 저장장치를 관리하는 방법은 리스트 또는 배열과 같은 알고리즘을 사용할 수 있으며, 이러한 알고리즘 외에도 필요에 따라 필요한 알고리즘을 선택적으로 사용할 수 있다.
도 3은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 볼륨 제어부의 동작을 설명하기 위한 도면이다.
볼륨 제어부(103)는 클라이언트의 마운트 단위인 서비스 볼륨을 생성 및 관리하는 장치이며, 최초 서비스 볼륨이 생성될 때에는 데이터 저장 공간이 비어 있는 형태로서 데이터를 기록할 수 없고, 저장장치 제어부(101)를 통해 저장장치를 할당받은 이후에 데이터의 기록이 가능하다. 즉, 볼륨 제어부(103)는 제공 서비스에 대응하는 서비스 볼륨을 생성하고, 저장장치 제어부(101)는 상기 제공 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당할 수 있다.
볼륨 제어부(103)가 저장장치 제어부(101)로부터의 저장장치의 할당 또는 해제는 도 3에 도시된 네 가지 명령어(701, 702, 703, 704)에 의해 가능하다.
디스크 추가(ADD DISK)(701)는 특정 저장장치를 개별적으로 서비스 볼륨에 할당하기 위한 명령어이다. 한번 할당된 이후에는 서비스 볼륨의 데이터가 저장 가능하다. 이 명령어를 이용하여 서비스 볼륨에 필요한 만큼의 개별 저장장치들을 할당 할 수 있다.
디스크 제거(REMOVE DISK)(702)는 서비스 볼륨에 할당된 개별 저장장치를 제거하기 위한 명령어이다. 한번 제거된 저장장치에는 이 서비스 볼륨의 데이터가 더 이상 저장되지 않는다.
클래스 추가(ADD CLASS)(703)는 특정 저장장치 그룹을 일괄적으로 서비스 볼륨에 할당하기 위한 명령어이다.
클래스 제거(REMOVE CLASS)(704는 서비스 볼륨에 할당된 저장장치 그룹을 일괄적으로 제거하기 위한 명령어이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 볼륨 제어부에서 생성된 서비스 볼륨에 데이터가 저장되는 방법을 설명하기 위한 도면이다.
실제 서비스 환경에서는 복수의 저장장치들을 장착한 복수의 데이터 서버들이 운용될 수도 있으나, 도 4에 도시된 실시예에서는 각기 다른 하나의 저장장치들(606, 607, 608, 609)을 가지는 4개의 데이터 서버들(203, 204, 205, 206)과, 각기 상이한 특성을 가지는 3개의 서비스 볼륨들(801, 802, 803)이 존재하는 것으로 간주하고 설명한다.
이 때, 서비스 볼륨(801)은 클래스 A와 클래스 D로 구성된 볼륨, 서비스 볼륨(802)는 클래스 B와 클래스 C로 구성된 볼륨, 서비스 볼륨(803)은 클래스 D로 구성된 볼륨이라고 가정한다. 그리고, SLC SSD(606)를 포함하는 데이터 서버(203)는 클래스 A에 속하고, MLC SSD(607)를 포함하는 데이터 서버(204)는 클래스 B에 속하며, SAS(608)를 포함하는 데이터 서버(205)는 클래스 C에 속하며, SATA(609)를 포함하는 데이터 서버(206)는 클래스 D에 속한다고 가정한다.
서비스 볼륨(801)은 클래스 A와 클래스 D로 구성된 볼륨이므로, 고속의 입출력이 필요한 데이터는 클래스 A에 속하는 데이터 서버(203)의 SLC SSD(606)에 저장하고, 입출력은 적으나 용량이 많은 데이터들은 클래스 D에 속하는 데이터 서버(206)의 SATA(609)에 저장할 수 있다. 즉, 서비스 볼륨(801)에 속하는 데이터는 데이터 서버(203)와 데이터 서버(206)에만 저장된다.
서비스 볼륨(802)는 클래스 B와 클래스 C로 구성된 볼륨이다. 서비스 볼륨(802)도 서비스 볼륨(801)과 유사하게 상대적으로 고속의 입출력이 필요한 데이터는 클래스 B에 속하는 데이터 서버(204)의 MLC SSD(607)에 저장하고, 상대적으로 입출력은 적으나 용량이 많은 데이터들은 클래스 C에 속하는 데이터 서버(205)의 SAS(608)에 저장할 수 있다. 즉, 서비스 볼륨(802)에 속하는 데이터는 데이터 서버(204)와 데이터 서버(205)에만 저장된다.
서비스 볼륨(803)은 클래스 D로 구성된 볼륨이다. 아카이빙, 백업과 같이 대량의 데이터 저장이 필요한 경우에 사용될 수 있다. 서비스 볼륨(803)에 속하는 데이터는 데이터 서버(206)에만 저장된다.
도 5는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 저장장치 제어부가 데이터를 저장하는 동작을 설명하기 위한 도면이다.
도 5에 도시된 실시예에서는 클래스 A와 클래스 D를 포함하는 서비스 볼륨 내에서 데이터를 저장하는 동작이 발생하는 것으로 가정하고, 데이터 서버(207)는 클래스 A에 속하는 저장장치인 SLC SSD(610)를 포함하고, 데이터 서버(208)는 클래스 D에 속하는 저장장치인 SATA(611)를 포함하는 것으로 가정한다.
먼저, 메타데이터 서버의 저장장치 제어부는 클라이언트가 데이터 서버에 저장할 데이터를 송신하면, 복수의 저장장치들 중 데이터 처리 속도가 가장 빠른 제1 저장장치에 상기 데이터를 저장하도록 제어한다. 즉, 도 5의 실시예를 참조하면, 최초 저장되는 데이터(1)의 경우 다시 접근될 확률이 높기 때문에 저장장치 제어부는 고속의 입출력 특성을 가지는 데이터 서버(207)의 SLC SSD(610)에 데이터(1)를 우선적으로 저장하도록 제어할 수 있다. 그리고 메타데이터 서버의 메타데이터 제어부는 제1 저장장치에 저장된 데이터의 위치 정보를 포함하는 메타데이터를 저장할 수 있다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버는 파일 시스템의 가용성을 보장하기 위해 데이터를 하나의 데이터 서버에 저장하는 것으로 그치지 않고 별도의 복사본을 또 다른 데이터 서버에 복사해 둘 수 있다. 이럴 경우 하나의 데이터 서버의 장애가 발생하더라도 클라이언트의 사용자 응용 프로그램은 데이터가 복사된 데이터 서버로부터 데이터를 읽어 갈 수 있기 때문에 서비스의 장애를 회피할 수 있다.
이를 위하여 저장장치 제어부는 복수의 저장장치들 중 제2 저장장치에 상기 데이터의 복사 데이터를 저장하도록 제어할 수 있다. 즉, 도 5의 실시예를 참조하면, 저장장치 제어부는 데이터(1)의 복사본을 고용량 저장장치인 데이터 서버(208)의 SATA(611)에 저장하도록 제어할 수 있다. 그리고 메타데이터 제어부는 제2 저장장치에 저장된 복사 데이터의 위치 정보를 포함하는 메타데이터를 저장할 수 있다.
본 발명의 일 실시예와 같은 파일의 저장 관리 정책에 따르면, 최근 생성된 파일들을 우선적으로 고속의 입출력 장치에 저장함으로써 이후 발생하는 데이터 접근 요청에 빠르게 응답할 수 있을 뿐만 아니라, 고용량의 저장장치에 복사본을 유지함으로써 데이터에 대한 가용성도 함께 얻을 수 있다.
도 6은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버의 저장장치 제어부가 데이터를 이동하는 동작을 설명하기 위한 도면이다.
도 6에 도시된 실시예에서는 클래스 A와 클래스 D를 포함하는 서비스 볼륨 내에서 데이터를 이동하는 동작이 발생하는 것으로 가정하고, 데이터 서버(209)는 클래스 A에 속하는 저장장치인 SLC SSD(612)를 포함하고, 데이터 서버(210)는 클래스 D에 속하는 저장장치인 SATA(613)를 포함하는 것으로 가정한다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 데이터의 접근 빈도에 따라 저장될 저장장치를 변경할 수 있으며, 기간이 오래되어 접근되지 않는 데이터들과 사용자의 접근 요청이 급격하게 증가하는 데이터의 예시를 들어 설명한다.
먼저, 저장장치 제어부는 복수의 저장장치들 중 제3 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 미만으로 떨어질 경우, 제3 저장장치에 저장된 데이터를 제3 저장장치보다 데이터 처리 속도가 느리고 용량이 큰 제4 저장장치로 이동시키도록 제어할 수 있다. 그리고 상기 메타데이터 제어부는, 제4 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경할 수 있다. 소정의 설정값은 접근 빈도가 상기 소정의 설정값 미만으로 떨어지면 데이터가 기간이 오래되어 자주 접근되지 않은 것으로 판단할 수 있는 설정값이며, 사용자가 필요에 따라 설정할 수 있다.
도 6을 참조하여, 기간이 오래되어 자주 접근되지 않는 데이터들의 관리 방법에 대해 설명한다. 일 실시예에서의 메타데이터는 /UCC(901) 디렉토리(directory) 아래에 각 년도에 따라 /UCC/2007(902), /UCC/2008(903), /UCC/2009(904), /UCC/2010(905)과 같이 디렉토리를 분류하고 있다. 이러한 데이터 구성에 따르면 /UCC/2010(905) 디렉토리에 존재하는 데이터의 경우 사용자가 접근할 확률이 높은 반면 /UCC/2007(902) 디렉토리에 존재하는 데이터의 경우 기간이 오래되어 사용자의 접근이 적은 특성을 가지게 된다. 이렇게 접근이 되지 않는 데이터의 경우 고속 저용량의 저장장치인 클래스 A에 속하는 데이터 서버(209)의 SLC SSD(612)에 저장하게 되면 정작 고속의 입출력이 필요한 데이터들을 저장할 공간이 존재하지 않게 되는 문제가 발생한다. 따라서, /UCC/2007(902) 디렉토리에 존재하는 데이터들의 데이터를 고용량의 저장장치인 클래스 D에 속하는 데이터 서버(210)의 SATA(613)로 이동 저장하여 SLC SSD(612)의 저장 공간을 추가적으로 확보할 수 있다.
또한, 저장장치 제어부는 복수의 저장장치들 중 제5 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 이상으로 올라갈 경우, 제5 저장장치에 저장된 데이터를 제5 저장장치보다 데이터 처리 속도가 빠른 제6 저장장치로 이동시키도록 제어할 수 있다. 그리고 메타데이터 제어부는 제6 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경할 수 있다. 소정의 설정값은 접근 빈도가 상기 소정의 설정값 이상으로 올라가면 데이터의 접근 요청이 급격하게 증가한 것으로 판단할 수 있는 설정값이며, 사용자가 필요에 따라 설정할 수 있다.
도 6을 참조하여, 사용자의 접근 요청이 급격하게 증가하는 데이터의 관리 방법에 대해 설명한다. 일 실시예에서, 데이터는 데이터 서버(210)의 SATA(613)에 저장되어 있는 것으로 가정한다. 이 경우 사용자의 접근 요청이 급격하게 증가할 경우 저속의 입출력 성능을 가지는 SATA(613)의 특성 때문에 사용자 요청에 대한 응답 시간이 늘어나게 된다. 따라서, 이러한 파일들의 고속의 저장 장치인 클래스 A에 속하는 데이터 서버(209)의 SLC SSD(612)로 이동 저장하여 고속의 입출력 서비스를 보장할 수 있다.
한편, 상기와 같이 데이터의 접근 빈도에 따라 데이터의 이동을 명령하는 방법은 메타데이터 서버 엔진 내부에서 자체적인 판단에 의해서도 할 수 있고, 관리자가 별도의 유틸리티를 이용하여 수행하는 것도 가능하며 별도의 제한은 없다.
도 7은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 먼저 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법이 시작되면, 복수의 데이터 서버들이 상기 복수의 데이터 서버들에 포함된 복수의 저장장치들의 리스트 및 상기 복수의 저장장치들과 관련한 정보를 메타데이터 서버에 송신한다(S11).
그리고 상기 메타데이터 서버가 상기 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 상기 복수의 저장장치들을 분류한다(S12).
그리고 나서 상기 메타데이터 서버가 상기 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성한다(S13).
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 복수의 데이터 서버들을 사용하는 클라이언트가 상기 복수의 데이터 서버들에 저장할 데이터를 송신하면, 상기 메타데이터 서버는 상기 복수의 저장장치들 중 데이터 처리 속도가 가장 빠른 제1 저장장치에 상기 데이터를 저장하도록 제어하고, 상기 데이터의 위치 정보를 포함하는 메타데이터를 저장할 수 있다.
또한, 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 파일시스템의 가용성을 보장하기 위해 데이터를 하나의 데이터 서버에 저장하는 것으로 그치지 않고 별도의 복사본을 또 다른 데이터 서버에 복사해 둘 수 있다. 이를 위하여, 메타데이터 서버는 상기 복수의 저장장치들 중 제2 저장장치에 상기 데이터의 복사 데이터를 저장하도록 제어하고, 상기 복사 데이터의 위치 정보를 포함하는 메타데이터를 저장할 수 있다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법은 도 1 내지 도 6에 도시된 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법을 구현하기 위한 시스템 및 메타데이터 서버와 유사하게 관리 방법이 수행되므로 특별한 언급이 없는 한 도 1 내지 도 6에의 설명이 그대로 적용되므로 상세한 설명은 생략하도록 한다.
도 8은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에서 서비스 볼륨을 생성하고 마운트하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 메타데이터 서버는 제공 서비스에 대응하는 서비스 볼륨을 생성하고, 상기 제공 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당할 수 있다. 클라이언트는 이와 같이 할당된 복수의 저장장치 그룹들을 포함하는 서비스 볼륨을 마운트할 수 있다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 최초 데이터 서버(211)에 장착된 저장장치를 메타데이터 서버의 저장장치 제어부(101)에 등록(S21)하면, 메타데이터 서버의 저장장치 제어부(101)가 등록한 저장장치의 분류에 따라 장치 등록을 완료한다.
볼륨 제어부(103)는 클라이언트(301)가 접근할 서비스 볼륨을 생성한다(S22). 이 시점에서 클라이언트(301)는 생성한 서비스 볼륨을 마운트 할 수는 있으나 데이터를 저장할 공간이 없기 때문에 파일 기록이 불가능한 상태이다. 따라서, 클라이언트(301)가 파일을 기록할 수 있도록 등록된 저장장치를 할당(S23)한다. 이때 할당할 저장장치는 서비스 볼륨의 특성에 따라 선별적으로 수행할 수 있다. 만약 기업용 데이터 분석 서비스와 같이 고속의 입출력이 필요한 경우라면 클래스 A를 할당하고, 단순 백업용 서비스인 경우 클래스 D를 할당한다.
서비스 볼륨에 저장장치가 할당한 이후에는 클라이언트가 파일을 기록할 수 있다. 기록하는 파일의 메타데이터는 생성되어(S25) 볼륨 제어부(103)에 저장되고, 파일의 실제 데이터는 등록한 데이터 서버(211)의 저장장치에 저장된다(S26).
도 9는 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에서 접근이 빈번하지 않은 오래된 데이터를 이동하는 과정을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 고속의 저장장치는 용량이 작은 특성을 가지기 때문에 접근이 빈번하지 않은 데이터가 많이 저장될 수록 고속 저장장치에 의한 입출력 품질 효과가 사라지게 된다. 따라서, 이러한 데이터의 경우 아래의 절차와 같이 고속의 저장장치에서 저속의 고용량 저장장치로 이동하도록 한다.
이를 위하여, 메타데이터 서버는 복수의 저장장치들 중 제3 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 미만으로 떨어질 경우, 제3 저장장치에 저장된 데이터를 제3 저장장치보다 데이터 처리 속도가 느리고 용량이 큰 제4 저장장치로 이동시키도록 제어하고, 제4 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경할 수 있다. 이와 같은 접근이 빈번하지 않은 오래된 데이터를 이동하는 과정을 도 9를 참조하여 설명하도록 한다.
도 9에 도시된 실시예에서는 메타데이터 서버에서 파일의 특성을 감시하는 별도의 프로세스가 있다고 가정한다. 사용자 입장에서는 메타데이터 서버와 독립된 별도의 유틸리티를 이용하여 데이터를 관리하는 것도 무방하다.
도 9를 참조하면, 먼저 고속 저장장치의 남은 공간이 부족한 지의 여부를 검사한다(S31). 추가적인 데이터를 저장할 공간이 많이 남아 있다면 데이터를 이동할 필요가 없으나, 공간이 부족한 경우 고속 저장장치에 저장된 오래된 데이터를 저속 고용량 저장장치로 이동하여 접근이 빈번한 최신 파일들이 고속 저장장치에 저장될 수 있는 여분의 공간을 만들어 줄 필요가 있다.
고속 저장장치의 남은 공간이 부족할 경우 고속 저장장치의 데이터를 분석하여 접근이 되지 않는 오래된 데이터 즉, 접근 빈도가 소정의 설정값 미만인 데이터가 존재하는지 검사한다(S32). 만약 이러한 데이터가 존재하는 경우 볼륨에 저속 고용량 저장 장치가 존재하는지의 여부(S33)와 고용량 저장장치에 남은 공간이 존재하는지(S34)를 검사한다. 만약 이동할 데이터가 저장될 공간이 고용량 저장장치에 존재하는 경우 오래된 데이터를 고속 저장장치에서 저속 고용량 저장장치로 이동하고(S35), 이동한 데이터의 메타데이터의 위치 정보를 변경한다(S36).
또한, 본 발명에서는 저장장치간 데이터 이동에 대한 부분은 별도의 제한을 두지는 않는다. TCP(Transmission Control Protocol) 방식, UDP(User Datagram Protocol) 방식 또는 필요한 경우 별도의 방식을 사용해도 무방하다.
도 10은 본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에서 접근이 급증하는 데이터를 이동하는 과정을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 클라우드 스토리지의 저장장치를 관리하기 위한 방법에 따르면, 저속의 저장장치에 저장된 데이터에 클라이언트의 접근 요청이 급증할 경우 이러한 파일들의 입출력 품질을 향상하기 위해 고속 저장장치로 이동하도록 한다.
이를 위하여, 메타데이터 서버는 복수의 저장장치들 중 제5 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 이상으로 올라갈 경우, 제5 저장장치에 저장된 데이터를 제5 저장장치보다 데이터 처리 속도가 빠른 제6 저장장치로 이동시키도록 제어하고, 제6 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경할 수 있다. 이와 같은 접근이 급증하는 데이터를 이동하는 과정을 도 10을 참조하여 설명하도록 한다.
도 10에 도시된 실시예에서는 메타데이터 서버에서 파일의 특성을 감시하는 별도의 프로세스가 있다고 가정한다. 본 발명의 사용자 입장에서는 메타데이터 서버와 독립된 별도의 유틸리티를 이용하여 데이터를 관리하는 것도 무방하다.
도 10을 참조하면, 먼저 접근이 급증하는 데이터 즉, 접근 빈도가 소정의 설정값 이상인 데이터가 저속 저장장치에 존재하는지 검사한다(S41). 만약, 이러한 데이터가 존재하는 경우 저속 저장장치의 특성상 입출력 성능이 낮기 때문에 서비스 품질의 저하를 가져오게 되며, 이를 해결하기 위해 고속 저장장치로 이동할 필요가 있다. 이후, 볼륨에 등록된 장치 중에서 고속 저장장치가 존재하는지의 여부(S42)와 고속 저장장치의 남은 공간이 존재하는 지의 여부를 검사한다(S43). 이 두가지 조건에 부합하는 경우 접근이 급증하는 데이터를 저속 저장장치에서 고속 저장장치로 이동하고(S44), 이동한 데이터의 메타데이터의 위치 정보를 변경한다(S45).
또한, 본 발명에서는 저장장치간 데이터 이동에 대한 부분은 별도의 제한을 두지는 않는다. TCP 방식, UDP 방식 또는 필요한 경우 별도의 방식을 사용해도 무방하다.
전술한 클라우드 스토리지의 저장장치를 관리하기 위한 방법은 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이며, 이러한 형태의 변형은, 본 발명의 정신에 위배되지 않는 범위 내에서 본 발명의 특허청구범위에 속한다고 볼 것이다.

Claims (12)

  1. 복수의 데이터 서버들이 상기 복수의 데이터 서버들에 포함된 복수의 저장장치들의 리스트 및 상기 복수의 저장장치들과 관련한 정보를 메타데이터 서버에 송신하는 단계;
    상기 메타데이터 서버가 상기 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 상기 복수의 저장장치들을 분류하는 단계; 및
    상기 메타데이터 서버가 상기 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성하는 단계를 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 방법.
  2. 청구항 1에 있어서,
    상기 복수의 데이터 서버들을 사용하는 클라이언트가 상기 복수의 데이터 서버들에 저장할 데이터를 송신하는 단계;
    상기 메타데이터 서버가 상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 데이터 처리 속도가 가장 빠른 제1 저장장치에 상기 데이터를 저장하도록 제어하는 단계; 및
    상기 메타데이터 서버가 상기 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 방법.
  3. 청구항 2에 있어서,
    상기 메타데이터 서버가 상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 제2 저장장치에 상기 데이터의 복사 데이터를 저장하도록 제어하는 단계; 및
    상기 메타데이터 서버가 상기 복사 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 방법.
  4. 청구항 1에 있어서,
    상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 제3 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 미만으로 떨어질 경우, 상기 메타데이터 서버가 상기 제3 저장장치에 저장된 데이터를 상기 제3 저장장치보다 데이터 처리 속도가 느리고 용량이 큰 제4 저장장치로 이동시키도록 제어하는 단계; 및
    상기 메타데이터 서버가 상기 제4 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 방법.
  5. 청구항 1에 있어서,
    상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 제5 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 이상으로 올라갈 경우, 상기 메타데이터 서버가 상기 제5 저장장치에 저장된 데이터를 상기 제5 저장장치보다 데이터 처리 속도가 빠른 제6 저장장치로 이동시키도록 제어하는 단계; 및
    상기 메타데이터 서버가 상기 제6 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 방법.
  6. 청구항 1에 있어서,
    상기 메타데이터 서버가 인터넷을 통해 제공되는 서비스에 대응하는 서비스 볼륨을 생성하는 단계; 및
    상기 인터넷을 통해 제공되는 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 방법.
  7. 복수의 데이터 서버들에 포함된 복수의 저장장치들의 데이터 처리 속도 및 용량에 따라 상기 복수의 저장장치들을 분류하고, 상기 복수의 저장장치들의 분류 별로 복수의 저장장치 그룹들을 생성하는 저장장치 제어부; 및
    상기 복수의 저장장치들에 저장되는 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 메타데이터 제어부를 포함하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버.
  8. 청구항 7에 있어서,
    상기 저장장치 제어부는,
    상기 생성된 그룹 별로 분류된 복수의 데이터 서버들을 사용하는 클라이언트가 상기 복수의 데이터 서버들에 저장할 데이터를 송신하면, 상기 복수의 저장장치들 중 데이터 처리 속도가 가장 빠른 제1 저장장치에 상기 데이터를 저장하도록 제어하고,
    상기 메타데이터 제어부는,
    상기 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버.
  9. 청구항 8에 있어서,
    상기 저장장치 제어부는,
    상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 제2 저장장치에 상기 데이터의 복사 데이터를 저장하도록 제어하고,
    상기 메타데이터 제어부는,
    상기 복사 데이터의 위치 정보를 포함하는 메타데이터를 저장하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버.
  10. 청구항 7에 있어서,
    상기 저장장치 제어부는,
    상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 제3 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 미만으로 떨어질 경우, 상기 제3 저장장치에 저장된 데이터를 상기 제3 저장장치보다 데이터 처리 속도가 느리고 용량이 큰 제4 저장장치로 이동시키도록 제어하고,
    상기 메타데이터 제어부는,
    상기 제4 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버.
  11. 청구항 7에 있어서,
    상기 저장장치 제어부는,
    상기 생성된 그룹 별로 분류된 복수의 저장장치들 중 제5 저장장치에 저장된 데이터의 접근 빈도가 소정의 설정값 이상으로 올라갈 경우, 상기 제5 저장장치에 저장된 데이터를 상기 제5 저장장치보다 데이터 처리 속도가 빠른 제6 저장장치로 이동시키도록 제어하고,
    상기 메타데이터 제어부는,
    상기 제6 저장장치로 이동한 데이터의 메타데이터의 위치 정보를 변경하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버.
  12. 청구항 7에 있어서,
    인터넷을 통해 제공되는 서비스에 대응하는 서비스 볼륨을 생성하는 볼륨 제어부를 더 포함하되,
    상기 저장장치 제어부는,
    상기 인터넷을 통해 제공되는 서비스의 특성에 따라 상기 서비스 볼륨에 상기 복수의 저장장치 그룹들 중 하나 이상을 할당하는 것을 특징으로 하는 클라우드 스토리지의 저장장치를 관리하기 위한 메타데이터 서버.
KR1020110135878A 2011-12-15 2011-12-15 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버 KR101694299B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110135878A KR101694299B1 (ko) 2011-12-15 2011-12-15 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110135878A KR101694299B1 (ko) 2011-12-15 2011-12-15 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버

Publications (2)

Publication Number Publication Date
KR20130068590A KR20130068590A (ko) 2013-06-26
KR101694299B1 true KR101694299B1 (ko) 2017-01-11

Family

ID=48864183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110135878A KR101694299B1 (ko) 2011-12-15 2011-12-15 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버

Country Status (1)

Country Link
KR (1) KR101694299B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144132B1 (ko) * 2013-10-23 2020-08-13 전자부품연구원 캐싱 기법을 접목시킨 스토리지 타겟 프레임워크 구조
KR20180127695A (ko) 2017-05-22 2018-11-30 삼성전자주식회사 저장 공간 확보를 위한 장치 및 그에 관한 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154485A1 (en) * 2002-02-12 2003-08-14 Johnson Carolynn Rae Allocation of recording space per user and application
KR101078287B1 (ko) * 2007-12-14 2011-10-31 한국전자통신연구원 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법
JP5192932B2 (ja) * 2008-07-23 2013-05-08 株式会社日立製作所 ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置
KR20100054402A (ko) * 2008-11-14 2010-05-25 삼성전자주식회사 스토리지를 갖는 컴퓨팅 장치와, 상기 스토리지에 대한 관리 장치 및 방법과, 파일 시스템이 기록된 기록 매체

Also Published As

Publication number Publication date
KR20130068590A (ko) 2013-06-26

Similar Documents

Publication Publication Date Title
US20220019351A1 (en) Data Storage Space Recovery
US10474397B2 (en) Unified indirection in a multi-device hybrid storage unit
US10140050B2 (en) Providing access information to a storage controller to determine a storage tier for storing data
US9355112B1 (en) Optimizing compression based on data activity
US8566550B2 (en) Application and tier configuration management in dynamic page reallocation storage system
US8239648B2 (en) Reclamation of thin provisioned disk storage
US8856484B2 (en) Mass storage system and methods of controlling resources thereof
US8392685B2 (en) Arrangements for managing metadata of an integrated logical unit including differing types of storage media
US10133484B2 (en) Tier based data file management
US9671977B2 (en) Handling data block migration to efficiently utilize higher performance tiers in a multi-tier storage environment
US20100235597A1 (en) Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management
WO2012004837A1 (en) Storage apparatus and storage management method
US20060212495A1 (en) Method and system for storing data into a database
JP2017021805A (ja) 不揮発性メモリ装置内でデータ属性基盤データ配置を利用可能にするインターフェイス提供方法及びコンピュータ装置
US10671309B1 (en) Predicting usage for automated storage tiering
KR20120090965A (ko) 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
US20130138908A1 (en) Storage system and pool capacity scale-down control method
US10360189B2 (en) Data object storage across multiple storage nodes
US20180203612A1 (en) Adaptive storage reclamation
US10802726B2 (en) Optimized placement of data contained in a garbage collected storage system
KR101694299B1 (ko) 클라우드 스토리지의 저장장치를 관리하기 위한 방법 및 메타데이터 서버
WO2017024802A1 (zh) 多种存储介质并存的系统及进行文件操作的方法、装置及计算机存储介质
US11144445B1 (en) Use of compression domains that are more granular than storage allocation units
WO2015145707A1 (ja) 追記型記憶装置への書き込みデータ決定方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191223

Year of fee payment: 4