KR20120023703A - 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법 - Google Patents

서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법 Download PDF

Info

Publication number
KR20120023703A
KR20120023703A KR1020117028077A KR20117028077A KR20120023703A KR 20120023703 A KR20120023703 A KR 20120023703A KR 1020117028077 A KR1020117028077 A KR 1020117028077A KR 20117028077 A KR20117028077 A KR 20117028077A KR 20120023703 A KR20120023703 A KR 20120023703A
Authority
KR
South Korea
Prior art keywords
server
virtual
load
physical
servers
Prior art date
Application number
KR1020117028077A
Other languages
English (en)
Other versions
KR101351688B1 (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 후지쯔 가부시끼가이샤
Publication of KR20120023703A publication Critical patent/KR20120023703A/ko
Application granted granted Critical
Publication of KR101351688B1 publication Critical patent/KR101351688B1/ko

Links

Images

Classifications

    • 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]
    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Abstract

복수의 물리 서버에 대하여 복수의 가상 서버를 배치할 때, 물리 서버의 처리 능력 및 그 전력 소비량의 관점에서 효율적인 배치를 실행한다. 우선, 복수의 가상 서버의 각각의 현재까지의 정해진 기간에 있어서의 제1 부하에 기초하여, 각 가상 서버의 장래의 제2 부하가 예측된다. 이어서, 물리 서버에 배치되는 하나 또는 복수의 가상 서버의 제2 부하의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 제2 부하에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄이 결정된다. 또한, 그 스케줄에 따라서, 배치의 지시(재배치의 실행)가 행해진다.

Description

서버 관리 프로그램, 관리 서버, 가상 서버 배치 방법{SERVER CONTROL PROGRAM, CONTROL SERVER, VIRTUAL SERVER DISTRIBUTION METHOD}
본 발명은, 복수의 물리 서버 상에서 복수의 가상 서버를 동작시키는 가상 컴퓨팅 기술에 관한 것으로, 보다 구체적으로는, 가상 서버를 물리 서버에 배치함에 있어서의 스케줄링에 관한 것이다.
최근의 가상 서버 기술의 발전에 의해, 물리 서버 상에서 복수의 가상 서버를 동작시키거나, 가상 서버를 가동시킨 채로 다른 물리 서버 사이에서 이동할 수 있는 기술(온라인 마이그레이션)을 이용할 수 있게 되고 있다. 마이그레이션에 관해서는 예컨대 특허문헌 1에서 언급되어 있다.
특허문헌 1 : 일본 특허 공개 제2006-244481호 공보
그런데, 가동중인 하나 또는 복수의 물리 서버에서 얻어지는 성능의 총합과 비교하여, 배치 대상의 복수의 가상 서버에 의한 부하가 지나치게 낮은 경우에는, 물리 서버를 쓸데없이 가동시키게 된다. 즉, 이 경우, 가동되는 물리 서버의 전력 소비량의 관점에서 효율적이지 못하다.
반대로, 가동중인 하나 또는 복수의 물리 서버에서 얻어지는 성능의 총합과 비교하여, 배치 대상의 복수의 가상 서버에 의한 부하가 너무 높다고 한다면, 가동되는 물리 서버에 있어서 처리상의 여유가 없어, 돌발적인 가상 서버의 부하 상승에 대하여 대처할 수 없고, 처리 기간이 지연될 가능성이 있다.
따라서, 본 발명의 한 측면에서는, 복수의 물리 서버에 대하여 복수의 가상 서버를 배치할 때, 물리 서버의 처리 능력 및 그 전력 소비량의 관점에서 효율적인 배치를 하는 서버 관리 프로그램, 관리 서버, 가상 서버 배치 방법을 제공하는 것을 목적으로 한다.
제1 관점에서는, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 서버 관리 프로그램이 제공된다. 이 서버 관리 프로그램은,
(A) 복수의 가상 서버의 각각의 현재까지의 정해진 기간에 있어서의 제1 부하에 기초하여, 각 가상 서버의 장래의 제2 부하를 예측하는 순서와,
(B) 물리 서버에 배치되는 하나 또는 복수의 가상 서버의 제2 부하의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 제2 부하에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄을 결정하는 순서와,
(C) 상기 스케줄에 따라서, 상기 복수의 가상 서버의 일부 또는 전부를, 상기 복수의 물리 서버의 일부 또는 전부 위에 배치하기 위한 지시를 행하는 순서를 컴퓨터에 실행시키기 위한 프로그램이다. 동일한 관점의, 관리 서버에 의해서 실행되는 가상 서버 배치 방법도 제공된다.
제2 관점에서는, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 관리 서버가 제공된다. 이 관리 서버는,
(D) 복수의 가상 서버의 각각의 현재까지의 정해진 기간에 있어서의 제1 부하에 기초하여, 각 가상 서버의 장래의 제2 부하를 예측하는 부하 예측부와,
(E) 물리 서버에 배치되는 하나 또는 복수의 가상 서버의 제2 부하의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 제2 부하에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄을 결정하는 스케줄 생성부와,
(F) 상기 스케줄에 따라서, 상기 복수의 가상 서버의 일부 또는 전부를, 상기 복수의 물리 서버의 일부 또는 전부 위에 배치하기 위한 지시를 행하는 배치 실행부를 구비한다.
복수의 물리 서버에 대하여 복수의 가상 서버를 배치할 때, 물리 서버의 처리 능력 및 그 전력 소비량의 관점에서 효율적인 배치를 할 수 있다.
도 1은 실시형태에 있어서의 시스템 전체의 구성을 도시하는 블록도이다.
도 2는 실시형태의 시스템에 있어서 부하 데이터가 전달되는 경로를 예시하는 도면이다.
도 3은 실시형태의 관리 서버에 있어서, 부하 데이터베이스의 데이터 구조를 예시하는 도면이다.
도 4는 실시형태의 관리 서버에 있어서, 서버 관리 데이터베이스의 내용의 일례를 도시하는 도면이다.
도 5는 관리 단말로부터 실시형태의 관리 서버에 대하여 관리 정보의 요구를 송신하여, 그 응답을 수신하는 양태를 도시하는 도면이다.
도 6은 1개월 동안에 있어서의, 1시간 단위의 예측 결과(가동 기간 또는 정지 기간)를 예시하는 도면이다.
도 7은 도 6에 대하여 또한, 1시간 단위의 부하값의 예를 부가한 도면이다.
도 8은 168시간(일주일)의 모든 시간에 있어서의 부하값의 예측예를 도시하는 도면이다.
도 9는 실시형태의 관리 서버에 있어서, 부하 예측 알고리즘에 따른, 부하값의 예측 처리의 흐름도이다.
도 10은 어느 시간 구간에 있어서의 각 가상 서버의 부하 예측값 및 각 물리 서버의 처리 능력값을 예시한 도면이다.
도 11은 실시형태의 관리 서버에 있어서, 최적 배치 작성부에 의한 처리를 도시하는 흐름도이다.
도 12는 도 11에 있어서의 최적화 처리를 도시하는 흐름도이다.
도 13은 실시형태의 관리 서버에 있어서의 배치 스케줄의 일례를 도시하는 도면이다.
도 14는 실시형태의 관리 서버에 있어서의 재배치 실행의 예를 도시하는 도면이다.
도 15는 실시형태의 관리 서버에 있어서의 재배치 실행의 예를 도시하는 도면이다.
도 16은 실시형태의 관리 서버에 있어서의 재배치 처리의 흐름도이다.
도 17은 실시형태의 관리 서버에 있어서, 물리 서버에서 고장 또는 고장 예지가 발생한 경우의 처리를 도시하는 흐름도이다.
도 18은 실시형태의 관리 서버에 있어서, 물리 서버가 보수 교환 등에 의해 정상적으로 복구된 경우의 처리를 도시하는 흐름도이다.
(1) 시스템 구성
이하, 실시형태에 따른 관리 서버를 포함하는 네트워크 시스템(이하, 단순히 「시스템」이라고 함)의 전체 구성에 관해서 도 1을 참조하여 설명한다.
도 1에 도시하는 바와 같이, 이 시스템에는, 관리 서버(2), 관리 단말(3) 및 관리 대상 서버군(4)이 네트워크를 통해 접속된다. 이 시스템에서는, 관리 서버(2)에 의해, 관리 대상 서버군(4)에 있어서의 각 물리 서버에 대하여 하나 또는 복수의 가상 서버가 배치되도록 제어된다. 이 때, 물리 서버의 처리 능력 및 그 전력 소비량의 관점에서 효율적인 가상 서버의 배치가 이루어질 것이 의도되고 있다.
도 1에 도시하는 바와 같이, 관리 대상 서버군(4)은, 복수의 가상 서버(도면 중, 「V」로 나타냄) 및 복수의 물리 서버(도면 중, 「P」로 나타냄)를 포함하며, 네트워크를 통해 관리 서버(2)에 의해 관리되는 대상이 되는 서버군이다. 여기서, 물리 서버는, 가상 서버가 동작하기 위한 플랫폼이며, 컴퓨터 하드웨어 및 하이퍼바이저 등의 가상 서버 관리 소프트웨어를 구비한다.
가상 서버는 물리 서버 상에 있어서 소프트웨어적으로 실현되는 서버이다. 가상 서버 상에서는 하나 이상의 업무(애플리케이션)가 동작한다. 다른 업무를 행하는 가상 서버가 복수 조합되어 물리 서버 상에 배치되는 경우도 있으며, 동일한 업무를 행하는 복수의 가상 서버가 다른 물리 서버 상에 배치되는 경우도 있다.
한편, 가상 서버의 데이터는, 물리 서버에 직접 접속된 디스크 장치에 저장되더라도 좋고, 물리 서버와 별도로 존재하여, 네트워크 또는 직접 결선에 의해 접속된 공용 디스크(SAN(Storage Area Network), NFS(Network File System), iSCSI(Internet Small Computer System Interface) 등)에 저장되더라도 좋다. 또한, 가상 서버의 데이터가 저장되는 디스크의 물리 매체의 종류에 대해서도 한정하지 않는다.
관리 서버(2)는, 관리 대상 서버군(4)과는 네트워크를 통해 통신 가능하지만, 관리 대상 서버군(4)과는 독립적으로 존재하여, 시스템 전체를 통괄하여 제어한다.
도 1에 도시하는 바와 같이, 관리 서버(2)는, 시스템 제어부(21)와, 부하 데이터베이스(부하 DB)(22)와, 서버 관리 데이터베이스(서버 관리 DB)(23)와, 부하 예측부(24)와, 최적 배치 작성부(25)(스케줄 생성부)와, 재배치 실행부(26)(배치 실행부)와, 고장 감시부(27)와, 배치 스케줄 데이터 저장부(28)를 구비한다. 이 관리 서버(2)의 각 구성 요소는 물리적으로 단일의 서버에 수용되더라도 좋고, 구성 요소마다 복수의 서버에 걸쳐 존재하더라도 좋다.
관리 단말(3)은 관리 정보 표시부(31)를 구비한 클라이언트이다. 관리 단말(3)은 관리 서버(2)와 직접 또는 네트워크를 경유하여 접속된다. 도 1은 관리 단말(3)이 네트워크를 경유하여 관리 서버(2)와 접속되어 있는 예를 도시하고 있다. 한편, 관리 정보 표시부(31)는, 관리 단말(3)에 실장하더라도 좋고, 관리 서버(2)에 실장하더라도 좋다. 도 1은 관리 정보 표시부(31)가 관리 단말(3)에 실장된 예를 도시하고 있다.
(2) 관리 서버의 구성
이어서, 도 1에 도시한 관리 서버(2)의 각 구성 요소에 관해서 보다 상세하게 설명한다.
[시스템 제어부(21)]
시스템 제어부(21)는 주로 마이크로컨트롤러에 의해 구성되며, 관리 서버(2) 전체의 제어, 각 데이터베이스의 관리, 관리 서버(2)의 각 부에의 지령의 송출을 행한다. 관리 서버(2)가 복수의 컴퓨터에 의해서 구성되는 경우에는, 시스템 제어부(21)는 그 복수의 컴퓨터 전체를 통괄한다. 또한, 시스템 제어부(21)는, 관리 단말(3)로부터의 요구의 수신 및 그 요구에 기초하여 관리 단말(3)에서 표시하여야 할 데이터의 송신을 행한다.
[부하 데이터베이스(22)]
부하 데이터베이스(22)에는 각 가상 서버의 과거의 부하 데이터가 축적된다.
여기서, 부하 데이터는, 각 가상 서버의 부하값 및 각 가상 서버의 동작 상태(가동 또는 정지)에 관한 정보(이하, 「동작 정보」라고 함)를 포함한다.
부하 데이터에 포함되는 부하값은, 후술하는 처리 능력값과 비교 가능한 지표라면 무엇이나 좋다. 부하값은, 예컨대, CPU, 메모리 또는 디스크 등의 계산기의 리소스에 관련한 사용률 또는 이들의 리소스를 종합한 지표값이라도 좋고, 어떤 업무량을 실행하는 데 필요한 계산 능력의 벤치마크값이라도 좋다.
부하 데이터가 부하 데이터베이스(22)에 축적될 때의 경로, 축적되는 방법, 축적되는 타이밍 등은 한정하지 않는다. 예컨대, 부하 데이터가 부하 데이터베이스(22)에 축적될 때의 경로에 관해서 언급하면, 가상 서버 측에 부하 데이터를 계측하고, 관리 서버(2)에 정기적으로 송신하는 기능을 구비한 에이전트를 설치하도록 하더라도 좋고, 관리 서버(2)로부터 가상 서버에 대하여 정기적으로 부하 데이터를 취득하는 매니저를 설치하도록 하더라도 좋다. 물리 서버 상에서 동작하고 가상 서버를 관리하는 하이퍼바이저 또는 물리 서버의 인터페이스를 경유하여 부하 데이터가 관리 서버(2)에 송신되도록 하더라도 좋다.
도 2는 이 시스템에 있어서 부하 데이터가 전달되는 경로를 예시하는 도면이다.
도 2의 (a)에 도시하는 예에서는, 시스템 제어부(21)가 서버 관리 데이터베이스(23)에 대하여 조회를 행하여, 부하 데이터의 취득의 대상이 되는 가상 서버의 정보(예컨대, 가상 서버 ID나 IP 어드레스 등, 네트워크 상의 위치를 나타내는 특정 정보)를 얻는다. 시스템 제어부(21)는, 그 가상 서버의 정보에 기초하여, 네트워크를 경유하여, 대상의 가상 서버가 동작하는 물리 서버 상의 하이퍼바이저에 조회한다. 도 2의 (a)에 도시하는 예에서, 하이퍼바이저는, 가상 서버의 부하 데이터를 판독하는 기구를 구비하고 있어, 시스템 제어부(21)로부터의 조회에 대하여, 대상이 되는 가상 서버의 부하 데이터를 회신한다. 대상이 되는 가상 서버의 부하 데이터를 취득한 시스템 제어부(21)는, 부하 데이터베이스(22)의 그 가상 서버 ID의 레코드에 부하 데이터를 기록한다. 이상의 처리를 전체 가상 서버에 대해서 반복함으로써, 어느 시각에서의 모든 가상 서버의 부하 데이터가 취득된다. 이 데이터 취득 처리를 1분간 등의 일정 기간마다 반복하여 실행함으로써, 부하 데이터베이스(22)에는 부하 데이터가 축적되어 간다.
도 2의 (b)에 도시하는 예에서는, 도 2의 (a)와는 달리, 가상 서버 상에 부하 데이터를 송신하는 에이전트를 설치한 경우를 나타내고 있다. 이 때, 가상 서버 상의 에이전트는, 하이퍼바이저를 경유하지 않고, 직접 관리 서버(2)에 대하여 부하 데이터를 송신한다. 부하 데이터를 수신한 시스템 제어부(21)는, 부하 데이터를 송신한 가상 서버를 서버 관리 데이터베이스(23)와 대조하여, 부하 데이터베이스(21)의 그 가상 서버 ID의 레코드에 기록한다.
한편, 도 1 및 도 2에서는, 부하 데이터베이스(22)와 서버 관리 데이터베이스(23)를 각각 별개의 데이터베이스로서 존재하는 것을 전제로 하여 설명했지만, 단일의 데이터베이스(단일의 테이블)로서 구성하도록 하더라도 좋다.
일정 기간마다 부하 데이터베이스(22)에 기록되는 부하 데이터에 포함되는 부하값은, 순시값(1 샘플)라도 좋고, 평균값(복수 샘플의 평균값)이라도 좋고, 합계값(복수 샘플의 합계값)이라도 좋다. 복수의 샘플에 기초하여 기록되는 부하 데이터를 결정하는 경우에는 그 샘플수에 대해서 특별히 한정하지 않는다. 또한, 부하 데이터의 취득 간격(상기 일정 기간)은, 적어도 후술하는 부하 예측에 필요한 간격 이하로 설정된다.
전술한 바와 같이, 부하 데이터베이스(22)에 기록되는 부하 데이터에는, 각 가상 서버의 부하값뿐만 아니라, 각 가상 서버의 동작 정보도 포함한다. 이 동작 정보는, 후술하는 부하 예측에 있어서, 가상 서버의 정지 기간을 고려한, 정확한 예측값을 산출하기 위해서 이용된다.
도 2의 (a)에 도시하는 예에서는, 시스템 제어부(21)가 하이퍼바이저에 조회할 때, 대상이 되는 가상 서버의 동작 정보를 부하값과 동시에 취득하여, 부하값과 동작 정보를 포함하는 부하 데이터가 부하 데이터베이스(22)에 기록된다.
도 2의 (b)에 도시하는 예에서는, 가상 서버의 기동시 및 정지시에, 가상 서버 또는 하이퍼바이저는, 시스템 제어부(21)에 대하여, 가상 서버의 동작 상태의 변경을 통지한다. 이 통지에 기초하여, 시스템 제어부(21)는, 가상 서버의 동작 정보를 부하 데이터베이스(22)에 기록한다.
도 3에 부하 데이터베이스(22)의 데이터 구조의 예를 도시한다.
도 3에 있어서, 부하 데이터베이스(22)에는, 복수의 레코드(레코드 1, 2, …, m)에 대응하여, 각 가상 서버 ID(VM1, VM2, …, VMm)와, 해당하는 가상 서버의 부하 데이터가 기록되어 있다. 가상 서버 ID는, 부하 데이터베이스(22) 상의 가상 서버와, 서버 관리 데이터베이스(23) 상의 가상 서버를 관련짓기 위한 정보이다. 도 3에 도시하는 것과 같이, 부하 데이터는, 부하 데이터를 취득한 시각마다의 가상 서버의 부하값과 동작 정보가 포함된다. 도 3에서는, 부하 데이터의 기록 시각으로서, 일례로서 1분간 단위의 실제의 시각이 기록되는 예를 도시하고 있지만, 반드시 실제의 시각 그 자체가 기록될 필요는 없다. 기록 시작 시각에서부터의 오프셋을 기록하더라도 좋고, 기록 시각을 특정할 수 있는 문자열을 기록하더라도 좋다.
[서버 관리 데이터베이스(23)]
서버 관리 데이터베이스(23)에는, 물리 서버와 그 처리 능력 일람 및 가상 서버 일람이 기록된다. 관리 서버로부터 액세스 가능하다면, 물리 서버의 데이터와 가상 서버의 데이터는 각각 독립의 데이터베이스로서 존재하더라도 좋다.
각 물리 서버의 처리 능력값은, 각 물리 서버의 처리 능력(또는 계산 능력)에 관한 성능을 나타내는 지표값으로서, 전술한 부하값과 비교 가능한 것이라면 무엇이라도 좋다. 처리 능력값은, 예컨대, CPU, 메모리 혹은 디스크 등의 계산기의 리소스를 나타내는 값(계산 속도, 메모리 용량 등) 또는 이들 리소스를 종합한 지표값이라도 좋다.
도 4는 서버 관리 데이터베이스(23)의 테이블(물리 서버 테이블, 가상 서버 테이블)이 포함하는 내용의 일례를 나타내고 있다. 여기서는, n개의 물리 서버와 m개의 가상 서버가 관리 대상으로 되어 있다. 한편, 가상 서버의 수가 물리 서버의 수보다도 많은 것이 일반적이다(m>n).
물리 서버 테이블에는, 레코드 1?n에 대응하여 n개의 물리 서버의 특정 정보(예컨대, 어드레스) 및 처리 능력값이 포함된다. 도 4에 도시하는 바와 같이, 물리 서버 테이블에는 각 레코드에 대응하여 고장 정보와 동작 정보가 더 포함된다. 물리 서버의 고장 정보란, 물리 서버가 정상인지 여부에 관한 정보("정상" 또는 "고장"을 나타냄)이다. 물리 서버의 동작 정보란, 물리 서버의 동작 상태에 관한 정보("가동" 또는 "정지"를 나타냄)이다. 이 고장 정보 및/또는 동작 정보는, 후술하는 배치 스케줄을 작성할 때에 있어서 스케줄 대상의 물리 서버를 특정하는 데 유용하게 된다.
가상 서버 테이블에는, 레코드 1?m에 대응하여 m개의 물리 서버의 특정 정보, 가상 서버 ID 및 가상 서버의 이미지 데이터가 포함된다. 특정 정보란, 관리 서버(2) 내에서 물리 서버 또는 가상 서버를 일의적으로 특정하여, 액세스 가능하게 하기 위한 정보이며, 예컨대 네트워크 상의 컴퓨터명이나 어드레스 등이다. 도 4에서는 특정 정보로서 어드레스를 예시해 놓는다. 가상 서버 ID는 부하 데이터베이스(22) 상의 레코드와 대응짓기 위해서 이용된다.
도 4의 서버 관리 데이터베이스(23)에 있어서, 또한, 도 4에 도시한 데이터 구성은 예시에 지나지 않고, 물리 서버 및/또는 가상 서버의 관리에 필요한 정보를, 적절하게 더하여 구성하도록 하더라도 좋다.
[부하 예측부(24)]
부하 예측부(24)는, 후술하는 부하 예측 알고리즘에 따라서 동작하며, 과거의 부하 데이터에 기초하여, 특정한 가상 서버의 특정 기간에 있어서의 장래의 부하값의 예측(부하 예측)을 행한다. 부하 예측을 함에 있어서는, 부하 데이터베이스(22)로부터 각 가상 서버의 부하 데이터에 포함되는 부하값과 동작 정보를, 어느 정도 긴 일정 기간(예컨대, 일주일, 1개월) 또는 전체 기간에 관해서 참조한다. 이하의 설명에 있어서, 예측된 부하값(제2 부하)을 적절하게 「부하 예측값」이라고 한다. 부하 예측 알고리즘에 관해서는 이후에 상세히 설명한다.
[최적 배치 작성부(25)]
스케줄 생성부로서의 최적 배치 작성부(25)는, 후술하는 최적 배치 작성 알고리즘에 따라서 동작하며, 부하 예측부(24)가 예측한 부하값에 기초하여, 물리 서버에 대한 가상 서버의 최적의 배치 스케줄을 작성한다. 여기서, 「최적의 배치」란, 어떤 물리 서버 상에 배치된 복수의 가상 서버로부터 예측되는 부하값의 합계가, 그 물리 서버의 처리 능력값에 대하여 적절한 비율의 범위(허용 범위)에 수습되게 되어 있는 것이다. 그 허용 범위의 상한은, 가상 서버의 돌발적인 부하 상승에 견딜 수 있는 여유를 갖게 하기 위해서 마련되고, 허용 범위의 하한은, 물리 서버의 성능을 낭비 없이 사용하여, 가동되는 물리 서버의 대수를 최소한으로 끝냄으로써 소비 전력의 저감을 도모하기 위해서 마련된다.
최적 배치 작성부(25)는, 배치 스케줄을 작성할 때, 서버 관리 데이터베이스(23) 및 부하 예측부(24)를 각각 참조한다. 최적 배치 작성 알고리즘에 관해서는 이후에 상세히 설명한다.
[재배치 실행부(26)]
재배치 실행부(26)는, 최적 배치 작성부(25)가 작성한 배치 스케줄에 따라서, 가상 서버의 재배치를 행한다. 재배치 실행부(26)는 마이그레이션의 지시를 내기 위한 인터페이스를 구비한다. 이 인터페이스는 주로 하이퍼바이저 등의 가상 서버 관리 소프트웨어가 제공하는 것을 이용한 것이다.
재배치를 실행하기 위한 마이그레이션의 방법에 대해서는 한정하지 않는다. 재배치 실행부(26)는, 마이그레이션 대상의 가상 서버가 정지중이라면 오프라인 마이그레이션을 행하지만, 마이그레이션 대상의 가상 서버가 가동중인 경우, 한 번 가상 서버를 정지하고 나서 오프라인 마이그레이션을 행하더라도 좋다. 또한, 재배치 실행부(26)는, 마이그레이션 대상의 가상 서버가 가동중인 경우, 온라인 마이그레이션을 행하더라도 좋다.
재배치 실행부(26)는, 물리 서버에 대한 전원의 투입?정지의 지시가 가능한 인터페이스 및 가상 서버에 대한 마이그레이션의 지시가 가능한 인터페이스를 구비한다.
재배치 실행부(26)는, 재배치의 실행 결과, 가상 서버수가 0이 되는 물리 서버에 대해서는 그 물리 서버의 전원을 정지시킨다. 또한, 재배치 실행부(26)는, 재배치의 실행 결과, 새롭게 물리 서버를 기동할 필요가 생겼을 때에는, 그 물리 서버를 기동시킨다. 나아가서는, 재배치 실행부(26)는, 그 물리 서버가 고장으로 되었을 때(고장 정보가 "고장"을 나타내게 되었을 때)에는, 그 물리 서버의 전원을 정지시키고, 다른 물리 서버를 기동시킨다. 전원의 투입 및 정지에 사용되는 인터페이스는, 물리 서버 그 자체가 구비하는 것, 물리 서버의 벤더가 제공하는 제어 소프트, 일반적인 툴 또는 독자적인 실장에 의한 것이라도 상관없다. 또한, 그 인터페이스에서의 프로토콜 및 제어 경로에 대해서도 한정하지 않는다.
한편, 재배치를 실행함에 있어서, 온라인 마이그레이션을 할 때, 버퍼로 되는 물리 서버가 필요하게 되는 경우는, 일시적으로 가동하고 있지 않은 물리 서버를 기동하더라도 좋다.
또한, 재배치 실행부(26)에 의한, 물리 서버에 대한 전원의 투입?정지의 지시, 가상 서버에 대한 마이그레이션의 지시는, 어떠한 프로토콜을 통해 행해지더라도 좋다. 그와 같은 프로토콜의 예로서, SNMP(Simple Network Management Protocol), IPMI(Intelligent Platform Management Interface), SMASH-CLP(System Management Architecture for Server Hardware Command Line Protocol)를 들 수 있다.
[고장 감시부(27)]
고장 감시부(27)는, 각 물리 서버의 상태(정상/고장)에 관해서 감시하여, 고장이 발생한 경우에는 서버 관리 데이터베이스(23) 상의 물리 서버에 대응하는 레코드의 고장 정보를 "고장"이라 바꿔 기록한다. 또한, 고장이 난 물리 서버가 복구된 경우에는, 그 물리 서버에 대응하는 레코드의 고장 정보를 "정상"이라고 바꿔 기록한다.
[배치 스케줄 데이터 저장부(28)]
배치 스케줄 데이터 저장부(28)에는 최적 배치 작성부(25)가 작성한 배치 스케줄이 저장된다. 재배치 실행부(26)는, 배치 스케줄 데이터 저장부(28)에 저장되어 있는 배치 스케줄을 참조하여 재배치를 실행한다. 한편, 배치 스케줄은 정기적으로 갱신된다.
(3) 관리 단말의 구성
이어서, 도 1에 도시한 관리 단말(3)의 구성 요소에 관해서 추가로 설명한다.
[관리 정보 표시부(31)]
관리 정보 표시부(31)는, 관리 서버(2)로부터 주어지는 데이터에 기초하여, 시스템의 운용 정보를 포함하는 여러 가지 정보를 표시한다. 관리 정보 표시부(31)에서 표시되는 정보는 예컨대 이하의 정보이다.
?물리 서버, 가상 서버의 세부사항 및 일람
?가상 서버 부하 데이터(부하값, 동작 정보)
?가상 서버의 부하 예측값
?가상 서버의 배치 스케줄
?가상 서버의 현재의 배치 상황
도 5는, 관리 단말(3)로부터 관리 서버(2)에 대하여 관리 정보의 요구를 송신하여, 그 응답을 수신하는 양태를 도시하는 도면이다. 도 5에 있어서, 관리 정보의 요구를 받은 관리 서버(2)에서는, 시스템 제어부(21)가 부하 데이터베이스(22) 또는 서버 관리 데이터베이스(23)를 참조하여, 요구에 따른 관리 정보를 추출하여, 관리 단말(3)에 관리 정보를 송신한다. 관리 단말(3)에서는, 관리 서버(2)로부터의 응답으로서 수신한 관리 정보를 관리 정보 표시부(31)에 표시하게 한다. 이에 따라, 예컨대 관리 단말(3)을 조작하는 시스템 관리자가 상기 관리 정보를 알아볼 수 있게 된다.
(4) 부하 예측 알고리즘
이어서, 관리 서버(2)의 부하 예측부(24)에 실장되어 있는 부하 예측 알고리즘의 일례를 도 6?도 9를 참조하여 상세하게 설명한다.
부하 예측 알고리즘에서는 우선 각 가상 서버의 장래의 부하 예측값(제2 부하)을 산출함에 있어서, 각 가상 서버가 24시간 가동되는 서버인지 또는 정지 기간(또는 가동 기간)이 존재하는 서버인지에 대해서 해석한다. 그리고, 정지 기간이 존재하는 서버에 대해서는 그 정지 기간이 예측된다.
정지 기간이 존재하는 가상 서버로서는, 예컨대 주말이나 야간에 업무를 행하지 않는 식의 이용 방법이 적용되는 가상 서버가 전형적이다. 정지 기간이 스케줄화되어 있는 경우에는, 부하 예측 알고리즘은 그 정지 기간의 스케줄을 정지 기간의 예측값으로서 직접 이용할 수 있다. 이 경우, 시스템 관리자가 서버 관리 데이터베이스(23)에 가상 서버의 가동 스케줄을 미리 등록하도록 하여도 좋다.
정지 기간이 스케줄화되어 있지 않은 경우, 부하 예측 알고리즘은, 예컨대 하루 중의 어느 시간 구간(특정한 1시간)에 대해서 수주간에 걸쳐 동작 정보(부하 데이터베이스(22) 내의 정보; 도 3 참조)를 해석함으로써, 정지 기간을 예측(산출)한다. 이 해석은 예컨대, 가상 서버의 동작 정보에 기초하여, 하루의 어느 특정 시간 구간에 있어서 그 가상 서버가 가동하고 있는 율(가동률)을 산출하고, 그 가동률이 정해진 임계치 이하임을 조건으로 하여, 그 특정 시간 구간이 정지 기간이라고 판단함으로써 이루어진다. 정지 기간을 산출하기 위해서 기초로 하는 동작 정보는, 일 단위의 것, 주 단위의 것 또는 월 단위라도 좋으며, 이들을 조합시키도록 하더라도 좋다.
한편, 부하 예측 알고리즘에 있어서 가동 기간과 정지 기간을 구별하는 이유는, 만일 전체 기간 동안의 부하값의 평균을 산출했다면, 그 평균값은 정지 기간도 포함시켜 산출되기 때문에, 가동중에 있어서의 부하값의 평균보다 낮은 값으로 되어, 실제 상황과 합치하지 않기 때문이다.
상술한 바와 같이 하여, 예컨대 1개월간에서 1시간 단위로, 가동 기간인지 또는 정지 기간인지를 예측할 수 있다. 도 6은 1개월간에서의, 1시간 단위의 예측 결과(가동 기간 또는 정지 기간)를 예시하는 도면이다. 도 6에서는, 횡축을 1시간 단위로 0?23시간, 종축을 1일 단위의 0?30일로 한 매트릭스에 있어서, 회색으로 나타낸 시간은 가상 서버의 정지 기간, 백색으로 나타낸 시간이 가상 서버의 가동 기간을 예시하고 있다.
부하 예측 알고리즘은, 도 6에 도시한 1시간 단위의 데이터에 기초하여, 특정한 가상 서버의 휴업일, 영업일 및 업무 시간을 예측하도록 하더라도 좋다. 이하의 설명에서는, 1시간 단위의 가동 기간 및 정지 기간을 각각 가동 시간 및 정지 시간이라고 한다.
부하 예측 알고리즘은, 가상 서버에 관해서 가동 시간이 정해진 임계값(예컨대, 30%)을 밑도는 날을, 그 가상 서버의 「휴업일」이다고 판단한다. 이 휴업일이 7일 걸러서 주기적으로 발생하고 있다고 한다면, 그 가상 서버는 토요일?일요일이 휴업일이며, 앞으로도 토요일?일요일은 가동하지 않을 거라고 예측할 수 있다. 반대로, 부하 예측 알고리즘은, 가상 서버에 대해서 가동 시간이 정해진 임계값(예컨대, 30%)을 웃도는 날을, 그 가상 서버의 「영업일」이다고 판단한다.
또한, 부하 예측 알고리즘은, 1개월간의 영업일 중 정해진 임계값(예컨대, 30%)를 밑도는 일수로 가동 시간으로 되어 있는 특정한 시간대는 「휴업 시간」이라고 판단한다. 예컨대 도 6의 예에서, 이 가상 서버는 새벽 2시부터 6시가 휴업 시간이며, 앞으로도 2시부터 6시는 가동하지 않을 거라고 예측할 수 있다. 또한, 부하 예측 알고리즘은, 1개월간의 영업일 중 정해진 임계치(예컨대, 30%)를 웃도는 일수로 가동 시간으로 되어 있는 특정한 시간대는 「업무 시간」이라고 판단한다.
부하 예측 알고리즘에서는, 이하에 설명하는, 가상 서버의 부하값의 예측 방법을, 그 가상 서버의 영업일의 영업 시간만을 대상으로 하여 실행하는 것이 바람직하다.
이어서, 부하 예측 알고리즘에 의한 부하값의 예측 방법에 관해서 설명한다.
도 7은 도 6에 대하여 또한, 1시간 단위의 부하값의 예를 부가한 도면이다. 도 7에 도시하는 예에 있어서, 회색으로 나타낸 가상 서버의 정지 시간의 부하값은 전부 0으로 되어 있다.
이하에서는, 부하 예측 알고리즘이 168시간 주기(일주일의 주기)로 순차 부하값을 예측해 나가는 방법에 관해서 설명한다. 이 방법에서는, 과거의 수주간, 예컨대 10주간의 과거의 데이터(168시간 주기의 부하값의 데이터×10)로 매주, 각 시간의 부하값에 관한 이동 평균 처리를 실행함으로써, 1주일분의 부하값을 예측한다. 이 때, 10주간에 걸쳐 특정한 1시간에 주목하면, 그 특정한 1시간이 가동 시간이었는지 또는 정지 시간이었는지에 대해 평균 처리에 있어서 고려된다. 예컨대, 특정한 1시간에 주목했을 때에, 10주간 중 7주간에 가동 시간(3주간에 정지 시간)이었으면, 가동 시간이었던 7시간분의 부하값의 합계를 7로 나눈 값을, 그 특정한 1시간의 부하 예측값으로 한다. 이러한 이동 평균 처리를 행함으로써, 매주, 장래의 168시간(1주일)의 모든 시간에 있어서의 부하값이 예측된다. 이 168시간(1주일)의 모든 시간에 있어서의 부하값의 예측 예를 도 8에 도시한다.
한편, 정해진 기간의 이동 평균 처리에 의해 순차 부하값을 예측해 나가는 상기 방법은 일례에 지나지 않으며, 그 밖의 통계 처리(예컨대 표준편차를 고려하는 처리) 및/또는 예측 계산의 기초로 하는 데이터(샘플)의 다른 취득 방법(주기의 설정, 시간 구분의 설정 등)을 이용하더라도 좋다.
이어서, 도 9의 흐름도를 참조하여, 부하 예측부(24)에 있어서 부하 예측 알고리즘에 따라서 실행되는 부하값의 예측 처리에 관해서 설명한다. 도 9에 있어서, 단계 S10?S18의 처리가 m개의 모든 가상 서버 Vx(x=0, 1, …, m)를 대상으로 하여 실행된다.
우선, 부하 예측부(24)는, 부하 데이터베이스(22)를 참조하여, 예컨대 10주간분의 가상 서버 Vx의 부하 데이터(부하값, 동작 정보)를 취득하고(단계 S10), 취득한 가상 서버 Vx의 동작 정보를 해석한다(단계 S12). 즉, 취득한 동작 정보에 의해, 예컨대 1분 간격마다의 가상 서버 Vx의 상태(가동 또는 정지)를 알 수 있기 때문에(도 3 참조), 부하 예측부(24)는, 하루의 어느 특정한 시간 구간에 있어서 가상 서버 Vx의 가동률을 산출한다. 그리고, 부하 예측부(24)는, 그 가동률이 정해진 임계값 이하인 것을 조건으로 하여 그 특정한 시간 구간이 정지 시간이라고 판단하고, 가동률이 정해진 임계값을 웃도는 것을 조건으로 하여 그 특정한 시간 구간이 가동 시간이라고 판단한다. 이 해석에 의해서, 부하 예측부(24)는, 예컨대 도 6에 도시한, 가동 상황에 관한 예측 데이터를 작성한다(단계 S14). 또한, 부하 예측부(24)는, 가동 기간(각 1시간마다의 가동 시간) 중의 부하값을 해석한다(단계 S16). 구체적으로, 부하 예측부(24)는, 가동 시간에 대해서, 단계 S10에서 취득한 1분 간격마다의 부하값의 평균을 취하여, 그 가동 시간에 있어서의 부하값을 산출한다. 이에 따라, 예컨대 도 7에 예시한 것과 같은 매트릭스의 데이터(예컨대, 10주간분의 데이터)를 얻을 수 있다. 그리고, 부하 예측부(24)는, 가동 시간만을 대상으로 하여, 10주간분의 부하값의 평균을 취함으로써 가동 시간에 있어서의 예측 부하 데이터를 얻는다(단계 S18). 이 때, 전술한 바와 같이, 특정한 1시간에 있어서 10주간 중 7주간에서 가동 시간(3주간에서 정지 시간)이었으면, 가동 시간이었던 7시간분의 부하값의 합계를 7로 나눈 값을, 그 특정한 1시간의 부하 예측값으로 한다. 한편, 예측 부하 데이터에는, 부하 예측값과 함께, 정지 시간의 정보도 포함된다.
도 9에 도시하는 처리를, 예컨대 매주 실행함으로써 1주일마다의 부하 예측 데이터가 모든 가상 서버에 대해서 생성된다.
(5) 최적 배치 작성 알고리즘
이어서, 관리 서버(2)의 최적 배치 작성부(25)에 실장되어 있는 최적 배치 작성 알고리즘에 관해서 도 10?도 13을 참조하여 상세히 설명한다.
최적 배치 작성부(25)는, 부하 예측부(24)로부터 모든 가상 서버에 관해서, 예컨대 장래의 1주일분의 각 시간 구간에서의 예측 부하 데이터를 얻는다. 예측 부하 데이터를 얻는 타이밍에 대해서는 특별히 한정하지 않지만, 예컨대 1시간 등, 부하 데이터의 샘플 타이밍(도 3에서는 1분간)보다 긴 기간마다여도 좋다.
최적 배치 작성 알고리즘에서는, 물리 서버에 배치되는 하나 또는 복수의 가상 서버의 부하 예측값의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위(허용 범위) 내가 되도록, 각 가상 서버의 부하 예측값에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄이 결정된다. 상기 허용 범위의 상한은, 가상 서버의 돌발적인 부하 상승에 견딜 수 있는 여유를 갖게 하기 위해서 설정되고, 허용 범위의 하한은, 물리 서버의 성능을 낭비 없이 사용하여, 가동되는 물리 서버의 대수를 최소한으로 억제함으로써 소비전력의 저감을 도모하기 위해서 설정된다. 예컨대, 상기 정해진 비율로서 적성치(適性値)를 70%, 상기 허용 범위의 상한이 80%이고 하한이 60%로 설정된다.
상기 비율 범위의 수치예(적성치 : 70%, 허용 범위 : 60?80%)를 이용하여, 이하, 스케줄 결정의 구체적인 방법에 관해서 도 10을 참조하여 설명한다. 도 10은 어느 시간 구간에서의 각 가상 서버 V1?Vm의 부하 예측값 및 각 물리 서버 P1?Pn의 처리 능력값을 예시한 것이다. 도 10에 도시하는 부하 예측값 및 처리 능력값은, 설명을 위한 예시에 지나지 않으며, 또한, 양자는 비교 가능한 지표값이다.
예컨대, 도 10에 도시하는 바와 같이, 각 물리 서버의 처리 능력값이 전부 100이고, 배치 대상의 복수의 가상 서버의 부하 예측값의 합계가 500인 경우를 상정한다. 가상 서버 전부를 동작시키는 데 필요한 물리 서버 대수를 N이라고 하면, 100×N×70%≥500이라는 부등식이 성립하는 최소의 정수 N이 최저한으로 필요한 서버 대수로 된다. 이 경우, N≥7.14가 되기 때문에, 최저 8대의 물리 서버가 필요하게 된다. 여기서는 모든 물리 서버의 성능을 동일하게 했지만, 동일하지 않은 경우는, 물리 서버 성능의 총합에 0.7을 곱한 것이 좌변이 된다고 생각하여도 좋다.
도 10에 도시하는 예에서는, 최적 배치 작성 알고리즘에서는, 8대의 물리 서버(P1, P2, …, P8)에 대하여, 부하 예측값이 큰 가상 서버의 순으로 물리 서버에 할당해 간다. 구체적으로는, 최적 배치 작성 알고리즘에서는, 1번째의 가상 서버 V1을 물리 서버 P1, 2번째의 가상 서버 V2를 물리 서버 P2, …, 8번째의 가상 서버 V8을 물리 서버 P8, 9번째의 가상 서버 V9를 물리 서버 P1,…, 16번째의 가상 서버를 물리 서버 P8과 같이 하여 순서대로 할당한다. 이 때, 할당하려고 한 가상 서버의 부하 예측값의 합계값이 물리 서버의 처리 능력값 100에 적정 범위의 상한 80%를 곱한 80을 넘는 경우, 그 물리 서버에는 할당하지 않고, 다음 물리 서버에 할당한다. 다음 물리 서버에도 할당할 수 없고, 최종적으로 8번째의 물리 서버 P8에도 할당을 할 수 없는 경우는, 9번째의 물리 서버 P9를 새롭게 준비하여 할당한다. 이와 같이 하여, 최적 배치 작성 알고리즘에서는, 모든 가상 서버를 할당하여, 어느 시간 구간에 있어서의 배치 스케줄이 작성된다.
이어서, 도 11 및 도 12의 흐름도를 참조하여, 최적 배치 작성부(25)에 있어서 최적 배치 작성 알고리즘에 따라서 실행되는 배치 스케줄의 생성 처리에 관해서 설명한다. 한편, 도 11은 최적 배치 작성부(25)에 의한 처리를 도시하는 흐름도이며, 도 12는 도 11에서의 최적화 처리를 도시하는 흐름도(전술한 최적 배치 작성 알고리즘을 흐름도로 한 것)이다.
도 11에 있어서, 단계 S20?S26의 처리가, 예컨대 앞으로 1주일분의 모든 시간 구간 Pt(t=0, 1, …, max)을 대상으로 하여 실행된다.
최적 배치 작성부(25)는 우선, 서버 관리 데이터베이스(23)를 참조하여, 물리 서버와 가상 서버의 일람을 취득한다(단계 S20). 이에 따라, 배치 대상의 가상 서버의 가상 서버 ID 및 각 물리 서버의 처리 능력값을 알 수 있다(도 4 참조). 이어서 최적 배치 작성부(25)는, 부하 예측부(24)로부터 시간 구간 Pt에 있어서의 전체 가상 서버의 예측 부하 데이터(부하 예측값, 정지 시간의 데이터)를 취득한다(단계 S22). 단계 S20 및 S22에 의해, 시간 구간 Pt에서의, 배치 대상의 모든 가상 서버의 부하 예측값과, 각 물리 서버의 처리 능력값을 얻을 수 있었기 때문에, 전술한 최적 배치 작성 알고리즘에 따라서 최적화 처리가 실행된다(단계 S24).
도 12를 참조하면, 이 최적화 처리는 다음과 같이 실행된다.
즉, 우선, 도 11의 단계 S22에서 얻어진 부하 예측값의 합계와, 도 20에서 얻어진, 가동중인 물리 서버의 처리 능력값에 기초하여, 최저한으로 필요한 물리 서버의 대수의 초기값 ntmp을 산출한다(단계 S30). 그 후, 단계 S32, S34, S36이, 시간 구간 Pt에서의, 배치 대상의 모든 가상 서버 x(x=0, 1, …, m)와, ntmp개의 물리 서버 y(y=0, 1, …, ntmp)에 대하여 실행된다. 단계 S32 및 S34에서는, 각 가상 서버를 순차 하나씩 물리 서버에 할당하는 처리가 이루어진다. 단계 S32에 있어서, 물리 서버 y에 가상 서버 x를 배치할 수 있는지에 관한 판단은, 물리 서버에 배치되는 가상 서버의 부하 예측값의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내에 있는지 여부에 기초한다.
단계 S36에서, 물리 서버 0?ntmp에 이 이상 배치할 수 없는, 즉, 단계 S30에서 결정된 물리 서버 대수로는 상기 정해진 비율의 범위(허용 범위)를 만족하지 않는 경우에는, 물리 서버에 여유가 있다는 것을 조건으로 하여(단계 S38), 배치처의 물리 서버를 1대 추가한 뒤에(단계 S40), 처리가 계속된다.
도 11의 설명으로 되돌아간다.
도 11에서 최적화 처리가 실행되면, 시간 구간 Pt에서의 최적 배치의 조합(각 물리 서버와, 각 물리 서버에 배치되는 가상 서버와의 조합)이 결정된다(단계 S26). 단계 S20?S26을 모든 시간 구간을 대상으로 실행함으로써, 예컨대 장래의 1주일분에 있어서의 1시간마다의 배치 스케줄이 작성된다(단계 S28). 이 배치 스케줄의 일례를 도 13에 도시한다. 도 13의 예에서는, YYYY/MM/DD 날짜의 시각 10:00:00에 있어서, 예컨대 물리 서버 P1에 가상 서버 V1, V4, V7, V10, V12가 배치될 예정임을 나타내고 있다. 배치 스케줄은 배치 스케줄 데이터로서 배치 스케줄 데이터 저장부(28)에 저장된다.
(6) 재배치 실행부의 처리
이어서, 관리 서버(2)의 재배치 실행부(26)의 처리에 관해서 도 14?도 16을 참조하여 설명한다.
재배치 실행부(26)에 의해서 이루어지는 처리는, 재배치의 실행 대상이 되는 시간 구간(「대상 시간 구간」이라고 함)에 관한 이하의 3가지의 처리(처리 6A, 6B, 6C)이다.
[처리 6A]
대상 시간 구간에서의 배치 스케줄 데이터를 판독한다. 또한, 물리 서버 및 가상 서버의 정보를 서버 관리 데이터베이스(23)에 조회한다.
[처리 6B]
대상 시간 구간에서 가동되는 물리 서버와, 대상 시간 구간의 하나 앞의(1시간 전의) 시간 구간에서 가동되는 물리 서버를 비교한다. 일치하는 물리 서버(즉, 양쪽 시간 구간에서 가동되는 물리 서버)에 대해서는 특별히 아무것도 처리하지 않지만, 일치하지 않는 물리 서버(즉, 한쪽의 시간 구간에서만 가동되는 물리 서버)에 대해서는 전원 투입 또는 정지 지시를 행한다. 여기서, 대상 시간 구간에 있어서 물리 서버수가 증가하는 경우, 전원의 투입이 대상 시간 구간의 가상 서버의 배치에 앞서서 이루어진다. 대상 시간 구간에 있어서 물리 서버수가 감소하는 경우, 대상 시간 구간에서 정지하는 물리 서버의 전원의 절단은, 그 물리 서버에 배치되어 있던 가상 서버를 다른 물리 서버에 이동시키고, 모든 가상 서버가 그 물리 서버 상에서 동작하지 않는 상태가 되고 나서 실시한다.
[처리 6C]
처리 6B와 마찬가지로, 대상 시간 구간과 그 하나 앞의 시간 구간에 있어서, 각 가상 서버가 배치되어 있는 물리 서버를 비교한다. 그 결과, 배치되는 물리 서버가 일치하는 가상 서버에 대해서는 아무것도 처리를 하지 않지만, 일치하지 않는 가상 서버에 대해서는 마이그레이션 지시를 행한다.
처리 6B, 처리 6C 중 어디에 있어서도, 대상 시간 구간과 그 하나 앞의 시간 구간의 비교는, 처리 6A에서 판독한 배치 스케줄 데이터를 비교함으로써 이루어진다. 비교하기 위한 다른 방법으로서, 실시간 가동 상황에 관한 정보를 취득함으로써 행하는 방법도 생각할 수 있다. 후자의 방법에서는, 스케줄링되어 있지 않은 시스템 관리자에 의한 오퍼레이션 또는 물리 서버의 고장 등을 고려하는 것도 가능하게 된다.
도 14 및 도 15에 재배치 실행의 예를 도시한다.
도 14의 예에서는, (a)에 도시하는 바와 같이 재배치 전에 물리 서버가 8대 가동되고 있는 경우를 상정한다. 이 때, 배치 스케줄 데이터를 참조하여, 9대의 물리 서버가 필요한 스케줄이라고 알게 되면, 재배치 실행부(26)는, (b)에 도시하는 바와 같이, 재배치 전에 1대의 물리 서버의 전원을 투입하는 지시를 한다. 그리고, 재배치 실행부(26)는, (c)에 도시하는 바와 같이, 새롭게 전원 투입된 물리 서버에 대하여 가상 서버의 마이그레이션을 행하기 위한 지시를 낸다.
도 15의 예에서는, (a)에 도시하는 바와 같이 재배치 전에 물리 서버가 10대 가동되고 있는 경우를 상정한다. 이 때, 배치 스케줄 데이터를 참조하여, 9대의 물리 서버로 족한 스케줄이라고 알게 되면, 재배치 실행부(26)는, (b)에 도시하는 바와 같이, 가상 서버의 마이그레이션을 행하기 위한 지시를 내어, 재배치를 실행한다. 그리고, 재배치 실행부(26)는, (c)에 도시하는 바와 같이, 마이그레이션에 의해 가상 서버를 하나도 배치하지 않게 된 물리 서버의 전원을 절단하는 지시를 한다.
이어서, 도 16의 흐름도를 참조하여, 특정한 시간 구간(대상 시간 구간)에 대하여, 재배치 실행부(26)에 의해서 실행되는 재배치 처리에 관해서 설명한다.
도 16에 있어서, 우선, 재배치 실행부(26)는, 배치 스케줄 데이터 저장부(28)에 저장되어 있는 배치 스케줄 데이터를 판독하여, 그 배치 스케줄 데이터로부터 대상 시간 구간에 있어서의 배치 일람(가상 서버를 어떤 물리 서버에 배치할지에 관한 일람의 데이터)을 읽어들인다(단계 S50). 그리고, 재배치 실행부(26)는, 서버 관리 데이터베이스(23)에 대하여 물리 서버 및 가상 서버의 동작 정보("가동" 또는 "정지" 중 어느 상태를 나타내는 정보)를 조회한다(단계 S52). 그리고, 재배치 실행부(26)는, 단계 S52에서 얻어진 동작 정보에 기초하여, 대상 시간 구간과 그 하나 앞의 시간 구간에서의 각 물리 서버의 동작 상태를 비교하여, 각 물리 서버의 동작 상태의 변화를 조사한다(단계 S54). 또한, 재배치 실행부(26)는, 부하 데이터베이스(22)를 참조하여, 대상 시간 구간과 그 하나 앞의 시간 구간에서의 각 가상 서버의 동작 상태를 비교하여, 각 가상 서버의 동작 상태의 변화를 조사한다(단계 S56).
그리고, 재배치 실행부(26)는, 대상 시간 구간과 그 하나 앞의 시간 구간 사이에서, 물리 서버의 수를 증가시켜야 하는 경우에는(단계 S58의 YES), 새롭게 추가되는 물리 서버의 전원 투입을 지시하고(단계 S60), 물리 서버의 수를 증가시킬 필요가 없으면 아무것도 하지 않는다. 그리고, 재배치 실행부(26)는, 단계 S50에서 판독한 배치 스케줄 데이터에 따라서, 가상 서버의 마이그레이션을 지시한다(단계 S62). 반대로, 대상 시간 구간과 그 하나 앞의 시간 구간 사이에서, 물리 서버의 수를 감소시켜야 하는 경우에는(단계 S64의 YES), 삭감하는 물리 서버의 전원 절단을 지시하고(단계 S66), 물리 서버의 수를 감소시킬 필요가 없으면 아무것도 하지 않는다.
이상, 재배치 처리에 관해서 흐름도를 참조하여 설명했지만, 재배치를 실행함에 있어서는, 대상 시간 구간의 처리를 시작하는 시각에 도달했음을 검지하기 위한 스케줄러를 설치하는 것이 바람직하다. 이 스케줄러는, 시스템 제어부(21)에 설치하더라도 좋고, 재배치 실행부(26)에 설치하더라도 좋다. 시스템 제어부(21)에 스케줄러를 설치한 경우는, 처리 시작 시각에 도달한 시점에서 재배치 실행부(26)에 대하여 처리 시작 지시를 낸다.
또한, 재배치 처리에서는, 온라인 또는 오프라인으로 행했다고 해도, 재배치에 처리에 따른 오버헤드(네트워크 부하 등)가 생기기 때문에, 최적 배치 작성부(25)에서는, 이 오버헤드가 최대한 적어지는 배치 스케줄이 되도록 고려된 알고리즘의 실장이 바람직하다.
(7) 물리 서버 고장시 및 복구시의 처리
이어서, 본 실시형태의 관리 서버(2)의 바람직한 처리로서, 물리 서버 고장시 및 복구시의 처리에 관해서 설명한다.
물리 서버에 고장이 생긴 경우에는, 고장이 생긴 물리 서버 상의 가상 서버를 대체되는 별도 물리 서버 상으로 이동하는 것이 바람직하다. 구체적으로는, 고장 감시부(27)가 각 물리 서버의 상태(정상/고장)에 관해서 감시하여, 고장이 발생한 경우(즉시 물리 서버가 정지한 경우)에는 서버 관리 데이터베이스(23) 상의 물리 서버에 대응하는 레코드의 고장 정보를 "고장"이라고 바꿔 기록한다. 동시에, 재배치 실행부(26)는, 서버 관리 데이터베이스(23) 상의 물리 서버의 고장 정보의 변화에 따라서, 대체되는 별도 물리 서버의 기동 및 가상 서버의 마이그레이션에 의해 자동 복구를 행한다. 또한, 최적 배치 작성부(25)는, 서버 관리 데이터베이스(23) 상의 물리 서버의 고장 정보의 변화에 기초하여, 고장이 생긴 물리 서버를 스케줄 대상의 물리 서버로부터 제외한다.
물리 서버에 고장이 아니라, 고장의 예조가 발생한 경우에는, 즉시 그 고장의 예조가 생긴 물리 서버를 별도 물리 서버로 전환하는 처리는 행하지 않지만, 고장 감시부(27)는, 서버 관리 데이터베이스(23) 상에서, 고장의 예조가 발생한 물리 서버에 대응하는 레코드의 고장 정보를 "고장"이라고 바꿔 기록하는 것이 바람직하다. 이에 따라, 다음번의 배치 스케줄 작성시에, 고장의 예조가 생긴 물리 서버가 스케줄 대상의 물리 서버로부터 제외된다.
한편, 여기서 고장의 예조란, 서버에 구비되는 냉각용 팬의 회전수에 이상이 생기는 것이나, 일정 기간에 수집가능한 에러가 정해진 횟수 이상 발생하는 것 등, 방치해 두면 고장으로 이어질 가능성이 높은 것을 말한다.
또한, 물리 서버가 보수 교환 등에 의해 정상적으로 복구된 경우는, 고장 감시부(27)가 서버 관리 데이터베이스(23)의 해당하는 물리 서버의 고장 정보를 "정상"으로 바꿔 기록한다. 이에 따라, 최적 배치 작성부(25)에서는, 다음번의 배치 스케줄 작성시에, 복구된 물리 서버가 스케줄 대상의 물리 서버에 들어가게 된다.
이어서, 물리 서버 고장시 및 복구시의 처리에 관해서, 각각 도 17 및 도 18의 흐름도를 참조하여 설명한다. 도 17은 물리 서버에서 고장 또는 고장 예지가 발생한 경우의 처리를 도시하는 흐름도이며, 도 18은 물리 서버가 보수 교환 등에 의해 정상적으로 복구된 경우의 처리를 도시하는 흐름도이다.
도 17에서는, 우선, 고장 감시부(27)가 각 물리 서버를 감시함으로써, 물리 서버의 고장/고장 예조를 검지한다(단계 S70). 그리고, 물리 서버에 고장이 생긴 경우에(단계 S72), 재배치 실행부(26)는, 고장난 물리 서버 상에 배치되어 있는 가상 서버를 전부 대체의 별도 물리 서버에 마이그레이션을 행하는 지시를 낸다(단계 S74). 단계 S72에서 물리 서버의 고장의 예조가 검지된 경우에는, 단계 S74는 실행하지 않는다. 또한, 고장 감시부(27)는, 서버 관리 데이터베이스(23) 상에서, 고장 또는 고장의 예조가 검지된 물리 서버의 고장 정보를 "고장"으로 바꿔 기록한다(단계 S76). 이에 따라, 최적 배치 작성부(25)에서는, 다음번의 배치 스케줄 작성시에, 가동 물리 서버의 후보, 즉, 스케줄 대상의 물리 서버의 후보로부터 고장 또는 고장의 예조가 검지된 물리 서버가 제외된다.
도 18에서는, 우선, 고장 감시부(27)가 각 물리 서버를 감시함으로써, 물리 서버의 복구를 검지한다(단계 S80). 그리고, 고장 감시부(27)는, 서버 관리 데이터베이스(23) 상에서, 복구를 검지한 물리 서버의 고장 정보를 "정상"으로 바꿔 기록한다(단계 S82). 이에 따라, 최적 배치 작성부(25)에서는, 다음번의 배치 스케줄 작성시에, 스케줄 대상의 물리 서버의 후보에, 복구된 물리 서버가 들어가게 된다.
한편, 전술한 최적 배치 작성 알고리즘(최적 배치 작성부(25)의 처리)에서는, 장래의 1주일분의 배치 스케줄을 미리 작성하는 경우에 관해서 설명했지만, 배치 스케줄에 들어간 물리 서버에 고장 또는 고장의 예조가 발생한 경우는, 다음 시간 구간 이후에 관해서 고장 또는 고장의 예조가 발생한 물리 서버를 제외하여 스케줄이 재작성된다. 이 때, 고장 또는 고장의 예조가 발생한 물리 서버와 동일한 처리 능력을 가지며, 또한 배치 스케줄에 들어가 있지 않은 별도의 물리 서버가 존재하는 경우에는, 그 별도의 물리 서버를 고장 또는 고장의 예조가 발생한 물리 서버와 치환함으로써, 스케줄의 재작성을 생략하는 것도 가능하다.
고장 감시부(27)에 의한, 물리 서버의 고장 검지(복구) 방법은, 특별히 한정하지 않지만, 예컨대, 물리 서버의 벤더 등으로부터 제공되는 감시 소프트로부터의 이벤트를 트리거하는 방법, 또는 고장 감시부(27)가 각 물리 서버와의 통신에 의해 물리 서버의 상태에 관한 정보를 수집하는 방법, 오퍼레이터의 조작에 의한 입력으로부터 물리 서버의 상태에 관한 정보를 취득?갱신하는 방법 등을 생각할 수 있다.
이상 설명한 바와 같이, 본 실시형태의 관리 서버에 따르면, 복수의 가상 서버의 각각의 과거의 부하 데이터로부터 부하 예측값을 산출하여, 물리 서버에 대한 가상 서버의 최적의 배치 스케줄을 작성하여, 정기적으로 재배치가 실행된다. 이 배치 스케줄에서는, 어느 물리 서버 상에 배치된 복수의 가상 서버로부터 예측되는 부하값의 합계가, 그 물리 서버의 처리 능력값에 대하여 적절한 비율의 범위에 수습되도록 하여 이루어진다. 따라서, 가상 서버의 돌발적인 부하 상승에 견딜 수 있는 여유가 있고, 또한 물리 서버의 성능을 낭비 없이 사용하여, 가동되는 물리 서버의 대수를 최소한으로 억제함으로써 소비 전력의 저감, 나아가서는 이산화탄소 배출량 삭감이 도모된다.
또한, 상기 배치 스케줄의 생성 및 재배치의 실행은 자동적으로 이루어져 사람의 손이 필요하지 않기 때문에, 운용?관리 비용이 상승하지 않는다.
이상, 실시형태에 따른 관리 서버 및 그 시스템에 관해서 상세히 설명했지만, 본 발명의 관리 서버는 상기 실시형태에 한정되지 않고, 본 발명의 주지(主旨)를 일탈하지 않는 범위에서, 여러 가지 개량이나 변경을 하더라도 좋은 것은 물론이다.
또한, 상기 실시형태에 따른 관리 서버의 각 부의 동작에 관련하여, 이 관리 서버에 의해서 실행되는 가상 서버 배치 방법이 개시된다.
이 가상 서버 배치 방법에 따르면, 복수의 가상 서버의 각각의 현재까지의 정해진 기간에서의 부하값에 기초하여, 각 가상 서버의 장래의 부하값(부하 예측값)을 예측하여, 물리 서버에 배치되는 하나 또는 복수의 가상 서버의 부하 예측값의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 부하 예측값에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄을 결정하여, 그 스케줄에 따라서, 복수의 가상 서버의 일부 또는 전부를, 복수의 물리 서버의 일부 또는 전부 위에 배치하기 위한 지시를 행한다.
상기 실시형태에 따른 관리 서버의 각 부의 동작 또는 상기 가상 서버 배치 방법은 프로그램에 의해서 실현할 수 있다. 이 경우, 상기 가상 서버 배치 방법에 의한 순서가 기술된 서버 관리 프로그램을, 예컨대 시스템 제어부(21)에 포함되는 마이크로컨트롤러(컴퓨터)에 실행시키고, 이에 따라, 부하 예측부(24), 최적 배치 작성부(25), 배치 스케줄 데이터 저장부(28) 및 재배치 실행부(26)의 각 부의 하드웨어 자원을 이용하여 상기 가상 서버 배치 방법이 실현된다. 또한, 상기 프로그램은, 펌웨어로서 관리 서버에 미리 삽입되는 것이라도 좋고, 범용 소프트웨어로서 관리 서버에 실행되는 것이라도 좋다.
2 : 관리 서버 21 : 시스템 제어부
22 : 부하 데이터베이스 23 : 서버 관리 데이터베이스
24 : 부하 예측부 25 : 최적 배치 작성부
26 : 재배치 실행부 27 : 고장 감시부
28 : 배치 스케줄 데이터 저장부 3 : 관리 단말
31 : 관리 정보 표시부
4 : 관리 대상 서버군(복수의 물리 서버, 복수의 가상 서버)

Claims (9)

  1. 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 서버 관리 프로그램으로서,
    복수의 가상 서버의 각각의 현재까지의 정해진 기간에 있어서의 제1 부하에 기초하여, 각 가상 서버의 장래의 제2 부하를 예측하는 순서와,
    물리 서버에 배치되는 하나 또는 복수의 가상 서버의 제2 부하의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 제2 부하에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄을 결정하는 순서와,
    상기 스케줄에 따라서, 상기 복수의 가상 서버의 일부 또는 전부를, 상기 복수의 물리 서버의 일부 또는 전부 위에 배치하기 위한 지시를 행하는 순서를 컴퓨터에 실행시키기 위한 서버 관리 프로그램.
  2. 제1항에 있어서, 상기 제2 부하를 예측하는 순서에 있어서,
    상기 정해진 기간 중 가상 서버의 가동 기간을 대상으로 하여 각 가상 서버의 상기 제1 부하를 통계 처리하여, 각 가상 서버의 상기 제2 부하를 산출하는 것인 서버 관리 프로그램.
  3. 제1항에 있어서, 상기 스케줄을 결정하는 순서에 있어서, 상기 복수의 물리 서버 중 고장중인 물리 서버를, 상기 복수의 가상 서버의 배치 대상으로부터 제외하는 것인 서버 관리 프로그램.
  4. 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 관리 서버로서,
    복수의 가상 서버의 각각의 현재까지의 정해진 기간에 있어서의 제1 부하에 기초하여, 각 가상 서버의 장래의 제2 부하를 예측하는 부하 예측부와,
    물리 서버에 배치되는 하나 또는 복수의 가상 서버의 제2 부하의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 제2 부하에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄을 결정하는 스케줄 생성부와,
    상기 스케줄에 따라서, 상기 복수의 가상 서버의 일부 또는 전부를, 상기 복수의 물리 서버의 일부 또는 전부 위에 배치하기 위한 지시를 행하는 배치 실행부를 구비한 관리 서버.
  5. 제4항에 있어서, 상기 부하 예측부는, 상기 정해진 기간 중 가상 서버의 가동 기간을 대상으로 하여 각 가상 서버의 상기 제1 부하를 통계 처리하여, 각 가상 서버의 상기 제2 부하를 산출하는 것인 관리 서버.
  6. 제4항에 있어서, 상기 스케줄 생성부는, 상기 복수의 물리 서버 중 고장중인 물리 서버를, 상기 복수의 가상 서버의 배치 대상으로부터 제외하는 것인 관리 서버.
  7. 복수의 가상 서버를 복수의 물리 서버에 배치하기 위해서, 관리 서버에 의해서 실행되는 가상 서버 배치 방법으로서,
    복수의 가상 서버의 각각의 현재까지의 정해진 기간에 있어서의 제1 부하에 기초하여, 각 가상 서버의 장래의 제2 부하를 예측하고,
    물리 서버에 배치되는 하나 또는 복수의 가상 서버의 제2 부하의 총합이 그 물리 서버의 처리 능력에 대하여 정해진 비율의 범위 내가 되도록, 각 가상 서버의 제2 부하에 기초하여, 복수의 가상 서버를 복수의 물리 서버에 배치하기 위한 스케줄을 결정하고,
    상기 스케줄에 따라서, 상기 복수의 가상 서버의 일부 또는 전부를, 상기 복수의 물리 서버의 일부 또는 전부 위에 배치하기 위한 지시를 행하는 가상 서버 배치 방법.
  8. 제7항에 있어서, 상기 제2 부하를 예측할 때,
    상기 정해진 기간 중 가상 서버의 가동 기간을 대상으로 하여 각 가상 서버의 상기 제1 부하를 통계 처리하여, 각 가상 서버의 상기 제2 부하를 산출하는 것인 가상 서버 배치 방법.
  9. 제7항에 있어서, 상기 스케줄을 결정할 때,
    상기 복수의 물리 서버 중 고장중인 물리 서버를, 상기 복수의 가상 서버의 배치 대상으로부터 제외하는 것인 가상 서버 배치 방법.
KR1020117028077A 2009-06-01 2009-06-01 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법 KR101351688B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/002421 WO2010140183A1 (ja) 2009-06-01 2009-06-01 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法

Publications (2)

Publication Number Publication Date
KR20120023703A true KR20120023703A (ko) 2012-03-13
KR101351688B1 KR101351688B1 (ko) 2014-01-14

Family

ID=43297332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028077A KR101351688B1 (ko) 2009-06-01 2009-06-01 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법

Country Status (6)

Country Link
US (1) US8782652B2 (ko)
EP (1) EP2439641B1 (ko)
JP (1) JP5338906B2 (ko)
KR (1) KR101351688B1 (ko)
CN (1) CN102449603B (ko)
WO (1) WO2010140183A1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062157B1 (ko) * 2019-04-29 2020-01-03 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102126434B1 (ko) * 2019-12-27 2020-06-25 오케스트로 주식회사 딥 러닝을 활용한 워크 로드 예측을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135208B1 (ko) * 2019-07-31 2020-07-17 오케스트로 주식회사 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135209B1 (ko) * 2019-08-19 2020-07-17 오케스트로 주식회사 가상 머신 배치 모의 실험 방법 및 이를 구현하는 가상 머신 배치 모의 실험 장치
KR20210015636A (ko) * 2019-07-31 2021-02-10 오케스트로 주식회사 가상 머신 워크로드 예측 방법, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR20210021907A (ko) * 2019-08-19 2021-03-02 오케스트로 주식회사 딥러닝을 이용한 가상 머신 배치 시뮬레이션 방법 및 이를 실행하는 가상 머신 배치 모의 실험 장치
KR20210083465A (ko) * 2019-12-26 2021-07-07 연세대학교 산학협력단 가상머신 워크로드 클러스터링 예측을 활용한 높은 전력 효율성을 제공하는 다중 서버 관리 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130014113A1 (en) * 2010-03-25 2013-01-10 Nec Corporation Machine operation plan creation device, machine operation plan creation method and machine operation plan creation program
US8782211B1 (en) * 2010-12-21 2014-07-15 Juniper Networks, Inc. Dynamically scheduling tasks to manage system load
JP5257709B2 (ja) * 2010-12-28 2013-08-07 株式会社日立製作所 仮想計算機の移動方法、仮想計算機システム及び管理サーバ
JP5708013B2 (ja) * 2011-02-22 2015-04-30 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
WO2012117453A1 (ja) * 2011-03-03 2012-09-07 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
JP5664376B2 (ja) * 2011-03-17 2015-02-04 日本電気株式会社 仮想計算機割り当てシステム、及び仮想計算機割り当て方法
JP5576827B2 (ja) * 2011-06-03 2014-08-20 日本電信電話株式会社 サーバ管理システム、サーバ管理装置、サーバ管理方法、及びサーバ管理プログラム
TW201305824A (zh) 2011-07-21 2013-02-01 Hon Hai Prec Ind Co Ltd 電源管理系統及方法
US9183102B2 (en) * 2011-09-30 2015-11-10 Alcatel Lucent Hardware consumption architecture
US9459898B2 (en) * 2011-10-06 2016-10-04 Hitachi, Ltd. Virtual server processing control method, system, and virtual server processing control management server
JP5722247B2 (ja) * 2012-02-10 2015-05-20 株式会社野村総合研究所 仮想サーバ管理システム
CN103368785A (zh) * 2012-04-09 2013-10-23 鸿富锦精密工业(深圳)有限公司 服务器运行监测系统及方法
JP5377775B1 (ja) * 2012-09-21 2013-12-25 株式会社東芝 システム管理装置、ネットワークシステム、システム管理方法およびプログラム
US9104607B2 (en) * 2012-10-31 2015-08-11 International Business Machines Corporation Simulation engine for use in disaster recovery virtualization
EP2755135B1 (en) * 2013-01-14 2016-07-13 Fujitsu Limited Computing device, method, and program for energy-efficient distribution of computational load
JP2014142678A (ja) * 2013-01-22 2014-08-07 Hitachi Ltd 仮想サーバ移行計画作成方法およびシステム
US9384059B2 (en) 2013-05-31 2016-07-05 Hitachi, Ltd. Comparing resource costs between allocation plans in a load balance apparatus
JP6264102B2 (ja) * 2014-03-07 2018-01-24 富士通株式会社 情報処理プログラム、情報処理方法、及び情報処理装置
JP6263083B2 (ja) * 2014-05-13 2018-01-17 日本電信電話株式会社 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置
JP6455035B2 (ja) 2014-09-10 2019-01-23 富士通株式会社 負荷分散管理装置、制御方法およびプログラム
JP6259388B2 (ja) * 2014-12-03 2018-01-10 日本電信電話株式会社 電源制御装置、サーバ仮想化システム、および、電源制御方法
JP5857144B2 (ja) * 2015-03-04 2016-02-10 株式会社野村総合研究所 仮想サーバ管理システム
JP6426532B2 (ja) * 2015-05-08 2018-11-21 株式会社日立製作所 仮想マシン運用支援システムおよび仮想マシン運用支援方法
KR102607808B1 (ko) * 2015-09-11 2023-11-30 삼성전자주식회사 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당
JP6640025B2 (ja) * 2016-05-27 2020-02-05 本田技研工業株式会社 分散処理制御システム及び分散処理制御方法
JP6571046B2 (ja) * 2016-06-21 2019-09-04 株式会社東芝 サーバ装置、情報処理方法及びプログラム
WO2018152386A1 (en) 2017-02-16 2018-08-23 Casa Systems, Inc. Scalable evolved packet core
JP6891611B2 (ja) 2017-04-17 2021-06-18 富士通株式会社 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
US10594216B2 (en) 2018-03-23 2020-03-17 Dell Products, L.P. Configurable voltage drop compensation method and apparatus for voltage regulators
CN108881435B (zh) * 2018-06-15 2021-12-03 广东美的制冷设备有限公司 实时时钟提供方法、服务器、家电设备、系统和介质
JP7035858B2 (ja) 2018-07-03 2022-03-15 富士通株式会社 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
JP2020038434A (ja) 2018-09-03 2020-03-12 日本電信電話株式会社 リソース割当装置、リソース割当方法およびリソース割当プログラム
JP7197776B2 (ja) * 2018-11-01 2022-12-28 富士通株式会社 スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置
JP7261195B2 (ja) * 2020-03-25 2023-04-19 株式会社日立製作所 サーバ負荷予測システム及びサーバ負荷予測方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271572A (ja) 2002-03-14 2003-09-26 Fuji Photo Film Co Ltd 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US7689685B2 (en) * 2003-09-26 2010-03-30 International Business Machines Corporation Autonomic monitoring for web high availability
JP3861087B2 (ja) 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
US7437730B2 (en) * 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
JP2006172241A (ja) 2004-12-17 2006-06-29 Fujitsu Ltd 負荷分散装置,負荷分散方法および負荷分散プログラム
US7730486B2 (en) 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US20100030877A1 (en) * 2007-02-23 2010-02-04 Mitsuru Yanagisawa Virtual server system and physical server selecting method
JP4875525B2 (ja) * 2007-03-26 2012-02-15 株式会社日立製作所 仮想計算機システム及びプログラム
JP2008276320A (ja) * 2007-04-25 2008-11-13 Nec Corp 仮想システム制御方法およびコンピュータシステム
JP5229590B2 (ja) * 2007-09-18 2013-07-03 日本電気株式会社 サーバ組替支援システム、サーバ組替支援方法
US8468230B2 (en) 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
JP5104588B2 (ja) * 2007-10-18 2012-12-19 富士通株式会社 マイグレーションプログラム、および仮想マシン管理装置
JP5000456B2 (ja) * 2007-10-31 2012-08-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 資源管理システム、資源管理装置およびその方法
JP5378946B2 (ja) 2009-10-26 2013-12-25 株式会社日立製作所 サーバ管理装置およびサーバ管理方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062157B1 (ko) * 2019-04-29 2020-01-03 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
WO2020222347A1 (ko) * 2019-04-29 2020-11-05 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
US11354163B2 (en) 2019-04-29 2022-06-07 Okestro Co., Ltd Virtual machine placement method and virtual machine placement device implementing the same
KR102135208B1 (ko) * 2019-07-31 2020-07-17 오케스트로 주식회사 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR20210015636A (ko) * 2019-07-31 2021-02-10 오케스트로 주식회사 가상 머신 워크로드 예측 방법, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135209B1 (ko) * 2019-08-19 2020-07-17 오케스트로 주식회사 가상 머신 배치 모의 실험 방법 및 이를 구현하는 가상 머신 배치 모의 실험 장치
KR20210021907A (ko) * 2019-08-19 2021-03-02 오케스트로 주식회사 딥러닝을 이용한 가상 머신 배치 시뮬레이션 방법 및 이를 실행하는 가상 머신 배치 모의 실험 장치
KR20210083465A (ko) * 2019-12-26 2021-07-07 연세대학교 산학협력단 가상머신 워크로드 클러스터링 예측을 활용한 높은 전력 효율성을 제공하는 다중 서버 관리 방법
KR102126434B1 (ko) * 2019-12-27 2020-06-25 오케스트로 주식회사 딥 러닝을 활용한 워크 로드 예측을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치

Also Published As

Publication number Publication date
JPWO2010140183A1 (ja) 2012-11-15
CN102449603A (zh) 2012-05-09
US20120066684A1 (en) 2012-03-15
KR101351688B1 (ko) 2014-01-14
JP5338906B2 (ja) 2013-11-13
US8782652B2 (en) 2014-07-15
EP2439641B1 (en) 2016-10-12
EP2439641A4 (en) 2013-05-01
CN102449603B (zh) 2014-10-08
EP2439641A1 (en) 2012-04-11
WO2010140183A1 (ja) 2010-12-09

Similar Documents

Publication Publication Date Title
KR101351688B1 (ko) 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
US11656915B2 (en) Virtual systems management
US11108859B2 (en) Intelligent backup and recovery of cloud computing environment
US8589932B2 (en) Data processing workload control
EP3550426B1 (en) Improving an efficiency of computing resource consumption via improved application portfolio deployment
JP5140633B2 (ja) 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
US7539907B1 (en) Method and apparatus for determining a predicted failure rate
CN102959510A (zh) 用于计算机功率和资源消耗建模的方法和系统
US11726836B2 (en) Predicting expansion failures and defragmenting cluster resources
US9465708B2 (en) System and method to proactively and intelligently schedule disaster recovery (DR) drill(s)/test(s) in computing system environment
US9607275B2 (en) Method and system for integration of systems management with project and portfolio management
US11656914B2 (en) Anticipating future resource consumption based on user sessions
Umesh et al. Dynamic software aging detection-based fault tolerant software rejuvenation model for virtualized environment
JP2012141671A (ja) 仮想計算機の移動方法、仮想計算機システム及び管理サーバ
Volk et al. Towards intelligent management of very large computing systems
US8234513B2 (en) Power management method
US20230032812A1 (en) Auto-split and auto-merge clusters
KR100669153B1 (ko) 표준 관리 블럭에 기반을 둔 계층적 시스템 관리 시스템및 관리 방법
CN103995731A (zh) 一种管理中心部署方法和虚拟装置
CN117891582A (zh) 一种智能化云计算管理平台
JP2020113148A (ja) 仮想基盤管理装置、仮想基盤管理方法および仮想基盤管理プログラム
WO2016147349A1 (ja) エネルギー管理システムおよび業務アプリケーションの実行方法
Cheng et al. A study on application cluster service scheme and computer performance evaluator

Legal Events

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

Payment date: 20161220

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee