KR101858362B1 - 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템 - Google Patents
사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템 Download PDFInfo
- Publication number
- KR101858362B1 KR101858362B1 KR1020160153100A KR20160153100A KR101858362B1 KR 101858362 B1 KR101858362 B1 KR 101858362B1 KR 1020160153100 A KR1020160153100 A KR 1020160153100A KR 20160153100 A KR20160153100 A KR 20160153100A KR 101858362 B1 KR101858362 B1 KR 101858362B1
- Authority
- KR
- South Korea
- Prior art keywords
- disks
- active
- rack
- maximum number
- hard
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G06F17/30174—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템이 개시된다. 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법은 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 단계; 및 상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 단계를 포함한다.
Description
본 발명은 스토리지 서버의 디스크 기반 저장 관리 기술에 관한 것으로서, 보다 구체적으로 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 전력 소비를 줄일 수 있는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템에 관한 것이다.
소셜네트워크나, IoT, 빅데이터 등 사용자 서비스가 발전하고 데이터 기반 서비스가 등장하면서 서비스 제공사는 exabyte(EB) 규모의 데이터센터가 필요해졌다. 그러나 이 데이터는 롱 테일 분포(long tail distribution)를 가지기 때문에 대부분이 콜드 데이터(cold data)이며 한번 저장한 데이터는 지울 수 없으므로 그 비율이 더욱 증가하고 있다. 수 EB를 저장하기 위한 스토리지 서버는 유례없이 큰 규모로 설비를 마련하고 운영하는데 막대한 자금이 필요하다. 이로 인해, 성능 향상에 집중하던 데이터 센터의 스토리지 서버 기술이 운영비용 절감 기술을 요구하고 있다.
하지만, 콜드 데이터는 의미 그대로 읽기 요청이 1년에 한 번 있을 정도로 거의 없기 때문에 데이터는 저장해야 하나 언제 올지 모르는 읽기 요청을 한 없이 기다려야 한다.
하드디스크와 같은 디스크 기반 저장장치 예를 들어, 디스크는 물리장치 모터를 사용하므로, 모터 사용을 줄여서 전력 소비를 줄이는 스핀다운(spin-down) 기술을 지원한다. 모터가 동작하고 있는 상태를 액티브(active)라 하고, 스핀다운 기술로 모터 동작을 멈춤 상태를 슬립(sleep) 또는 스탠바이(standby) 상태라고 한다.
수많은 스토리지 서버를 관리하는 분산 파일 시스템은 다양한 정책으로 디스크를 관리하는데, 응답시간을 줄이고, 데이터 내구성을 향상시키는 정책 등을 분산 파일 시스템을 이용하여 구현한다.
데이터 센터의 스토리지 서버는 성능 또는 비용에 따라 단계를 구분한다. 핫 스토리지(hot storage)는 성능이 가장 좋은 스토리지 서버를 총칭하여 이야기하지만 비용이 비싸다는 단점이 있고, 콜드 스토리지(cold storage)는 가격은 저렴하나 핫 스토리지에 비해 성능이 낮다. 데이터 센터 규모에 따라 핫 스토리지와 콜드 스토리지 중간에 웜 스토리지(warm storage)도 있을 수 있으며, 경우에 따라 4단계 이상으로 구분되기도 한다.
이러한 데이터 센터에 랙이 존재하고, 랙은 샤시(chassis)라고 분류하는 스토리지 서버를 가지고 있으며, 스토리지 서버는 약 20~30개 디스크를 가지고 있다. 즉, 랙 하나에 400~500개 정도의 디스크가 있으며, 스토리지 서버 컨트롤러, 디스크 관리 서버 등이 탑재 가능하다.
하지만, 실제로는 랙에 탑재 가능한 디스크를 모두 채우지 못하는데, 이는 랙에 공급 가능한 전력이 제한적이기 때문이다. 너무 많은 디스크는 최대 공급 전력을 넘어서기 때문에 일부 공간을 비워둔다. 즉, 데이터 센터의 밀집도가 낮아져 공간 낭비가 일어나고, 데이터 센터를 대여해서 쓰는 업체는 상면비용이 올라가게 된다.
기존에 스토리지 서버 기술은 성능 향상에 초점을 맞추어서 운영비용을 절감하는 기술은 등한시되었다. 특히, 디스크의 소비전력을 절감할 수 있는 스핀다운 기술은 노트북과 같은 모바일 시스템에서는 오래전부터 사용되었으나, 대규모 스토리지에서는 사용되지 않았다.
다만, 스핀다운된 슬립 디스크는 IO 요청에 응답할 수 없으므로, 다시 스핀업 후 IO 요청에 답해야 하고, 스핀업 시간이 최소 4초에서 많게는 15초까지 걸릴 수 있으므로 응답 시간이 너무 길어진다는 단점이 있다. 그러므로 무분별하게 디스크를 슬립 상태로 만들면 서비스 품질이 떨어질 수 있어, 전략적 접근이 필요하다.
본 발명의 실시예들은, 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 전력 소비를 줄일 수 있는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템을 제공한다.
구체적으로, 본 발명의 실시예들은, 디스크 기반 저장장치의 모터 동작을 조작하여 소비전력 절감 효과를 향상시키는 저장장치 관리 정책을 제공하고, 스토리지 서버의 운영 효율을 높임으로써, 서비스 운영비용을 절감할 수 있는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템을 제공한다.
본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법은 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 단계; 및 상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 단계를 포함한다.
나아가, 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법은 복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 단계를 더 포함하고, 상기 제어하는 단계는 상기 생성된 그룹들 중 제1 그룹의 하드디스크들에 여유 공간이 없는 경우 상기 결정된 최대 활성 디스크 수에 기초하여 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시킬 수 있다.
상기 생성하는 단계는 장애 도메인(failure domain)이 다른 랙의 하드디스크, 데이터가 한 번이라도 쓰여진 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 상기 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어할 수 있다.
상기 생성하는 단계는 장애 도메인(failure domain)이 다른 하드디스크들을 이용하여 상기 그룹을 생성하고, 상기 그룹의 하드디스크들은 미러링(mirroring) 상태를 유지할 수 있다.
상기 제어하는 단계는 상기 최대 활성 디스크 수와 액티브 디스크 수가 동일한 랙의 하드디스크, 미리 설정된 최대 액티브 디스크 비율을 유지할 수 있는 랙의 하드디스크 및 액티브 디스크 수가 미리 설정된 기준 수 이상인 랙의 하드디스크의 우선 순위에 기초하여 하드디스크를 스핀다운시킬 수 있다.
상기 제어하는 단계는 상기 랙의 최대 활성 디스크 수를 초과하는 경우가 발생하면 상기 최대 활성 디스크 수를 넘지 않는 다른 랙의 디스크를 희생 디스크로 선정하고, 상기 선정된 희생 디스크를 이용하여 상기 최대 활성 디스크 수를 초과하는 랙의 활성 디스크 수를 제어할 수 있다.
상기 제어하는 단계는 도미노 현상이 가장 적게 일어나는 하드디스크, 데이터가 한 번이라도 쓰여진 사용한 디스크의 수가 가정 적은 랙에 있는 하드디스크 및 상기 사용한 디스크의 수가 가장 적은 샤시에 있는 하드디스크의 우선 순위에 기초하여 상기 희생 디스크를 선정할 수 있다.
본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 시스템은 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 결정부; 및 상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 제어부를 포함한다.
나아가, 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 시스템은 복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 생성부를 더 포함하고, 상기 제어부는 상기 생성된 그룹들 중 제1 그룹의 하드디스크들에 여유 공간이 없는 경우 상기 결정된 최대 활성 디스크 수에 기초하여 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시킬 수 있다.
상기 제어부는 장애 도메인(failure domain)이 다른 랙의 하드디스크, 데이터가 한 번이라도 쓰여진 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 상기 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어할 수 있다.
상기 생성부는 장애 도메인(failure domain)이 다른 하드디스크들을 이용하여 상기 그룹을 생성하고, 상기 그룹의 하드디스크들은 미러링(mirroring) 상태를 유지할 수 있다.
상기 제어부는 상기 최대 활성 디스크 수와 액티브 디스크 수가 동일한 랙의 하드디스크, 미리 설정된 최대 액티브 디스크 비율을 유지할 수 있는 랙의 하드디스크 및 액티브 디스크 수가 미리 설정된 기준 수 이상인 랙의 하드디스크의 우선 순위에 기초하여 하드디스크를 스핀다운시킬 수 있다.
상기 제어부는 상기 랙의 최대 활성 디스크 수를 초과하는 경우가 발생하면 상기 최대 활성 디스크 수를 넘지 않는 다른 랙의 디스크를 희생 디스크로 선정하고, 상기 선정된 희생 디스크를 이용하여 상기 최대 활성 디스크 수를 초과하는 랙의 활성 디스크 수를 제어할 수 있다.
상기 제어부는 도미노 현상이 가장 적게 일어나는 하드디스크, 데이터가 한 번이라도 쓰여진 사용한 디스크의 수가 가정 적은 랙에 있는 하드디스크 및 상기 사용한 디스크의 수가 가장 적은 샤시에 있는 하드디스크의 우선 순위에 기초하여 상기 희생 디스크를 선정할 수 있다.
본 발명의 실시예들에 따르면, 랙의 최대 활성 디스크 수를 결정 또는 정량화하고, 최대 활성 디스크 수에 기초하여 디스크 관리 정책을 수립함으로써, 요청량에 따라 랙이 소비하는 전력량을 비례적으로 조절 할 수 있을 뿐 아니라, 최대 전력량도 제한할 수 있다. 이는 스토리지 서버의 상면비용을 절감하고 공간을 효율적으로 사용하여 데이터센터 운영비용을 절감하고, 스토리지 티어링 기술의 효율을 극대화할 수 있다.
본 발명의 실시예들에 따르면, 그룹 개념을 도입하고, 몰아쓰기 및 디스크 미러링(mirroring)을 이용함으로써, 해시 알고리즘의 장점과 하드디스크 스핀다운의 장점을 모두 가져올 수 있다.
이러한 본 발명은 소셜 네트워크 서비스의 인프라 또는 백엔드(back-end) 시스템 구축 기술과 관련 있으며, 예를 들어, 스토리지 시스템, 파일 시스템, 데이터 센터, 소셜 네트워크 서비스, 저장 기법, 자료 구조, 분산 파일 시스템 등에 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 시스템에 대한 개념적인 구성을 나타낸 것이다.
도 2는 본 발명을 설명하기 위한 하드디스크들에 대한 동작에 대한 일 예시도를 나타낸 것이다.
도 3은 본 발명을 설명하기 위한 초기 클러스터의 구성에 대한 예시도를 나타낸 것이다.
도 4는 디스크를 스핀다운한 상태의 일 예시도를 나타낸 것이다.
도 5는 스크럽(scrub)으로 인하여 임시 스핀업한 상태의 일 예시도를 나타낸 것이다.
도 6은 디스크 장애 시 복구하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 7은 최대 활성 디스크 수를 넘는 경우에 대한 일 예시도를 나타낸 것이다.
도 8은 최대 활성 디스크 수를 제한하기 위하여 희생디스크를 선정하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 9는 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 본 발명을 설명하기 위한 하드디스크들에 대한 동작에 대한 일 예시도를 나타낸 것이다.
도 3은 본 발명을 설명하기 위한 초기 클러스터의 구성에 대한 예시도를 나타낸 것이다.
도 4는 디스크를 스핀다운한 상태의 일 예시도를 나타낸 것이다.
도 5는 스크럽(scrub)으로 인하여 임시 스핀업한 상태의 일 예시도를 나타낸 것이다.
도 6은 디스크 장애 시 복구하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 7은 최대 활성 디스크 수를 넘는 경우에 대한 일 예시도를 나타낸 것이다.
도 8은 최대 활성 디스크 수를 제한하기 위하여 희생디스크를 선정하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 9는 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법에 대한 동작 흐름도를 나타낸 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명은 콜드 데이터(cold data) 저장에 필요한 콜드 스토리지의 용량이 기하급수적으로 늘어나면서 스토리지 서버의 운영비용을 절감하는 것을 그 요지로 한다.
이러한 콜드 데이터는 읽기 요청이 거의 없으며, 콜드 데이터를 저장하고 있는 콜드 스토리지의 최대 활성 디스크 수를 결정 또는 정량화함으로써, 스핀다운으로 디스크 소비전력을 1/5 이상 감소시킬 수 있고, 이를 통해 랙에 탑재된 일부 디스크를 스핀다운 시키면 최대 공급 전력을 넘어서지 않으면서도 더 많은 스토리지 서버를 탑재할 수 있다.
이하, 이러한 본 발명에 따른 시스템 및 그 방법에 대해 설명한다.
도 1은 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 시스템에 대한 개념적인 구성을 나타낸 것이고, 도 2는 본 발명을 설명하기 위한 하드디스크들에 대한 동작에 대한 일 예시도를 나타낸 것이다.
도 1과 도 2를 참조하면, 본 발명의 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 시스템은 결정부(110), 생성부(120) 및 제어부(130)를 포함한다.
본 발명에서의 시스템은 도 2에 도시된 직육면체의 도형을 가지고 다수의 스토리지 서버(storage array)가 장착되는 적어도 하나 이상의 랙(rack)을 포함할 수 있으며, 직사각형은 하드디스크를 의미하고, 붉은색의 직사각형은 스핀업(spin-up) 상태의 하드디스크 즉, 액티브 디스크(active disk)를 의미하며, 초록색의 직사각형은 스핀다운(spin-down) 상태의 하드디스크 즉, 슬립 디스크(sleep disk)를 의미한다. 도 2에서의 스토리지 서버는 4개의 하드디스크를 갖는 경우에 대한 것이다. 이하, 본 발명의 상세한 설명에서 도 2에서 정의된 하드디스크를 이용하여 설명한다.
본 발명에서는 이러한 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정(또는 정량화)하고, 결정된 랙의 최대 활성 디스크 수에 기초하여 랙에 포함된 하드디스크들의 스핀업과 스핀다운을 제어한다.
이 때, 본 발명에서는 랙의 최대 활성 디스크 수를 초과하는 경우가 발생될 수 있으며, 이러한 경우 최대 활성 디스크 수를 초과하지 않도록 각각의 정책을 사용할 수 있고, 이러한 정책에 대해서는 아래에서 설명한다.
그리고, 본 발명은 콜드 스토리지와 같이 콜드 데이터를 저장하는 스토리지 서버에서 최대 활성 디스크 수를 결정하고, 이에 따라 하드디스크들의 스핀업과 스핀다운을 제어하기 때문에 최대 공급 전력을 넘어서지 않으면서도 더 많은 스토리지 서버를 탑재할 수 있는 장점이 있다.
나아가, 본 발명은 복수의 복제본을 생성하는 하드디스크들로 구성된 그룹의 개념을 도입하고, 이러한 그룹을 이용하여 그룹의 하드디스크에 여유 공간이 없는 경우 어느 하나의 하드디스크만을 스핀업 상태로 유지하며 나머지 하드디스크들을 스핀다운시킴으로써, 스토리지 서버의 소비 전력을 절감할 수 있고, 따라서 해시 알고리즘의 장점과 하드디스크 스핀다운의 장점을 모두 가져올 수 있다. 물론, 본 발명에서 그룹 개념을 사용하지 않고, 미러링을 이용한 복수의 복제본을 생성하는 하드디스크들을 선택하는 개념을 사용할 수 있으며, 이와 같이 본 발명에서는 미러링과 관련된 모든 내용을 포함할 수 있다.
이러한 본 발명에 따른 스토리지 서버의 디스크 기반 저장 관리 시스템의 구체적인 구성에 대해 설명하면 다음과 같다.
결정부(110)는 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정한다.
즉, 결정부(110)는 콜드 스토리지 서버와 같은 스토리지 서버를 구성하는 랙에서 활성화될 수 있는 최대 하드디스크 수를 결정하는 구성 수단이다.
여기서, 결정부(110)는 클러스터의 부하 뿐만 아니라 필요에 따라 시스템의 사용 용도, 사용 목적, 사용량, 스토리지 서버의 목적, 용도, 랙에 포함된 하드디스크 수 등을 고려하여 최대 활성 디스크 수를 결정할 수 있다.
물론, 결정부(110)는 해당 시스템이 적용되는 분야 등을 추가적으로 고려하여 최대 활성 디스크 수를 결정할 수도 있으며, 이러한 최대 활성 디스크 수를 결정하는 조건은 해당 기술을 제공하는 개인 또는 사업자에 의해 결정될 수 있다.
생성부(120)는 복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성한다.
여기서, 생성부(120)는 랙당 최대 활성 디스크 수를 넘지 않도록 적어도 하나 이상의 그룹을 생성할 수 있으며, 어느 하나의 그룹을 구성하는 하드디스크들에 여유 공간이 없는 경우 제어부(130)에 의해 제어에 의해 해당 그룹이 비활성되면 새로운 그룹을 생성할 수도 있다.
생성부(120)에 의해 생성되는 그룹의 하드디스크들은 미러링(mirroring) 상태를 유지함으로써, 동일한 데이터를 서로 가지고 있을 수 있다.
이 때, 생성부(120)는 장애 도메인(failure domain)이 다른 랙의 하드디스크, 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 그룹을 생성할 수 있다. 여기서, 사용한 디스크는 데이터가 한번이라도 쓰여진 디스크 즉, 비어 있지 않은 디스크를 의미하는 것으로, 활성 상태의 디스크나 비활성 상태의 디스크와는 무관하게 사용될 수 있다.
이 때, 생성부(120)는 장애 도메인(failure domain)이 다른 하드디스크들을 이용하여 그룹을 생성할 수 있다.
생성부(120)에 의해 생성된 그룹을 구성하는 하드디스크들 각각은 결정부(110)에 의해 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치될 수 있다.
여기서, 그룹들 각각은 복제본(replica) 개수만큼의 하드디스크들을 포함하며, 생성부(120)는 복제본 개수가 3개인 경우 서로 미러링되는 3개의 하드디스크들을 하나의 그룹으로 생성할 수 있다.
즉, 생성부(120)에 의해 생성된 그룹들 각각의 하드디스크들은 최대 활성 디스크 수에 기초하여 랙들 각각에 배치될 수 있으며, 각각의 그룹에 포함되는 하드디스크들은 동일 랙에 배치되지 않는 것이 바람직하다. 물론 상황에 따라 동일 랙에 동일 그룹의 하드디스크를 배치할 수도 있다.
그룹 각각의 하드디스크 배치는 랙당 최대 활성 디스크 수, 최대 액티브 디스크 비율, 랙당 사용한 디스크 수, 랙당 사용할 수 있는 디스크 수 등을 고려하여 결정될 수 있다.
본 발명에 따른 시스템에서의 랙 각각에는 그룹과 관련된 활성화 디스크들과 슬립 상태 즉, 스핀다운 상태의 여유 디스크들이 존재할 수 있다.
예를 들어, 생성부(120)에 의해 생성된 그룹(Ag)의 개수가 4개이고 그룹이 두 개의 복제본을 가지는 경우 도 3에 도시된 바와 같이, Ag.1 내지 Ag.4 각각의 두 디스크들이 랙들 각각에 배치될 수 있다. 이 때, 그룹을 구성하는 두 디스크들은 서로 다른 랙에 배치될 수 있으며, 그룹의 두 디스크들은 미러링 상태를 유지할 수 있다.
제어부(130)는 결정부(110)에 의해 결정된 최대 활성 디스크 수에 기초하여 랙 각각에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어한다.
이 때, 제어부(130)는 장애 도메인(failure domain)이 다른 랙의 하드디스크, 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 랙에 포함된 하드디스크들의 스핀업과 스핀다운을 제어할 수 있다.
이 때, 제어부(130)는 생성부(120)에 의해 생성된 그룹들 중 어느 하나의 그룹 예를 들어, 제1 그룹의 하드디스크들에 여유 공간이 없는 경우 최대 활성 디스크 수에 기초하여 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운시킬 수 있다.
예를 들어, 제어부(130)는 도 4에 도시된 바와 같이 장애 도메인에 위치한 하드디스크들로 구성된 4개의 그룹(A, B, C, D) 중 A 디스크 용량이 꽉 차면 두 하드디스크 중 하나를 스핀다운시키고, B 디스크도 용량이 찰 경우 역시 두 하드디스크 중 하나를 스핀다운시킬 수 있다.
이 때, 제어부(130)는 미리 결정된 스핀다운 정책에 기초하여 그룹을 구성하는 하드디스크들 중 어느 하나의 하드디스크만을 스핀업 상태로 유지하고 나머지 하드디스크를 스핀다운시킬 수 있으며, 스핀다운 정책은 다음과 같은 우선순위를 가질 수 있다.
1. 최대 활성 디스크 수와 액티브 디스크 수가 동일한 랙의 하드디스크
2. 미리 설정된 최대 액티브 디스크 비율을 유지할 수 있는 랙의 하드디스크
3. 액티브 디스크 수가 미리 설정된 기준 수 이상인 랙의 하드디스크
즉, 제어부(130)는 상술한 우선 순위를 가지는 스핀다운 정책에 기초하여 하드디스크를 스핀다운시킬 수 있는데, 이는 콜드 데이터의 경우 읽기 요청이 거의 없기 때문에 모든 디스크를 스핀업 상태로 유지할 필요가 없기 때문에 하나의 디스크만을 스핀업 상태로 유지하고 나머지 디스크에 대해서는 상술한 스핀다운 정책에 기초하여 모두 스핀다운시킴으로써, 전력 소비를 줄일 수 있다.
나아가, 제어부(130)는 일정 시간이 지나면, 디스크에 저장된 데이터가 올바른지 확인하는 작업(scrub)을 수행할 수 있으며, 이를 위해 스핀다운된 디스크를 깨워야 한다.
예를 들어, 제어부(130)는 도 5에 도시된 바와 같이, A 디스크에 저장된 데이터가 올바른지 확인하는 작업(scrub)을 수행하기 위하여 스핀다운된 A 디스크를 스핀업시킬 수 있다. 도 5에서의 최대 활성 디스크 수는 8개인 경우로 도 5에서 스핀다운된 A 디스크를 스핀업시키더라도 최대 활성 디스크 수와 동일한 8개를 초과하지 않기 때문에 공급전력 한계를 넘지 않는다.
또한, 제어부(130)는 도 6에 도시된 바와 같이 디스크 예를 들어, M 디스크 장애 시에 장애가 발생한 M 디스크를 새로운 디스크를 이용하여 대체할 수 있다. 즉, M 디스크에 장애가 발생한 경우 장애가 발생한 M 디스크와 짝을 이루는 스핀다운 상태의 M 디스크를 스핀업시키고, 스핀업된 M 디스크를 이용하여 다른 랙의 여분 디스크에 복구함으로써, 장애가 발생한 M 디스크를 대체할 수 있다. 물론, 도 6에 도시된 바와 같이, 최대 활성 디스크 수가 8개인 경우 M 디스크가 스핀업되고, 새로운 디스크가 추가되더라도 최대 활성 디스크 수를 넘지 않기 때문에 공급전력 한계를 넘지 않는다.
상술한 바와 같이 데이터가 잘 살아 있는지 확인하는 스크럽(scrub)이나 디스크가 고장나서 교체할 때 슬립 상태의 디스크를 깨워야 할 때가 있지만, 데이터 센터 등과 같은 시스템에는 필요한 디스크 용량보다 더 많은 여유를 가지고 있고, 상술한 정책에 따라 액티브 디스크를 공평하게 분배하였으므로, 스크럽이나 고장에 의해 임시 스핀업이 발생해도 최대 활성 디스크 수를 넘는 경우는 흔하게 발생하지 않지만, 상황에 따라 여분 디스크가 있음에도 최대 활성 디스크 수를 넘는 경우가 발생할 수 있다.
예를 들어, 도 7에 도시된 바와 같이 디스크 짝 A를 스크럽(scrub)하기 위해 스핀다운 상태의 A 디스크를 임시 스핀업하고 있는 상황에서, 랙 1의 F 디스크에 장애가 발생하여 스핀다운 상태에 있는 랙2의 F 디스크를 스핀업시키게 되면 랙 2의 활성 디스크 수가 9개로 최대 활성 디스크 수인 8개를 넘게 된다.
따라서, 이러한 경우 랙2의 활성 디스크 수를 최대 활성 디스크 수인 8개 이하로 만들어줘야 하며, 랙당 최대 활성 디스크 수를 제한하기 위하여 도 8에 도시된 바와 같이 희생디스크를 선정함으로써, 이러한 문제를 해결할 수 있다.
예컨대, 도 8은 디스크들 중 Q 디스크를 희생 디스크로 선정한 경우를 나타낸 것으로, 랙2에서 스핀업 상태의 Q 디스크를 스핀다운시키고, 랙3에서 스핀다운 상태의 Q 디스크를 스핀업으로 변경함으로써, 랙2의 활성 디스크 수를 최대 활성 디스크 수인 8개로 만들고, 랙3의 활성 디스크 수 또한 7개로 변경되며, 장애가 발생한 F 디스크를 랙4의 여유 디스크에 복구함으로써, 랙4의 활성 디스크 수가 6개가 된다. 이와 같이, 랙2의 활성 디스크 수가 최대 활성 디스크 수를 넘는 경우라도, 이러한 희생 디스크를 선정하고, 선정된 희생 디스크를 이용함으로써, 랙당 최대 활성 디스크 수를 넘지 않도록 제어할 수 있다. 즉, Q 디스크를 희생 디스크로 선정함으로써, 랙2의 활성 디스크 수를 감소시키므로 장애가 발생한 F 디스크를 복원하는데 필요한 활성 디스크 수를 확보하도록 도와줄 수 있다. 물론, 희생 디스크에 따라 다시 희생 디스크를 원할 수 있기 때문에 가능한 적은 희생 디스크를 선정하기 위한 희생 디스크 선정 정책이 필요하며, 본 발명에서의 희생 디스크 선정 정책은 다음과 같은 우선 순위를 가질 수 있다.
1. 도미노 현상이 가장 적게 일어나는 하드디스크
2. 사용한 디스크의 수가 가정 적은 랙에 있는 하드디스크
3. 사용한 디스크의 수가 가장 적은 샤시에 있는 하드디스크
즉, 제어부(130)는 상술한 희생 디스크 선정 정책에 기초하여 최대 활성 디스크 수를 넘는 경우 최대 활성 디스크 수로 제한하기 위한 희생 디스크를 선정함으로써, 랙당 최대 활성 디스크 수를 넘지 않도록 제어할 수 있다.
또한, 제어부(130)는 시스템으로 입력 데이터의 쓰기 요청이 수신되는 경우 미리 정해진 해시 알고리즘을 이용하여 입력 데이터를 그룹들 중 어느 하나의 그룹에 저장할 수 있으며, 슈도 랜덤 코드(pseudo random code)를 이용하여 어느 그룹에 데이터를 저장할지 결정할 수 있다.
상술한 바와 같이, 본 발명의 시스템의 구성을 결정부, 생성부, 제어부의 구성으로 분류하였지만, 본 발명에 따른 시스템은 상술한 구성에 한정되지 않으며, 상술한 각 구성은 기능적인 측면에서 분류한 구성으로, 이러한 구성들은 적어도 하나의 프로세서에 의해 이루어질 수 있으며, 시스템의 기본적인 구성 및 기능 또한 본 발명의 시스템에 포함된다는 것을 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이와 같이, 본 발명의 실시예에 따른 시스템은 랙의 최대 활성 디스크 수를 결정 또는 정량화하고, 최대 활성 디스크 수에 기초하여 디스크 관리 정책을 수립함으로써, 요청량에 따라 랙이 소비하는 전력량을 비례적으로 조절 할 수 있을 뿐 아니라, 최대 전력량도 제한할 수 있다. 이는 스토리지 서버의 상면비용을 절감하고 공간을 효율적으로 사용하여 데이터센터 운영비용을 절감하고, 스토리지 티어링 기술의 효율을 극대화할 수 있다.
이렇듯, 본 발명에 따른 시스템은 스핀다운 기술로 디스크 소비전력을 절감하면서 남아 있는 스핀업 디스크로 읽기 요청에 대응하여 성능 손실이 적으면서 소비전력을 줄일 수 있다.
이러한 장점들은 서비스 제공사의 서비스 품질 향상에 도움을 줄 수 있고, 운영비용을 크게 절감하여 매출을 줄일 수 있으며, 기존 스토리지 서버의 변경 없이 사용할 수 있기 때문에 본 발명에 따른 기술을 적용하는데 오버헤드가 적다고 할 수 있으며, 하드웨어 제약이 없고, 기존 보유하고 있던 정책과도 연동하여 사용하기에도 용이하다.
도 9는 본 발명의 일 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법에 대한 동작 흐름도를 나타낸 것으로, 상술한 도 1 내지 도 8의 시스템에서의 동작 흐름도를 나타낸 것이다.
도 9를 참조하면, 본 발명의 실시예에 따른 스토리지 서버의 디스크 기반 저장 관리 방법은 랙의 최대 활성 디스크 수를 결정하고, 그룹을 생성한다(S910, S920).
여기서, 단계 S910은 클러스터의 부하 뿐만 아니라 필요에 따라 시스템의 사용 용도, 사용 목적, 사용량, 스토리지 서버의 목적, 용도, 랙에 포함된 하드디스크 수 등을 고려하여 최대 활성 디스크 수를 결정할 수 있다.
여기서, 단계 S920은 복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹을 생성할 수 있고, 랙당 최대 활성 디스크 수를 넘지 않도록 적어도 하나 이상의 그룹을 생성할 수 있으며, 어느 하나의 그룹을 구성하는 하드디스크들에 여유 공간이 없는 경우 새로운 그룹을 생성할 수도 있다.
이 때, 그룹의 하드디스크들은 미러링(mirroring) 상태를 유지함으로써, 동일한 데이터를 서로 가지고 있을 수 있다.
단계 S920은 장애 도메인(failure domain)이 다른 랙의 하드디스크, 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 그룹을 생성할 수도 있으며, 장애 도메인(failure domain)이 다른 하드디스크들을 이용하여 그룹을 생성할 수도 있다.
단계 S910과 S920에 의해 최대 활성 디스크 수가 결정되고 그룹이 생성되면, 결정된 최대 활성 디스크 수에 기초하여 그룹을 구성하는 하드디스크들의 스핀업과 스핀다운을 제어한다(S930).
여기서, 단계 S930은 최대 활성 디스크 수를 넘지 않도록 그룹의 하드디스크들의 스핀업과 스핀다운을 제어할 수 있다.
단계 S930은 그룹들 중 어느 하나의 그룹의 하드디스크들에 여유 공간이 없는 경우 최대 활성 디스크 수에 기초하여 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운시킬 수 있다.
이 때, 단계 S930은 최대 활성 디스크 수와 액티브 디스크 수가 동일한 랙의 하드디스크, 미리 설정된 최대 액티브 디스크 비율을 유지할 수 있는 랙의 하드디스크 및 액티브 디스크 수가 미리 설정된 기준 수 이상인 랙의 하드디스크의 우선 순위에 기초하여 하드디스크를 스핀다운시킬 수 있다.
이 때, 단계 S930은 랙의 최대 활성 디스크 수를 초과하는 경우가 발생하면 최대 활성 디스크 수를 넘지 않는 다른 랙의 디스크를 희생 디스크로 선정하고, 선정된 희생 디스크를 이용하여 최대 활성 디스크 수를 초과하는 랙의 활성 디스크 수를 제어할 수도 있다.
이 때, 단계 S930은 도미노 현상이 가장 적게 일어나는 하드디스크, 사용한 디스크의 수가 가정 적은 랙에 있는 하드디스크 및 사용한 디스크의 수가 가장 적은 샤시에 있는 하드디스크의 우선 순위에 기초하여 희생 디스크를 선정할 수 있다.
본 발명의 스토리지 서버의 디스크 기반 저장 관리 방법은 비록 도 9에서 그 설명이 기재되어 있지 않더라도 상술한 시스템에 대한 모든 동작과 기능을 포함할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 (14)
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 단계; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 단계
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 단계
를 더 포함하고,
상기 생성하는 단계는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어하는 단계는
상기 생성된 그룹들 중 제1 그룹의 하드디스크들에 여유 공간이 없는 경우 상기 결정된 최대 활성 디스크 수에 기초하여 상기 제1 그룹의 하드디스크들 중 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 스토리지 서버의 디스크 기반 저장 관리 방법.
- 삭제
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 단계; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 단계
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 단계
를 더 포함하고,
상기 생성하는 단계는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어하는 단계는
장애 도메인(failure domain)이 다른 랙의 하드디스크, 데이터가 한 번이라도 쓰여진 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 상기 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 것을 특징으로 하는 스토리지 서버의 디스크 기반 저장 관리 방법.
- 삭제
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 단계; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 단계
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 단계
를 더 포함하고,
상기 생성하는 단계는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어하는 단계는
상기 최대 활성 디스크 수와 액티브 디스크 수가 동일한 랙의 하드디스크, 미리 설정된 최대 액티브 디스크 비율을 유지할 수 있는 랙의 하드디스크 및 액티브 디스크 수가 미리 설정된 기준 수 이상인 랙의 하드디스크의 우선 순위에 기초하여 하드디스크를 스핀다운시키는 것을 특징으로 하는 스토리지 서버의 디스크 기반 저장 관리 방법.
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 단계; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 단계
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 단계
를 더 포함하고,
상기 생성하는 단계는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어하는 단계는
상기 랙의 최대 활성 디스크 수를 초과하는 경우가 발생하면 상기 최대 활성 디스크 수를 넘지 않는 다른 랙의 디스크를 희생 디스크로 선정하고, 상기 선정된 희생 디스크를 이용하여 상기 최대 활성 디스크 수를 초과하는 랙의 활성 디스크 수를 제어하는 것을 특징으로 하는 스토리지 서버의 디스크 기반 저장 관리 방법.
- 삭제
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 결정부; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 제어부
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 생성부
를 더 포함하고,
상기 생성부는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어부는
상기 생성된 그룹들 중 제1 그룹의 하드디스크들에 여유 공간이 없는 경우 상기 결정된 최대 활성 디스크 수에 기초하여 상기 제1 그룹의 하드디스크들 중 어느 하나의 하드디스크를 제외한 나머지 하드디스크를 스핀다운(spin-down)시키는 스토리지 서버의 디스크 기반 저장 관리 시스템.
- 삭제
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 결정부; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 제어부
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 생성부
를 더 포함하고,
상기 생성부는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어부는
장애 도메인(failure domain)이 다른 랙의 하드디스크, 데이터가 한 번이라도 쓰여진 사용한 디스크의 수가 가장 적은 랙의 하드디스크 및 상기 사용한 디스크의 수가 가장 적은 샤시(chassis)에 있는 하드디스크의 우선 순위에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 것을 특징으로 하는 스토리지 서버의 디스크 기반 저장 관리 시스템.
- 삭제
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 결정부; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 제어부
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 생성부
를 더 포함하고,
상기 생성부는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어부는
상기 최대 활성 디스크 수와 액티브 디스크 수가 동일한 랙의 하드디스크, 미리 설정된 최대 액티브 디스크 비율을 유지할 수 있는 랙의 하드디스크 및 액티브 디스크 수가 미리 설정된 기준 수 이상인 랙의 하드디스크의 우선 순위에 기초하여 하드디스크를 스핀다운시키는 것을 특징으로 하는 스토리지 서버의 디스크 기반 저장 관리 시스템.
- 복수의 하드디스크들을 포함하는 랙의 최대 활성 디스크 수를 결정하는 결정부; 및
상기 결정된 최대 활성 디스크 수에 기초하여 상기 랙에 포함된 하드디스크들의 스핀업(spin-up)과 스핀다운(spin-down)을 제어하는 제어부
를 포함하며,
복제본(replica) 개수만큼의 하드디스크들을 포함하는 그룹(group)을 생성하는 생성부
를 더 포함하고,
상기 생성부는
상기 그룹을 구성하는 하드디스크들 각각을 상기 결정된 최대 활성 디스크 수에 기초하여 랙들 각각에 배치하며,
상기 제어부는
상기 랙의 최대 활성 디스크 수를 초과하는 경우가 발생하면 상기 최대 활성 디스크 수를 넘지 않는 다른 랙의 디스크를 희생 디스크로 선정하고, 상기 선정된 희생 디스크를 이용하여 상기 최대 활성 디스크 수를 초과하는 랙의 활성 디스크 수를 제어하는 것을 특징으로 하는 스토리지 서버의 디스크 기반 저장 관리 시스템.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160153100A KR101858362B1 (ko) | 2016-11-17 | 2016-11-17 | 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160153100A KR101858362B1 (ko) | 2016-11-17 | 2016-11-17 | 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101858362B1 true KR101858362B1 (ko) | 2018-05-15 |
Family
ID=62186915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160153100A KR101858362B1 (ko) | 2016-11-17 | 2016-11-17 | 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101858362B1 (ko) |
-
2016
- 2016-11-17 KR KR1020160153100A patent/KR101858362B1/ko active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2560098B1 (en) | Method and apparatus to improve efficiency in the use of resources in data center | |
TWI475365B (zh) | 階層式功率平滑化 | |
US9619357B2 (en) | Hybrid storage devices | |
US8650369B1 (en) | Managing data storage | |
US10048976B2 (en) | Allocation of virtual machines to physical machines through dominant resource assisted heuristics | |
US8397087B1 (en) | Systems and methods for individually managing the power usage of software applications | |
Aggarwal et al. | Sprout: A functional caching approach to minimize service latency in erasure-coded storage | |
US10061781B2 (en) | Shared data storage leveraging dispersed storage devices | |
JP2009157571A (ja) | データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム | |
US10536538B2 (en) | Secure data erasure verification in hyperscale computing systems | |
US20130262811A1 (en) | Method and apparatus of memory management by storage system | |
JP7003692B2 (ja) | 情報処理装置,情報処理システムおよび制御プログラム | |
KR101641541B1 (ko) | 다중 코어에서 동적으로 부하를 분배하는 장치 및 방법 | |
JP2020154587A (ja) | 計算機システム及びデータ管理方法 | |
US20180082066A1 (en) | Secure data erasure in hyperscale computing systems | |
US10897429B2 (en) | Managing multiple cartridges that are electrically coupled together | |
KR101858362B1 (ko) | 사용량에 비례적으로 전력을 소비하는 스토리지 서버의 디스크 기반 저장 관리 방법 및 시스템 | |
US20170123657A1 (en) | Systems and methods for back up in scale-out storage area network | |
US8356198B2 (en) | Performing power management based on information regarding zones of devices in a system | |
JP2004157644A (ja) | ディスクサブシステム、計算機システム、それを管理するためのストレージ管理方法、および、管理プログラム | |
WO2019043815A1 (ja) | ストレージシステム | |
US11169891B2 (en) | Data placement and recovery for individually controlling storage device | |
JP6730344B2 (ja) | キャッシュ装置およびキャッシュ装置の制御方法 | |
KR101919666B1 (ko) | 액티브 그룹을 이용한 분산 파일 시스템 및 그 방법 | |
JP5807942B2 (ja) | ディスクアレイ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |