KR101669567B1 - 가상 머신의 배치를 관리하는 방법 - Google Patents

가상 머신의 배치를 관리하는 방법 Download PDF

Info

Publication number
KR101669567B1
KR101669567B1 KR1020150059140A KR20150059140A KR101669567B1 KR 101669567 B1 KR101669567 B1 KR 101669567B1 KR 1020150059140 A KR1020150059140 A KR 1020150059140A KR 20150059140 A KR20150059140 A KR 20150059140A KR 101669567 B1 KR101669567 B1 KR 101669567B1
Authority
KR
South Korea
Prior art keywords
virtual machine
placement
added
host
virtual
Prior art date
Application number
KR1020150059140A
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 KR1020150059140A priority Critical patent/KR101669567B1/ko
Application granted granted Critical
Publication of KR101669567B1 publication Critical patent/KR101669567B1/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/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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 일 실시예에 따른 가상 머신의 배치를 관리하는 방법은 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 수행 가능하며, (a) 각각의 가상 머신마다 배치 제한 조건을 부가하는 단계, (b) 상기 배치 제한 조건을 기초로, 상기 각각의 가상 머신이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계 및 (c) 상기 가상 머신 그룹을, 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계를 포함할 수 있다.

Description

가상 머신의 배치를 관리하는 방법{METHOD FOR MANAGING A PLACEMENT OF VIRTUAL MACHINE}
본 발명은 가상 머신의 배치를 관리하는 방법에 관한 것으로, 보다 자세하게는 가상 머신을 포함하는 가상 머신 그룹 및 이러한 가상 머신 그룹에 대한 배치 제한 조건을 기초로 가상 머신의 배치를 관리하는 방법에 관한 것이다.
클라우드 컴퓨텅 시스템과 같은 가상화 시스템(virtualized system)은 다양한 종류의 하드웨어와 소프트웨어를 포함하는 가상 머신(virtual machine, VM)을 포함하고, 가상 머신은 다양한 리소스 요건(resource requirements)을 이용하여 가상화 시스템에서 동작하는 어플리케이션을 실행한다.
이러한 가상 머신은 '배치 제한 조건'을 기초로 클러스터(cluster)에 포함된 복수의 호스트(host)에 배치된다. 여기서, 배치 제한 조건이란 가상 머신의 생성(creation) 및 가상화 시스템의 부하 분포에 영향을 끼치는 요소로, 가상 머신의 호스트에 대한 배치를 제한하는 조건을 지칭하며, 개발자나 관리자 등에 의하여 각 가상 머신마다 적어도 하나 이상 부가될 수 있다.
가상 머신에 배치 제한 조건을 부가함에 있어서, 종래에는 룰 기반 모델(rule-based model)을 이용하였다. 그러나, 룰 기반 모델에 따르면 중복되는 배치 제한 조건이 존재하거나 서로 충돌되는 배치 제한 조건이 존재할 수 있었다. 왜냐하면, 룰 기반 모델에서 개발자나 관리자는 새롭게 부가되는 배치 조건이 기존의 배치 제한 조건과 중복되는지 또는 충돌되는지 등을 용이하게 인식하기가 어려웠기 때문이다. 아울러 배치 제한 조건의 중복 문제를 해결하기 위하여 룰 기반 모델에서 배치 제한 조건의 중복을 확인하는 과정을 수행하는 방법이 제안되었지만, 이러한 방법은 배치 오버헤드를 증가시키는 문제점을 야기할 수 있었다.
따라서, 가상 머신에 부가된 배치 제한 조건 중, 중복된 배치 제한 조건 및 충돌되는 배치 제한 조건을 용이하게 파악할 수 있고 이를 이용하여 가상 머신의 배치를 관리하는 방법에 대한 요구 사항이 있다.
한국공개특허공보, 10-2011-0067081 (2011.06.21. 공개)
본 발명의 해결하고자 하는 과제는 가상 머신에 부가된 배치 제한 조건 중 중복된 배치 제한 조건 및 충돌되는 배치 제한 조건을 용이하게 파악할 수 있는 방법을 제공하고자 한다.
또한, 본 발명의 해결하고자 하는 과제는 배치 제한 조건을 이용하여 가상 머신을 가상 머신 그룹으로 분류하고, 이를 기초로 가상 머신 그룹을 복수의 호스트 중 어느 하나의 호스트로 배치하는 방법을 제공하고자 한다.
또한, 본 발명의 해결하고자 하는 과제는 신규 가상 머신을 배치하는 방법을 제공하고자 한다.
또한, 본 발명의 해결하고자 하는 과제는 기존의 가상 머신과 호스트 간의 배치를 재배치하는 방법을 제공하고자 한다.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 가상 머신(virtual machine, VM)의 배치를 관리하는 방법은 (a) 각각의 가상 머신마다 배치 제한 조건을 부가하는 단계, (b) 상기 배치 제한 조건을 기초로, 상기 각각의 가상 머신이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계 및 (c) 상기 가상 머신 그룹을, 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계를 포함할 수 있다.
또한, 상기 (a) 단계는 상기 가상 머신 중 제1 가상 머신 및 제2 가상 머신에 대하여, 상기 제1 가상 머신은 상기 제2 가상 머신과 동일한 호스트에 배치되어야 하는 제1 배치 제한 조건을 포함하는 반면, 상기 제2 가상 머신은 제1 가상 머신과 동일한 호스트에 배치되어야 하는 제1 배치 제한 조건을 포함하지 않는 경우, 상기 제2 가상 머신에, 상기 제2 가상 머신이 상기 제1 가상 머신과 동일한 호스트에 배치되어야 하는 제1 배치 제한 조건을 추가로 부가하는 단계를 포함할 수 있다.
또한, 상기 (a) 단계는 상기 가상 머신 중 제1 가상 머신 및 제2 가상 머신에 대하여 상기 제1 가상 머신은 상기 제2 가상 머신과 상이한 호스트에 배치되어야 하는 제2 배치 제한 조건을 포함하는 반면, 상기 제2 가상 머신은 제1 가상 머신과 상이한 호스트에 배치되어야 하는 제2 배치 제한 조건을 포함하지 않는 경우, 상기 제2 가상 머신에, 상기 제2 가상 머신이 상기 제1 가상 머신과 상이한 호스트에 배치되어야 하는 제2 배치 제한 조건을 추가로 부가하는 단계를 포함할 수 있다.
또한, 상기 (b) 단계는 상기 가상 머신이 상기 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에만 포함되도록 분류하는 것을 특징으로 할 수 있다.
또한, 상기 가상 머신에 부가되는 배치 제한 조건은 상기 각각의 가상 머신 중에서 동일한 호스트에 배치되어야 하는 가상 머신에 관한 제1 배치 제한 조건을 포함하고, 상기 (b) 단계는 상기 제1 배치 제한 조건을 기초로 상기 각각의 가상 머신이 상기 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류할 수 있다.
또한, 상기 (c) 단계는 서로 상이한 호스트에 배치되어야 하는 가상 머신에 관한 제2 배치 제한 조건 및 가상 머신의 배치를 호스트에 가능하게 하는 호스트에 관한 제3 배치 제한 조건을 기초로, 상기 가상 머신 그룹을 상기 복수의 호스트 중 어느 하나의 호스트로 배치할 수 있다.
또한, 상기 (c) 단계는 서로 상이한 호스트에 배치되어야 하는 가상 머신 그룹에 관한 제2 배치 제한 조건 및 가상 머신 그룹의 배치를 호스트에 가능하게 하는 호스트에 관한 제3 배치 제한 조건을 기초로, 상기 가상 머신 그룹을 상기 복수의 호스트 중 어느 하나의 호스트로 배치할 수 있다.
또한, 상기 (c) 단계에서 상기 호스트 간의 부하 분포 정도 또는 상기 가상 머신의 생성(creating) 가능 여부를 기초로, 상기 가상 머신 그룹을 상기 복수의 호스트 중 어느 하나의 호스트로 배치할 수 있다.
본 발명의 다른 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 가상 머신(virtual machine, VM)의 배치를 관리하는 방법은, (a) 각각의 가상 머신마다 배치 제한 조건을 부가하는 단계, (b) 상기 배치 제한 조건을 기초로, 상기 각각의 가상 머신이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계, (c) 상기 가상 머신 그룹을, 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계 및 (d) 신규 가상 머신을, 상기 신규 가상 머신이 분류되는 가상 머신 그룹을 고려하여 어느 하나의 호스트로 배치하는 단계를 포함할 수 있다.
또한, 상기 (d) 단계에서 상기 복수의 호스트 중에서 상기 신규 가상 머신의 배치가 가능한 호스트가 없는 경우, 상기 호스트와 상기 가상 머신 그룹 간의 배치를 재배치하여 상기 신규 가상 머신을 배치할 수 있다.
본 발명의 또 다른 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 가상 머신(virtual machine, VM)의 배치를 관리하는 방법은 (a) 각각의 가상 머신마다 배치 제한 조건을 부가하는 단계, (b) 상기 배치 제한 조건을 기초로, 상기 각각의 가상 머신이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계, (c) 상기 가상 머신 그룹을, 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계 및 (d) 상기 호스트와 상기 가상 머신 그룹 간의 배치를 재배치하는 단계를 포함할 수 있다.
또한, 상기 (d) 단계에서 호스트의 최대 CPU 활용 정도 및 상기 가상 머신 그룹이 상기 복수의 호스트 중 임의의 호스트로 재배치되었을 때의 부하 분포의 불균형 정도(imbalance)를 기초로 재배치할 수 있다.
본 발명의 또 다른 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 가상 머신(virtual machine, VM)의 배치를 관리하는 방법은 (a) 각각의 가상 머신마다 배치 제한 조건 및 리소스 요건(resource requirement)을 부가하는 단계, (b) 상기 배치 제한 조건 및 상기 리소스 요건을 기초로, 상기 각각의 가상 머신을 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹으로 분류하는 단계 및 (c) 상기 가상 머신 그룹을, 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 가상 머신에 부가된 배치 제한 조건 중 중복된 배치 제한 조건 및 충돌되는 배치 제한 조건을 용이하게 파악할 수 있으며, 이를 통해 신규(new) 가상 머신의 생성(creation)의 실패(fail)를 방지할 수 있고 부하 불균형을 조정할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상 머신의 배치를 예시적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상 머신의 배치를 관리하는 방법의 절차를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 신규 가상 머신의 배치를 관리하는 방법의 절차를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 기존의 가상 머신과 호스트 간의 배치를 재배치하는 방법의 절차를 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
한편, 본 발명의 일 실시예에서 제시하는 방법은 적어도 일부의 소프트웨어와 하드웨어의 하이브리드 구현 방식으로, 프로세서 및 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스 또는 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 프로그래밍 가능한 머신(machine)상에서 구현될 수 있다.
또한, 본 발명의 일 실시예에서 제시하는 특징들 및/또는 기능성들 중 적어도 일부는 최종 사용자 컴퓨터 시스템, 컴퓨터, 네트워크 서버 또는 서버 시스템, 모바일 컴퓨팅 디바이스(예를 들어, PDA(personal digitalassistant), 모바일 전화기, 스마트폰, 랩탑, 태블릿 컴퓨터 또는 그와 유사한 것), 소비자 전자 디바이스, 또는 임의의 다른 적합한 전자 디바이스 또는 그들의 임의의 조합과 같은 하나 이상의 범용 네트워크 호스트 머신에서 등에서 구현될 수 있다.
또한, 적어도 일부 실시예들에서, 여기에 개시된 개념 계층 구조를 생성하는 방법의 실시예의 특징들 및/또는 기능성들의 적어도 일부는 하나 이상의 가상화된 컴퓨팅 환경(예를 들어 네트워크 컴퓨팅 클라우드 또는 그와 유사한 것)에서 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따라 호스트에 배치된 가상 머신을 예시적으로 도시한 도면이다.
도 1을 참조하면, 가상 머신은 각각의 가상 머신에 부가되는 배치 제한 조건을 기초로 가상 머신 그룹(21, 31) 중 어느 하나의 가상 머신 그룹에 포함되도록 분류되며, 각각의 가상 머신 그룹(21, 31)은 복수의 호스트(20, 30) 중 어느 하나의 호스트에 배치되고, 다만 도 1은 본 발명의 일 실시예를 도시한 것에 불과하므로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 1에 도시된 시스템(10)은 예를 들면 클러스터(cluster)(10)일 수 있으며, 이러한 클러스터(10)는 복수의 호스트(20, 30)를 포함할 수 있고, 이 때의 복수의 호스트(20, 30) 각각은 가상화된 호스트일 수 있다.
가상 머신 그룹(21, 31)은 적어도 하나 이상의 가상 머신을 포함하는 가상 머신에 대한 그룹을 의미하며, 복수의 호스트(20, 30)중 어느 하나의 호스트에 배치될 수 있다.
이 때, 가상 머신 그룹이 배치된 호스트는 가상 머신 그룹의 배치 제한 조건을 만족시키는 호스트일 수 있다. 예를 들면, 호스트 1(20)은 가상 머신 그룹(21)에서 요구하는 배치 제한 조건을 만족시키는 호스트일 수 있으며, 호스트 n(30)은 가상 머신 그룹 (31)에서 요구하는 배치 제한 조건을 만족시키는 호스트일 수 있다.
가상 머신 그룹에 포함된 가상 머신은 배치 제한 조건을 기초로 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹으로 분류된다. 이 때, 가상 머신은 어느 하나의 가상 머신 그룹에만 포함되도록 분류될 뿐 둘 이상의 가상 머신 그룹에 중복하여 포함되도록 분류되지 않는다. 따라서, 가상 머신 그룹을 모두 합치면(union) 이는 전체 가상 머신과 동일하다.
배치 제한 조건은 가상 머신의 생성(creation)과 가상화 시스템의 부하 분배 등에 영향을 끼칠 수 있으며, 다음과 같은 타입(type)으로 분류 가능하다.
첫째, 동일한 호스트에 배치되어야 한다는 가상 머신에 관한 제1 배치 제한 조건이 있다. 예를 들면, 도 1에서 가상 머신 그룹(21)에 포함된 가상 머신들은 서로 동일한 호스트에 배치되어야 한다는 제1 배치 제한 조건을 갖는다.
둘째, 서로 상이한 호스트에 배치된 가상 머신 간에는 서로 상이한 호스트에 배치되어야 한다는 가상 머신에 관한 제2 배치 제한 조건이 있다. 예를 들면, 도 1에서 서로 상이한 호스트에 배치된 가상 머신 그룹(21)과 가상 머신 그룹(31)에 대하여 살펴보면, 가상 머신 그룹(21)은 가상 머신 그룹(31)과 상이한 호스트에 배치되어야 한다는 제2 배치 제한 조건을 가지며, 가상 머신 그룹(31)도 가상 머신 그룹(21)과 상이한 호스트에 배치되어야 한다는 제2 배치 제한 조건을 갖는다.
셋째, 가상 머신이 배치된 호스트는 해당 가상 머신의 배치를 해당 호스트에 가능하게 하는 호스트에 관한 제3 배치 제한 조건이 있다. 예를 들면, 도 1에서 호스트 1(20)은 가상 머신 그룹(21)의 배치를 가능하게 하는 호스트에 관한 제3 배치 제한 조건을 갖는다.
이와 같은 배치 제한 조건은 하나의 가상 머신에 복수로 부가될 수 있다. 이 때, 동일한 타입의 배치 제한 조건은 하나의 가상 머신에 부가되는 과정에서 통합될 수 있으므로, 중복되는(redundant) 배치 제한 조건의 제거가 가능하다.
아울러, 이와 같은 배치 제한 조건을 기초로, 예를 들면 제1 배치 제한 조건이 동일한 가상 머신은 동일한 가상 머신 그룹으로 분류되므로, 이러한 과정에서 충돌(conflict)하는 배치 제한 조건에 대한 확인이 가능하다.
한편, 배치 제한 조건은 예를 들면 보안(security), 성능, 라이센스 호환성, 하드웨어 호환성, 네트워크나 스토리지의 연관성 등과 같은 속성(predicate)를 가지며, 이러한 속성에 따라서 가상 머신의 배치가 결정될 수도 있다.
이 중 라이센스 호환성의 경우를 예로 들어 살펴보면, 가상 머신에서 실행되는 어플리케이션이 소프트웨어 라이센스를 필요로 할 경우, 가상 머신은 소프트웨어 라이센스를 구비하는 호스트에 배치되어야 할 것이다. 네트워크 연관성의 경우를 예로 들어 살펴보면, 2개의 가상 머신이 많은 양의 데이터를 송수신할 경우, 이들 가상 머신은 동일한 호스트에 배치되는 것이 바람직할 것이다.
이하에서는, 가상 머신을 3가지 타입의 배치 제한 조건을 기초로 도 1에 도시된 것과 같이 배치하기 위한 방법을 보다 구체적으로 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 가상 머신의 배치를 관리하는 방법의 절차를 도시한 도면이다.
도 2를 참조하면, 가상 머신의 배치를 관리하는 방법은 각각의 가상 머신마다 배치 제한 조건을 부가하는 단계(S100), 상기 배치 제한 조건을 기초로, 상기 각각의 가상 머신이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계(S200) 및 상기 가상 머신 그룹을 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계(S300)을 포함한다.
먼저, 가상 머신의 배치를 관리하는 방법은 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 수행될 수 있는데, 이러한 전자 디바이스는 예를 들면 데스크탑이나 서버 등일 수 있다.
각각의 가상 머신마다 배치 제한 조건을 부가하는 단계(S100)에서는, 가상 머신마다 배치 제한 조건을 부가한다. 가상 머신에 부가되는 배치 조건은 전술한 제1 배치 제한 조건, 제2 배치 제한 조건 그리고 제3 배치 제한 조건 중 어느 하나일 수 있다.
아울러, 가상 머신에는 이러한 배치 제한 조건이 적어도 하나 이상 부가될 수 있다. 이 때, 동일한 타입의 배치 제한 조건은 하나의 가상 머신에 부가되는 과정에서 통합될 수 있으므로, 중복되는(redundant) 배치 제한 조건의 제거가 가능하다.
한편, 본 발명의 일 실시예에 따르면 가상 머신에 배치 제한 조건을 부가하는 과정에서 다른 가상 머신에 부가된 배치 제한 조건을 고려하여 배치 제한 조건을 추가, 변경 또는 삭제할 수 있으며, 이를 통해 가상 머신 간의 배치 제한 조건이 서로 부합되도록 할 수 있다.
예를 들면, 제1 가상 머신 및 제2 가상 머신이 있다고 하자. 제1 가상 머신은 제2 가상 머신과 동일한 호스트에 배치되어야 하는 제1 배치 제한 조건을 포함하는 반면, 제2 가상 머신은 제1 가상 머신과 동일한 호스트에 배치되어야 하는 제1 배치 제한 조건을 포함하지 않는 경우, 제2 가상 머신에, 제2 가상 머신이 제1 가상 머신과 동일한 호스트에 배치되어야 하는 제1 배치 제한 조건을 추가로 부가할 수 있다.
이와 달리 제1 가상 머신은 제2 가상 머신과 상이한 호스트에 배치되어야 하는 제2 배치 제한 조건을 포함하는 반면, 제2 가상 머신은 제1 가상 머신과 상이한 호스트에 배치되어야 하는 제2 배치 제한 조건을 포함하지 않는 경우, 제2 가상 머신에, 제2 가상 머신이 제1 가상 머신과 상이한 호스트에 배치되어야 하는 제2 배치 제한 조건을 추가로 부가할 수 있다.
다시 도 2로 돌아와서 살펴보면, 배치 제한 조건을 기초로 각각의 가상 머신이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계(S200)가 수행된다.
보다 자세하게 살펴보면, 가상 머신에 부가된 제1 배치 제한 조건이 동일하면, 이러한 가상 머신은 동일한 가상 머신 그룹에 포함되도록 분류할 수 있다.
이 때, 가상 머신은 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에만 포함되도록 분류하고 둘 이상의 가상 머신 그룹에 중복하여 포함되도록 분류하지 않는다. 따라서, 가상 머신 그룹을 모두 합치면(union) 이는 전체 가상 머신과 동일하다.
이를 기초로 살펴보면, 동등한(equivalent)한 제1 배치 제한 조건을 갖는 가상 머신은 동일한 가상 머신 그룹으로 분류되므로, 이러한 과정에서 충돌(conflict)하는 배치 제한 조건에 대한 확인이 가능하다.
다시 도 2로 돌아와서 살펴보면, 가상 머신 그룹을 복수의 호스트 중 어느 하나의 호스트로 배치하는 단계(S300)가 수행된다.
즉, 본 발명의 일 실시예에서는 가상 머신 그 자체가 아닌 가상 머신 그룹이 호스트로 배치될 수 있으며, 따라서 가상 머신 자체를 호스트로 배치하는 경우보다 상대적으로 덜 복잡하게 호스트의 배치를 수행할 수 있다.
아울러, 가상 머신 그룹을 복수의 호스트 중 어느 하나의 호스트로 배치하기 위해서는 가상 머신 그룹에 대한 제1 배치 제한 조건, 제2 배치 제한 조건 및 제3 배치 제한 조건을 고려하여 후보자 호스트를 선정한 뒤 이 중 어느 하나의 호스트를 선별하여 배치할 수 있는데 이에 대해서는 이하에서 보다 자세하게 살펴보기로 한다.
먼저, 제1 가상 머신 그룹 g가 다음과 같이 n개의 가상 머신 v를 포함한다고 가정하자.
Figure 112015041008205-pat00001
수학식 1을 참조하면, n개의 가상 머신 v는 제1 가상 머신 그룹인 g에 포함되므로, 제1 가상 머신 그룹 g는 제1 배치 제한 조건을 만족한다.
다음으로, 제1 가상 머신 그룹 g에 대한 제3 배치 제한 조건 및 제2 배치 제한 조건을 구하는 과정을 살펴보도록 한다.
제1 가상 머신 그룹 g의 배치를 가능하게 하는 호스트에 관한 제3 배치 제한 조건 HHostMust은 다음의 수학식 2에 의해 연산될 수 있다.
Figure 112015041008205-pat00002
여기서, HMi는 vi의 배치를 가능하게 하는 호스트에 대한 제3 배치 제한 조건, 즉 개별 가상 머신에 대한 제3 배치 제한 조건이며, 이를 기초로 살펴보면 제1 가상 머신 그룹 g에 대한 제3 배치 제한 조건은 제1 가상 머신 그룹 g에 포함된 각각의 가상 머신에 대한 제3 배치 제한 조건의 교집합임을 알 수 있다.
아울러, 제1 가상 머신 그룹 g와 상이한 호스트에 배치되어야 하는 가상 머신 그룹에 대한 제2 배치 제한 조건 VMVMMustNot은 다음의 수학식 3에 의해 연산될 수 있다.
Figure 112015041008205-pat00003
여기서, VMNi는 vi와 상이한 호스트에 배치되어야 하는 가상 머신에 대한 제2 배치 제한 조건, 즉 개별 가상 머신에 대한 제2 배치 제한 조건이며, 이를 기초로 살펴보면 제1 가상 머신 그룹 g에 대한 제2 배치 제한 조건은 제1 가상 머신 그룹 g에 포함된 각각의 가상 머신에 대한 제2 배치 제한 조건의 합집합임을 알 수 있다.
여기서, 수학식 2에 의해 연산된 HHostMust가 공집합이거나 또는 수학식 3에 의해 연산된 VMVMMustNot과 제1 가상 머신 그룹 g의 교집합이 공집합이 아닌 경우, 이는 제1 가상 머신 그룹 g의 가상 머신에 부가된 배치 제한 조건이 충돌됨을 의미한다.
따라서, 전술한 연산 과정을 통하여 충돌(conflict)하는 배치 제한 조건에 대한 확인이 가능하며, 이를 통해 사용자나 관리자는 배치 제한 조건이 충돌함을 통보받을 수 있다.
다음으로, 전술한 제1 가상 머신 그룹 g에 대한 제1 배치 제한 조건, 제2 배치 제한 조건 및 제3 배치 제한 조건을 고려하여, 제1 가상 머신 그룹 g의 배치가 가능한 후보자 호스트 구하는 방법을 살펴보기로 한다.
후보자 호스트 HCand는 다음과 같은 수학식 4를 기초로 연산할 수 있다.
Figure 112015041008205-pat00004
여기서, HHostMust는 수학식 2에서 구한 값이고, HRes는 제1 가상 머신 그룹에 속한 모든 가상 머신이 요구하는 리소스의 총량을 만족시키는 호스트들의 집합을 의미한다.
아울러, HVMMustNot은 제1 가상 머신 그룹 g에 대한 제2 배치 제한 조건을 만족시키는 호스트들의 집합을 의미한다. 아울러, 이러한 HVMMustNot는 클러스터에 포함된 모든 복수의 호스트에서, 수학식 3에서 구한 VMVMMustNot에 속하는 각 가상 머신이 배치된 호스트의 합집합에 대한 여집합을 의미한다.
이상에서 살펴본 바와 같이, 후보자 호스트는 제1 가상 머신 그룹 g의 제1 배치 제한 조건, 제2 배치 제한 조건 및 제3 배치 제한 조건과 함께 제1 가상 머신 그룹 g의 리소스 요건을 기초로 연산될 수 있으며, 제1 가상 머신 그룹 g는 이와 같은 연산에 의하여 선정된 후보자 호스트 중 어느 하나로 배치될 수 있다.
한편, 이와 같이 선정된 후보자 호스트 중 제1 가상 머신 그룹을 배치할 어느 하나의 호스트를 선택하는 경우 호스트 간의 부하 불균형(imbalance metric) 정도를 고려하여 호스트를 선택할 수 있다. 예를 들면, 제1 가상 머신 그룹이 후보자 호스트에 포함된 호스트 각각에 대하여 배치될 때의 부하 불균형 정도를 계산한 뒤, 부하 불균형 정도가 최소인 호스트가 선택되어 제1 가상 머신 그룹이 배치될 수 있다.
도 3은 본 발명의 일 실시예에 따른 신규 가상 머신의 배치를 관리하는 방법의 절차를 도시한 도면이다.
먼저, 신규(new) 가상 머신이란 새로운 가상 머신을 기존의 클라우드에 포함된 복수의 호스트 중 어느 하나의 호스트로 새로이 배치하는 것을 의미한다.
따라서, 신규 가상 머신의 배치를 관리하는 방법은 도 2에서 이미 설명한 S100 내지 S300의 단계를 수행한 후에, 신규 가상 머신을 어느 하나의 호스트로 배치하는 단계를 수행하는 것을 포함한다.
S100 내지 S300의 단계를 수행하는 것은 도 2에서와 동일하므로 설명은 생략한다.
다음으로, 신규 가상 머신을 호스트에 배치하는 단계에 대해서는 도 3을 참조하여 설명하기로 한다.
도 3을 참조하면, 신규 가상 머신이 속하는 제1 가상 머신 그룹을 획득하는 단계(S410)가 수행된다. 이 때, 본 발명의 일 실시예에서는 이와 같은 신규 가상 머신이 속하는 제1 가상 머신 그룹은 이미 알려져 있는 것을 전제로 할 수 있으며, 이를 위해 예를 들면 외부로부터 이러한 신규 가상 머신이 속하는 제1 가상 머신 그룹을 전달받을 수 있다.
아울러, 이하에서 가상 머신 그룹이라고 지칭할 경우 이는 '유효 가상 머신 그룹'을 지칭하는 것을 전제하기로 한다. 유효 가상 머신 그룹이란 가상 머신 그룹을 구성하는 가상 머신 중에서 현재 동작되고 있지 않은 가상 머신은 제외하고 현재 동작되고 있는 가상 머신만을 포함하는 가상 머신 그룹을 지칭한다.
다음으로, 이러한 제1 가상 머신 그룹이 배치된 호스트(제1 호스트)를 획득하는 단계(S420)가 수행된다.
이 후, 신규 가상 머신과 제1 가상 머신 그룹을 기초로 신규 가상 머신이 배치될 호스트 리스트를 선별하는 단계(S430)가 수행된다. 호스트 리스트를 선별하는 것은 전술한 수학식 4 내지 6에서 설명한 과정을 그대로 적용하되, 신규 가상 머신과 제1 가상 머신 그룹의 합집합에 대해서 수학식 4 내지 6에서 설명한 과정을 적용한다.
호스트 리스트를 선별하는 단계(S430)의 수행 결과 호스트 리스트에 호스트가 존재(S440)하면서 제1 호스트가 호스트 리스트에 포함되는 경우(S450)에는, 신규 가상 머신을 제1 호스트에 배치한다(S450).
그러나, 호스트 리스트를 선별하는 단계(S430)의 수행 결과 호스트 리스트에 호스트가 존재(S440)하지만 호스트 리스트가 제1 호스트를 포함하지 않는 경우(S450), 제1 가상 머신 그룹과 신규 가상 머신이 호스트 리스트 중 어느 하나의 호스트에 배치되었을 때 부하 불균형 정도(imbalance metric)를 호스트 리스트에 포함된 호스트마다 계산하고(S460), 이러한 부하 불균형 정도가 최소가 되는 제2 호스트를 선택한 뒤 제1 가상 머신 그룹과 신규 가상 머신을 이러한 제2 호스트에 배치한다(S470 및 S480).
이와 달리, 호스트 리스트를 선별하는 단계(S430)의 수행 결과 호스트 리스트에 호스트가 존재(S440)하지 않는 경우가 있을 수 있는데, 이는 신규 가상 머신에 대한 배치 제한 조건과 리소스 요건을 만족하는 호스트가 존재하지 않음을 의미한다.
이 경우, 호스트와 가상 머신 그룹 간의 배치를 재배치하는 단계(S442)가 수행될 수 있다. 보다 구체적으로 살펴보면, 먼저 제1 가상 머신 그룹 및 신규 가상 머신의 리소스 요건과 동일하거나 더 큰 리소스 요건을 갖는 제2 가상 머신 그룹을 검색하되, 이러한 제2 가상 머신 그룹이 제3 호스트에 배치된다고 가정하면 이러한 제3 호스트는 제1 가상 머신 그룹과 신규 가상 머신의 리소스 요건을 모두 만족시키는 호스트일 것이다. 이 후, 제2 가상 머신 그룹을 제3 호스트에서 또 다른 제4 호스트로 이동시키는 재배치를 수행(S442)한 뒤, 제1 가상 머신 그룹과 신규 가상 머신을 제3 호스트에 배치하는 단계(S444)를 수행할 수 있다.
따라서, 이와 같은 과정에 따르면 기존의 배치 제한 조건과 충돌되거나 중복되지 않으면서 신규 가상 머신을 배치할 수 있다.
도 4은 본 발명의 일 실시예에 따른 기존의 가상 머신 그룹과 호스트 간의 배치를 재배치하는 방법의 절차를 도시한 도면으로, 이러한 절차는 도 2에서 이미 설명한 S100 내지 S300의 단계를 수행한 후에 재배치하는 단계를 수행하는 것을 포함한다.
S100 내지 S300의 단계를 수행하는 것은 도 2에서와 동일하므로 설명은 생략한다.
다음으로, 기존의 가상 머신 그룹과 호스트 간의 배치를 재배치하는 절차에 대해서는 도 4 참조하여 설명하기로 한다.
도 4를 참조하면, 먼저 최대 CPU의 활용도를 갖는 제5 호스트를 탐색한다(S500).
다음으로, 제5 호스트에 배치된 가상 머신 그룹을 다른 호스트로 이동하였을 때를 가정하여 부하 불균형 정도가 최소가 되는지를 각각의 가상 머신 그룹 및 호스트마다 반복하여 조사(S510)하는데, 이러한 S510의 과정의 반복은 기 설정된 최대 반복 횟수에 도달하거나 또는 부하 불균형 정도가 기 설정된 임계값 이하가 나올 때까지 반복한다(S520).
이 후, S520의 결과에 따라 부하 불균형 정도를 최소로 하는 가상 머신 그룹과 호스트 간의 배치를 기초로 가상 머신 그룹과 호스트 간의 배치를 재배치한다(S530).
따라서, 이와 같은 과정에 따르면 기존의 배치 제한 조건과 충돌되거나 중복되지 않으면서 가상 머신 그룹과 호스트 간의 배치를 재배치할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따르면 가상 머신에 부가된 배치 제한 조건 중에 중복된 배치 제한 조건 및 충돌되는 배치 제한 조건을 용이하게 파악할 수 있으며, 기존의 배치 제한 조건과 충돌되거나 중복되지 않으면서 신규 가상 머신을 배치하거나 기존의 배치를 재배치할 수 있다.
아울러, 본 발명의 일 실시예에 따른 가상 머신의 배치를 관리하는 방법은 컴퓨터 프로그램이 기록된 기록매체에 구현될 수 있다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10 : 클러스터
20, 30 : 호스트
21, 31 : 가상 머신 그룹

Claims (14)

  1. 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 복수 개의 가상 머신(virtual machine, VM)의 배치를 관리하는 방법으로써,
    (a) 상기 복수 개의 가상 머신 각각마다 배치 제한 조건을 부가하는 단계;
    (b) 상기 부가된 배치 제한 조건을 기초로, 상기 복수 개의 가상 머신 각각이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계; 및
    (c) 상기 복수의 가상 머신 그룹 별로, 상기 가상 머신 그룹에 포함된 복수 개의 가상 머신에 부가된 배치 제한 조건을 고려하여 상기 가상 머신 그룹에 배치될 어느 하나의 호스트를 복수의 호스트 중에서 선정하고, 상기 가상 머신 그룹을 상기 선정된 호스트로 배치하는 단계를 포함하고,
    상기 부가되는 배치 제한 조건은 상호 간에 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건 및 상호 간에 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건을 포함하고,
    상기 (b) 단계는,
    제1 가상 머신에는 제2 가상 머신과 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건이 부가되어 있고 상기 제2 가상 머신에는 상기 제1 가상 머신에 부가된 제1 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제1 가상 머신에 부가된 제1 배치 제한 조건을 상기 제2 가상 머신에게 부가한 뒤, 상기 제1 가상 머신과 상기 제2 가상 머신이 동일한 가상 머신 그룹에 포함되도록 분류하고,
    제3 가상 머신에는 제4 가상 머신과 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건이 부가되어 있고 상기 제4 가상 머신에는 상기 제3 가상 머신에 부가된 제2 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제3 가상 머신에 부가된 제2 배치 제한 조건을 상기 제4 가상 머신에게 부가한 뒤, 상기 제3 가상 머신과 상기 제4 가상 머신이 각각 상이한 가상 머신 그룹에 포함되도록 분류하는
    가상 머신의 배치를 관리하는 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 (b) 단계는,
    상기 가상 머신이 상기 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에만 포함되도록 분류하는 것을 특징으로 하는
    가상 머신의 배치를 관리하는 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 (c) 단계에서,
    상기 호스트 간의 부하 분포 정도 또는 상기 가상 머신의 생성(creating) 가능 여부를 기초로, 상기 가상 머신 그룹을 상기 복수의 호스트 중 어느 하나의 호스트로 배치하는
    가상 머신의 배치를 관리하는 방법.
  9. 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 복수 개의 가상 머신(virtual machine, VM)의 배치를 관리하는 방법으로써,
    (a) 상기 복수 개의 가상 머신 각각마다 배치 제한 조건을 부가하는 단계;
    (b) 상기 부가된 배치 제한 조건을 기초로, 상기 복수 개의 가상 머신 각각이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계;
    (c) 상기 복수의 가상 머신 그룹 별로, 상기 가상 머신 그룹에 포함된 복수 개의 가상 머신에 부가된 배치 제한 조건을 고려하여 상기 가상 머신 그룹에 배치될 어느 하나의 호스트를 복수의 호스트 중에서 선정하고, 상기 가상 머신 그룹을 상기 선정된 호스트로 배치하는 단계; 및
    (d) 신규 가상 머신을, 상기 신규 가상 머신이 분류되는 가상 머신 그룹을 고려하여 어느 하나의 호스트로 배치하는 단계를 포함하고,
    상기 부가되는 배치 제한 조건은 상호 간에 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건 및 상호 간에 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건을 포함하며,
    상기 (b) 단계는,
    제1 가상 머신에는 제2 가상 머신과 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건이 부가되어 있고 상기 제2 가상 머신에는 상기 제1 가상 머신에 부가된 제1 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제1 가상 머신에 부가된 제1 배치 제한 조건을 상기 제2 가상 머신에게 부가한 뒤, 상기 제1 가상 머신과 상기 제2 가상 머신이 동일한 가상 머신 그룹에 포함되도록 분류하고,
    제3 가상 머신에는 제4 가상 머신과 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건이 부가되어 있고 상기 제4 가상 머신에는 상기 제3 가상 머신에 부가된 제2 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제3 가상 머신에 부가된 제2 배치 제한 조건을 상기 제4 가상 머신에게 부가한 뒤, 상기 제3 가상 머신과 상기 제4 가상 머신이 각각 상이한 가상 머신 그룹에 포함되도록 분류하는
    가상 머신의 배치를 관리하는 방법.
  10. 제 9 항에 있어서,
    상기 (d) 단계에서,
    상기 복수의 호스트 중에서 상기 신규 가상 머신의 배치가 가능한 호스트가 없는 경우, 상기 호스트와 상기 가상 머신 그룹 간의 배치를 재배치하여 상기 신규 가상 머신을 배치하는
    가상 머신의 배치를 관리하는 방법.
  11. 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 복수 개의 가상 머신(virtual machine, VM)의 배치를 관리하는 방법으로써,
    (a) 상기 복수 개의 가상 머신 각각마다 배치 제한 조건을 부가하는 단계;
    (b) 상기 부가된 배치 제한 조건을 기초로, 상기 복수 개의 가상 머신 각각이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계;
    (c) 상기 복수의 가상 머신 그룹 별로, 상기 가상 머신 그룹에 포함된 복수 개의 가상 머신에 부가된 배치 제한 조건을 고려하여 상기 가상 머신 그룹에 배치될 어느 하나의 호스트를 복수의 호스트 중에서 선정하고, 상기 가상 머신 그룹을 상기 선정된 호스트로 배치하는 단계; 및
    (d) 상기 호스트와 상기 가상 머신 그룹 간의 배치를 재배치하는 단계를 포함하고,
    상기 부가되는 배치 제한 조건은 상호 간에 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건 및 상호 간에 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건을 포함하며,
    상기 (b) 단계는,
    제1 가상 머신에는 제2 가상 머신과 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건이 부가되어 있고 상기 제2 가상 머신에는 상기 제1 가상 머신에 부가된 제1 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제1 가상 머신에 부가된 제1 배치 제한 조건을 상기 제2 가상 머신에게 부가한 뒤, 상기 제1 가상 머신과 상기 제2 가상 머신이 동일한 가상 머신 그룹에 포함되도록 분류하고,
    제3 가상 머신에는 제4 가상 머신과 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건이 부가되어 있고 상기 제4 가상 머신에는 상기 제3 가상 머신에 부가된 제2 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제3 가상 머신에 부가된 제2 배치 제한 조건을 상기 제4 가상 머신에게 부가한 뒤, 상기 제3 가상 머신과 상기 제4 가상 머신이 각각 상이한 가상 머신 그룹에 포함되도록 분류하는
    가상 머신의 배치를 관리하는 방법.
  12. 제 11 항에 있어서,
    상기 (d) 단계에서,
    호스트의 최대 CPU 활용 정도 및 상기 가상 머신 그룹이 상기 복수의 호스트 중 임의의 호스트로 재배치되었을 때의 부하 분포의 불균형 정도(imbalance)를 기초로 재배치하는
    가상 머신의 배치를 관리하는 방법.
  13. 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 복수 개의 가상 머신(virtual machine, VM)의 배치를 관리하는 방법으로써,
    (a) 상기 복수 개의 가상 머신 각각마다 배치 제한 조건 및 리소스 요건을 부가하는 단계;
    (b) 상기 부가된 배치 제한 조건 및 리소스 요건을 기초로, 상기 복수 개의 가상 머신 각각이 복수의 가상 머신 그룹 중 어느 하나의 가상 머신 그룹에 포함되도록 분류하는 단계; 및
    (c) 상기 복수의 가상 머신 그룹 별로, 상기 가상 머신 그룹에 포함된 복수 개의 가상 머신에 부가된 배치 제한 조건 및 리소스 요건을 고려하여 상기 가상 머신 그룹에 배치될 어느 하나의 호스트를 복수의 호스트 중에서 선정하고, 상기 가상 머신 그룹을 상기 선정된 호스트로 배치하는 단계를 포함하고,
    상기 부가되는 배치 제한 조건은 상호 간에 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건 및 상호 간에 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건을 포함하고,
    상기 (b) 단계는,
    제1 가상 머신에는 제2 가상 머신과 동일한 호스트에 배치되어야 함을 나타내는 제1 배치 제한 조건이 부가되어 있고 상기 제2 가상 머신에는 상기 제1 가상 머신에 부가된 제1 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제1 가상 머신에 부가된 제1 배치 제한 조건을 상기 제2 가상 머신에게 부가한 뒤, 상기 제1 가상 머신과 상기 제2 가상 머신이 동일한 가상 머신 그룹에 포함되도록 분류하고,
    제3 가상 머신에는 제4 가상 머신과 상이한 호스트에 배치되어야 함을 나타내는 제2 배치 제한 조건이 부가되어 있고 상기 제4 가상 머신에는 상기 제3 가상 머신에 부가된 제2 배치 제한 조건이 부가되어 있지 않은 경우, 상기 제3 가상 머신에 부가된 제2 배치 제한 조건을 상기 제4 가상 머신에게 부가한 뒤, 상기 제3 가상 머신과 상기 제4 가상 머신이 각각 상이한 가상 머신 그룹에 포함되도록 분류하는
    가상 머신의 배치를 관리하는 방법.
  14. 제 1 항, 제 4 항 및 제 8 항 내지 제 13 항 중 어느 한 항의 가상 머신의 배치를 관리하는 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.
KR1020150059140A 2015-04-27 2015-04-27 가상 머신의 배치를 관리하는 방법 KR101669567B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150059140A KR101669567B1 (ko) 2015-04-27 2015-04-27 가상 머신의 배치를 관리하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150059140A KR101669567B1 (ko) 2015-04-27 2015-04-27 가상 머신의 배치를 관리하는 방법

Publications (1)

Publication Number Publication Date
KR101669567B1 true KR101669567B1 (ko) 2016-10-27

Family

ID=57247106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150059140A KR101669567B1 (ko) 2015-04-27 2015-04-27 가상 머신의 배치를 관리하는 방법

Country Status (1)

Country Link
KR (1) KR101669567B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102084031B1 (ko) * 2019-08-07 2020-05-29 주식회사 도시엔컴 복수 서버의 로컬 저장소를 통합 관리하는 방법 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090018905A (ko) * 2006-05-18 2009-02-24 마이크로소프트 코포레이션 작업 부하 특징화에 기초한 호스트에의 가상 머신 전개를 위한 방법
JP2010244181A (ja) * 2009-04-02 2010-10-28 Nec Corp 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム
JP2011013822A (ja) * 2009-06-30 2011-01-20 Nec Corp 情報システム、制御装置、そのデータ処理方法およびプログラム
KR20110067081A (ko) 2009-12-13 2011-06-21 인터내셔널 비지네스 머신즈 코포레이션 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법
JP2011227729A (ja) * 2010-04-20 2011-11-10 Nec Corp 管理サーバおよび仮想マシン配置制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090018905A (ko) * 2006-05-18 2009-02-24 마이크로소프트 코포레이션 작업 부하 특징화에 기초한 호스트에의 가상 머신 전개를 위한 방법
JP2010244181A (ja) * 2009-04-02 2010-10-28 Nec Corp 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム
JP2011013822A (ja) * 2009-06-30 2011-01-20 Nec Corp 情報システム、制御装置、そのデータ処理方法およびプログラム
KR20110067081A (ko) 2009-12-13 2011-06-21 인터내셔널 비지네스 머신즈 코포레이션 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법
JP2011227729A (ja) * 2010-04-20 2011-11-10 Nec Corp 管理サーバおよび仮想マシン配置制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102084031B1 (ko) * 2019-08-07 2020-05-29 주식회사 도시엔컴 복수 서버의 로컬 저장소를 통합 관리하는 방법 및 그 장치

Similar Documents

Publication Publication Date Title
Oakes et al. {SOCK}: Rapid task provisioning with {Serverless-Optimized} containers
CN103797462B (zh) 一种创建虚拟机的方法和装置
US20110119191A1 (en) License optimization in a virtualized environment
JP5352890B2 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
CN102027453B (zh) 用于在虚拟环境中优化中断处理的系统和方法
WO2016090946A1 (zh) 一种虚拟数据中心资源映射方法和设备
CN104866762B (zh) 安全管理程序功能
CN104714849A (zh) 用于在综合工作负载环境中实现最佳性能的系统和方法
WO2013191721A1 (en) Allocating heaps in numa systems
WO2013191720A1 (en) Usage aware numa process scheduling
CN102915236A (zh) 使用硬件抽象执行软件应用程序的方法和系统
CN105573830B (zh) 一种虚拟机迁移方法
CN106663012B (zh) 一种硬件加速方法以及相关设备
CN109417488A (zh) 虚拟网络功能资源管理的方法和设备
US9767052B2 (en) Information processing apparatus, information processing method, and storage medium
CN108132827B (zh) 一种网络切片资源映射方法、相关设备及系统
CN103677878A (zh) 一种打补丁的方法和装置
US20130138686A1 (en) Device and method for arranging query
US11836067B2 (en) Hyper-converged infrastructure (HCI) log system
US9317340B2 (en) Intelligent virtual machine (VM) re-location
CN103856548A (zh) 动态资源调度方法和动态资源调度器
CN104580194A (zh) 面向视频应用的虚拟化资源管理方法及装置
CN103634128A (zh) 虚拟机放置策略的配置方法及装置
EP3572940A1 (en) Method and device for scheduling vcpu thread
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant