KR20180085187A - 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치 - Google Patents

토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20180085187A
KR20180085187A KR1020170008513A KR20170008513A KR20180085187A KR 20180085187 A KR20180085187 A KR 20180085187A KR 1020170008513 A KR1020170008513 A KR 1020170008513A KR 20170008513 A KR20170008513 A KR 20170008513A KR 20180085187 A KR20180085187 A KR 20180085187A
Authority
KR
South Korea
Prior art keywords
volume
server
data server
candidate data
additional
Prior art date
Application number
KR1020170008513A
Other languages
English (en)
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 KR1020170008513A priority Critical patent/KR20180085187A/ko
Priority to US15/661,961 priority patent/US20180203875A1/en
Publication of KR20180085187A publication Critical patent/KR20180085187A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F17/30194
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치가 개시된다. 본 발명의 일실시예에 따른 볼륨 확장 방법은 볼륨 확장이 요청된 확장 대상 볼륨에 대해 인접 볼륨을 검색하는 단계; 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 서버 추가 방향을 결정하는 단계; 확장 대상 볼륨으로부터 서버 추가 방향으로 복수개의 추가 후보 데이터 서버들을 검색하는 단계; 및 서버 상태 및 네트워크 통신 비용 중 적어도 하나를 고려하여 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 확장 대상 볼륨에 추가하는 단계를 포함한다.

Description

토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치 {METHOD FOR EXTENDING AND REDUCING VOLUME FOR DISTRIBUTED FILE SYSTEM BASED ON TORUS NETWORK AND APPARATUS USING THE SAME}
본 발명은 토러스 연결망을 이용한 대규모 분산 파일 시스템의 볼륨을 조절하는 기술에 관한 것으로, 특히 분산 파일 시스템에서 개별 볼륨의 성능과 전체 시스템의 절전을 위해 최적의 데이터 서버를 볼륨에 추가하거나 제거하여 볼륨을 확장하거나 축소하는 기술에 관한 것이다.
토러스 연결망을 이용한 대규모 분산 파일 시스템에서는 수많은 볼륨들이 데이터 서버들을 경쟁적으로 공유하며 동작한다. 따라서, 개별 볼륨이 요구하는 성능을 만족하기 위해서는 최적의 데이터 서버 할당이 필수적이다. 이 때, 분산 파일 시스템의 관리자는 데이터 서버를 볼륨에 추가적으로 할당하는 볼륨 확장이나 이미 볼륨에 할당된 데이터 서버를 제거하는 볼륨 축소를 기반으로 최소한의 자원을 이용하여 성능 저하 없이 스토리지 서비스를 제공해야 한다.
예를 들어, 특정 볼륨에 접근하는 클라이언트가 급증하는 경우, 해당 볼륨에 할당된 데이터 서버에 가해지는 부하가 급격히 늘어나게 된다. 이 때, 적절한 데이터 서버를 볼륨에 추가로 할당해주지 않으면 해당 볼륨에 연결된 클라이언트는 극심한 성능 저하를 겪게 된다. 따라서, 대규모 분산 파일시스템에서 이러한 성능 저하가 일어나지 않도록 하기 위해서는 항상 최적의 데이터 서버를 찾아 볼륨을 확장하거나 또는 축소 해주어야 한다.
그러나, 토러스 연결망을 이용한 대규모 분산 파일시스템에서는 토러스 연결망을 고려하지 않고 데이터 서버를 볼륨에 할당하면 큰 효과를 볼 수 없다. 토러스 연결망은 망 특성상 기존에 많이 사용하던 FAT Tree 보다 초기 구축 비용은 매우 저렴하지만, 토러스 연결망에 연결된 데이터 서버간 네트워크 비용이 홉 수에 비례하여 증가하기 때문이다. 따라서, 볼륨을 확장 할 때에는 개별 서버의 성능뿐만 아니라 토러스 연결망으로 인한 네트워크 비용을 고려해야 한다. 물론 볼륨 축소의 경우도 마찬가지이다. 토러스 연결망 기반의 네트워크 비용을 고려하여 볼륨에 할당된 데이터 서버를 제거해야만 축소된 볼륨의 나머지 데이터 서버간 네트워크 비용을 줄일 수 있다.
또한, 인접한 볼륨의 상태를 고려하여 볼륨을 확장 또는 축소해야 한다. 만약 인접한 볼륨을 고려하지 않고 두 개의 볼륨을 개별적으로 확장하는 경우, 그 방향이 서로를 향할 수 있다. 그 결과 두 볼륨이 중첩하게 되어 두 볼륨에 접근하는 클라이언트는 성능저하를 겪게 될 수 있다
한편, 대규모 분산 파일시스템의 규모가 커짐에 따라 전력 사용량 또한 크게 증가하고 있다. 그에 따라, 대규모 스토리지 시스템의 전력 소비를 줄이는 기술의 중요성이 크게 대두 되고 있다. 하지만 전력 소비를 줄이기 위해서 접근이 없는 데이터 서버를 무분별하게 절전 모드로 실행시켜버리면, 가까운 미래에 빈번하게 사용될 데이터 서버의 절전 모드를 매번 해제하고 사용해야 하기 때문에 심각한 성능 저하가 발생할 수 있다. 따라서, 볼륨을 확장 또는 축소할 때 인접한 데이터 서버들의 절전 모드를 적절히 변경하여 전력 소비를 줄여야 한다.
한국 공개 특허 제10-2016-0121380호, 2016년 10월 19일 공개(명칭: 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법)
본 발명의 목적은 대규모 스토리지 구축을 위해 토러스 연결망 기반의 분산 파일시스템에서 볼륨의 확장과 축소를 효과적으로 수행할 수 있는 방법을 제공하는 것이다.
또한, 본 발명의 목적은 토러스 연결망으로 인한 특성을 고려하여 볼륨에 할당된 데이터 서버간 네트워크 통신 비용을 최소화할 수 있는 볼륨 조절 기술을 제공하는 것이다.
또한, 본 발명의 목적은 분산 파일시스템의 볼륨 조절 시 볼륨의 중첩 등으로 인해 발생할 수 있는 성능 저하를 방지하는 것이다.
또한, 본 발명의 목적은 분산 파일 시스템의 볼륨 조절 시 시스템 전체의 전력 소비를 감소시킬 수 있는 기술을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 분산 파일 시스템의 볼륨 확장 방법은 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 확장이 요청된 확장 대상 볼륨에 대해 인접 볼륨을 검색하는 단계; 상기 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 상기 확장 대상 볼륨에 대한 서버 추가 방향을 결정하는 단계; 상기 확장 대상 볼륨으로부터 상기 서버 추가 방향으로 기설정된 검색 값 이내에 위치하는 복수개의 추가 후보 데이터 서버들을 검색하는 단계; 및 상기 복수개의 추가 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 추가 후보 데이터 서버들을 각각 상기 확장 대상 볼륨에 추가시켰을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 상기 확장 대상 볼륨에 추가하는 단계를 포함한다.
이 때, 추가하는 단계는 상기 복수개의 추가 후보 데이터 서버들 중 상기 서버 상태와 상기 네트워크 통신 비용을 기반으로 가장 높은 점수를 획득한 어느 하나의 1순위 후보 데이터 서버를 선정하는 단계; 상기 복수개의 추가 후보 데이터 서버들 중 상기 점수가 기설정된 기준 점수 이상인 적어도 하나의 2순위 후보 데이터 서버가 존재하는지 여부를 판단하는 단계; 및 상기 적어도 하나의 2순위 후보 데이터 서버가 존재하는 경우에 상기 1순위 후보 데이터 서버와 상기 적어도 하나의 2순위 후보 데이터 서버 각각에 대해 추가 할당 시뮬레이션을 수행하고, 상기 추가 할당 시뮬레이션의 결과에 따라 상기 1순위 후보 데이터 서버 및 상기 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 데이터 서버를 상기 추가 데이터 서버로 선정하는 단계를 포함할 수 있다.
이 때, 추가 데이터 서버로 선정하는 단계는 상기 추가 할당 시뮬레이션을 수행하였을 경우에 상기 1순위 후보 데이터 서버와 상기 적어도 하나의 2순위 후보 데이터 서버 각각에 의해서 추가될 추가 예상 데이터 서버를 고려하여 상기 추가 데이터 서버를 선정할 수 있다.
이 때, 추가 할당 시뮬레이션은 상기 1순위 후보 데이터 서버와 상기 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 추가 후보 데이터 서버를 상기 확장 대상 볼륨에 추가시켜 가상 확장 볼륨을 생성하고, 상기 가상 확장 볼륨을 상기 확장 대상 볼륨으로 인식하고 확장을 수행하여 상기 추가 예상 데이터 서버를 검색할 수 있다.
이 때, 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함하고, 상기 네트워크 통신 비용은 상기 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버간 통신 비용에 해당할 수 있다.
이 때, 어느 하나의 1순위 후보 데이터 서버를 선정하는 단계는 상기 CPU 사용량, 상기 메모리 사용량, 상기 네트워크 사용량 및 상기 네트워크 통신 비용 중 적어도 하나가 적을수록 상기 점수를 높게 부여할 수 있다.
이 때, 추가 데이터 서버로 선정하는 단계는 기설정된 시뮬레이션 횟수만큼 상기 추가 할당 시뮬레이션을 반복 수행할 수 있다.
이 때, 볼륨 확장 방법은 상기 확장 대상 볼륨에 상기 추가 데이터 서버가 추가된 확장 볼륨을 기준으로 기설정된 웨이크업(wakeup) 값 이내에 위치하는 복수개의 추가 확장 대상 데이터 서버들의 절전모드를 해제하는 단계를 더 포함할 수 있다.
이 때, 서버 추가 방향을 결정하는 단계는 상기 인접 볼륨의 볼륨 확장이 예상되는 경우에 상기 확장 대상 볼륨으로부터 상기 인접 볼륨으로 향하는 방향을 상기 서버 추가 방향에서 제외할 수 있다.
이 때, 인접 볼륨을 검색하는 단계는 상기 확장 대상 볼륨으로부터 기설정된 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 상기 인접 볼륨으로 검색할 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은, 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 축소가 요청된 축소 대상 볼륨에 대해 인접 볼륨을 검색하는 단계; 상기 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 상기 축소 대상 볼륨에서 복수개의 삭제 후보 데이터 서버들을 선택하는 단계; 및 상기 복수개의 삭제 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 삭제 후보 데이터 서버들을 각각 상기 축소 대상 볼륨에서 삭제했을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 삭제 후보 데이터 서버들 중 어느 하나의 삭제 데이터 서버를 상기 축소 대상 볼륨에서 삭제하는 단계를 포함한다.
이 때, 삭제하는 단계는 상기 복수개의 삭제 후보 데이터 서버들 각각에 대해 상기 서버 상태와 상기 네트워크 통신 비용을 기반으로 점수를 부여하는 단계; 및 상기 복수개의 삭제 후보 데이터 서버들 중 상기 점수가 가장 높은 어느 하나의 삭제 후보 데이터 서버를 상기 삭제 데이터 서버로 선정하는 단계를 포함할 수 있다.
이 때, 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함하고, 상기 네트워크 통신 비용은 상기 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버간 통신 비용에 해당할 수 있다.
이 때, 점수를 부여하는 단계는 상기 CPU 사용량 및 상기 네트워크 사용량 중 적어도 하나가 많을수록 상기 점수를 높게 부여하고, 상기 메모리 사용량 및 상기 네트워크 통신 비용 중 적어도 하나가 적을수록 상기 점수를 높게 부여할 수 있다.
이 때, 볼륨 축소 방법은 상기 축소 대상 볼륨에 대해 축소가 예상되는 인접 볼륨이 존재하는지 여부를 검색하는 단계; 및 상기 축소가 예상되는 인접 볼륨이 존재하는 경우, 상기 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 상기 축소가 예상되는 인접 볼륨으로부터 기설정된 기준 값 이내에 위치하는 데이터 서버를 상기 복수개의 삭제 후보 데이터 서버들에서 제외하는 단계를 더 포함할 수 있다.
이 때, 볼륨 축소 방법은 상기 축소 대상 볼륨에서 상기 삭제 데이터 서버가 삭제된 축소 볼륨을 기준으로 기설정된 슬립(sleep) 값만큼 떨어져서 위치하는 복수개의 절전 대상 데이터 서버들을 절전모드로 설정하는 단계를 더 포함할 수 있다.
이 때, 절전모드로 설정하는 단계는 상기 축소 볼륨에 대한 추가적인 볼륨 축소 여부를 예상하는 단계; 및 상기 축소 볼륨의 추가적인 볼륨 축소가 예상되는 경우에 상기 슬립 값을 감소시켜서 상기 절전모드를 추가로 설정하는 단계를 포함할 수 있다.
이 때, 복수개의 삭제 후보 데이터 서버들을 선택하는 단계는 상기 인접 볼륨의 볼륨 확장이 예상되는 경우에 상기 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 상기 인접 볼륨에 포함되거나 상기 인접 볼륨의 방향에 위치하는 데이터 서버를 상기 복수개의 삭제 후보 데이터 서버들로 선택하고, 상기 인접 볼륨의 볼륨 확장이 예상되지 않는 경우에 상기 축소 대상 볼륨에 포함된 복수개의 데이터 서버들을 상기 복수개의 삭제 후보 데이터 서버들로 선택할 수 있다.
이 때, 인접 볼륨을 검색하는 단계는 상기 축소 대상 볼륨으로부터 기설정된 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 상기 인접 볼륨으로 검색할 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 조절 장치는, 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 확장이 요청된 확장 대상 볼륨에 대해 제1 인접 볼륨을 검색하고, 볼륨 축소가 요청된 축소 대상 볼륨에 대해 제2 인접 볼륨을 검색하는 검색부; 상기 제1 인접 볼륨에 대한 볼륨 확장 여부를 고려하여, 상기 확장 대상 볼륨으로부터 서버 추가 방향으로 기설정된 검색 값 이내에 위치하는 복수개의 추가 후보 데이터 서버들을 선택하고, 상기 제2 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 상기 축소 대상 볼륨에서 복수개의 삭제 후보 데이터 서버들을 선택하는 선택부; 및 상기 복수개의 추가 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 추가 후보 데이터 서버들을 각각 상기 확장 대상 볼륨에 추가시켰을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 상기 확장 대상 볼륨에 추가하고, 상기 복수개의 삭제 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 삭제 후보 데이터 서버들을 각각 상기 축소 대상 볼륨에서 삭제했을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 삭제 후보 데이터 서버들 중 어느 하나의 삭제 데이터 서버를 상기 축소 대상 볼륨에서 삭제하는 제어부를 포함한다.
본 발명에 따르면, 대규모 스토리지 구축을 위해 토러스 연결망 기반의 분산 파일시스템에서 볼륨의 확장과 축소를 효과적으로 수행할 수 있는 방법을 제공할 수 있다.
또한, 본 발명은 토러스 연결망으로 인한 특성을 고려하여 볼륨에 할당된 데이터 서버간 네트워크 통신 비용을 최소화할 수 있는 볼륨 조절 기술을 제공할 수 있다.
또한, 본 발명은 분산 파일시스템의 볼륨 조절 시 볼륨의 중첩 등으로 인해 발생할 수 있는 성능 저하를 방지할 수 있다.
또한, 본 발명은 분산 파일 시스템의 볼륨 조절 시 시스템 전체의 전력 소비를 감소시킬 수 있는 기술을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법을 나타낸 동작 흐름도이다.
도 2는 도 1에 도시된 볼륨 확장 방법에 따른 볼륨 확장 절차를 개략적으로 나타낸 도면이다.
도 3은 도 1에 도시된 볼륨 확장 방법에 따른 추가 할당시뮬레이션 과정을 개략적으로 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 볼륨 확장 방법에서 다음 볼륨 확장을 대비하여 절전모드를 해제하는 과정을 나타낸 동작 흐름도이다.
도 5는 도 4에 도시된 절전모드 해제 절차를 개략적으로 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법을 나타낸 동작 흐름도이다.
도 7은 도 6에 도시된 볼륨 축소 방법에 따른 볼륨 축소 절차를 개략적으로 나타낸 도면이다.
도 8은 본 발명의 일실시예에 따른 볼륨 축소 방법에서 볼륨 축소 후 절전 기능을 수행하는 과정을 나타낸 동작 흐름도이다.
도 9는 도 8에 도시된 절전 기능을 수행 절차를 개략적으로 나타낸 도면이다.
도 10은 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 조절 장치를 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법을 나타낸 동작 흐름도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법은 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 확장이 요청된 확장 대상 볼륨에 대해 인접 볼륨을 검색한다(S110).
예를 들어, 확장 대상 볼륨은 초기에 하나 이상의 데이터 서버를 이용하여 스토리지 서비스를 제공하다가, 클라이언트 수가 급증하여 볼륨 입출력 요구가 급증될 것으로 예상되는 볼륨에 해당할 수 있다. 따라서, 클라이언트 수가 증가하는지 여부나 또는 볼륨에 대한 파일 입출력 요구가 증가하는지 여부를 기반으로 확장 대상 볼륨을 선택할 수 있다.
이 때, 확장 대상 볼륨으로부터 기설정된 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 인접 볼륨으로 검색할 수 있다. 예를 들어, 토러스 연결망을 기반으로 확장 대상 볼륨으로부터 이웃 값에 해당하는 홉(hop)만큼 떨어진 데이터 서버들을 검색하고, 해당 데이터 서버들을 하나라도 포함하는 볼륨을 인접 볼륨으로 검색할 수 있다.
이 때, 기설정된 이웃 값은 시스템 관리자에 의해 미리 설정될 수 있으며, 시스템 관리 체계에 따라 자유롭게 수정될 수도 있다.
이 때, 인접볼륨은 분산 파일 시스템에 따라 다수 개 존재할 수도 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법은 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 확장 대상 볼륨에 대한 서버 추가 방향을 결정한다(S120).
즉, 인접 볼륨으로 클라이언트의 접근이 빈번하여 확장이 예상되는지 여부를 고려하여 서버 추가 방향을 결정할 수 있다.
이 때, 인접 볼륨의 볼륨 확장이 예상되는 경우에 확장 대상 볼륨으로부터 인접 볼륨으로 향하는 방향을 서버 추가 방향에서 제외할 수 있다.
예를 들어, 2차원 좌표상에서 확장이 예상되는 인접 볼륨이 확장 대상 볼륨보다 y축 상으로 위쪽에 위치한다고 가정할 수 있다. 이 때, 확장 대상 볼륨을 기준으로 위쪽 방향은 서버 추가 방향에서 제외시킬 수 있다.
이 때, 확장이 예상되는 인접 볼륨은 계속해서 데이터 서버가 확장될 가능성이 있으므로, 확장 대상 볼륨이 인접 볼륨의 방향으로 데이터 서버를 추가한다면 볼륨간 데이터 서버가 중첩될 가능성이 높아질 수 있다. 따라서, 이러한 중첩 확률을 감소시키기 위해서는 확장이 예상되는 인접 볼륨이 위치하는 방향으로는 서버 추가 방향을 설정하지 않음으로써 데이터 서버가 추가되지 않도록 할 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법은 확장 대상 볼륨으로부터 서버 추가 방향으로 기설정된 검색 값 이내에 위치하는 복수개의 추가 후보 데이터 서버들을 검색한다(S130).
예를 들어, 기설정된 검색 값이 2라고 가정한다면, 확장 대상 볼륨으로부터 2 홉 이내에 위치하는 복수개의 데이터 서버들을 검색하여 복수개의 추가 후보 데이터 서버들로 인식할 수 있다. 이 때, 서버 추가 방향에서 제외된 방향이 있다면, 해당 방향으로는 데이터 서버를 검색하지 않을 수 있다.
이 때, 기설정된 검색 값은 시스템 관리자에 의해 사전에 설정될 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법은 복수개의 추가 후보 데이터 서버들 각각의 서버 상태 및 복수개의 추가 후보 데이터 서버들을 각각 확장 대상 볼륨에 추가시켰을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 확장 대상 볼륨에 추가한다(S140).
즉, 복수개의 추가 후보 데이터 서버들 중 서버 상태와 네트워크 통신 비용을 고려하였을 때 가장 적합한 추가 후보 데이터 서버를 확장 대상 볼륨에 추가할 추가 데이터 서버로 선택할 수 있다.
이 때, 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함하고, 네트워크 통신 비용은 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버간 통신 비용에 해당할 수 있다.
이 때, 분산 파일 시스템에서는 내결함성을 지원하기 위해서 데이터 서버들 간에 지속적으로 데이터를 주고받기 때문에 네트워크 통신 비용이 매우 중요한 요소에 해당할 수 있다.
이 때, 복수개의 추가 후보 데이터 서버들 중 서버 상태와 네트워크 통신 비용을 기반으로 가장 높은 점수를 획득한 어느 하나의 1순위 후보 데이터 서버를 선정할 수 있다.
이 때, CPU 사용량, 메모리 사용량, 네트워크 사용량 및 네트워크 통신 비용이 적을수록 상기 점수를 높게 부여할 수 있다. 즉, CPU 사용량, 메모리 사용량, 네트워크 사용량 및 네트워크 통신 비용이 적게 발생하는 데이터 서버일수록 확장에 유리한 데이터 서버에 해당할 수 있다.
이 때, 복수개의 추가 후보 데이터 서버들 중 점수가 기설정된 기준 점수 이상인 적어도 하나의 2순위 후보 데이터 서버가 존재하는지 여부를 판단할 수 있다.
이 때, 기설정된 기준 점수는 서버 상태와 네트워크 통신 비용을 기반으로 부여되는 점수의 만점에 대한 일정비율에 해당하거나 또는 1순위 후보 데이터 서버의 점수에 대한 일정 비율에 해당할 수도 있다.
이 때, 적어도 하나의 2순위 후보 데이터 서버가 존재하는 경우에 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 각각에 대해 추가 할당 시뮬레이션을 수행하고, 추가 할당 시뮬레이션의 결과에 따라 1순위 후보 데이터 서버 및 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 데이터 서버를 추가 데이터 서버로 선정할 수 있다.
이 때, 추가 할당 시뮬레이션을 수행하였을 경우에 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 각각에 의해서 추가될 추가 예상 데이터 서버를 고려하여 추가 데이터 서버를 선정할 수 있다.
이 때, 추가 할당 시뮬레이션은 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 추가 후보 데이터 서버를 확장 대상 볼륨에 추가시켜 가상 확장 볼륨을 생성하고, 가상 확장 볼륨을 확장 대상 볼륨으로 인식하고 확장을 수행하여 추가 예상 데이터 서버를 검색할 수 있다.
즉, 추가 할당 시뮬레이션은 볼륨을 확장하는 본 발명의 과정을 반복적으로 수행함으로써 앞으로 확장 대상 볼륨에 추가 할당이 예상되는 데이터 서버들의 상태와 네트워크 비용을 확인하는 수단일 수 있다.
이 때, 기설정된 시뮬레이션 횟수만큼 추가 할당 시뮬레이션을 반복 수행할 수 있다. 예를 들어, 시스템 관리자가 기설정된 시뮬레이션 횟수에 해당하는 whatif 값을 2로 설정한 경우에는 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 각각에 대해서 2번씩 추가 할당 시뮬레이션을 수행할 수 있다.
이와 같이 추가 할당 시뮬레이션을 수행함으로써 가장 높은 점수를 받은 1순위 후보 데이터 서버가 볼륨 확장을 위해 추가되는 추가 데이터 서버로서 가장 적합한지 여부를 검증할 수 있다.
즉, 1순위 후보 데이터 서버를 제외하고도 비교적 높은 점수를 획득한 2순위 후보 데이터 서버가 존재한다면, 2순위 후보 데이터 서버에 대해서도 추가 할당 시뮬레이션을 수행하여 1순위 후보 데이터 서버의 시뮬레이션 결과와 비교 분석해볼 수 있다. 만약, 확장 대상 볼륨의 볼륨 확장을 위해서 1순위 후보 데이터 서버의 점수가 가장 높더라도, 그 다음 볼륨 확장까지 고려했을 때에는 2순위 후보 데이터 서버를 추가하는 것이 보다 적합하다고 판단된다면 2순위 후보 데이터 서버를 추가 데이터 서버로 선정하여 확장 대상 볼륨에 추가시킬 수도 있다.
또한, 도 1에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법은 확장 대상 볼륨에 추가 데이터 서버가 추가된 확장 볼륨을 기준으로 기설정된 웨이크업(wakeup) 값 이내에 위치하는 복수개의 추가 확장 대상 데이터 서버들의 절전모드를 해제할 수 있다.
이 때, 분산 파일 시스템에서 한번 볼륨 확장이 완료된 확장 볼륨은 또 다시 확장될 가능성이 클 수 있다. 따라서, 확장 가능성이 높은 볼륨에 인접한 데이터 서버들의 상태로 수시로 확인하여 볼륨 확장에 대비해야 할 수 있다.
따라서, 본 발명에서는 기설정된 웨이크업 값을 통해 확장 볼륨과 인접하게 위치하는 데이터 서버들을 추가 확장 대상 데이터 서버들로 선택하고, 선택된 추가 확장 대상 데이터 서버들의 절전모드를 해제함으로써 다음의 볼륨 확장을 대비할 수 있다.
이를 통해 추가로 볼륨 확장이 요청되는 경우, 볼륨 확장을 빠르게 수행하여 성능 저하 없이 스토리지 서비스를 클라이언트에게 제공할 수 있다.
또한, 도 1에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 확장 방법은 상술한 바와 같은 볼륨 확장 과정에서 발생하는 다양한 정보를 저장할 수 있다.
도 2는 도 1에 도시된 볼륨 확장 방법에 따른 볼륨 확장 절차를 개략적으로 나타낸 도면이다.
도 2를 참조하면, 도 1에 도시된 볼륨 확장 방법에 따른 볼륨 확장 절차의 설명을 용이하게 하기 위해서 3차원으로 구성될 수 있는 토러스 연결망을 2차원으로 한정하여 도시하였으나, 본 발명은 3차원 토러스 연결망에도 적용이 가능할 수 있다.
먼저, 도 2에 도시된 데이터 서버들은 토러스 연결망 기반으로 연결된 8*8 형태의 데이터 서버들에 해당할 수 있다.
이 때, 도면 부호 210에 해당하는 볼륨이 확장 대상 볼륨(210)이라고 가정한다면, 도면 부호 220에 해당하는 볼륨이 확장 대상 볼륨(210)에 대한 인접 볼륨(220)일 수 있다.
만약, 인접 볼륨(220)이 접근이 빈번하게 발생하여 확장이 예상되는 볼륨이라고 가정한다면, 확장 대상 볼륨(210)으로부터 인접 볼륨(220)으로 향하는 방향은 서버 추가 방향에서 제외시킬 수 있다. 즉, 도 2에서는 확장 대상 볼륨(210)의 위쪽 방향과 왼쪽 방향을 서버 추가 방향에서 제외시킬 수 있다.
이 때, 기설정된 검색 값이 2라고 가정한다면, 확장 대상 볼륨(210)으로부터 서버 추가 방향으로 최대 2홉 이내에 위치하는 데이터 서버들이 복수개의 추가 후보 데이터 서버들에 해당할 수 있다. 즉, 도 2에 도시된 복수개의 데이터 서버들 중 도면 부호 231~241에 해당하는 11개의 데이터 서버가 추가 후보 데이터 서버에 해당할 수 있다.
이 때, 도면 부호 251~258에 해당하는 데이터 서버들도 확장 대상 볼륨(210)으로부터 2홉 이내에 위치하지만, 서버 추가 방향에서 위쪽과 왼쪽이 제외되었으므로, 도 2상에서 위치 좌표 <1,5>, <1,6>, <2,5>, <2,6>, <2,7>, <3,7>, <3,8>, <4,7>, <4,8>에 해당하는 9대의 데이터 서버는 추가 후보 데이터 서버들에 해당하지 않을 수 있다.
이 때, 위치 좌표 <2,4>, <3,3>, <3,4>, <4,3>, <4,4>, <5,4>, <5,5>, <5,6>, <5,7>, <6,5>, <6,6>에 해당하는 11대의 추가 후보 데이터 서버들은 서버 상태와 네트워크 통신 비용에 이용하여 점수를 부여할 수 있다.
이 때, 부여된 점수가 가장 높은 데이터 서버를 확장 대상 볼륨(210)에 추가할 추가 데이터 서버로 선정하고 추가시킬 수 있다.
도 3은 도 1에 도시된 볼륨 확장 방법에 따른 추가 할당 시뮬레이션 과정을 개략적으로 나타낸 도면이다.
도 3을 참조하면, 도 1에 도시된 볼륨 확장 방법에 따른 추가 할당 시뮬레이션은 시스템 관리자가 미리 설정해준 시뮬레이션 횟수만큼 반복 수행될 수 있다.
예를 들어, 도 1에 도시된 볼륨 확장 방법을 통해 확장 대상 볼륨(310)에서 가장 높은 점수를 획득한 1순위 후보 데이터 서버(320)를 추가 데이터 서버로 선정하였다고 가정할 수 있다.
이 때, 시스템 관리자가 시뮬레이션 횟수에 해당하는 whatif 값을 1로 설정한 경우, 1순위 후보 데이터 서버(320)가 확장 대상 볼륨(310)에 추가되었다고 가정한 후 다시 도 1에 도시된 볼륨 확장 방법을 통해 추가될 추가 예상 데이터 서버(330)를 선정할 수 있다.
이 때, 추가 예상 데이터 서버(330)의 서버 상태와 추가 예상 데이터 서버(330)가 1순위 후보 데이터 서버(320)를 포함하는 확장 대상 볼륨(310)에 추가되었을 때의 네트워크 통신 비용을 고려하여 최종적으로 1순위 후보 데이터 서버(320)를 확장 대상 볼륨(310)에 추가 할당할지 여부를 판단할 수 있다.
도 4는 본 발명의 일실시예에 따른 볼륨 확장 방법에서 다음 볼륨 확장을 대비하여 절전모드를 해제하는 과정을 나타낸 동작 흐름도이다.
이미 한번 볼륨 확장이 완료된 확장 볼륨은 또 다시 확장될 가능성이 높을 수 있다. 따라서, 확장 가능성이 높은 볼륨에 대해서는 도 4에 도시된 과정과 같이 인접한 데이터 서버들의 상태로 수시로 확인함으로써 추가적인 볼륨 확장에 대비해야 할 필요가 있다.
도 4를 참조하면, 본 발명의 일실시예에 따른 볼륨 확장 방법에서 다음 볼륨 확장을 대비하여 절전모드를 해제하는 과정은 먼저 확장 볼륨에 대해 웨이크업(wakeup) 값 이내에 위치하는 추가 확장 대상 데이터 서버들을 검색한다(S410).
즉, 확장 볼륨에 대해 인접한 데이터 서버들을 검색할 수 있다.
이 후, 절전모드로 설정된 추가 확장 대상 데이터 서버가 존재하는지 여부를 판단한다(S415).
이 때, 복수개의 추가 확장 대상 데이터 서버들의 서버 상태를 확인하여 절전모드인지 여부를 확인할 수 있다.
이 때, 절전모드는 시스템 절전을 위해 데이터 서버의 동작 모드를 절전 상태로 설정해두는 경우를 의미할 수 있다.
단계(S415)의 판단결과 절전모드로 설정된 추가 확장 대상 데이터 서버가 존재하면, 해당 추가 확장 대상 데이터 서버의 절전모드를 해제하고(S420), 웨이크업 값을 기반으로 최대 홉만큼 떨어진 추가 확장 대상 데이터 서버들의 정상 동작 여부를 재점검한다(S430).
이 때, 데이터 서버의 절전 모드를 해제하는 데에는 일정한 시간이 소요될 수 있다. 따라서, 확장 볼륨으로 추가 할당될 가능성이 높은 복수개의 추가 확장 대상 데이터 서버들은 미리 절전모드를 해제해 둠으로써 볼륨 확장 시 절전모드를 해제하는 시간을 절약할 수 있다.
또한, 단계(S415)의 판단결과 절전모드로 설정된 추가 확장 대상 데이터 서버가 존재하지 않는 경우에도, 웨이크업 값을 기반으로 최대 홉만큼 떨어진 추가 확장 대상 데이터 서버들의 정상 동작 여부를 재점검하여(S430). 확장 볼륨에 대한 추가 확장이 요구될 때에 문제가 발생하지 않도록 대비할 수 있다.
이와 같은 과정을 통해, 이미 확장이 완료된 확장 볼륨에 대한 추가 확장을 빠르게 수행할 수 있고, 해당 볼륨의 성능 저하 없이 스토리지 서비스를 클라이언트에게 제공하는 것이 가능할 수 있다.
도 5는 도 4에 도시된 절전모드 해제 절차를 개략적으로 나타낸 도면이다.
도 5를 참조하면, 도 4에 도시된 절전모드 해제 절차에 따라 확장 볼륨에 대한 다음 볼륨 확장을 대비하기 위해서는 먼저 관리자가 설정해 놓은 웨이크업(wakeup) 값을 확인할 수 있다.
예를 들어, 시스템 관리자가 미리 설정한 웨이크업 값이 1이라고 가정한다면, 확장 볼륨(510)에 포함된 데이터 서버(511~514)로부터 1홉 이내에 위치한 데이터 서버들을 추가 확장 대상 데이터 서버(521~528)들로 검색할 수 있다. 즉, 도 5에서 위치 좌표 <3,5>, <4,5>, <2,4>, <2,3>, <3,2>, <4,2>, <5,4>, <5,3>에 해당하는 데이터 서버들이 추가 확장 대상 데이터 서버에 해당할 수 있다.
이 때, 본 발명에 따라 추가 확장 대상 데이터 서버(521~528)들의 서버 상태를 확인하여 절전모드가 해제되어 있는 지와 정상적으로 동작 중인지 여부를 확인할 수 있다.
다른 예를 들어, 시스템 관리자가 미리 설정한 웨이크업 값이 2라고 가정한다면, 확장 볼륨(510)에 포함된 데이터 서버(511~514)에서 2홉만큼 떨어진 곳에 위치한 데이터 서버들도 추가 확장 대상 데이터 서버(531~542)로 추가 검색할 수 있다. 즉, 도 5에서 위치 좌표 <1,3>, <1,4>, <2,2>, <2,5>, <3,1>, <3,6>, <4,1>, <4,6>, <5,2>, <5,5>, <6,3>, <6,4>에 해당하는 데이터 서버들을 추가 확장 대상 데이터 서버에 추가시킬 수 있다.
이 때, 확장 볼륨(510)에 대해서 접근이 많을수록 볼륨 확장이 빠르게 발생할 수 있기 때문에, 이러한 경우에는 웨이크업 값을 크게 설정하여 앞으로 수행될 다수의 볼륨 확장에 대비하도록 할 수 있다.
도 6은 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 축소가 요청된 축소 대상 볼륨에 대해 인접 볼륨을 검색한다(S610).
예를 들어, 축소 대상 볼륨은 두 개 이상의 데이터 서버를 이용하여 스토리지 서비스를 제공하다가, 클라이언트 수가 감소하여 볼륨 입출력 요구가 계속해서 감소될 것으로 예상되는 볼륨에 해당할 수 있다. 따라서, 클라이언트 수가 감소하는지 여부나 또는 볼륨에 대한 파일 입출력 요구가 감소하는지 여부를 기반으로 축소 대상 볼륨을 선택할 수 있다.
이 때, 축소 대상 볼륨으로부터 기설정된 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 인접 볼륨으로 검색할 수 있다. 예를 들어, 토러스 연결망을 기반으로 축소 대상 볼륨으로부터 이웃 값에 해당하는 홉(hop)만큼 떨어진 데이터 서버들을 검색하고, 해당 데이터 서버들을 하나라도 포함하는 볼륨을 인접 볼륨으로 검색할 수 있다.
이 때, 기설정된 이웃 값은 시스템 관리자에 의해 미리 설정될 수 있으며, 시스템 관리 체계에 따라 자유롭게 수정될 수도 있다.
이 때, 인접볼륨은 분산 파일 시스템에 따라 다수 개 존재할 수도 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 축소 대상 볼륨에서 복수개의 삭제 후보 데이터 서버들을 선택한다(S620).
즉, 인접 볼륨으로 클라이언트의 접근이 빈번하여 확장이 예상되는지 여부를 고려하여 복수개의 삭제 후보 데이터 서버들을 선택할 수 있다.
이 때, 인접 볼륨의 볼륨 확장이 예상되는 경우에 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 인접 볼륨에 포함되거나 인접 볼륨의 방향에 위치하는 데이터 서버를 복수개의 삭제 후보 데이터 서버들로 선택할 수 있다. 즉, 확장이 예상되는 인접 볼륨은 계속해서 데이터 서버가 확장될 가능성이 있으므로, 축소 대상 볼륨이 인접 볼륨의 방향으로 위치한 데이터 서버를 볼륨에서 삭제한다면 볼륨간 데이터 서버가 중첩될 가능성을 감소시킬 수 있다.
이 때, 인접 볼륨의 볼륨 확장이 예상되지 않는 경우에 축소 대상 볼륨에 포함된 복수개의 데이터 서버들을 복수개의 삭제 후보 데이터 서버들로 선택할 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은 복수개의 삭제 후보 데이터 서버들 각각의 서버 상태 및 복수개의 삭제 후보 데이터 서버들을 각각 축소 대상 볼륨에서 삭제했을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 복수개의 삭제 후보 데이터 서버들 중 어느 하나의 삭제 데이터 서버를 축소 대상 볼륨에서 삭제한다(S630).
즉, 복수개의 삭제 후보 데이터 서버들 중 서버 상태와 네트워크 통신 비용을 고려하였을 때 가장 적합한 삭제 후보 데이터 서버를 축소 대상 볼륨에서 삭제될 삭제 데이터 서버로 선택할 수 있다.
이 때, 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함할 수 있다.
또한, 네트워크 통신 비용은 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버 간 통신 비용에 해당할 수 있다.
이 때, 분산 파일 시스템에서는 내결함성을 지원하기 위해서 데이터 서버들 간에 지속적으로 데이터를 주고받기 때문에 네트워크 통신 비용이 매우 중요한 요소에 해당할 수 있다.
이 때, 복수개의 삭제 후보 데이터 서버들 각각에 대해 서버 상태와 네트워크 통신 비용을 기반으로 점수를 부여할 수 있다.
이 때, CPU 사용량 및 네트워크 사용량 중 적어도 하나가 많을수록 점수를 높게 부여하고, 메모리 사용량 및 네트워크 통신 비용 중 적어도 하나가 적을수록 점수를 높게 부여할 수 있다.
이 때, CPU 사용량과 네트워크 사용량이 많은 데이터 서버일수록 축소 대상 볼륨에서 제외시켜 CPU 사용량이나 네트워크 사용량이 감소할 수 있도록 할 수 있다.
또한, 볼륨 데이터의 양이 많은 데이터 서버가 볼륨에서 삭제될 경우에 해당 데이터 서버에 저장된 볼륨 데이터를 볼륨에 남아있는 다른 데이터 서버들로 이주시키면서 부하가 발생할 수 있다. 따라서, 데이터 서버의 메모리 사용량이 적을수록 점수를 높게 부여할 수 있다.
이 때, 복수개의 삭제 후보 데이터 서버들 중 점수가 가장 높은 어느 하나의 삭제 후보 데이터 서버를 삭제 데이터 서버로 선정할 수 있다.
또한, 도 6에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은 축소 대상 볼륨에 대해 축소가 예상되는 인접 볼륨이 존재하는지 여부를 검색한다.
이 때, 축소가 예상되는 인접 볼륨이 존재하는 경우, 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 축소가 예상되는 인접 볼륨으로부터 기설정된 기준 값 이내에 위치하는 데이터 서버를 복수개의 삭제 후보 데이터 서버들에서 제외할 수 있다. 즉, 축소가 예상되는 인접 볼륨에서도 볼륨 축소가 발생한다면 자연스럽게 축소 대상 볼륨과 데이터 서버가 중첩될 가능성이 감소될 수 있다. 따라서, 축소 대상 볼륨에서는 굳이 축소가 예상되는 인접 볼륨의 방향으로 위치하는 데이터 서버를 삭제시키기 보다는 다른 방향의 데이터 서버를 삭제함으로써 다른 볼륨들과의 데이터 서버 중첩 가능성을 감소시킬 수 있다.
또한, 도 6에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은 축소 대상 볼륨에서 삭제 데이터 서버가 삭제된 축소 볼륨을 기준으로 기설정된 슬립(sleep) 값만큼 떨어져서 위치하는 복수개의 절전 대상 데이터 서버들을 절전모드로 설정할 수 있다.
이 때, 시스템 관리자는 전체 분산 파일 시스템의 전력 소비를 줄이기 위해서 최대한 많은 데이터 서버를 절전모드로 설정할 수 있다. 하지만, 클라이언트로부터의 접근이 없는 데이터 서버라고 하여 무분별하게 절전모드로 설정해버리면, 가까운 미래에 해당 데이터 서버를 다시 사용해야 하는 경우가 빈번히 발생할 수도 있다. 이러한 경우, 다시 절전모드를 해제하고 사용해야 하기 때문에 심각한 성능저하가 발생할 수도 있다. 따라서, 가까운 미래에 접근이 일어날 가능성이 적은 데이터 서버를 선별하여 절전모드로 설정해야 성능 저하 없이 전체 시스템의 전력 소모를 감소시킬 수 있다.
따라서, 본 발명에서는 축소가 완료된 축소 볼륨을 기준으로 슬립 값만큼 떨어진 데이터 서버들을 대상으로 절전모드를 설정함으로써 전력의 소비를 감소시킴과 동시에 시스템의 성능 저하를 방지할 수 있다.
이 때, 복수개의 절전 대상 데이터 서버들이 다른 볼륨에 영향을 받아 절전모드를 해제해야 하는 경우에는 절전모드를 해제할 수도 있다. 예를 들어, 복수개의 절전 대상 데이터 서버들 중 어느 하나의 데이터 서버가 축소 볼륨에 대한 절전 대상 데이터 서버임과 동시에 다른 확장 볼륨에 대한 추가 확장 대상 데이터 서버일수도 있다. 따라서 이러한 경우에는, 해당 데이터 서버가 사용될 가능성이 있으므로 절전 대상 데이터 서버일지라도 절전모드를 해제할 수 있다.
또한, 절전모드를 설정할 때에는 SSD나 HDD등의 저장장치를 먼저 절전모드로 변경한 이후에 시스템 관리자가 설정한 절전모드 대기시간이 지나면 데이터 서버를 절전모드로 설정하여, 혹시 모를 절전모드의 해제가 필요한 경우에 빠르게 대처할 수도 있다.
이 때, 축소 볼륨에 대한 추가적인 볼륨 축소 여부를 예상할 수 있다.
즉, 축소 볼륨에 대한 접근이 지속적으로 줄어들거나 일정기간 동안 전무한 경우 추가적인 볼륨 축소가 수행될 수 있다.
이 때, 축소 볼륨의 추가적인 볼륨 축소가 예상되는 경우에 슬립 값을 감소시켜서 절전모드를 추가로 설정할 수 있다. 즉, 축소 볼륨으로부터 더 가까운 절전 대상 데이터 서버를 검색하여 절전모드로 설정함으로써 분산 파일 시스템의 소모 전력을 보다 감소시킬 수 있다.
또한, 도 6에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 축소 방법은 상술한 바와 같은 볼륨 축소 과정에서 발생하는 다양한 정보를 저장할 수 있다.
도 7은 도 6에 도시된 볼륨 축소 방법에 따른 볼륨 축소 절차를 개략적으로 나타낸 도면이다.
도 7을 참조하면, 도 6에 도시된 볼륨 축소 방법에 따른 볼륨 축소 절차의 설명을 용이하게 하기 위해서 3차원으로 구성될 수 있는 토러스 연결망을 2차원으로 한정하여 도시하였으나, 본 발명은 3차원 토러스 연결망에도 적용이 가능할 수 있다.
먼저, 도 7에 도시된 데이터 서버들은 토러스 연결망 기반으로 연결된 8*8 형태의 데이터 서버들에 해당할 수 있다.
이 때, 도면 부호 710에 해당하는 볼륨이 축소 대상 볼륨(710)이라고 가정한다면, 도면 부호 720에 해당하는 볼륨이 축소 대상 볼륨(710)에 대한 인접 볼륨(720)일 수 있다.
만약, 인접 볼륨(720)이 접근이 빈번하게 발생하여 확장이 예상되는 볼륨이라고 가정한다면, 축소 대상 볼륨(710)에 포함된 데이터 서버들 중 인접 볼륨(720)의 방향으로 위치한 데이터 서버들이 삭제 후보 데이터 서버(711~713)들에 해당할 수 있다.
즉, 인접 볼륨(720)이 향후 볼륨 확장을 수행한다면, 축소 대상 볼륨(710)에 포함된 데이터 서버를 추가 할당할 수도 있으므로, 이러한 데이터 서버의 중첩 가능성을 낮추기 위해서 확장이 예상되는 인접 볼륨(720)의 방향으로 위치한 데이터 서버들 중 삭제할 후보를 선택할 수 있다.
이 후, 데이터 서버의 상태 정보와 삭제 후보 데이터 서버(711~713)들이 각각 축소 대상 볼륨(710)에서 삭제되었을 경우의 네트워크 통신 비용을 고려하여 한정된 삭제 후보 데이터 서버(711~713)들 중 어느 하나의 데이터 서버를 축소 대상 볼륨(710)에서 제외시킬 수 있다.
도 8은 본 발명의 일실시예에 따른 볼륨 축소 방법에서 볼륨 축소 후 절전 기능을 수행하는 과정을 나타낸 동작 흐름도이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 볼륨 축소 방법에서 볼륨 축소 후 절전 기능을 수행하는 과정은 먼저 축소 볼륨에 대해 슬립(sleep) 값만큼 떨어져서 위치하는 절전 대상 데이터 서버들을 검색한다(S810).
즉, 축소 볼륨에 대해 인접한 데이터 서버들을 검색할 수 있다.
이 후, 절전모드가 해제된 절전 대상 데이터 서버가 존재하는지 여부를 판단한다(S815).
이 때, 복수개의 절전 대상 데이터 서버들의 서버 상태를 확인하여 절전모드가 해제되었는지 여부를 확인할 수 있다.
단계(S815)의 판단결과 절전모드가 해제된 절전 대상 데이터 서버가 존재하면, 해당 절전 대상 데이터 서버를 절전모드로 설정하고(S820), 슬립 값만큼 떨어진 절전 대상 데이터 서버들의 정상 동작 여부를 재점검한다(S830).
이 때, 해당 절전 대상 데이터 서버가 축소 볼륨 이외의 다른 볼륨에도 인접한 경우에는 그에 따른 슬립 값 만족여부를 확인하여 절전모드로 설정할 수 있다.
이 때, 시스템 관리자는 전체 시스템의 전력 소비를 줄이기 위해서 최대한 많은 데이터 서버를 절전모드로 설정해야 하지만, 단순히 접근이 적은 데이터 서버를 절전모드로 설정한다면 절전모드를 해제해야 하는 경우가 빈번하게 발생할 수 있어 오히려 시스템 성능에 저하가 발생할 수도 있다.
따라서, 본 발명에서는 축소 볼륨과 같이 클라이언트로부터 접근이 발생하지 않을 것으로 예상되는 볼륨과 인접한 데이터 서버들을 대상으로 절전모드를 설정함으로써 시스템 성능 저하를 예방하면서도 전력 소모를 감소시킬 수 있도록 제어할 수 있다.
또한, 단계(S815)의 판단결과 절전모드가 해제된 절전 대상 데이터 서버가 존재하지 않는 경우에도, 슬립 값만큼 떨어진 절전 대상 데이터 서버들의 정상 동작 여부를 재점검하여(S840), 전체 분산 파일 시스템의 동작에 문제가 발생하지 않도록 대비할 수 있다.
도 9는 도 8에 도시된 절전 기능을 수행하는 절차를 개략적으로 나타낸 도면이다.
도 9를 참조하면, 도 8에 도시된 절전 기능을 수행하는 절차에 따라 시스템의 전력 소모를 감소시키기 위해서는 먼저 관리자가 설정해 놓은 슬립(sleep) 값을 확인할 수 있다.
예를 들어, 시스템 관리자가 미리 설정한 슬립 값이 2라고 가정한다면, 축소 볼륨(910)에 포함된 데이터 서버(911~914)에서 2홉만큼 떨어진 곳에 위치한 데이터 서버들을 절전 대상 데이터 서버(931~942)들로 검색할 수 있다. 즉, 도 9에서 위치 좌표 <1,3>, <1,4>, <2,2>, <2,5>, <3,1>, <3,6>, <4,1>, <4,6>, <5,2>, <5,5>, <6,3>, <6,4>에 해당하는 12 대의 데이터 서버들이 절전 대상 데이터 서버에 해당할 수 있다.
이 때, 본 발명에 따라 절전 대상 데이터 서버(931~942)들의 서버 상태를 확인하여 절전모드로 설정되어 있는 지와 정상적으로 동작 중인지 여부를 확인할 수 있다.
만약, 축소 볼륨(910)에 대한 접근이 적어나 없어서 추가적인 볼륨 축소가 예상된다면, 시스템 관리자는 슬립 값을 1로 설정함으로써 축소 볼륨과 더 가까운 데이터 서버들도 절전 대상 데이터 서버로 추가할 수 있다. 즉, 도 9에서 위치 좌표 <3,5>, <4,5>, <2,4>, <2,3>, <3,2>, <4,2>, <5,4>, <5,3>에 해당하는 8대의 데이터 서버들을 절전 대상 데이터 서버에 추가시켜 시스템 소모 전력을 줄일 수 있다.
도 10은 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 조절 장치를 나타낸 블록도이다.
도 10을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템의 볼륨 조절 장치는 통신부(1010), 검색부(1020), 선택부(1030), 제어부(1040) 및 저 장부(1050)를 포함한다.
통신부(1010)는 토러스 네트워크와 같은 통신망을 통해 분산 파일 시스템의 볼륨 조절을 위해 필요한 데이터를 송수신하는 역할을 할 수 있다. 특히, 본 발명의 일실시예에 따른 통신부(1010)는 볼륨 확대 또는 축소 요청을 수신하거나 데이터 서버들의 서버 상태 등을 수신할 수도 있다.
검색부(1020)는 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 확장이 요청된 확장 대상 볼륨에 대해 제1 인접 볼륨을 검색한다.
예를 들어, 확장 대상 볼륨은 초기에 하나 이상의 데이터 서버를 이용하여 스토리지 서비스를 제공하다가, 클라이언트 수가 급증하여 볼륨 입출력 요구가 급증될 것으로 예상되는 볼륨에 해당할 수 있다. 따라서, 클라이언트 수가 증가하는지 여부나 또는 볼륨에 대한 파일 입출력 요구가 증가하는지 여부를 기반으로 확장 대상 볼륨을 선택할 수 있다.
이 때, 확장 대상 볼륨으로부터 기설정된 제1 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 제1 인접 볼륨으로 검색할 수 있다. 예를 들어, 토러스 연결망을 기반으로 확장 대상 볼륨으로부터 제1 이웃 값에 해당하는 홉(hop)만큼 떨어진 데이터 서버들을 검색하고, 해당 데이터 서버들을 하나라도 포함하는 볼륨을 제1 인접 볼륨으로 검색할 수 있다.
이 때, 기설정된 제1 이웃 값은 시스템 관리자에 의해 미리 설정될 수 있으며, 시스템 관리 체계에 따라 자유롭게 수정될 수도 있다.
이 때, 제1 인접볼륨은 분산 파일 시스템에 따라 다수 개 존재할 수도 있다.
또한, 검색부(1020)는 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 축소가 요청된 축소 대상 볼륨에 대해 제2 인접 볼륨을 검색한다.
예를 들어, 축소 대상 볼륨은 두 개 이상의 데이터 서버를 이용하여 스토리지 서비스를 제공하다가, 클라이언트 수가 감소하여 볼륨 입출력 요구가 계속해서 감소될 것으로 예상되는 볼륨에 해당할 수 있다. 따라서, 클라이언트 수가 감소하는지 여부나 또는 볼륨에 대한 파일 입출력 요구가 감소하는지 여부를 기반으로 축소 대상 볼륨을 선택할 수 있다.
이 때, 축소 대상 볼륨으로부터 기설정된 제2 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 제2 인접 볼륨으로 검색할 수 있다. 예를 들어, 토러스 연결망을 기반으로 축소 대상 볼륨으로부터 제2 이웃 값에 해당하는 홉(hop)만큼 떨어진 데이터 서버들을 검색하고, 해당 데이터 서버들을 하나라도 포함하는 볼륨을 제2 인접 볼륨으로 검색할 수 있다.
이 때, 기설정된 제2 이웃 값은 시스템 관리자에 의해 미리 설정될 수 있으며, 시스템 관리 체계에 따라 자유롭게 수정될 수도 있다.
이 때, 제2 인접 볼륨은 분산 파일 시스템에 따라 다수 개 존재할 수도 있다.
선택부(1030)는 제1 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 확장 대상 볼륨으로부터 서버 추가 방향으로 기설정된 검색 값 이내에 위치하는 복수개의 추가 후보 데이터 서버들을 선택한다.
예를 들어, 기설정된 검색 값이 2라고 가정한다면, 확장 대상 볼륨으로부터 2 홉 이내에 위치하는 복수개의 데이터 서버들을 검색하여 복수개의 추가 후보 데이터 서버들로 인식할 수 있다. 이 때, 서버 추가 방향에서 제외된 방향이 있다면, 해당 방향으로는 데이터 서버를 검색하지 않을 수 있다.
이 때, 기설정된 검색 값은 시스템 관리자에 의해 사전에 설정될 수 있다.
이 때, 제1 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 확장 대상 볼륨에 대한 서버 추가 방향을 결정할 수 있다.
즉, 제1 인접 볼륨으로 클라이언트의 접근이 빈번하여 확장이 예상되는지 여부를 고려하여 서버 추가 방향을 결정할 수 있다.
이 때, 제1 인접 볼륨의 볼륨 확장이 예상되는 경우에 확장 대상 볼륨으로부터 제1 인접 볼륨으로 향하는 방향을 서버 추가 방향에서 제외할 수 있다.
예를 들어, 2차원 좌표상에서 확장이 예상되는 제1 인접 볼륨이 확장 대상 볼륨보다 y축 상으로 위쪽에 위치한다고 가정할 수 있다. 이 때, 확장 대상 볼륨을 기준으로 위쪽 방향은 서버 추가 방향에서 제외시킬 수 있다.
이 때, 확장이 예상되는 제1 인접 볼륨은 계속해서 데이터 서버가 확장될 가능성이 있으므로, 확장 대상 볼륨이 제1 인접 볼륨의 방향으로 데이터 서버를 추가한다면 볼륨간 데이터 서버가 중첩될 가능성이 높아질 수 있다. 따라서, 이러한 중첩 확률을 감소시키기 위해서는 확장이 예상되는 제1 인접 볼륨이 위치하는 방향으로는 서버 추가 방향을 설정하지 않음으로써 데이터 서버가 추가되지 않도록 할 수 있다.
또한, 선택부(1030)는 제2 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 축소 대상 볼륨에서 복수개의 삭제 후보 데이터 서버들을 선택한다.
즉, 제2 인접 볼륨으로 클라이언트의 접근이 빈번하여 확장이 예상되는지 여부를 고려하여 복수개의 삭제 후보 데이터 서버들을 선택할 수 있다.
이 때, 제2 인접 볼륨의 볼륨 확장이 예상되는 경우에 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 제2 인접 볼륨에 포함되거나 제2 인접 볼륨의 방향에 위치하는 데이터 서버를 복수개의 삭제 후보 데이터 서버들로 선택할 수 있다. 즉, 확장이 예상되는 제2 인접 볼륨은 계속해서 데이터 서버가 확장될 가능성이 있으므로, 축소 대상 볼륨이 제2 인접 볼륨의 방향으로 위치한 데이터 서버를 볼륨에서 삭제한다면 볼륨간 데이터 서버가 중첩될 가능성을 감소시킬 수 있다.
이 때, 제2 인접 볼륨의 볼륨 확장이 예상되지 않는 경우에 축소 대상 볼륨에 포함된 복수개의 데이터 서버들을 복수개의 삭제 후보 데이터 서버들로 선택할 수 있다.
제어부(1040)는 복수개의 추가 후보 데이터 서버들 각각의 서버 상태 및 복수개의 추가 후보 데이터 서버들을 각각 확장 대상 볼륨에 추가시켰을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 확장 대상 볼륨에 추가한다.
즉, 복수개의 추가 후보 데이터 서버들 중 서버 상태와 네트워크 통신 비용을 고려하였을 때 가장 적합한 추가 후보 데이터 서버를 확장 대상 볼륨에 추가할 추가 데이터 서버로 선택할 수 있다.
이 때, 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함하고, 네트워크 통신 비용은 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버간 통신 비용에 해당할 수 있다.
이 때, 분산 파일 시스템에서는 내결함성을 지원하기 위해서 데이터 서버들 간에 지속적으로 데이터를 주고받기 때문에 네트워크 통신 비용이 매우 중요한 요소에 해당할 수 있다.
이 때, 복수개의 추가 후보 데이터 서버들 중 서버 상태와 네트워크 통신 비용을 기반으로 가장 높은 점수를 획득한 어느 하나의 1순위 후보 데이터 서버를 선정할 수 있다.
이 때, CPU 사용량, 메모리 사용량, 네트워크 사용량 및 네트워크 통신 비용이 적을수록 상기 점수를 높게 부여할 수 있다. 즉, CPU 사용량, 메모리 사용량, 네트워크 사용량 및 네트워크 통신 비용이 적게 발생하는 데이터 서버일수록 확장에 유리한 데이터 서버에 해당할 수 있다.
이 때, 복수개의 추가 후보 데이터 서버들 중 점수가 기설정된 기준 점수 이상인 적어도 하나의 2순위 후보 데이터 서버가 존재하는지 여부를 판단할 수 있다.
이 때, 기설정된 기준 점수는 서버 상태와 네트워크 통신 비용을 기반으로 부여되는 점수의 만점에 대한 일정비율에 해당하거나 또는 1순위 후보 데이터 서버의 점수에 대한 일정 비율에 해당할 수도 있다.
이 때, 적어도 하나의 2순위 후보 데이터 서버가 존재하는 경우에 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 각각에 대해 추가 할당 시뮬레이션을 수행하고, 추가 할당 시뮬레이션의 결과에 따라 1순위 후보 데이터 서버 및 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 데이터 서버를 추가 데이터 서버로 선정할 수 있다.
이 때, 추가 할당 시뮬레이션을 수행하였을 경우에 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 각각에 의해서 추가될 추가 예상 데이터 서버를 고려하여 추가 데이터 서버를 선정할 수 있다.
이 때, 추가 할당 시뮬레이션은 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 추가 후보 데이터 서버를 확장 대상 볼륨에 추가시켜 가상 확장 볼륨을 생성하고, 가상 확장 볼륨을 확장 대상 볼륨으로 인식하고 확장을 수행하여 추가 예상 데이터 서버를 검색할 수 있다.
즉, 추가 할당 시뮬레이션은 볼륨을 확장하는 본 발명의 과정을 반복적으로 수행함으로써 앞으로 확장 대상 볼륨에 추가 할당이 예상되는 데이터 서버들의 상태와 네트워크 비용을 확인하는 수단일 수 있다.
이 때, 기설정된 시뮬레이션 횟수만큼 추가 할당 시뮬레이션을 반복 수행할 수 있다. 예를 들어, 시스템 관리자가 기설정된 시뮬레이션 횟수에 해당하는 whatif 값을 2로 설정한 경우에는 1순위 후보 데이터 서버와 적어도 하나의 2순위 후보 데이터 서버 각각에 대해서 2번씩 추가 할당 시뮬레이션을 수행할 수 있다.
이와 같이 추가 할당 시뮬레이션을 수행함으로써 가장 높은 점수를 받은 1순위 후보 데이터 서버가 볼륨 확장을 위해 추가되는 추가 데이터 서버로서 가장 적합한지 여부를 검증할 수 있다.
즉, 1순위 후보 데이터 서버를 제외하고도 비교적 높은 점수를 획득한 2순위 후보 데이터 서버가 존재한다면, 2순위 후보 데이터 서버에 대해서도 추가 할당 시뮬레이션을 수행하여 1순위 후보 데이터 서버의 시뮬레이션 결과와 비교 분석해볼 수 있다. 만약, 확장 대상 볼륨의 볼륨 확장을 위해서 1순위 후보 데이터 서버의 점수가 가장 높더라도, 그 다음 볼륨 확장까지 고려했을 때에는 2순위 후보 데이터 서버를 추가하는 것이 보다 적합하다고 판단된다면 2순위 후보 데이터 서버를 추가 데이터 서버로 선정하여 확장 대상 볼륨에 추가시킬 수도 있다.
또한, 확장 대상 볼륨에 추가 데이터 서버가 추가된 확장 볼륨을 기준으로 기설정된 웨이크업(wakeup) 값 이내에 위치하는 복수개의 추가 확장 대상 데이터 서버들의 절전모드를 해제할 수 있다.
이 때, 분산 파일 시스템에서 한번 볼륨 확장이 완료된 확장 볼륨은 또 다시 확장될 가능성이 클 수 있다. 따라서, 확장 가능성이 높은 볼륨에 인접한 데이터 서버들의 상태로 수시로 확인하여 볼륨 확장에 대비해야 할 수 있다.
따라서, 본 발명에서는 기설정된 웨이크업 값을 통해 확장 볼륨과 인접하게 위치하는 데이터 서버들을 추가 확장 대상 데이터 서버들로 선택하고, 선택된 추가 확장 대상 데이터 서버들의 절전모드를 해제함으로써 다음의 볼륨 확장을 대비할 수 있다.
이를 통해 추가로 볼륨 확장이 요청되는 경우, 볼륨 확장을 빠르게 수행하여 성능 저하 없이 스토리지 서비스를 클라이언트에게 제공할 수 있다.
또한, 제어부(1040)는 복수개의 삭제 후보 데이터 서버들 각각의 서버 상태 및 복수개의 삭제 후보 데이터 서버들을 각각 축소 대상 볼륨에서 삭제했을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 복수개의 삭제 후보 데이터 서버들 중 어느 하나의 삭제 데이터 서버를 축소 대상 볼륨에서 삭제한다.
즉, 복수개의 삭제 후보 데이터 서버들 중 서버 상태와 네트워크 통신 비용을 고려하였을 때 가장 적합한 삭제 후보 데이터 서버를 축소 대상 볼륨에서 삭제될 삭제 데이터 서버로 선택할 수 있다.
이 때, 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함할 수 있다.
또한, 네트워크 통신 비용은 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버 간 통신 비용에 해당할 수 있다.
이 때, 분산 파일 시스템에서는 내결함성을 지원하기 위해서 데이터 서버들 간에 지속적으로 데이터를 주고받기 때문에 네트워크 통신 비용이 매우 중요한 요소에 해당할 수 있다.
이 때, 복수개의 삭제 후보 데이터 서버들 각각에 대해 서버 상태와 네트워크 통신 비용을 기반으로 점수를 부여할 수 있다.
이 때, CPU 사용량 및 네트워크 사용량 중 적어도 하나가 많을수록 점수를 높게 부여하고, 메모리 사용량 및 네트워크 통신 비용 중 적어도 하나가 적을수록 점수를 높게 부여할 수 있다.
이 때, CPU 사용량과 네트워크 사용량이 많은 데이터 서버일수록 축소 대상 볼륨에서 제외시켜 CPU 사용량이나 네트워크 사용량이 감소할 수 있도록 할 수 있다.
또한, 볼륨 데이터의 양이 많은 데이터 서버가 볼륨에서 삭제될 경우에 해당 데이터 서버에 저장된 볼륨 데이터를 볼륨에 남아있는 다른 데이터 서버들로 이주시키면서 부하가 발생할 수 있다. 따라서, 데이터 서버의 메모리 사용량이 적을수록 점수를 높게 부여할 수 있다.
이 때, 복수개의 삭제 후보 데이터 서버들 중 점수가 가장 높은 어느 하나의 삭제 후보 데이터 서버를 삭제 데이터 서버로 선정할 수 있다.
또한, 축소 대상 볼륨에 대해 축소가 예상되는 인접 볼륨이 존재하는지 여부를 검색한다.
이 때, 축소가 예상되는 인접 볼륨이 존재하는 경우, 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 축소가 예상되는 인접 볼륨으로부터 기설정된 기준 값 이내에 위치하는 데이터 서버를 복수개의 삭제 후보 데이터 서버들에서 제외할 수 있다. 즉, 축소가 예상되는 인접 볼륨에서도 볼륨 축소가 발생한다면 자연스럽게 축소 대상 볼륨과 데이터 서버가 중첩될 가능성이 감소될 수 있다. 따라서, 축소 대상 볼륨에서는 굳이 축소가 예상되는 인접 볼륨의 방향으로 위치하는 데이터 서버를 삭제시키기 보다는 다른 방향의 데이터 서버를 삭제함으로써 다른 볼륨들과의 데이터 서버 중첩 가능성을 감소시킬 수 있다.
또한, 축소 대상 볼륨에서 삭제 데이터 서버가 삭제된 축소 볼륨을 기준으로 기설정된 슬립(sleep) 값만큼 떨어져서 위치하는 복수개의 절전 대상 데이터 서버들을 절전모드로 설정할 수 있다.
이 때, 시스템 관리자는 전체 분산 파일 시스템의 전력 소비를 줄이기 위해서 최대한 많은 데이터 서버를 절전모드로 설정할 수 있다. 하지만, 클라이언트로부터의 접근이 없는 데이터 서버라고 하여 무분별하게 절전모드로 설정해버리면, 가까운 미래에 해당 데이터 서버를 다시 사용해야 하는 경우가 빈번히 발생할 수도 있다. 이러한 경우, 다시 절전모드를 해제하고 사용해야 하기 때문에 심각한 성능저하가 발생할 수도 있다. 따라서, 가까운 미래에 접근이 일어날 가능성이 적은 데이터 서버를 선별하여 절전모드로 설정해야 성능 저하 없이 전체 시스템의 전력 소모를 감소시킬 수 있다.
따라서, 본 발명에서는 축소가 완료된 축소 볼륨을 기준으로 슬립 값만큼 떨어진 데이터 서버들을 대상으로 절전모드를 설정함으로써 전력의 소비를 감소시킴과 동시에 시스템의 성능 저하를 방지할 수 있다.
이 때, 복수개의 절전 대상 데이터 서버들이 다른 볼륨에 영향을 받아 절전모드를 해제해야 하는 경우에는 절전모드를 해제할 수도 있다. 예를 들어, 복수개의 절전 대상 데이터 서버들 중 어느 하나의 데이터 서버가 축소 볼륨에 대한 절전 대상 데이터 서버임과 동시에 다른 확장 볼륨에 대한 추가 확장 대상 데이터 서버일수도 있다. 따라서 이러한 경우에는, 해당 데이터 서버가 사용될 가능성이 있으므로 절전 대상 데이터 서버일지라도 절전모드를 해제할 수 있다.
또한, 절전모드를 설정할 때에는 SSD나 HDD등의 저장장치를 먼저 절전모드로 변경한 이후에 시스템 관리자가 설정한 절전모드 대기시간이 지나면 데이터 서버를 절전모드로 설정하여, 혹시 모를 절전모드의 해제가 필요한 경우에 빠르게 대처할 수도 있다.
이 때, 축소 볼륨에 대한 추가적인 볼륨 축소 여부를 예상할 수 있다.
즉, 축소 볼륨에 대한 접근이 지속적으로 줄어들거나 일정기간 동안 전무한 경우 추가적인 볼륨 축소가 수행될 수 있다.
이 때, 축소 볼륨의 추가적인 볼륨 축소가 예상되는 경우에 슬립 값을 감소시켜서 절전모드를 추가로 설정할 수 있다. 즉, 축소 볼륨으로부터 더 가까운 절전 대상 데이터 서버를 검색하여 절전모드로 설정함으로써 분산 파일 시스템의 소모 전력을 보다 감소시킬 수 있다.
저 장부(1050)는 상술한 바와 같이 본 발명의 실시예에 따른 볼륨 조절 과정에서 발생되는 다양한 정보를 저장한다.
실시예에 따라, 저 장부(1050)는 볼륨 조절 장치와 독립적으로 구성되어 볼륨 조절을 위한 기능을 지원할 수 있다. 이 때, 저 장부(1050)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.
한편, 볼륨 조절 장치는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
이 때, 본 발명에 따른 분산 파일 시스템의 볼륨 조절 장치는 스위치를 통해 데이터 서버들과 연결되어 동작하거나 또는 토러스 네트워크 내부에 위치하여 동작할 수도 있다.
이와 같은 분산 파일 시스템의 볼륨 조절 장치를 이용함으로써 엑사바이트 급 클라우드 스토리지 구축을 위한 토러스 연결망 기반의 분산 파일 시스템에서 볼륨의 확장과 축소를 효과적으로 지원할 수 있다.
또한, 데이터 서버를 볼륨에 추가하거나 제거할 때 볼륨에 할당된 데이터 서버간 네트워크 통신 비용을 최소화할 수 있다.
또한, 인접한 볼륨의 상태를 고려한 방향으로 볼륨을 확장하거나 축소함으로써 볼륨 중첩 등으로 인한 성능 저하를 방지할 수 있다.
또한, 볼륨을 확장하거나 축소할 때 볼륨과 인접한 데이터 서버들의 절전모드를 적절히 변경함으로써 대규모 분산 파일 시스템의 전체 전력 소비를 감소시킬 수 있다.
이상에서와 같이 본 발명에 따른 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
210, 310: 확장 대상 볼륨
211~214, 311~314: 확장 대상 볼륨의 데이터 서버
220, 720: 확장 예상 인접 볼륨
221~224, 721~724: 인접 볼륨의 데이터 서버
231~241: 추가 후보 데이터 서버
251~258: 추가 후보에서 제외된 데이터 서버
510: 확장 볼륨 320: 1순위 후보 데이터 서버
330: 추가 예상 데이터 서버
521~528, 531~542: 추가 확장 대상 데이터 서버
710: 축소 대상 볼륨 711~713: 삭제 후보 데이터 서버
910: 축소 볼륨
921~928, 931~942: 절전 대상 데이터 서버
1010: 통신부 1020: 검색부
1030: 선택부 1040: 제어부
1050: 저장부

Claims (20)

  1. 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 확장이 요청된 확장 대상 볼륨에 대해 인접 볼륨을 검색하는 단계;
    상기 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 상기 확장 대상 볼륨에 대한 서버 추가 방향을 결정하는 단계;
    상기 확장 대상 볼륨으로부터 상기 서버 추가 방향으로 기설정된 검색 값 이내에 위치하는 복수개의 추가 후보 데이터 서버들을 검색하는 단계; 및
    상기 복수개의 추가 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 추가 후보 데이터 서버들을 각각 상기 확장 대상 볼륨에 추가시켰을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 상기 확장 대상 볼륨에 추가하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  2. 청구항 1에 있어서,
    상기 추가하는 단계는
    상기 복수개의 추가 후보 데이터 서버들 중 상기 서버 상태와 상기 네트워크 통신 비용을 기반으로 가장 높은 점수를 획득한 어느 하나의 1순위 후보 데이터 서버를 선정하는 단계;
    상기 복수개의 추가 후보 데이터 서버들 중 상기 점수가 기설정된 기준 점수 이상인 적어도 하나의 2순위 후보 데이터 서버가 존재하는지 여부를 판단하는 단계; 및
    상기 적어도 하나의 2순위 후보 데이터 서버가 존재하는 경우에 상기 1순위 후보 데이터 서버와 상기 적어도 하나의 2순위 후보 데이터 서버 각각에 대해 추가 할당 시뮬레이션을 수행하고, 상기 추가 할당 시뮬레이션의 결과에 따라 상기 1순위 후보 데이터 서버 및 상기 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 데이터 서버를 상기 추가 데이터 서버로 선정하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  3. 청구항 2에 있어서,
    상기 추가 데이터 서버로 선정하는 단계는
    상기 추가 할당 시뮬레이션을 수행하였을 경우에 상기 1순위 후보 데이터 서버와 상기 적어도 하나의 2순위 후보 데이터 서버 각각에 의해서 추가될 추가 예상 데이터 서버를 고려하여 상기 추가 데이터 서버를 선정하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  4. 청구항 3에 있어서,
    상기 추가 할당 시뮬레이션은
    상기 1순위 후보 데이터 서버와 상기 적어도 하나의 2순위 후보 데이터 서버 중 어느 하나의 추가 후보 데이터 서버를 상기 확장 대상 볼륨에 추가시켜 가상 확장 볼륨을 생성하고, 상기 가상 확장 볼륨을 상기 확장 대상 볼륨으로 인식하고 확장을 수행하여 상기 추가 예상 데이터 서버를 검색하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  5. 청구항 2에 있어서,
    상기 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함하고, 상기 네트워크 통신 비용은 상기 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버간 통신 비용에 해당하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  6. 청구항 5에 있어서,
    상기 어느 하나의 1순위 후보 데이터 서버를 선정하는 단계는
    상기 CPU 사용량, 상기 메모리 사용량, 상기 네트워크 사용량 및 상기 네트워크 통신 비용 중 적어도 하나가 적을수록 상기 점수를 높게 부여하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  7. 청구항 2에 있어서,
    상기 추가 데이터 서버로 선정하는 단계는
    기설정된 시뮬레이션 횟수만큼 상기 추가 할당 시뮬레이션을 반복 수행하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  8. 청구항 1에 있어서,
    상기 볼륨 확장 방법은
    상기 확장 대상 볼륨에 상기 추가 데이터 서버가 추가된 확장 볼륨을 기준으로 기설정된 웨이크업(wakeup) 값 이내에 위치하는 복수개의 추가 확장 대상 데이터 서버들의 절전모드를 해제하는 단계를 더 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  9. 청구항 1에 있어서,
    상기 서버 추가 방향을 결정하는 단계는
    상기 인접 볼륨의 볼륨 확장이 예상되는 경우에 상기 확장 대상 볼륨으로부터 상기 인접 볼륨으로 향하는 방향을 상기 서버 추가 방향에서 제외하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  10. 청구항 1에 있어서,
    상기 인접 볼륨을 검색하는 단계는
    상기 확장 대상 볼륨으로부터 기설정된 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 상기 인접 볼륨으로 검색하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 확장 방법.
  11. 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 축소가 요청된 축소 대상 볼륨에 대해 인접 볼륨을 검색하는 단계;
    상기 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 상기 축소 대상 볼륨에서 복수개의 삭제 후보 데이터 서버들을 선택하는 단계; 및
    상기 복수개의 삭제 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 삭제 후보 데이터 서버들을 각각 상기 축소 대상 볼륨에서 삭제했을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 삭제 후보 데이터 서버들 중 어느 하나의 삭제 데이터 서버를 상기 축소 대상 볼륨에서 삭제하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  12. 청구항 11에 있어서,
    상기 삭제하는 단계는
    상기 복수개의 삭제 후보 데이터 서버들 각각에 대해 상기 서버 상태와 상기 네트워크 통신 비용을 기반으로 점수를 부여하는 단계; 및
    상기 복수개의 삭제 후보 데이터 서버들 중 상기 점수가 가장 높은 어느 하나의 삭제 후보 데이터 서버를 상기 삭제 데이터 서버로 선정하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  13. 청구항 12에 있어서,
    상기 서버 상태는 CPU 사용량, 메모리 사용량 및 네트워크 사용량 중 적어도 하나를 포함하고, 상기 네트워크 통신 비용은 상기 분산 파일 시스템에 해당하는 토러스 연결 망을 기반으로 홉 수에 비례하여 증가하는 데이터 서버간 통신 비용에 해당하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  14. 청구항 13에 있어서,
    상기 점수를 부여하는 단계는
    상기 CPU 사용량 및 상기 네트워크 사용량 중 적어도 하나가 많을수록 상기 점수를 높게 부여하고, 상기 메모리 사용량 및 상기 네트워크 통신 비용 중 적어도 하나가 적을수록 상기 점수를 높게 부여하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  15. 청구항 11에 있어서,
    상기 볼륨 축소 방법은
    상기 축소 대상 볼륨에 대해 축소가 예상되는 인접 볼륨이 존재하는지 여부를 검색하는 단계; 및
    상기 축소가 예상되는 인접 볼륨이 존재하는 경우, 상기 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 상기 축소가 예상되는 인접 볼륨으로부터 기설정된 기준 값 이내에 위치하는 데이터 서버를 상기 복수개의 삭제 후보 데이터 서버들에서 제외하는 단계를 더 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  16. 청구항 11에 있어서,
    상기 볼륨 축소 방법은
    상기 축소 대상 볼륨에서 상기 삭제 데이터 서버가 삭제된 축소 볼륨을 기준으로 기설정된 슬립(sleep) 값만큼 떨어져서 위치하는 복수개의 절전 대상 데이터 서버들을 절전모드로 설정하는 단계를 더 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  17. 청구항 16에 있어서,
    상기 절전모드로 설정하는 단계는
    상기 축소 볼륨에 대한 추가적인 볼륨 축소 여부를 예상하는 단계; 및
    상기 축소 볼륨의 추가적인 볼륨 축소가 예상되는 경우에 상기 슬립 값을 감소시켜서 상기 절전모드를 추가로 설정하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  18. 청구항 11에 있어서,
    상기 복수개의 삭제 후보 데이터 서버들을 선택하는 단계는
    상기 인접 볼륨의 볼륨 확장이 예상되는 경우에 상기 축소 대상 볼륨에 포함된 복수개의 데이터 서버들 중 상기 인접 볼륨에 포함되거나 상기 인접 볼륨의 방향에 위치하는 데이터 서버를 상기 복수개의 삭제 후보 데이터 서버들로 선택하고,
    상기 인접 볼륨의 볼륨 확장이 예상되지 않는 경우에 상기 축소 대상 볼륨에 포함된 복수개의 데이터 서버들을 상기 복수개의 삭제 후보 데이터 서버들로 선택하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  19. 청구항 11에 있어서,
    상기 인접 볼륨을 검색하는 단계는
    상기 축소 대상 볼륨으로부터 기설정된 이웃 값 이내에 위치하는 데이터 서버를 포함하는 볼륨을 상기 인접 볼륨으로 검색하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 축소 방법.
  20. 분산 파일 시스템에서 클라이언트에 의한 파일 입출력 요구에 따라 볼륨 확장이 요청된 확장 대상 볼륨에 대해 제1 인접 볼륨을 검색하고, 볼륨 축소가 요청된 축소 대상 볼륨에 대해 제2 인접 볼륨을 검색하는 검색부;
    상기 제1 인접 볼륨에 대한 볼륨 확장 여부를 고려하여, 상기 확장 대상 볼륨으로부터 서버 추가 방향으로 기설정된 검색 값 이내에 위치하는 복수개의 추가 후보 데이터 서버들을 선택하고, 상기 제2 인접 볼륨에 대한 볼륨 확장 여부를 고려하여 상기 축소 대상 볼륨에서 복수개의 삭제 후보 데이터 서버들을 선택하는 선택부; 및
    상기 복수개의 추가 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 추가 후보 데이터 서버들을 각각 상기 확장 대상 볼륨에 추가시켰을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 추가 후보 데이터 서버들 중 어느 하나의 추가 데이터 서버를 상기 확장 대상 볼륨에 추가하고, 상기 복수개의 삭제 후보 데이터 서버들 각각의 서버 상태 및 상기 복수개의 삭제 후보 데이터 서버들을 각각 상기 축소 대상 볼륨에서 삭제했을 경우의 네트워크 통신 비용 중 적어도 하나를 고려하여 상기 복수개의 삭제 후보 데이터 서버들 중 어느 하나의 삭제 데이터 서버를 상기 축소 대상 볼륨에서 삭제하는 제어부
    를 포함하는 것을 특징으로 하는 분산 파일 시스템의 볼륨 조절 장치.
KR1020170008513A 2017-01-18 2017-01-18 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치 KR20180085187A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170008513A KR20180085187A (ko) 2017-01-18 2017-01-18 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치
US15/661,961 US20180203875A1 (en) 2017-01-18 2017-07-27 Method for extending and shrinking volume for distributed file system based on torus network and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170008513A KR20180085187A (ko) 2017-01-18 2017-01-18 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR20180085187A true KR20180085187A (ko) 2018-07-26

Family

ID=62841403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170008513A KR20180085187A (ko) 2017-01-18 2017-01-18 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US20180203875A1 (ko)
KR (1) KR20180085187A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996029B1 (ko) 2018-12-14 2019-07-04 주식회사 모비젠 네트워크 기능 가상화 시스템에 있어서, 네트워크 서비스 디스크립터를 설계하는 방법, 네트워크 서비스 디스크립터를 관리하는 방법 및 그 방법들을 구현하기 위한 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218081B (zh) * 2018-08-24 2021-07-30 北京大恒图像视觉有限公司 一种系统休眠唤醒后的数据传输方法和数据传输装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121380A (ko) 2015-04-09 2016-10-19 한국전자통신연구원 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US6629202B1 (en) * 1999-11-29 2003-09-30 Microsoft Corporation Volume stacking model
US8041735B1 (en) * 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US20080010324A1 (en) * 2006-06-25 2008-01-10 Michael Stebner System and method for high speed device access
WO2008130983A1 (en) * 2007-04-16 2008-10-30 Attune Systems, Inc. File aggregation in a switched file system
US20130218847A1 (en) * 2012-02-16 2013-08-22 Hitachi, Ltd., File server apparatus, information system, and method for controlling file server apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121380A (ko) 2015-04-09 2016-10-19 한국전자통신연구원 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996029B1 (ko) 2018-12-14 2019-07-04 주식회사 모비젠 네트워크 기능 가상화 시스템에 있어서, 네트워크 서비스 디스크립터를 설계하는 방법, 네트워크 서비스 디스크립터를 관리하는 방법 및 그 방법들을 구현하기 위한 시스템

Also Published As

Publication number Publication date
US20180203875A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
US8495013B2 (en) Distributed storage system and method for storing objects based on locations
US9665428B2 (en) Distributing erasure-coded fragments in a geo-distributed storage system
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
KR102192503B1 (ko) 캐시 서버를 이용하여 가상 데스크톱 서비스를 제공하기 위한 시스템 및 그 방법
JP6107429B2 (ja) データベースシステム、検索方法およびプログラム
KR102178740B1 (ko) 토러스 네트워크 기반의 분산 파일 시스템을 위한 서버 및 이를 이용한 방법
CN111124250B (zh) 用于管理存储空间的方法、设备和计算机程序产品
JP2011242840A (ja) ThinProvisioningが適用されたストレージ装置
EP4209922A1 (en) Columnar caching in tiered storage
US20180307426A1 (en) Storage apparatus and storage control method
US10394484B2 (en) Storage system
KR20180085187A (ko) 토러스 연결망 기반 분산 파일 시스템의 볼륨 확장 및 축소 방법 및 이를 위한 장치
US7676644B2 (en) Data processing system, storage apparatus and management console
JP5183363B2 (ja) 論理ボリュームのデータ移動方法とストレージシステムおよび管理計算機
CN113031857B (zh) 数据写入方法、装置、服务器及存储介质
JP2003296153A (ja) ストレージシステムおよびそのためのプログラム
JP2007164240A (ja) ファイル管理システムおよびストレージの自動管理方法、並びに自動管理プログラム
JP6194875B2 (ja) キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム
JP2007323557A (ja) ディスクアレイ装置及びその負荷分散方法
US20200401340A1 (en) Distributed storage system
CN106484310B (zh) 一种存储阵列操作方法和装置
US10768844B2 (en) Internal striping inside a single device
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
US20150363346A1 (en) Sata initiator addressing and storage device slicing
CN104516952A (zh) 一种内存分区部署方法与装置