KR101919666B1 - 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법 - Google Patents

액티브 그룹을 이용한 분산 파일 시스템 및 그 방법 Download PDF

Info

Publication number
KR101919666B1
KR101919666B1 KR1020160152790A KR20160152790A KR101919666B1 KR 101919666 B1 KR101919666 B1 KR 101919666B1 KR 1020160152790 A KR1020160152790 A KR 1020160152790A KR 20160152790 A KR20160152790 A KR 20160152790A KR 101919666 B1 KR101919666 B1 KR 101919666B1
Authority
KR
South Korea
Prior art keywords
active
hard disks
disks
active group
disk
Prior art date
Application number
KR1020160152790A
Other languages
English (en)
Other versions
KR20180055215A (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 KR1020160152790A priority Critical patent/KR101919666B1/ko
Publication of KR20180055215A publication Critical patent/KR20180055215A/ko
Application granted granted Critical
Publication of KR101919666B1 publication Critical patent/KR101919666B1/ko

Links

Images

Classifications

    • 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
    • G06F17/30194
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

액티브 그룹을 이용한 분산 파일 시스템 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 분산 파일 시스템은 복제본(replica) 개수만큼의 하드디스크들을 포함하는 액티브 그룹(active group)을 미리 설정된 개수만큼 분류하는 분류부; 및 상기 분류된 액티브 그룹들 중 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 제어부를 포함한다.

Description

액티브 그룹을 이용한 분산 파일 시스템 및 그 방법 {Distributed File System Using Active Group and Method Therefor}
본 발명은 분산 파일 기술에 관한 것으로서, 보다 구체적으로 클러스터에 존재하는 하드디스크를 액티브 그룹으로 분류하고, 액티브 그룹을 이용하여 파일을 분산 저장함으로써, 하드디스크의 소비 전력을 절감할 수 있는 분산 파일 시스템 및 그 방법에 관한 것이다.
하드디스크를 이용한 스토리지 서버의 소비전력 중 가장 큰 비중을 차지하는 것은 하드디스크가 소비하는 전력이다. 하드디스크를 구동하는 모터를 멈추는 스핀다운(spin-down) 기능을 이용하면 하드디스크가 소비하는 전력을 크게 절감할 수 있다.
하지만, 스핀업/스핀다운(spin-up/spin-down) 상태전이를 자주 반복할수록 디스크 수명이 줄어드는 문제점이 있기 때문에 상태전이를 최소화할 필요가 있으며 소비전력 절감을 위해서는 스핀다운 상태를 오래 유지해야 하는 결론이 나온다.
그럼에도 불구하고 현대의 분산 파일 시스템(distributed file system)은 분산 정책에 있어서 하드디스크의 스핀다운 기능을 고려하지 않고 있다. 따라서, 소비전력 절감 효과를 기대하기 어려우며 곧바로 하드디스크의 스핀다운 기능을 적용시키기에는 하드디스크 스핀업/스핀다운 상태전이가 자주 반복되어 소비전력 절감 효과의 저하, 하드디스크 수명 단축이 우려되는 상황이다.
따라서, 하드디스크의 소비전력을 절감시킬 수 있는 분산 파일 시스템의 필요성이 요구된다.
본 발명의 실시예들은, 클러스터에 존재하는 하드디스크를 액티브 그룹으로 분류하고, 액티브 그룹을 이용하여 파일을 분산 저장함으로써, 하드디스크의 소비 전력을 절감할 수 있는 분산 파일 시스템 및 그 방법을 제공한다.
구체적으로, 본 발명의 실시예들은 클러스터에 존재하는 하드디스크를 액티브 그룹으로 분류하며, 입력되는 파일을 액티브 그룹 중 한 곳으로 분산 저장하고, 액티브 그룹 내부에서는 해당 파일을 디스크 스핀다운에 적합한 배치 정책을 사용하여 관리함으로써, 소비전력을 절감할 수 있는 분산 파일 시스템 및 그 방법을 제공한다.
본 발명의 일 실시예에 따른 분산 파일 시스템의 파일 분산 방법은 복제본(replica) 개수만큼의 하드디스크들을 포함하는 액티브 그룹(active group)을 미리 설정된 개수만큼 분류하는 단계; 및 상기 분류된 액티브 그룹들 중 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 단계를 포함한다.
나아가, 본 발명의 일 실시예에 따른 분산 파일 시스템의 파일 분산 방법은 상기 스핀다운시키는 단계 이후 슬립(sleep) 하드디스크들 중 상기 복제본 개수만큼의 하드디스크들을 이용하여 기존 액티브 그룹에 추가하고 활성화하는 단계를 더 포함할 수 있다.
더 나아가, 본 발명의 일 실시예에 따른 분산 파일 시스템의 파일 분산 방법은 입력 데이터의 쓰기 요청이 수신되는 경우 미리 정해진 해시 알고리즘을 이용하여 상기 입력 데이터를 상기 분류된 액티브 그룹들 중 어느 하나의 액티브 그룹에 저장하는 단계를 더 포함할 수 있다.
더 나아가, 본 발명의 일 실시예에 따른 분산 파일 시스템의 파일 분산 방법은 클러스터의 부하에 기초하여 상기 액티브 그룹의 개수를 결정하는 단계를 더 포함하고, 상기 분류하는 단계는 상기 결정된 액티브 그룹의 개수만큼 분류할 수 있다.
상기 액티브 그룹의 하드디스크들은 미러링(mirroring) 상태를 유지할 수 있다.
본 발명의 일 실시예에 따른 분산 파일 시스템은 복제본(replica) 개수만큼의 하드디스크들을 포함하는 액티브 그룹(active group)을 미리 설정된 개수만큼 분류하는 분류부; 및 상기 분류된 액티브 그룹들 중 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 제어부를 포함한다.
상기 제어부는 상기 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운시킨 후 슬립(sleep) 하드디스크들 중 상기 복제본 개수만큼의 하드디스크들을 이용하여 기존 액티브 그룹에 추가하고 활성화할 수 있다.
상기 제어부는 입력 데이터의 쓰기 요청이 수신되는 경우 미리 정해진 해시 알고리즘을 이용하여 상기 입력 데이터를 상기 분류된 액티브 그룹들 중 어느 하나의 액티브 그룹에 저장할 수 있다.
나아가, 본 발명의 일 실시예에 따른 분산 파일 시스템은 클러스터의 부하에 기초하여 상기 액티브 그룹의 개수를 결정하는 결정부를 더 포함하고, 상기 분류부는 상기 결정된 액티브 그룹의 개수만큼 분류할 수 있다.
상기 액티브 그룹의 하드디스크들은 미러링(mirroring) 상태를 유지할 수 있다.
본 발명의 실시예들에 따르면, 클러스터에 존재하는 하드디스크를 액티브 그룹으로 분류하며, 입력되는 파일을 액티브 그룹 중 한 곳으로 분산 저장하고, 액티브 그룹 내부에서는 해당 파일을 디스크 스핀다운에 적합한 배치 정책을 사용하여 관리함으로써, 소비전력을 절감할 수 있다.
본 발명의 실시예들에 따르면, 액티브 그룹 개념을 도입하고, 몰아쓰기 및 디스크 미러링(mirroring)을 이용한 분산 파일 시스템의 배치 정책으로, 액티브 그룹을 운용함으로써, 해시 알고리즘의 장점과 하드디스크 스핀다운의 장점을 모두 가져올 수 있다.
이러한 본 발명은 인터넷 서비스 제공사의 하드디스크를 사용한 백엔드(back-end) 시스템 구축 기술과 관련 있으며, 예를 들어, 분산 파일 시스템, 파일 시스템, 데이터 센터 등에 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 분산 파일 시스템에 대한 개념적인 구성을 나타낸 것이다.
도 2는 본 발명을 설명하기 위한 하드디스크들에 대한 동작에 대한 일 예시도를 나타낸 것이다.
도 3은 본 발명을 설명하기 위한 초기 클러스터의 구성에 대한 예시도를 나타낸 것이다.
도 4는 오브젝트 1에 대한 쓰기 과정을 설명하기 위한 예시도를 나타낸 것이다.
도 5는 Ag.1의 디스크 사용량이 가득 찬 경우의 쓰기 명령을 설명하기 위한 일 예시도를 나타낸 것이다.
도 6은 본 발명에서 읽기 명령을 설명하기 위한 일 예시도를 나타낸 것이다.
도 7은 본 발명의 일 실시예에 따른 분산 파일 시스템의 파일 분산 방법에 대한 동작 흐름도를 나타낸 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
입력되는 파일과 그 복제본들을 고루 분산시켜 저장하는 것은 분산 파일 시스템의 핵심 기술 중 하나이다. 현대의 분산 파일 시스템은 하드디스크의 총 용량, 사용 가능한 공간, 접근 빈도(작업량), 장애 도메인(failure domain) 및 각종 사용자 지정값들을 고려하여 파일을 분산시킨다.
본 발명의 실시예들은, 클러스터에 존재하는 하드디스크를 액티브 그룹으로 분류하며, 입력되는 파일을 액티브 그룹 중 한 곳으로 분산 저장하고, 액티브 그룹 내부에서는 해당 파일을 디스크 스핀다운에 적합한 배치 정책을 사용하여 관리함으로써, 소비전력을 절감하는 것을 그 요지로 한다.
도 1은 본 발명의 일 실시예에 따른 분산 파일 시스템에 대한 개념적인 구성을 나타낸 것이고, 도 2는 본 발명을 설명하기 위한 하드디스크들에 대한 동작에 대한 일 예시도를 나타낸 것이다.
도 1과 도 2를 참조하면, 본 발명의 실시예에 따른 분산 파일 시스템은 결정부(110), 분류부(120) 및 제어부(130)를 포함한다.
본 발명에서의 분산 파일 시스템은 도 2에 도시된 직육면체의 도형을 가지고 다수의 스토리지 서버(storage array)가 장착되는 적어도 하나 이상의 랙(rack)을 포함할 수 있으며, 직사각형은 하드디스크를 의미하고, 붉은색의 직사각형은 스핀업(spin-up) 상태의 하드디스크 즉, 액티브 디스크(active disk)를 의미하며, 초록색의 직사각형은 스핀다운(spin-down) 상태의 하드디스크 즉, 슬립 디스크(sleep disk)를 의미한다. 이하, 본 발명의 상세한 설명에서 도 2에서 정의된 하드디스크를 이용하여 설명한다.
본 발명에서는 이러한 하드디스크들 중 일부 디스크들을 액티브 그룹들로 분류하고, 분류된 액티브 그룹들을 이용하여 입력되는 파일(또는 데이터)을 액티브 그룹 중 한 곳으로 분산 저장하며, 액티브 그룹 내부에서는 해당 파일을 디스크 스핀다운에 적합한 배치 정책을 사용하여 관리함으로써, 소비전력을 절감할 수 있다. 즉, 본 발명은 액티브 그룹을 운용함으로써, 해시 알고리즘의 장점과 하드디스크 스핀다운의 장점을 모두 가져올 수 있다.
이러한 본 발명에 따른 분산 파일 시스템의 구체적인 구성에 대해 설명하면 다음과 같다.
결정부(110)는 분산 파일 시스템을 구성하는 클러스터의 부하에 기초하여 분류하고자 하는 액티브 그룹의 개수를 결정한다.
여기서, 결정부(110)는 클러스터의 부하 뿐만 아니라 필요에 따라 분산 파일 시스템의 사용 용도, 사용 목적, 사용량 등을 고려하여 액티브 그룹의 개수를 결정할 수도 있다.
물론, 결정부(110)는 랙당 활성화 가능한 최대 활성화 디스크들 수를 결정할 수도 있으며, 이에 대한 정보를 기초로 액티브 그룹을 구성하는 하드디스크들 각각을 랙들 각각에 배치할 수 있다.
여기서, 액티브 그룹들 각각은 복제본(replica) 개수만큼의 하드디스크들을 포함하며, 결정부(110)는 복제본 개수가 3개인 경우 서로 미러링되는 3개의 하드디스크들을 하나의 액티브 그룹으로 결정할 수 있다.
분류부(120)는 결정부(110)에 의해 결정된 액티브 그룹들 개수만큼 분산 파일 시스템을 구성하는 적어도 하나 이상의 랙과 랙에 포함되는 하드디스크들을 이용하여 액티브 그룹을 분류한다.
여기서, 분류부(120)는 랙당 미리 설정된 최대 활성화 디스크 수를 고려하여 액티브 그룹들 각각의 하드디스크를 배치 및 설정할 수 있으며, 각각의 액티브 그룹에 포함되는 하드디스크들은 동일 랙에 배치되지 않는 것이 바람직하다. 물론 상황에 따라 동일 랙에 동일 액티브 그룹의 하드디스크를 배치할 수도 있다.
분류부(120)에 의해 결정되는 액티브 그룹 각각의 하드디스크 배치는 랙당 최대 활성화 디스크 수, 최대 액티브 디스크 비율, 랙당 데이터가 한 번이라도 쓰여진 사용한 디스크 수, 랙당 사용할 수 있는 디스크 수 등을 고려하여 결정될 수 있다.
분류부(120)에 의한 액티브 그룹의 하드디스크들에 대한 배치를 통해, 분산 파일 시스템과 관련된 랙 각각에는 액티브 그룹과 관련된 활성화 디스크들과 슬립 상태 즉, 스핀다운 상태의 여유 디스크들이 존재할 수 있다.
여기서, 분류부(120)는 이러한 활성화 디스크들과 여유 디스크들의 비율이 일정 비율을 유지하도록 액티브 그룹의 하드디스크들을 배치할 수도 있으며, 이러한 정책은 이 기술을 제공하는 개인 또는 사업자에 의해 결정될 수 있다.
예를 들어, 분류부(120)는 결정부(110)에 의해 결정된 액티브 그룹(Ag)의 개수가 4개이고 액티브 그룹이 두 개의 복제본을 가지는 경우 도 3에 도시된 바와 같이, Ag.1 내지 Ag,4 각각의 두 디스크를 랙들 각각에 배치한다. 이 때, 분류부는 액티브 그룹을 구성하는 두 디스크를 서로 다른 랙에 배치되도록 할 수 있으며, 액티브 그룹의 두 디스크들은 미러링 상태를 유지한다.
제어부(130)는 분류부(120)에 의해 분류된 액티브 그룹들 중 어느 하나의 액티브 그룹 예를 들어, 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 제1 액티브 그룹의 하드디스크들 중 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키도록 제어한다.
여기서, 제어부(130)는 어떤 디스크를 스핀다운 할지 다음과 같은 우선 순위 1. 최대 액티브 디스크 수와 액티브 디스크 수가 동일한 랙에 있는 디스크, 2. 총 디스크: 최대 액티브 디스크 비율을 유지할 수 있는 디스크 및 3. 액티브 디스크 수가 적지 않은 디스크의 우선 순위 정책에 의해 결정할 수 있다.
즉, 제어부(130)는 액티브 그룹들 각각의 하드디스크들에 입력되는 데이터 또는 파일을 디스크 용량이 가득 찰 때까지 디스크에 순차적으로 저장하도록 제어하며, 액티브 그룹의 하드디스크들에 데이터를 저장할 수 있는 공간이 존재하지 않게 되면 즉, 여유 공간이 업게 되면 하나의 하드디스크만을 활성화 상태로 유지하고, 나머지 하드디스크를 스핀다운시킬 수 있다. 여기서, 데이터가 꽉 찬 하드디스크들은 콜드 데이터(cold data)가 저장될 수 있는 하드디스크일 수 있기 때문에 콜드 데이터를 읽기 위한 횟수가 적으며, 따라서 스핀다운된 하드디스크가 스핀업으로 변경될 횟수가 적어지며, 이로 인하여 스핀다운과 스핀업의 변경에 의한 소비 전력을 절감시킬 수 있다.
이 때, 제어부(130)는 분산 파일 시스템으로 입력 데이터의 쓰기 요청이 수신되는 경우 미리 정해진 해시 알고리즘을 이용하여 입력 데이터를 액티브 그룹들 중 어느 하나의 액티브 그룹에 저장할 수 있으며, 제어부는 슈도 랜덤 코드(pseudo random code)를 이용하여 어느 액티브 그룹에 데이터를 저장할지 결정할 수 있다.
예를 들어, 제어부(130)는 도 4에 도시된 바와 같이, 오브젝트 1의 쓰기 명령이 수신되고 오브젝트 1을 Ag.1에 쓰게 되면 Ag.1의 미러링 상태를 유지하고 있는 두 디스크 A에 오브젝트 1을 저장한다. 이와 같이, 데이터는 Ag간에 고루 분산되어 저장되며, Ag 안의 디스크가 용량이 가득 차게 되는 시점까지 디스크에 순차적으로 저장된다.
또한, 제어부(130)는 액티브 그룹들 중 어느 하나의 액티브 그룹이 비활성화되면 즉, 액티브 그룹의 하드디스크들 중 어느 하나의 디스크만을 활성화 상태로 유지하고, 나머지 디스크들을 스핀다운시키면, 액티브 그룹의 개수를 일정 개수로 유지하기 위하여 랙 각각의 여유 디스크들을 이용하여 기존 액티브 그룹에 추가하고 활성화시킨다.
이 때, 제어부(130)는 랙당 활성화된 하드디스크들 수, 랙 각각의 사용 용도 등을 고려하여 기존 액티브 그룹에 추가되는 하드디스크들을 직접 선택 및 배치할 수 있으며, 분류부를 제어하여 기존 액티브 그룹에 추가되는 하드디스크들을 선택 및 배치되도록 제어할 수도 있다.
여기서, 제어부(130)는 어떤 디스크들을 기존 액티브 그룹에 추가되도록 선택할지에 대한 선정 정책은 다음과 같은 우선 순위 1. 다른 장애 도메인(failure domain)에 있는 디스크, 2. 사용한 디스크의 수가 가정 적은 랙에 있는 디스크 및 3. 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 디스크의 우선 순위 정책에 의해 결정할 수 있다.
예컨대, 제어부(130)는 도 5에 도시된 바와 같이, 기록을 위해 활성화되어 있던 두 디스크 A의 여유 공간이 없게 되면, 하나의 A 디스크는 스핀다운시키고 클러스터에 남아있는 슬립 디스크들 중 새로운 두 디스크들 E를 기존 액티브 그룹에 추가하고 활성화 한다. 제어부는 이후에 들어오는 파일 5에 대한 쓰기 요청이 수신되면 두 디스크 E에 파일 5가 기록되도록 제어한다.
나아가, 제어부(130)는 읽기 명령이 수신되면 도 6에 도시된 바와 같이, 파일 5의 읽기 명령이 수신되면 우선 파일 이름(file.5)으로 액티브 그룹(E)을 찾고, 해당 액티브 그룹에 속한 하드디스크 중 모든 액티브 디스크에 읽기 명령이 전달되도록 제어함으로써, 실제 파일을 가지고 있는 디스크가 응답하여 처리할 수 있다.
본 발명에 따른 분산 파일 시스템은 액티브 그룹을 구성하는 하드디스크들 중 하나의 하드디스크는 항상 액티브 디스크 상태로 유지하기 때문에 읽기 명령에 따른 빠른 응답시간을 보장할 수 있다.
더 나아가, 제어부는 액티브 그룹을 구성하는 하드디스크에 장애가 발생한 경우 여분의 디스크에 장애가 발생한 디스크를 미러링하여 장애 디스크의 정보를 복제함으로써, 장애 디스크를 대체할 수 있다. 물론, 제어부는 장애 디스크를 대체하기 위한 여분 디스크를 선택 및 결정하는 과정 또한 랙당 액티브 디스크 수와 슬립 디스크 수의 비율 등을 고려하여 결정 및 선택할 수 있다.
상술한 바와 같이, 본 발명의 분산 파일 시스템의 구성을 결정부, 분류부, 제어부의 구성으로 분류하였지만, 본 발명에 따른 분산 파일 시스템은 상술한 구성에 한정되지 않으며, 상술한 각 구성은 기능적인 측면에서 분류한 구성으로, 이러한 구성들은 적어도 하나의 프로세서에 의해 이루어질 수 있으며, 분산 파일 시스템의 기본적인 구성 및 기능 또한 본 발명의 분산 파일 시스템에 포함된다는 것을 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이와 같이, 본 발명의 실시예에 따른 분산 파일 시스템은 스핀다운 기능 적용 시 자주 발생하는 스핀업/스핀다운 상태 전이의 반복 문제점을 해결할 수 있으며, 구체적으로 미리 설정된 개수만큼의 액티브 그룹을 운용하고, 파일을 각 액티브 그룹에 고루 분산 저장하며, 액티브 그룹 내부에서는 분산되지 않고 여유 공간이 있는 디스크에 몰아서 기록된다. 또한, 복제본은 디스크 미러링 기법을 사용하여 관리함으로써, 다음과 같은 장점을 가질 수 있다.
1. 액티브 그룹은 클러스터의 부하에 맞추어 개수를 변경할 수 있고, 설정이 변경되지 않는 한 액티브 그룹의 개수를 유지한다. 이는 맵핑 테이블없이 해시 알고리즘으로 운영이 가능하게 되어 오버헤드를 줄일 수 있다.
2. 데이터 무결성 검사 및 재난 복구 작업은 액티브 그룹 안에서 이루어진다. 액티브 그룹 내부는 몰아쓰기 및 디스크 미러링이 되어있어 한 번의 스핀업으로 복구 작업을 할 수 있다.
또한, 본 발명은 데이터 예를 들어, 콜드 데이터를 저장하는 디스크들을 액티브 그룹으로 분류함으로써, 콜드 데이터를 저장하는 디스크에 여유 공간이 없는 경우 액티브 그룹의 디스크 중 하나만을 스핀업 상태로 유지하고 나머지 디스크들을 스핀다운시킴으로써, 소비 전력을 감소시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 분산 파일 시스템의 파일 분산 방법에 대한 동작 흐름도를 나타낸 것으로, 상술한 도 1 내지 도 6의 시스템에서의 동작 흐름도를 나타낸 것이다.
도 7을 참조하면, 본 발명의 실시예에 따른 분산 파일 시스템의 파일 분산 방법은 분산 파일 시스템을 구성하는 클러스터의 부하에 기초하여 분류하고자 하는 액티브 그룹의 개수를 결정한다(S710).
여기서, 단계 S710은 클러스터의 부하 뿐만 아니라 필요에 따라 분산 파일 시스템의 사용 용도, 사용 목적, 사용량 등을 고려하여 액티브 그룹의 개수를 결정할 수도 있으며, 미리 결정되는 랙당 활성화 가능한 최대 활성화 디스크들 수를 기초로 액티브 그룹을 구성하는 하드디스크들 각각에 대한 배치 또한 결정할 수도 있다.
단계 S710에 의해 액티브 그룹들의 개수가 결정되면 결정된 액티브 그룹들 개수만큼 분산 파일 시스템을 구성하는 적어도 하나 이상의 랙과 랙에 포함되는 하드디스크들을 이용하여 액티브 그룹을 분류한다(S720).
여기서, 단계 S720은 랙당 미리 설정된 최대 활성화 디스크 수를 고려하여 액티브 그룹들 각각의 하드디스크를 배치 및 설정할 수 있으며, 각각의 액티브 그룹에 포함되는 하드디스크들은 동일 랙에 배치되지 않을 수 있다.
나아가, 단계 S720은 랙당 최대 활성화 디스크 수, 최대 액티브 디스크 비율, 랙당 사용한 디스크 수, 랙당 사용할 수 있는 디스크 수 등을 고려하여 액티브 그룹 각각의 하드디스크 배치를 결정할 수도 있다.
단계 S720에 의해 액티브 그룹이 분류, 배치된 후 액티브 그룹들 중 어느 하나의 액티브 그룹 예를 들어, 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 제1 액티브 그룹의 하드디스크들 중 하나의 하드디스크만을 활성화 즉, 스핀업 상태로 유지하고 나머지 하드디스크를 스핀다운시킨다(S730).
여기서, 단계 S730은 어떤 디스크를 스핀다운 할지 1. 최대 액티브 디스크 수와 액티브 디스크 수가 동일한 랙에 있는 디스크, 2. 총 디스크: 최대 액티브 디스크 비율을 유지할 수 있는 디스크 및 3. 액티브 디스크 수가 적지 않은 디스크의 우선 순위 정책에 의해 결정할 수 있다.
단계 S730에 의해 하나의 액티브 그룹이 비활성화되면 액티브 그룹의 개수를 유지하기 위하여, 새로운 하드디스크들을 선택하여 기존 액티브 그룹에 추가하고 활성화시킨다(S740).
여기서, 단계 S740은 랙당 활성화된 하드디스크들 수, 랙 각각의 사용 용도 등을 고려하여 기존 액티브 그룹에 추가되는 하드디스크들을 직접 선택 및 배치할 수 있으며, 어떤 디스크들을 기존 액티브 그룹에 추가되도록 선택할지 1. 다른 장애 도메인(failure domain)에 있는 디스크, 2. 사용한 디스크의 수가 가정 적은 랙에 있는 디스크 및 3. 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 디스크의 우선 순위 정책에 의해 결정할 수 있다.
본 발명의 파일 분산 방법은 비록 도 7에서 그 설명이 기재되어 있지 않더라도 상술한 분산 파일 시스템에 대한 모든 동작과 기능을 포함할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 복제본(replica) 개수만큼의 하드디스크들을 포함하는 액티브 그룹(active group)을 미리 설정된 개수만큼 분류하는 단계; 및
    상기 분류된 액티브 그룹들 중 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 단계
    를 포함하고,
    클러스터의 부하에 기초하여 상기 액티브 그룹의 개수를 결정하는 단계
    를 더 포함하며,
    상기 결정하는 단계는
    랙당 활성화 가능한 최대 활성화 디스크들 수를 결정하고,
    상기 분류하는 단계는
    상기 결정된 액티브 그룹의 개수만큼 분류하며, 상기 결정된 랙당 활성화 가능한 최대 활성화 디스크들 수를 고려하여 상기 액티브 그룹들 각각의 하드디스크를 배치 및 설정하는 분산 파일 시스템의 파일 분산 방법.
  2. 제1항에 있어서,
    상기 스핀다운시키는 단계 이후 슬립(sleep) 하드디스크들 중 상기 복제본 개수만큼의 하드디스크들을 이용하여 기존 액티브 그룹을 추가하고 활성화하는 단계
    를 더 포함하는 것을 특징으로 하는 분산 파일 시스템의 파일 분산 방법.
  3. 제1항에 있어서,
    입력 데이터의 쓰기 요청이 수신되는 경우 미리 정해진 해시 알고리즘을 이용하여 상기 입력 데이터를 상기 분류된 액티브 그룹들 중 어느 하나의 액티브 그룹에 저장하는 단계
    를 더 포함하는 것을 특징으로 하는 분산 파일 시스템의 파일 분산 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 액티브 그룹의 하드디스크들은
    미러링(mirroring) 상태를 유지하는 것을 특징으로 하는 분산 파일 시스템의 파일 분산 방법.
  6. 복제본(replica) 개수만큼의 하드디스크들을 포함하는 액티브 그룹(active group)을 미리 설정된 개수만큼 분류하는 분류부; 및
    상기 분류된 액티브 그룹들 중 제1 액티브 그룹의 하드디스크들에 여유 공간이 없는 경우 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 제어부
    를 포함하고,
    클러스터의 부하에 기초하여 상기 액티브 그룹의 개수를 결정하는 결정부
    를 더 포함하며,
    상기 결정부는
    랙당 활성화 가능한 최대 활성화 디스크들 수를 결정하고,
    상기 분류부는
    상기 결정된 액티브 그룹의 개수만큼 분류하며, 상기 결정된 랙당 활성화 가능한 최대 활성화 디스크들 수를 고려하여 상기 액티브 그룹들 각각의 하드디스크를 배치 및 설정하는 분산 파일 시스템.
  7. 제6항에 있어서,
    상기 제어부는
    상기 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운시킨 후 슬립(sleep) 하드디스크들 중 상기 복제본 개수만큼의 하드디스크들을 이용하여 기존 액티브 그룹에 추가하고 활성화하는 것을 특징으로 하는 분산 파일 시스템.
  8. 제6항에 있어서,
    상기 제어부는
    입력 데이터의 쓰기 요청이 수신되는 경우 미리 정해진 해시 알고리즘을 이용하여 상기 입력 데이터를 상기 분류된 액티브 그룹들 중 어느 하나의 액티브 그룹에 저장하는 것을 특징으로 하는 분산 파일 시스템.
  9. 삭제
  10. 제6항에 있어서,
    상기 액티브 그룹의 하드디스크들은
    미러링(mirroring) 상태를 유지하는 것을 특징으로 하는 분산 파일 시스템.
KR1020160152790A 2016-11-16 2016-11-16 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법 KR101919666B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160152790A KR101919666B1 (ko) 2016-11-16 2016-11-16 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160152790A KR101919666B1 (ko) 2016-11-16 2016-11-16 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180055215A KR20180055215A (ko) 2018-05-25
KR101919666B1 true KR101919666B1 (ko) 2018-11-16

Family

ID=62299519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160152790A KR101919666B1 (ko) 2016-11-16 2016-11-16 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101919666B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200157A (ja) * 1999-01-08 2000-07-18 Nec Corp ディスクアレイ装置およびディスクアレイ装置におけるデ―タ復旧方法
JP2005301769A (ja) * 2004-04-14 2005-10-27 Hitachi Ltd データ多重化制御装置
JP2008203951A (ja) * 2007-02-16 2008-09-04 Hitachi Ltd 記憶制御装置
JP2012533832A (ja) * 2009-07-20 2012-12-27 カリンゴ・インコーポレーテッド ストレージ・クラスタにおける適応的な電力節約の方法
JP2015191498A (ja) * 2014-03-28 2015-11-02 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
JP5963274B2 (ja) * 2014-05-16 2016-08-03 Necフィールディング株式会社 コンピュータ、バックアップシステム、バックアップ方法、および、プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549065B2 (en) * 2006-06-13 2009-06-16 Cisco Technology, Inc. Adaptive power management of a disk drive based on temperature
US8140754B2 (en) * 2008-01-03 2012-03-20 Hitachi, Ltd. Methods and apparatus for managing HDD's spin-down and spin-up in tiered storage systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200157A (ja) * 1999-01-08 2000-07-18 Nec Corp ディスクアレイ装置およびディスクアレイ装置におけるデ―タ復旧方法
JP2005301769A (ja) * 2004-04-14 2005-10-27 Hitachi Ltd データ多重化制御装置
JP2008203951A (ja) * 2007-02-16 2008-09-04 Hitachi Ltd 記憶制御装置
JP2012533832A (ja) * 2009-07-20 2012-12-27 カリンゴ・インコーポレーテッド ストレージ・クラスタにおける適応的な電力節約の方法
JP2015191498A (ja) * 2014-03-28 2015-11-02 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
JP5963274B2 (ja) * 2014-05-16 2016-08-03 Necフィールディング株式会社 コンピュータ、バックアップシステム、バックアップ方法、および、プログラム

Also Published As

Publication number Publication date
KR20180055215A (ko) 2018-05-25

Similar Documents

Publication Publication Date Title
US10725878B2 (en) Storage apparatus, storage system, and control method of storage system for dynamically securing free space when a storage apparatus is disused
CN107220148B (zh) 针对独立磁盘冗余阵列的重建方法和设备
US11137940B2 (en) Storage system and control method thereof
JP4620722B2 (ja) データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム
US9841774B2 (en) Low cost storage for rarely read data
CN105657066A (zh) 用于存储系统的负载再均衡方法及装置
US10176065B2 (en) Intelligent failure prediction and redundancy management in a data storage system
KR20110084873A (ko) 데이터 저장 방법 및 대용량 저장 시스템
JP4945232B2 (ja) アクセス制御方法、計算機システム、及びオブジェクト複製プログラム
CN108733585B (zh) 缓存系统及相关方法
JP5385987B2 (ja) 複数の記憶装置を含む記憶システム、方法、及びプログラム
US20150067285A1 (en) Storage control apparatus, control method, and computer-readable storage medium
KR101919666B1 (ko) 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법
JP6387994B2 (ja) 管理装置、管理方法及びプログラム
US11023493B2 (en) Intelligently scheduling resynchronization jobs in a distributed object-based storage system
US20170123657A1 (en) Systems and methods for back up in scale-out storage area network
JP6730344B2 (ja) キャッシュ装置およびキャッシュ装置の制御方法
US8990523B1 (en) Storage apparatus and its data processing method
WO2019043815A1 (ja) ストレージシステム
KR101858362B1 (ko) 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템
KR102007810B1 (ko) 저장 장치의 개별 제어를 위한 데이터의 배치 및 복구
JP2002278705A (ja) コンピュータシステム
CN101498993B (zh) 允许主机替换其拥有的逻辑路径资源的方法和系统
JP2003140838A (ja) アレイ記憶装置
US20170199700A1 (en) Dynamicly freeing storage space in tiered storage systems

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