KR101841847B1 - Method and apparatus for managing provisioning virtual disk - Google Patents

Method and apparatus for managing provisioning virtual disk Download PDF

Info

Publication number
KR101841847B1
KR101841847B1 KR1020160148659A KR20160148659A KR101841847B1 KR 101841847 B1 KR101841847 B1 KR 101841847B1 KR 1020160148659 A KR1020160148659 A KR 1020160148659A KR 20160148659 A KR20160148659 A KR 20160148659A KR 101841847 B1 KR101841847 B1 KR 101841847B1
Authority
KR
South Korea
Prior art keywords
virtual disk
virtual
software
provisioning
disk
Prior art date
Application number
KR1020160148659A
Other languages
Korean (ko)
Inventor
민덕기
구민오
조나연
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020160148659A priority Critical patent/KR101841847B1/en
Priority to PCT/KR2016/015573 priority patent/WO2017126819A1/en
Application granted granted Critical
Publication of KR101841847B1 publication Critical patent/KR101841847B1/en

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/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

The present invention relates to a method and an apparatus for managing virtual disk provisioning. The method comprises: a step of receiving a provisioning request for a plurality of virtual machines; a step of generating at least one feature model for the virtual machines; a step of searching an existing virtual disk having the same feature model to generate a virtual disk on the basis of the feature model; a step of determining a provisioning procedure of the virtual disk according to a search result; and a step of generating a virtual disk by copying the existing virtual disk according to a determined provisioning procedure of the virtual disk. A virtual disk is generated on the basis of a provisioning procedure of a virtual disk, and a time required for provisioning a virtual disk can be shortened by reusing and copying a pre-generated virtual disk.

Description

가상 디스크 프로비저닝 관리 방법 및 장치{METHOD AND APPARATUS FOR MANAGING PROVISIONING VIRTUAL DISK}≪ Desc / Clms Page number 1 > METHOD AND APPARATUS FOR MANAGING PROVISIONING VIRTUAL DISK &

본 발명은 가상 디스크 프로비저닝 관리 방법 및 장치에 관한 것으로서, 보다 상세하게는 이미 생성된 가상 디스크를 활용하여 디스크 생성 속도를 빠르게 할 수 있는, 가상 디스크 프로비저닝 관리 방법 및 장치에 관한 것이다. The present invention relates to a virtual disk provisioning management method and apparatus, and more particularly, to a virtual disk provisioning management method and apparatus capable of speeding up disk creation by utilizing a virtual disk already created.

네트워크 기술과 저장소 기술이 발전함에 따라 공유 가능한 저장소에 저장된 대용량 데이터의 분석 처리 기술을 적용하기 위한 플랫폼 기술 즉, 가상화 기술이 활발히 연구되고 있다. 특히, 대용량 데이터를 효과적으로 분석하기 위해서 분산 및 저장된 데이터를 병렬적으로 처리하는 기술이 중요시되고 있다. 그러나 병렬적으로 분산된 대용량 데이터를 처리하기 위해서는 하나 이상의 처리용 컴퓨팅 노드를 클러스터로 묶어 활용하는 가상 클러스터 기술이 반드시 필요하다.As network technology and storage technologies have evolved, platform technology, or virtualization technology, has been actively researched to apply analytical processing techniques for large amounts of data stored in shared storage. Particularly, in order to effectively analyze a large amount of data, a technique of processing distributed and stored data in parallel is important. However, in order to process large amount of data distributed in parallel, it is necessary to use a virtual cluster technology that utilizes one or more processing computing nodes as clusters.

가상 클러스터는 특정 기능을 수행하는 소프트웨어가 설치된 가상 머신들의 집합이며, 네트워크로 연결되어 있다. 가상 클러스트를 생성하기 위해서는 가상 컴퓨팅 자원을 프로비저닝하는 단계를 거쳐야한다. 가상 디스크 프로비저닝은 가상 클러스터 배치 프로비저닝과 가상 클러스터 디스크 프로비저닝을 포함한다. 가상 클러스터 배치 프로비저닝이란, 생성할 가상 클러스터에 포함된 가상 머신들의 자원 정보를 기초로 가상 클러스터를 가상화된 물리 시스템에 배치하여 생성하기 위한 과정을 의미한다. 가상 클러스터 디스크 프로비저닝은 가상 클러스터의 가상 머신을 생성하기 위한 가상 디스크를 생성하는 과정을 의미한다. 여기서, 생성된 각각의 가상 디스크에 사용자가 요청한 소프트웨어 즉, 시스템 소프트웨어 및 응용 소프트웨어를 설치 및 설정하는 과정은 전체 가상 디스크 프로비저닝 시간에 직접적인 영향을 준다. A virtual cluster is a set of virtual machines installed with software that performs a specific function and is connected to a network. To create virtual clusters, you must go through the steps of provisioning virtual computing resources. Virtual disk provisioning includes virtual cluster placement provisioning and virtual cluster disk provisioning. Virtual cluster placement provisioning refers to a process for creating virtual clusters based on resource information of virtual machines included in a virtual cluster to be created by placing them in a virtualized physical system. Virtual cluster disk provisioning refers to the process of creating a virtual disk to create a virtual machine in a virtual cluster. Here, the process of installing and setting the software requested by the user in each of the created virtual disks, that is, the system software and the application software, directly affects the total virtual disk provisioning time.

[관련기술문헌][Related Technical Literature]

가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체 (공개 특허 10-2014-0055481호)A virtual machine providing method, a system, and a recording medium on which the program is recorded (Patent Document 10-2014-0055481)

가상 클러스터는 서로 다른 복수의 가상 머신들의 집합체일 수 있다. 여기서, 가상 머신은 소프트웨어가 설치된 가상 디스크를 포함할 수 있다. The virtual cluster may be a collection of a plurality of different virtual machines. Here, the virtual machine may include a virtual disk in which software is installed.

본 발명의 발명자들은 동일한 소프트웨어를 반복적으로 설치하는 과정과 동일한 소프트웨어에 대한 설정을 반복하는 과정은 결과적으로 전체적인 가상 디스크 프로비저닝 시간의 낭비를 초래한다는 점을 인지하였다.The inventors of the present invention have recognized that the process of repeatedly installing the same software and repeating the setting of the same software result in a waste of the entire virtual disk provisioning time.

이에, 본 발명이 해결하고자 하는 과제는 이미 생성된 가상 클러스터에 포함된 가상 디스크를 복제하여 가상 머신들에 제공함으로써, 가상 디스크 프로비저닝에 소요되는 시간을 단축할 수 있는 가상 디스크 프로비저닝 관리 방법 및 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a virtual disk provisioning management method and apparatus capable of shortening a time required for virtual disk provisioning by replicating a virtual disk included in a virtual cluster already created and providing the virtual disk to virtual machines .

본 발명이 해결하고자 하는 다른 과제는 다양한 가상 디스크 프로비저닝 요청에 대응하여 가상 디스크 복제를 통한 가상 디스크 프로비저닝의 단계를 축소하고, 가상 디스크 프로비저닝의 시간을 단축할 수 있는 가상 디스크 프로비저닝 관리 방법 및 장치를 제공하는 것이다.Another object of the present invention is to provide a virtual disk provisioning management method and device capable of reducing the number of steps of virtual disk provisioning through virtual disk duplication in response to various virtual disk provisioning requests and shortening the time of virtual disk provisioning .

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the above-mentioned problems, and other problems not mentioned can be clearly understood by those skilled in the art from the following description.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝 관리 장치는 복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 가상 디스크 프로비저닝 프로세서 수신부, 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 특징모델 생성부, 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하도록 구성된 재사용 가상 디스크 검색부, 재사용 가상 디스크 검색부의 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정하도록 구성된 가상 디스크 절차 결정부, 결정된 가상 디스크의 프로비저닝 절차에 따라 기존의 가상 디스크를 복제함으로써 가상 디스크를 생성하는 가상 디스크 생성부를 포함한다.According to an aspect of the present invention, there is provided a virtual disk provisioning management apparatus including a virtual disk provisioning processor receiving unit for receiving a provisioning request for a plurality of virtual machines, at least one feature for a plurality of virtual machines A reusable virtual disk search unit configured to search for an existing virtual disk having the same feature model to create a virtual disk based on the feature model; A virtual disk procedure determination unit configured to determine a provisioning procedure of the virtual disk, and a virtual disk creation unit that creates a virtual disk by copying an existing virtual disk according to a provisioning procedure of the determined virtual disk.

본 발명의 다른 특징에 따르면, 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함할 수 있다.According to another aspect of the invention, the feature model may include at least one of a name of software, application software and operating system software, a version information package, a module and an association.

본 발명의 또 다른 특징에 따르면, 특징모델 생성부는 복수의 가상 머신이 포함된 서브 그룹 각각에 대한 특징모델을 생성하고, 특징모델을 기초로 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성할 수 있다.According to another aspect of the present invention, the feature model generation unit may generate a feature model for each of the subgroups including the plurality of virtual machines, and generate a feature model associated with at least one homology or heterogeneity based on the feature model have.

본 발명의 또 다른 특징에 따르면, 동질성 또는 이질성과 연관된 특징모델은 서브 그룹 각각에 대한 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수도 있다.According to another aspect of the invention, a feature model associated with homogeneity or heterogeneity may be a feature model for software that overlaps the feature model for each of the subgroups, or a feature model for non-overlapping software.

본 발명의 또 다른 특징에 따르면, 가상 디스크 프로비저닝 관리 장치는 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유하고, 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.In accordance with another aspect of the present invention, a virtual disk provisioning management apparatus includes a virtual disk provisioning management apparatus that, when a plurality of virtual machines includes at least one redundant software, at least two virtual machines share a first disk including redundant software, The first disk is read-only, and files requiring writing can be stored in a separate second disk of each of the virtual machines.

본 발명의 또 다른 특징에 따르면, 재사용 가상 디스크 검색부는 생성할 가상 디스크의 특징모델에 해시 함수를 적용한 정수형 식별자를 통해 기존의 가상 디스크를 검색할 수 있다.According to still another aspect of the present invention, the reusable virtual disk search unit can search an existing virtual disk through an integer identifier to which a hash function is applied to a feature model of a virtual disk to be generated.

본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 기존의 가상 디스크가 존재하는 경우, 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 가상 디스크의 프로비저닝 절차를 결정할 수 있다.According to another aspect of the present invention, the virtual disk procedure determination unit may determine a provisioning procedure of a virtual disk to be created based on an asset to be searched and replicated when an existing virtual disk exists, have.

본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 설치될 소프트웨어의 설치자 (Installer) 를 검색하고, 검색한 소프트웨어의 설치자를 기초로 가상 디스크의 프로비저닝 절차를 결정할 수 있다.According to another aspect of the present invention, the virtual disk procedure determination unit may search an installer of software to be installed and determine a provisioning procedure of the virtual disk based on the installer of the retrieved software.

본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 가상 디스크를 생성하는 절차를 결정할 수 있다.According to another aspect of the present invention, the virtual disk procedure determination unit may determine a procedure for creating a virtual disk including each of an operating system virtual disk corresponding to operating system software and an application software virtual disk corresponding to the application software.

본 발명의 또 다른 특징에 따르면, 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함할 수 있다.According to another aspect of the present invention, the procedure may include the name and version information of the operating system software.

본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 가상 디스크를 생성하는 절차를 결정할 수 있다.According to another aspect of the present invention, the virtual disk procedure determination unit may determine a procedure for creating one virtual disk corresponding to operating system software and application software.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 클러스터 디스크 프로비저닝 관리 방법은 복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 단계, 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 단계, 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하는 단계, 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정하는 단계, 결정된 가상 디스크의 프로비저닝 절차에 따라 기존의 가상 디스크를 복제함으로써 가상 디스크를 생성하는 단계를 포함한다.According to an aspect of the present invention, there is provided a virtual cluster disk provisioning management method including receiving a provisioning request for a plurality of virtual machines, generating at least one feature model for a plurality of virtual machines, Searching an existing virtual disk having the same feature model to create a virtual disk based on the feature model, determining a provisioning procedure of the virtual disk according to the search result, And creating a virtual disk by replicating an existing virtual disk.

본 발명의 다른 특징에 따르면, 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함한다.According to another aspect of the invention, the feature model comprises at least one of a name of software, version information package, module and association, including application software and operating system software.

본 발명의 또 다른 특징에 따르면, 특징모델을 생성하는 단계는 복수의 가상 머신이 포함된 서브 그룹 각각에 대한 특징모델을 생성하는 단계 및 특징모델을 기초로 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성하는 단계를 포함한다.According to another aspect of the present invention, generating a feature model comprises generating a feature model for each of the subgroups comprising a plurality of virtual machines, and generating a feature model associated with at least one homogeneity or heterogeneity .

본 발명의 또 다른 특징에 따르면, 동질성 또는 이질성과 연관된 특징모델은 서브 그룹 각각에 대한 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수도 있다.According to another aspect of the invention, a feature model associated with homogeneity or heterogeneity may be a feature model for software that overlaps the feature model for each of the subgroups, or a feature model for non-overlapping software.

본 발명의 또 다른 특징에 따르면, 가상 디스크 프로비저닝 관리 방법은 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유하고, 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.According to another aspect of the present invention, a virtual disk provisioning management method includes: when a plurality of virtual machines include at least one redundant software, at least two virtual machines share a first disk including redundant software, The first disk is read-only, and files requiring writing can be stored in a separate second disk of each of the virtual machines.

본 발명의 또 다른 특징에 따르면, 기존의 가상 디스크를 검색하는 단계는 생성할 가상 디스크의 특징모델에 해시 함수를 적용한 식별자를 통해 기존의 가상 디스크를 검색하는 단계일 수 있다.According to another aspect of the present invention, the step of searching for an existing virtual disk may be a step of searching for an existing virtual disk through an identifier obtained by applying a hash function to a feature model of a virtual disk to be generated.

본 발명의 또 다른 특징에 따르면, 가상 디스크의 프로비저닝 절차를 결정하는 단계는 기존의 가상 디스크가 존재하는 경우, 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 가상 디스크의 프로비저닝 절차를 결정하는 단계일 수 있다.According to another aspect of the present invention, the step of determining a provisioning procedure of a virtual disk includes the steps of: searching for a location where an existing virtual disk is stored, And may be a step of determining the provisioning procedure.

본 발명의 또 다른 특징에 따르면, 가상 디스크의 프로비저닝 절차를 결정하는 단계는 설치될 소프트웨어의 설치자를 검색하는 단계 및 검색한 소프트웨어의 설치자를 기초로 가상 디스크의 프로비저닝 절차를 결정하는 단계일 수 있다.According to another aspect of the present invention, the step of determining the provisioning procedure of the virtual disk may be the step of searching the installer of the software to be installed and the step of determining the provisioning procedure of the virtual disk based on the installer of the retrieved software.

본 발명의 또 다른 특징에 따르면, 가상 디스크의 프로비저닝 절차를 결정하는 단계는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 가상 디스크를 생성하는 절차를 결정하는 단계일 수 있다.According to another aspect of the present invention, the step of determining the provisioning procedure of the virtual disk determines a procedure for creating a virtual disk including each of the operating system virtual disk corresponding to the operating system software and each of the application software virtual disks corresponding to the application software Step.

본 발명의 또 다른 특징에 따르면, 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함한다.According to another aspect of the present invention, the procedure includes the name of operating system software and version information.

본 발명의 또 다른 특징에 따르면, 가상 디스크의 프로비저닝 절차를 결정하는 단계는 운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 가상 디스크를 생성하는 절차를 결정하는 단계일 수 있다.According to another aspect of the present invention, the step of determining the provisioning procedure of the virtual disk may be a step of determining a procedure of creating one virtual disk corresponding to the operating system software and the application software.

기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명은, 이미 생성된 가상 클러스터에 포함된 가상 디스크를 복제하여 가상 머신들에 제공함으로써, 가상 디스크 프로비저닝에 소요되는 시간을 단축할 수 있는 가상 디스크 프로비저닝 관리 방법 및 장치를 제공할 수 있다.The present invention can provide a virtual disk provisioning management method and apparatus capable of shortening the time required for virtual disk provisioning by replicating a virtual disk included in a virtual cluster already created and providing it to virtual machines.

본 발명은, 다양한 가상 디스크 프로비저닝 요청에 대응하여, 가상 디스크를 복제함으로써 가상 디스크 프로비저닝의 단계를 축소하고, 가상 디스크 프로비저닝의 시간을 단축할 수 있다. 가상 디스크 프로비저닝 관리 방법 및 장치를 제공할 수 있다.The present invention can reduce the steps of virtual disk provisioning by replicating a virtual disk in response to various virtual disk provisioning requests, and shorten the time of virtual disk provisioning. A method and apparatus for managing virtual disk provisioning can be provided.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the specification.

도 1은 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 가상 디스크 프로비저닝 관리 장치를 설명하기 위한 예시적인 블록도이다.
도 3은 본 발명의 실시예에 따라 가상 디스크 프로비저닝 관리 장치에 따른 가상 디스크 프로비저닝 절차를 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 가상 클러스터에 대한 가상 디스크 프로비저닝을 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시예에 따라 가상 클러스터 서브그룹의 특징모델과 가상 클러스터 특징모델을 도시화 한 것이다.
도 6은 본 발명의 다른 실시예에 따라 특징모델을 기초로 재사용이 가능한 가상 디스크를 생성하는 과정을 도시화 한 것이다.
도 7은 본 발명의 다른 실시예에 따라 가상 디스크의 프로비저닝 절차가 생성되는 과정을 도시화 한 것이다.
도 8a 내지 도 8g는 본 발명의 다른 실시예에 따라 가상 디스크 프로비저닝의 효과를 도시화 한 것이다.
FIG. 1 is a diagram for explaining virtual disk provisioning according to an embodiment of the present invention.
2 is an exemplary block diagram illustrating a virtual disk provisioning management apparatus according to an embodiment of the present invention.
3 illustrates a virtual disk provisioning procedure according to a virtual disk provisioning management apparatus according to an embodiment of the present invention.
4 is a diagram illustrating virtual disk provisioning for a virtual cluster according to an embodiment of the present invention.
FIG. 5 is an illustration of a feature model and a virtual cluster feature model of a virtual cluster subgroup according to another embodiment of the present invention.
FIG. 6 illustrates a process of creating a reusable virtual disk based on a feature model according to another embodiment of the present invention.
FIG. 7 illustrates a process of creating a provisioning procedure of a virtual disk according to another embodiment of the present invention.
8A-8G illustrate the effect of virtual disk provisioning in accordance with another embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.

본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.The shapes, sizes, ratios, angles, numbers, and the like disclosed in the drawings for describing the embodiments of the present invention are illustrative, and thus the present invention is not limited thereto. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Where the terms 'comprises', 'having', 'done', and the like are used herein, other parts may be added as long as '~ only' is not used. Unless the context clearly dictates otherwise, including the plural unless the context clearly dictates otherwise.

구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the constituent elements, it is construed to include the error range even if there is no separate description.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are used only to distinguish one component from another. Therefore, the first component mentioned below may be the second component within the technical spirit of the present invention.

별도로 명시하지 않는 한 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numerals refer to like elements throughout the specification unless otherwise specified.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.It is to be understood that each of the features of the various embodiments of the present invention may be combined or combined with each other partially or entirely and technically various interlocking and driving is possible as will be appreciated by those skilled in the art, It may be possible to cooperate with each other in association.

이하, 본 명세서에서 사용되는 용어에 대해 정의한다.Hereinafter, terms used in this specification will be defined.

본 명세서에서 “프로비저닝”이란, 사용자의 요구에 따라 자원을 할당, 배치 및 배포하는 절차를 의미한다. 여기서, 자원이란 서버의 메모리, CPU 등을 의미할 수 있다. 구체적으로, 프로비저닝은 사용자의 요구에 따라 서버의 스토리지에 소프트웨어를 설치한 가상 디스크를 생성하고, 가상 디스크를 가상 머신에 배치하여 소프트웨어가 구동될 수 있도록하는 절차를 의미한다. As used herein, the term " provisioning " means a procedure for allocating, arranging, and distributing resources according to a user's request. Here, the resource may mean a memory, CPU, etc. of the server. Specifically, provisioning refers to a procedure for creating a virtual disk in which software is installed in a storage of a server according to a user's request, and placing the virtual disk in a virtual machine so that the software can be operated.

도 1은 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝을 설명하기 위한 도면이다. FIG. 1 is a diagram for explaining virtual disk provisioning according to an embodiment of the present invention.

도 1의 (a)를 참조하면, 가상 머신 (110) 은 소프트웨어 (130) 가 설치된 가상 디스크 (120) 를 포함한다. 소프트웨어 (130) 는 시스템 소프트웨어 (131), 제1 응용 소프트웨어 (132) 및 제2 응용 소프트웨어 (133) 를 포함할 수 있다. Referring to FIG. 1 (a), the virtual machine 110 includes a virtual disk 120 in which software 130 is installed. The software 130 may include system software 131, first application software 132, and second application software 133.

도 1의 (a)를 참조하면, 루트 파일 시스템이 설치된 가상 디스크 (120) 는 가상 머신 (110) 을 구동시키는데 있어서 필요한 장치이다. 가상 디스크 (120) 를 포함하는 가상 머신 (110) 은 루트 파일 시스템으로부터 부팅할 수 있다. 가상 디스크 (120) 는 일반적인 하드 디스크와는 다르게 물리 머신의 운영체제 내 파일 시스템이 존재하는 파일의 형태 또는 논리적 볼륨 (Logical Volume) 의 형태로 생성될 수 있다. 따라서, 가상 디스크 (120) 는 생성한 파일 또는 논리적 볼륨에 각각의 가상 머신 (110) 별로 필요한 파일 시스템을 구성하여 가상 머신 (110) 에 제공된다. 또한, 가상 디스크 (120) 에는 원하는 시스템 소프트웨어 (131), 제1 응용 소프트웨어 (132) 및 제2 응용 소프트웨어 (133) 와 같은 응용 소프트웨어 및 물리 머신의 운영체제와는 다른 버전의 시스템 소프트웨어 (131) 가 설치되며, 가상 디스크 (120) 는 가상 머신 (110) 에 제공될 수 있다. Referring to FIG. 1 (a), a virtual disk 120 in which a root file system is installed is a device necessary for driving the virtual machine 110. The virtual machine 110 including the virtual disk 120 can boot from the root file system. The virtual disk 120 may be created in the form of a file or a logical volume in which a file system in an operating system of a physical machine exists, unlike a general hard disk. Accordingly, the virtual disk 120 forms a file system required for each virtual machine 110 in the created file or logical volume, and is provided to the virtual machine 110. The virtual disk 120 is also provided with application software such as the desired system software 131, the first application software 132 and the second application software 133, and a version of the system software 131 different from the operating system of the physical machine And the virtual disk 120 may be provided to the virtual machine 110. [

도 1의 (a)를 참조하면, 가상 디스크 프로비저닝 관리 시스템은 소프트웨어 (130) 를 가상 디스크 (120) 에 설치함으로써 가상 디스크 (120) 를 프로비저닝한다. 가상 디스크 프로비저닝 관리 시스템은 소프트웨어 (130) 가 설치된 가상 디스크 (120) 를 생성하기 위해 빈 가상 디스크 (120) 를 생성한다. 이어서, 가상 디스크 프로비저닝 관리 시스템은 빈 가상 디스크 (120) 에 시스템 소프트웨어 (131) 인 Debian 8.0, 제1 응용 소프트웨어 (132) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (133) 인 Hadoop 2.6.0을 설치한다. 마지막으로, 가상 디스크 프로비저닝 관리 시스템은 가상 디스크 (120) 에 설치된 소프트웨어 (130) 를 설정한다. 구체적으로, 가상 디스크 프로비저닝 관리 시스템은 시스템 소프트웨어 (131) 인 Debian 8.0, 제1 응용 소프트웨어 (132) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (133) 인 Hadoop 2.6.0을 실행하기 위해 필요한 설정을 수행한다. 도 1의 (a)에서 가상 디스크 (120) 는 통합형 가상 디스크일 수 있으나, 이에 제한되지 않고 가상 디스크는 복수의 가상 디스크 각각이 하나의 소프트웨어를 갖고 서로 조합가능한 병합형 가상 디스크로 구현될 수도 있다.Referring to FIG. 1 (a), a virtual disk provisioning management system provisions a virtual disk 120 by installing software 130 in a virtual disk 120. The virtual disk provisioning management system creates an empty virtual disk 120 to create a virtual disk 120 in which the software 130 is installed. Subsequently, the virtual disk provisioning management system installs Debian 8.0 as the system software 131, Open JDK 7.0 as the first application software 132, and Hadoop 2.6.0 as the second application software 133 in the empty virtual disk 120 do. Finally, the virtual disk provisioning management system sets up the software 130 installed in the virtual disk 120. Specifically, the virtual disk provisioning management system performs necessary settings to execute Debian 8.0 as the system software 131, Open JDK 7.0 as the first application software 132, and Hadoop 2.6.0 as the second application software 133 do. In FIG. 1A, the virtual disk 120 may be an integrated virtual disk, but the virtual disk may be embodied as a merged virtual disk in which a plurality of virtual disks each have one software and can be combined with each other .

도 1의 (b)를 참조하면, 가상 디스크 프로비저닝 관리 시스템은 미리 생성된 가상 디스크 (120) 를 복제하여 동일한 소프트웨어를 포함한 가상 디스크 (140) 를 생성할 수 있다.Referring to FIG. 1B, the virtual disk provisioning management system may create a virtual disk 140 including the same software by replicating the virtual disk 120 created in advance.

도 1의 (b)를 참조하면, 가상 디스크 프로비저닝 관리 시스템은 도 1의 (b)의 가상 디스크 생성 절차에 따라 시스템 소프트웨어 (131) 인 Debian 8.0, 제1 응용 소프트웨어 (132) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (133) 인 Hadoop 2.6.0을 포함한 소프트웨어 (130) 가 설치된 가상 디스크 (120) 를 그대로 복제하여 가상 디스크 (140) 를 생성한다. 따라서, 가상 디스크 (140) 도 Debian 8.0, 제1 응용 소프트웨어 (132) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (133) 인 Hadoop 2.6.0를 포함한다. 복제를 통한 가상 디스크 프로비저닝은 설치를 통한 가상 디스크 생성에 비해 신속한 생성이 가능하다. 구체적으로, 설치를 통한 가상 디스크 생성은 가상 디스크에 실제로 필요한 소프트웨어를 각각 설치한다. 반면에, 복제를 통한 가상 디스크 생성은 미리 만들어 진 가상 디스크에 설치된 소프트웨어를 복제하는 시간만 소모되기 때문에 설치를 통한 가상 디스크 생성에 비해 신속하게 생성할 수 있다. 또한, 복제를 통한 가상 디스크 생성은 가상 디스크에 설치된 소프트웨어의 설정이 된 상태에서 가상 디스크를 복제함으로써, 복제를 통한 가상 디스크 생성에 있어 소프트웨어에 대한 설정 단계를 수행하지 않기 때문에 종래에 비해 가상 디스크를 빠르게 생성할 수 있다.Referring to FIG. 1B, the virtual disk provisioning management system includes Debian 8.0 as the system software 131, Open JDK 7.0 as the first application software 132, The virtual disk 120 in which the software 130 including the Hadoop 2.6.0 as the second application software 133 is installed is copied as it is to generate the virtual disk 140. [ Thus, the virtual disk 140 also includes Debian 8.0, Open JDK 7.0, which is the first application software 132, and Hadoop 2.6.0, which is the second application software 133. [ Provisioning a virtual disk through replication can be faster than creating a virtual disk through installation. Specifically, virtual disk creation through installation installs software that is actually needed for the virtual disk. On the other hand, virtual disk creation through replication is faster than virtual disk creation through installation because it only takes time to replicate software installed on a pre-created virtual disk. In addition, the creation of a virtual disk through replication is performed by setting the software installed in the virtual disk to replicate the virtual disk, thereby avoiding the step of setting up the software for creation of the virtual disk through replication. Can be created quickly.

이에 따라, 가상 디스크 프로비저닝 관리 시스템은 사용자의 요청에 따라 소프트웨어를 설치한 가상 디스크를 생성하고, 생성한 가상 디스크를 복제하여 중복되는 소프트웨어를 포함하는 가상 디스크를 복제하여 가상 디스크 프로비저닝의 소요 시간을 단축할 수 있다.As a result, the virtual disk provisioning management system can create a virtual disk on which software is installed according to the user's request, duplicate the created virtual disk, duplicate the virtual disk containing the duplicated software, and shorten the time required for provisioning the virtual disk can do.

도 1의 (a) 내지 도 1의 (b)에서는 예시적으로 단순한 가상 디스크의 복제를 통한 가상 디스크 프로비저닝의 소요 시간 단축을 설명하였으나, 가상 디스크의 복제는 다양한 절차와 결정 과정을 수반할 수 있다. 이하에서는 가상 디스크의 복제와 생성을 통해 가상 디스크 프로비저닝의 소요 시간을 단축시키는 다양한 실시예들을 구체적으로 설명한다.Although FIGS. 1 (a) to 1 (b) illustrate shortening the time required for virtual disk provisioning by simply copying a virtual disk, replication of a virtual disk may involve various procedures and determination processes . Hereinafter, various embodiments for shortening the time required for virtual disk provisioning through replication and creation of a virtual disk will be described in detail.

도 2는 본 발명의 실시예에 따른 가상 디스크 프로비저닝 관리 장치를 설명하기 위한 예시적인 블록도이다.2 is an exemplary block diagram illustrating a virtual disk provisioning management apparatus according to an embodiment of the present invention.

도 2를 참조하면, 가상 디스크 프로비저닝 관리 장치 (200) 는 가상 디스크 프로비저닝 프로세스 수신부 (210), 특징모델 생성부 (220), 재사용 가상 디스크 검색부 (230), 가상 디스크 프로비저닝 절차 결정부 (240) 및 가상 디스크 생성 태스크 수행부 (250) 를 포함한다. 여기서, 가상 디스크 프로비저닝 프로세스 수신부 (210) 는 가상 디스크 프로비저닝 프로세스 수행부 (211), 가상 디스크 프로비저닝 개시부 (212) 및 가상 디스크 프로비저닝 프로세서 관찰부 (213) 를 포함한다. 또한, 특징모델 생성부 (220) 는 가상 클러스터 서브그룹 특징모델 생성부 (221) 및 가상 클러스터 특징모델 생성부 (222) 를 포함한다. 가상 디스크 프로비저닝 절차 결정부 (240) 는 가상 디스크 프로비저닝 절차 생성부 (241) 및 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 를 포함한다. 또한, 가상 디스크 생성 태스크 수행부 (250) 는 가상 디스크 생성부 (251) 및 재사용 메타 데이터 생성부 (252) 를 포함한다.2, the virtual disk provisioning management apparatus 200 includes a virtual disk provisioning process receiving unit 210, a feature model generating unit 220, a reuse virtual disk searching unit 230, a virtual disk provisioning procedure determining unit 240, And a virtual disk creation task performing unit 250. [ The virtual disk provisioning process receiving unit 210 includes a virtual disk provisioning process performing unit 211, a virtual disk provisioning starting unit 212, and a virtual disk provisioning processor observing unit 213. The feature model generation unit 220 includes a virtual cluster subgroup feature model generation unit 221 and a virtual cluster feature model generation unit 222. The virtual disk provisioning procedure determination unit 240 includes a virtual disk provisioning procedure generation unit 241 and a reuse virtual disk provisioning procedure generation unit 242. [ The virtual disk creation task execution unit 250 includes a virtual disk creation unit 251 and a reuse metadata generation unit 252.

도 2를 참조하면, 가상 디스크 프로비저닝 프로세스 수신부 (210) 는 XML RPC (Remote Procedure Call) 을 이용하여 가상 클러스터의 구축 요청에서 가상 디스크에 대한 프로비저닝 요청을 수신한다. 가상 디스크 프로비저닝 프로세스 수신부 (210) 는 CML RPC 서버를 구동시키고, 수신된 가상 디스크 프로비저닝 요청을 가상 디스크 프로비저닝 프로세스 수행부 (211) 로 전달한다. 이 때, 가상 디스크 프로비저닝 프로세스 수신부 (210) 가 수신한 가상 디스크에 대한 프로비저닝 요청은 사용자가 생성 요청한 가상 클러스터의 가상 머신들에 설치된 소프트웨어 요구사항을 포함한다. 가상 디스크 프로비저닝 프로세스 수행부 (211) 는 수신된 가상 디스크 프로비저닝 요청을 파싱한다. 또한, 가상 디스크 프로비저닝 프로세스 수행부 (211) 는 가상 디스크 프로비저닝 작업의 진행 상태를 관리하기 위해 내부 버퍼에 파싱된 작업 객체를 저장한다. 본 발명의 모든 가상 디스크 프로비저닝 과정은 가상 디스크 프로비저닝 프로세스 수행부 (211) 에 의해 서브 컴포넌트를 호출하여 수행된다. 여기서, 서브 컴포넌트란, 가상 디스크 프로비저닝 관리 장치 (200) 의 구성요소인 특징모델 생성부 (220), 재사용 가상 디스크 검색부 (230), 가상 디스크 프로비저닝 절차 결정부 (240) 등 가상 디스크 프로비저닝 관리 장치 (200) 의 모든 모듈을 의미한다. 각각의 서브 컴포넌트는 가상 디스크 프로비저닝 프로세스 수행부 (211) 에 의해 수행될 작업을 태스크 (Task) 단위로 수신하고 처리하여 반환한다. 뿐만 아니라, 각각의 서브 컴포넌트에는 태스크의 상태 정보를 기반으로 수행해야 하는 단계 별 처리 로직을 호출하는 태스크 수행부가 각각 존재한다. 가상 디스크 프로비저닝 개시부 (212) 는 가상 디스크 프로비저닝 관리 장치 (200) 에 존재하는 서브 컴포넌트를 구동 및 종료시키는 컴포넌트이다. 가상 디스크 프로비저닝 관리 장치 (200) 의 서브 컴포넌트는 가상 디스크 프로비저닝 개시부 (212) 에 의해 동작 및 관리된다. 가상 디스크 프로비저닝 프로세서 관찰부 (213) 는 가상 디스크 프로비저닝 프로세스 수행부 (211) 에 의해 관리되는 작업의 진행 상황을 주기적으로 모니터링하고 외부 시스템에 진행 상태를 전송한다. 여기서, 외부 시스템이란, 가상 디스크 프로비저닝 서비스를 제공하는 웹 기반의 시스템일 수 있다. 구체적으로, 외부 시스템은 사용자가 원하는 가상 클러스터 내 서브 그룹의 개수, 가상 클러스터 서브 그룹에 포함된 가상 머신의 개수, 가상 머신이 보유할 VCPU, 메모리, 가상 디스크 공간 등과 같은 가상 자원의 명세, 가상 머신의 시스템 및 응용 소프트웨어 및 설정 정보 등과 가상 클러스터의 시간, 공간 제약 사항등을 포함한 가상 디스크 프로비저닝 생성 요청을 수신하게 된다. 즉, 외부 시스템은 가상 디스크 프로비저닝 생성 요청을 가상 디스크 프로비저닝 프로세스 수신부 (210) 에 전송할 수 있다. Referring to FIG. 2, the virtual disk provisioning process receiving unit 210 receives a provisioning request for a virtual disk in a request for building a virtual cluster using XML RPC (Remote Procedure Call). The virtual disk provisioning process receiving unit 210 drives the CML RPC server and delivers the received virtual disk provisioning request to the virtual disk provisioning process performing unit 211. At this time, the provisioning request for the virtual disk received by the virtual disk provisioning process receiving unit 210 includes the software requirements installed in the virtual machines of the virtual cluster requested by the user. The virtual disk provisioning process performing unit 211 parses the received virtual disk provisioning request. In addition, the virtual disk provisioning process performing unit 211 stores the task object parsed in the internal buffer to manage the progress status of the virtual disk provisioning task. All virtual disk provisioning processes of the present invention are performed by calling a subcomponent by the virtual disk provisioning process performing unit 211. [ Here, the sub-component is a virtual disk provisioning management device such as a feature model generation unit 220, a reuse virtual disk search unit 230, a virtual disk provisioning procedure determination unit 240, etc., which are components of the virtual disk provisioning management device 200, Quot; module " Each subcomponent receives, processes, and returns the task to be performed by the virtual disk provisioning process performing unit 211 on a task-by-task basis. In addition, each subcomponent includes a task execution unit that calls stepwise processing logic to be executed based on the status information of the task. The virtual disk provisioning initiation unit 212 is a component that drives and terminates subcomponents present in the virtual disk provisioning management device 200. [ The subcomponents of the virtual disk provisioning management device 200 are operated and managed by the virtual disk provisioning initiator 212. The virtual disk provisioning processor observing unit 213 periodically monitors the progress of a job managed by the virtual disk provisioning process performing unit 211 and transmits the progress status to the external system. Here, the external system may be a web-based system that provides a virtual disk provisioning service. Specifically, the external system may include a number of subgroups in the virtual cluster desired by the user, a number of virtual machines included in the virtual cluster subgroup, a description of virtual resources such as VCPU, memory, virtual disk space, The system and application software and setting information of the virtual cluster, and the time and space constraints of the virtual cluster. That is, the external system may transmit a virtual disk provisioning creation request to the virtual disk provisioning process receiving unit 210. [

특징모델 생성부 (220) 는 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성한다. 구체적으로, 특징모델 생성부 (220) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 특징모델을 생성한다. The feature model generation unit 220 generates at least one feature model for a plurality of virtual machines. Specifically, the feature model generation unit 220 generates a feature model for a virtual cluster including a plurality of virtual machines.

한편, 다양한 실시예에서, 복수의 가상 머신에 대한 두 개 이상의 그룹 즉, 가상 클러스터 서브 그룹의 생성에 대한 요청이 수신된 경우, 가상 클러스터 서브그룹 특징모델 생성부 (221) 는 각각의 가상 클러스터 서브 그룹에 대한 특징모델을 생성한다. 가상 클러스터 서브 그룹에 포함된 소프트웨어의 동질성 또는 이질성과 연관된 특징모델을 생성하기 위해 가상 클러스터 서브그룹 특징모델 생성부 (221) 는 가상 클러스터의 서브 그룹을 기반으로 동질적 및 이질적 소프트웨어 구성 요소 즉, 중복되는 소프트웨어 또는 중복되지 않은 소프트웨어를 분석한다. 가상 클러스터 서브그룹 특징모델 생성부 (221) 는 가상 클러스터의 서브 그룹에 포함된 동질적 소프트웨어 구성 요소 및 이질적 소프트웨어 구성 요소를 특징모델로 생성한다. 가상 클러스터 특징모델 생성부 (222) 는 생성된 서브그룹의 특징모델을 비교 및 분석하여 최종적으로 생성해야 할 가상 클러스터의 가상 디스크들의 특징모델을 생성한다. 생성된 동질성 또는 이질성과 연관된 특징모델은 가상 클러스터 서브 그룹 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수 있다. 여기서, 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함한다. 가상 클러스터 서브 그룹에 대한 요청이 수신된 경우에 대한 구체적인 설명은 도 4를 참조하여 후술한다.On the other hand, in various embodiments, when a request for creation of two or more groups, i.e., virtual cluster subgroups, for a plurality of virtual machines is received, the virtual cluster subgroup feature model generation unit 221 generates Create a feature model for the group. In order to generate the feature model associated with the homogeneity or heterogeneity of the software included in the virtual cluster subgroup, the virtual cluster subgroup feature model generation unit 221 generates a homogeneous or heterogeneous software component based on the subgroup of the virtual cluster, Or non-overlapping software. The virtual cluster subgroup feature model generation unit 221 generates a homogeneous software component and a heterogeneous software component included in the subgroup of the virtual cluster as a feature model. The virtual cluster feature model generation unit 222 compares and analyzes the feature models of the generated subgroups, and generates a feature model of the virtual disks of the virtual clusters to be finally generated. The feature model associated with the generated homogeneity or heterogeneity may be a feature model for software that overlaps the virtual cluster subgroup feature model or a feature model for non-overlapping software. Here, the feature model includes at least one of a name of software including application software and operating system software, a version information package, a module, and an association. A detailed description of a case where a request for a virtual cluster subgroup is received will be described later with reference to FIG.

재사용 가상 디스크 검색부 (230) 는 특징모델 생성부 (220) 를 통해 생성된 특징모델을 기초로 재사용 가능한 가상 디스크와 새롭게 설치하여 생성해야 하는 가상 디스크를 분석하기 위해 재사용 가상 디스크를 검색한다. 구체적으로, 재사용 가상 디스크 검색부 (230) 는 복수의 가상 머신에 대한 적어도 하나의 특징모델에 대한 특징모델을 기초로 재사용 자산 저장소에서 재사용 가능한 가상 디스크를 검색하고, 재사용 가능한 가상 디스크와 새롭게 설치하여 생성해야 하는 가상 디스크를 분류한다. 여기서, 재사용 자산 저장소란, 가상 디스크 프로비저닝 관리 장치 (200) 에서 생성된 모든 소프트웨어의 산출물을 저장하는 저장소이다. 저장될 수 있는 산출물은 외부 시스템으로부터 수신된 가상 디스크 프로비저닝 요청, 가상 클러스터의 특징모델, 생성된 가상 디스크 프로비저닝 절차 및 재사용 가상 디스크 프로비저닝 절차, 재사용 가능한 가상 디스크, 소프트웨어 설치 및 설정 프로그램이다. 가상 디스크 생성부 (251) 가 생성한 가상 디스크는 실제로 가상 머신이 생성될 경우에 활용되어야하기 때문에 재사용 자산 저장소에 저장되지 않고, 별도의 공유 저장소에 저장된다. 재사용 가상 디스크 검색부 (230) 는 재사용 자산 저장소에 저장할 가상 디스크의 특징모델에 해시 함수 (Hash Fuction) 를 적용한 정수형 식별자를 부여하여, 기존의 가상 디스크를 재사용 자산 저장소에서 검색할 수 있다.The reusable virtual disk searching unit 230 searches a reusable virtual disk for analyzing a reusable virtual disk based on the feature model generated through the feature model generation unit 220 and a virtual disk to be newly installed and created. Specifically, the reusable virtual disk searching unit 230 searches a reusable virtual disk in a reusable asset storage based on a feature model of at least one feature model for a plurality of virtual machines, newly installs a reusable virtual disk Classify the virtual disks that should be created. Here, the reusable asset repository is a repository that stores artifacts of all the software created in the virtual disk provisioning management device 200. The output that may be stored is a virtual disk provisioning request received from an external system, a feature model of a virtual cluster, a created virtual disk provisioning procedure and a reusable virtual disk provisioning procedure, a reusable virtual disk, a software installation and configuration program. The virtual disk created by the virtual disk creation unit 251 is not stored in the reuse asset storage, but is stored in a separate shared storage, since it must be utilized when a virtual machine is actually created. The reusable virtual disk searching unit 230 may assign an integer identifier to the feature model of the virtual disk to be stored in the reusable asset repository and apply the hash function to retrieve the existing virtual disk from the reusable asset repository.

가상 디스크 프로비저닝 절차 결정부 (240) 는 재사용 가상 디스크 검색부 (230) 의 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정한다. 구체적으로, 가상 디스크 프로비저닝 절차 결정부 (240) 는 복수의 가상 머신에 대한 가상 디스크의 생성을 새롭게 설치를 통하여 할 것인지 복제를 통해 할 것인지가 명세된 가상 디스크 프로비저닝 절차 및 방법을 결정한다. 새롭게 설치하여 가상 디스크를 프로비저닝할 경우, 가상 디스크 프로비저닝 절차 생성부 (241) 는 설치에 필요한 소프트웨어 설치자 (Installer) 를 재사용 자산 저장소에서 검색하여, 검색한 소프트웨어의 설치자를 기초로 가상 디스크 프로비저닝 절차를 생성한다. 이 때, 가상 디스크 프로비저닝 절차 생성부 (241) 는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 가상 디스크를 설치하는 절차를 생성한다. 생성된 절차에는 운영체제 소프트웨어의 명칭 및 버전 정보가 포함된다. 가상 디스크 프로비저닝 절차 생성부 (241) 는 후에 재사용 가능하도록 가상 디스크를 생성하는 절차도 생성할 수 있다. 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 재사용 가능한 가상 디스크가 존재하는 경우, 재사용 가능한 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 가상 디스크의 프로비저닝 절차를 생성한다. 즉, 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 재사용 가능한 가상 디스크를 기반으로 그대로 복제하거나 추가적인 응용 소프트웨어를 설치하여 생성하는 재사용 가상 디스크 프로비저닝 절차를 생성한다. 따라서, 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 재사용할 가상 디스크를 복제하고, 필요한 응용 소프트웨어를 설치한 뒤 설정하는 절차를 재사용 가상 디스크 프로비저닝 절차에 포함하여 생성해야 한다. 복제해야할 가상 디스크는 재사용 가상 디스크 검색부 (230) 에 의해 분석되어 해시 함수를 이용해 획득한 정수형 식별자로 검색된다. 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 검색된 재사용 가능한 가상 디스크의 재사용 자산 명세서를 파싱하여 재사용 가상 디스크 프로비저닝 절차를 생성한다. The virtual disk provisioning procedure determining unit 240 determines the provisioning procedure of the virtual disk according to the search result of the reuse virtual disk searching unit 230. Specifically, the virtual disk provisioning procedure determination unit 240 determines a virtual disk provisioning procedure and a method that specify whether to create a virtual disk for a plurality of virtual machines through installation or replication. When the virtual disk is newly installed and provisioned, the virtual disk provisioning procedure generator 241 searches the reusable asset repository for the software installer required for the installation and generates a virtual disk provisioning procedure based on the installer of the retrieved software do. At this time, the virtual disk provisioning procedure generation unit 241 generates a procedure for installing a virtual disk including each of the operating system virtual disk corresponding to the operating system software and the application software virtual disk corresponding to the application software. The generated procedure includes the operating system software name and version information. The virtual disk provisioning procedure generation unit 241 may also generate a procedure for creating a virtual disk to be reusable later. When there is a reusable virtual disk, the reusable virtual disk provisioning procedure generation unit 242 searches for a location where the reusable virtual disk is stored and creates a provisioning procedure of the virtual disk to be created based on the replica set asset. That is, the reusable virtual disk provisioning procedure generation unit 242 creates a reusable virtual disk provisioning procedure in which the reusable virtual disk provisioning procedure generation unit 242 replicates the reusable virtual disk based on the reusable virtual disk or installs additional application software. Accordingly, the re-use virtual disk provisioning procedure generator 242 must create a re-use virtual disk provisioning procedure by duplicating a virtual disk to be reused, setting up necessary application software, and setting the re-use virtual disk provisioning procedure. The virtual disk to be replicated is analyzed by the reusable virtual disk searching unit 230 and retrieved as an integer identifier obtained by using the hash function. The reusable virtual disk provisioning procedure generation unit 242 parses the reused asset description of the retrieved reusable virtual disk to generate a reusable virtual disk provisioning procedure.

가상 디스크 생성 태스크 수행부 (250) 는 가상 디스크 프로비저닝 절차 또는 재사용 가상 디스크 프로비저닝 절차에 따라 가상 디스크를 생성하기 위한 모든 태스크 (Task) 를 생성한다. 가상 디스크 생성부 (251) 는 생성된 태스크에 따라 가상 디스크 프로비저닝 절차를 기초로 새로운 가상 클러스터의 가상 디스크를 설치하거나 재사용 가상 디스크 프로비저닝 절차를 기초로 복제를 통해 가상 클러스터의 가상 디스크를 생성한다. 가상 디스크 생성부 (251) 가 가상 디스크 프로비저닝 절차를 기초로 새로운 가상 디스크를 설치할 경우, 재사용 메타 데이터 생성부 (252) 는 가상 디스크 프로비저닝 절차에 따라 생성된 가상 디스크의 메타 데이터를 생성한다. 즉, 재사용 메타 데이터 생성부 (252) 는 새롭게 생성된 가상 디스크가 추후에 재사용될 수 있도록 가상 디스크의 메타 데이터를 생성한다. 여기서, 메타 데이터란, 시스템 소프트웨어 및 응용 소프트웨어의 명칭 및 버전 정보이다. 다양한 실시예에 따라, 생성된 가상 디스크를 포함한 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유할 수 있다. 예를 들어, 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.The virtual disk creation task execution unit 250 generates all the tasks for creating a virtual disk according to the virtual disk provisioning procedure or the reusable virtual disk provisioning procedure. The virtual disk creation unit 251 installs a virtual disk of a new virtual cluster based on the virtual disk provisioning procedure according to the generated task or creates a virtual disk of the virtual cluster through replication based on the reuse virtual disk provisioning procedure. When the virtual disk creation unit 251 installs a new virtual disk based on the virtual disk provisioning procedure, the reuse metadata creation unit 252 creates metadata of the virtual disk created according to the virtual disk provisioning procedure. That is, the reuse metadata generation unit 252 generates the metadata of the virtual disk so that the newly created virtual disk can be reused later. Here, the metadata is name and version information of system software and application software. According to various embodiments, when a plurality of virtual machines including the created virtual disk includes at least one redundant software, at least two virtual machines may share a first disk containing redundant software. For example, the shared first disk may be read only, and the files that need to be written may be stored in a separate second disk of each virtual machine.

이에 따라, 가상 디스크 프로비저닝 관리 장치는 생성할 가상 디스크의 프로비저닝 절차를 생성하고, 저장하여 추후 동일한 가상 디스크를 프로비저닝할 경우에 이미 생성된 가상 디스크의 프로비저닝 절차를 활용하여 가상 디스크 프로비저닝에 소요되는 시간을 단축할 수 있다.Accordingly, the virtual disk provisioning management device generates and stores the provisioning procedure of the virtual disk to be created, and when the same virtual disk is later provisioned, the time required for provisioning the virtual disk by utilizing the provisioning procedure of the already created virtual disk Can be shortened.

도 3은 본 발명의 실시예에 따라 가상 디스크 프로비저닝 관리 장치에 따른 가상 디스크 프로비저닝 절차를 도시한 것이다. 설명의 편의를 위해 도 2의 구성요소들과 도면 부호를 참조하여 설명한다. 3 illustrates a virtual disk provisioning procedure according to a virtual disk provisioning management apparatus according to an embodiment of the present invention. For convenience of explanation, the components will be described with reference to FIG. 2 and reference numerals.

가상 디스크 프로비저닝 프로세스 수신부 (210) 는 복수의 가상 머신에 대한 프로비저닝 요청을 수신한다 (S310).The virtual disk provisioning process receiving unit 210 receives a provisioning request for a plurality of virtual machines (S310).

구체적으로, 가상 디스크 프로비저닝 프로세스 수신부 (210) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 프로비저닝 요청을 수신한다. 가상 디스크 프로비저닝 프로세스 수행부 (211) 는 수신한 가상 디스크 프로비저닝 요청에 포함된 가상 디스크 프로비저닝 명세서를 파싱 (Parsing) 한다. 이 때, 가상 클러스터의 가상 머신이 특정 물리 호스트에 배치가 가능한 상태여야 가상 디스크 프로비저닝 명세서를 파싱할 수 있다. 가상 디스크 프로비저닝 명세서는 OVF 표준을 따르는 XML 형태의 문서이며, 파싱된 결과는 가상 디스크 프로비저닝 관리 장치 (300) 에서 사용할 내부 자료구조로 생성된다. 또한, 가상 디스크 프로비저닝 프로세스 수행부 (211) 는 파싱된 명세서에 존재하는 가상 클러스트의 가상 디스크를 생성할 수 있는지 판단한다. 판단할 수 있는 기준은 명세된 가상 클러스터의 가상 디스크 크기를 기반으로 저장할 수 있는 공간이 존재하는지와 사용자에 의해 정의된 가상 디스크 사용 시점까지 프로비저닝이 가능한지의 여부를 판단한다. 이 과정을 수행하기 위해서는 가상 디스크를 저장할 수 있는 공유 저장소가 존재해야하며, 수행 결과는 가상 디스크 프로비저닝 가능 여부이다.Specifically, the virtual disk provisioning process receiving unit 210 receives a provisioning request for a virtual cluster including a plurality of virtual machines. The virtual disk provisioning process performing unit 211 parses the virtual disk provisioning specification included in the received virtual disk provisioning request. At this time, the virtual machine of the virtual cluster must be able to be placed on a specific physical host so that the virtual disk provisioning specification can be parsed. The virtual disk provisioning specification is an XML-format document conforming to the OVF standard, and the parsed result is generated as an internal data structure to be used in the virtual disk provisioning management apparatus 300. In addition, the virtual disk provisioning process performing unit 211 determines whether a virtual disk of the virtual cluster existing in the parsed specification can be created. The criterion that can be determined is whether or not there is a space that can be stored based on the virtual disk size of the specified virtual cluster and whether or not provisioning is possible until the virtual disk usage time defined by the user is determined. To perform this process, there must be a shared storage that can store the virtual disk, and the result is whether the virtual disk can be provisioned.

이어서, 특징모델 생성부 (220) 는 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성한다 (S320).Then, the feature model generation unit 220 generates at least one feature model for a plurality of virtual machines (S320).

특징모델 생성부 (220) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 특징모델을 생성한다. The feature model generation unit 220 generates a feature model for a virtual cluster including a plurality of virtual machines.

이어서, 재사용 가상 디스크 검색부 (230) 는 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색한다 (S330).Then, the reuse virtual disk searching unit 230 searches an existing virtual disk having the same feature model to create a virtual disk based on the feature model (S330).

재사용 가상 디스크 검색부 (230) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 특징모델을 기반으로 재사용 가능한 가상 디스크를 검색한다. 재사용 가상 디스크 검색부 (230) 는 재사용 가능한 가상 디스크의 검색을 위해 프로비저닝할 가상 디스크의 특징모델에 해시 함수를 적용한 고유한 정수형 식별자를 사용한다. 정수형 식별자는 재사용 가능한 가상 디스크가 존재하는 위치를 검색하기 위해 사용되거나, 새롭게 설치하여 생성된 가상 디스크를 재사용 자산 저장소에 등록하기 위한 ID 값으로 활용된다. 따라서, 재사용 가상 디스크 검색부 (230) 는 생성할 가상 디스크의 특징모델에 해시 함수를 적용한 정수형 식별자를 통해 기존의 가상 디스크를 검색한다. 이 때, 기존의 가상 디스크는 재사용 자산 저장소에 저장되어 있다. The reusable virtual disk searching unit 230 searches a reusable virtual disk based on a feature model of a virtual cluster including a plurality of virtual machines. The reusable virtual disk searching unit 230 uses a unique integer identifier to which a hash function is applied to a feature model of a virtual disk to be provisioned for searching a reusable virtual disk. The integer type identifier is used to search for a location where a reusable virtual disk exists or an ID value for registering a newly created virtual disk in a reusable asset storage. Accordingly, the re-use virtual disk searching unit 230 searches for an existing virtual disk through an integer identifier to which a hash function is applied to the feature model of the virtual disk to be generated. At this time, the existing virtual disk is stored in the reusable asset storage.

이어서, 가상 디스크 프로비저닝 절차 결정부 (240) 는 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정한다 (S340).Subsequently, the virtual disk provisioning procedure determination unit 240 determines a provisioning procedure of the virtual disk according to the search result (S340).

가상 디스크 프로비저닝 절차 결정부 (240) 는 재사용 가능하거나 새롭게 설치해 생성하는 가상 디스크의 프로비저닝 절차와 방법을 생성한다. 이 때, 소프트웨어 설치자 (Installer) 및 설정자를 검색하기 위해 재사용 자산 저장소가 요구된다. 재사용 가상 디스크 검색부 (230) 가 재사용 가능한 가상 디스크를 찾았다면, 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 고유한 정수형 식별자 값을 이용해 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 이용해 프로비저닝 절차를 생성한다. 반면에, 새롭게 설치하여 생성할 가상 디스크에 대해서 가상 디스크 프로비저닝 절차 결정부 (240) 는 소프트웨어 설치를 위한 자산 즉, 소프트웨어의 설치자 (Installer) 를 검색하고, 검색한 소프트웨어의 설치자를 기초로 가상 디스크 프르비저닝 절차 생성부 (241) 가 가상 디스크의 프로비저닝 절차를 생성한다. 가상 디스크 프로비저닝 절차 생성부 (241) 및 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 에서 생성된 가상 디스크의 프로비저닝 절차는 다양한 가상 디스크 생성 시스템에서 활용될 수 있도록 XML 문서로 생성된다. 생성된 가상 디스크 프로비저닝 절차는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함한다. 이 때, 가상 디스크 프로비저닝 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함한다. 따라서, 가상 디스크 프로비저닝 절차 결정부 (240) 는 운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 가상 디스크를 생성하는 절차를 결정한다.The virtual disk provisioning procedure determination unit 240 generates a provisioning procedure and a method of reusing or newly installing and creating a virtual disk. At this time, a reusable asset repository is required to retrieve software installers and configurators. If the reusable virtual disk retrieval unit 230 finds a reusable virtual disk, the reusable virtual disk provisioning procedure generation unit 242 searches for a location where an existing virtual disk is stored using a unique integer identifier value, To create a provisioning procedure. On the other hand, the virtual disk provisioning procedure determining unit 240 for the virtual disk to be installed and newly installed searches for the installer (software) of the software for installing the software, and based on the installed software installer, The non-provisioning procedure generation unit 241 generates the provisioning procedure of the virtual disk. The virtual disk provisioning procedure generator 241 and the reusable virtual disk provisioning procedure generator 242 generate an XML document so as to be utilized in various virtual disk creation systems. The created virtual disk provisioning procedure includes an operating system virtual disk corresponding to the operating system software and each of the application software virtual disks corresponding to the application software. At this time, the virtual disk provisioning procedure includes the operating system software name and version information. Accordingly, the virtual disk provisioning procedure determination unit 240 determines a procedure for creating one virtual disk corresponding to the operating system software and the application software.

이어서, 가상 디스크 생성 수행부 (250) 는 결정된 가상 디스크의 프로비저닝 절차에 따라 기존의 가상 디스크를 복제함으로써 가상 디스크를 생성한다 (S350).Subsequently, the virtual disk creation unit 250 creates a virtual disk by copying the existing virtual disk according to the provisioning procedure of the determined virtual disk (S350).

구체적으로, 가상 디스크 생성 수행부 (250) 는 가상 디스크를 생성하기 위한 모든 태스크를 생성한다. 생성된 태스크에 따라 가상 디스크 생성부 (251) 는 가상 디스크 프로비저닝 절차 또는 재사용 가상 디스크 프로비저닝 절차대로 가상 디스크를 생성한다. 재사용 가능한 가상 디스크를 생성하는 경우, 가상 디스크 생성부 (251) 가 재사용 가능한 가상 디스크를 복제하여 생성하기 때문에 재사용 자산 저장소가 필요하다. 또한, 생성된 가상 디스크가 가상 머신 구동 시에 사용될 수 있도록 공유 저장소가 필요하다. 가상 디스크 생성부 (251) 는 재사용 가상 디스크 프로비저닝 절차에 명세된 순서대로 정의된 소프트웨어 설치 및 설정 자산을 이용하여 가상 디스크를 생성하고 설정한다. 재사용 가능한 가상 디스크가 존재하지 않아 가상 디스크 생성부 (251) 가 가상 디스크 프로비저닝 절차대로 가상 디스크를 설치한 경우, 재사용 메타 데이터 생성부 (252) 는 가상 디스크 프로비저닝 절차에 명시된 가상 디스크의 정수형 식별자와 저장된 위치 정보를 기반으로 재사용 메타 데이터를 생성한다. 재사용 메타 데이터는 예를 들어, 재사용 자산 명세서 (Reusable Asset Specification) 를 이용하여 문서화되나 이에 제한되지 않는다. 이 때, 재사용 자산 명세서는 재사용 자산 저장소에 저장되어 자동화되고 점증적인 재사용 관리를 가능하게 한다. 추가적으로, 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유할 수 있다. 예를 들어 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.More specifically, the virtual disk creation unit 250 creates all the tasks for creating a virtual disk. In accordance with the generated task, the virtual disk creation unit 251 creates a virtual disk according to a virtual disk provisioning procedure or a reusable virtual disk provisioning procedure. In the case of creating a reusable virtual disk, a reusable asset storage is necessary because the virtual disk creation unit 251 replicates and creates a reusable virtual disk. In addition, a shared storage is needed so that the created virtual disk can be used at the time of running the virtual machine. The virtual disk creation unit 251 creates and sets a virtual disk using software installation and configuration assets defined in the order specified in the reuse virtual disk provisioning procedure. If there is no reusable virtual disk and the virtual disk creation unit 251 installs the virtual disk according to the virtual disk provisioning procedure, the reuse metadata generation unit 252 stores the integer identifier of the virtual disk specified in the virtual disk provisioning procedure Generate reuse metadata based on location information. Reuse metadata is documented, for example, using the Reusable Asset Specification, but is not limited thereto. At this time, the reusable asset statement is stored in the reusable asset repository to enable automatic and incremental reuse management. Additionally, when a plurality of virtual machines includes at least one redundant software, at least two virtual machines may share a first disk containing redundant software. For example, the shared first disk can be read only, and the files requiring writing can be stored in a separate second disk of each virtual machine.

이에 따라, 가상 디스크 프로비저닝 관리 장치는 생성할 가상 클러스터 서브그룹에 포함된 소프트웨어의 중복 여부를 판단하고, 이미 생성된 가상 디스크의 프로비저닝 절차를 기초로 가상 디스크를 프로비저닝하여 가상 디스크 생성 시간을 단축할 수 있다.Accordingly, the virtual disk provisioning management apparatus determines whether the software included in the virtual cluster subgroup to be generated is duplicated, and shortens the virtual disk creation time by provisioning the virtual disk based on the provisioning procedure of the already created virtual disk have.

도 4는 본 발명의 일 실시예에 따른 가상 클러스터에 대한 가상 디스크 프로비저닝을 설명하기 위한 도면이다.4 is a diagram illustrating virtual disk provisioning for a virtual cluster according to an embodiment of the present invention.

가상 클러스터는 서로 다른 가상 클러스터를 포함할 수 있다. 여기서, 서로 다른 가상 클러스터는 적어도 하나의 다른 소프트웨어가 설치되는 가상 머신들의 집합일 수 있으며, 본 명세서에서는 서로 다른 가상 클러스터를 가상 클러스터 서브 그룹이라 한다. The virtual cluster may include different virtual clusters. Here, the different virtual clusters may be a set of virtual machines in which at least one other software is installed. In this specification, the different virtual clusters are referred to as virtual cluster subgroups.

가상 디스크 프로비저닝 관리 장치는 프로비저닝할 가상 클러스터 서브 그룹이 두 개 이상 존재하는 경우, 가상 클러스터 서브 그룹에 대한 가상 디스크의 중복적 프로비저닝을 방지하기 위해 가상 클러스터 서브그룹에 존재하는 동질적, 이질적 소프트웨어 구성 요소를 파악하여 최종적인 가상 디스크의 종류를 결정한다. 즉, 가상 디스크 프로비저닝 관리 장치는 가상 클러스터 서브그룹에 존재하는 중복되는 소프트웨어와 중복되지 않은 소프트웨어를 파악하여 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성한다. 이 때, 가상 디스크 프로비저닝 관리 장치가 생성하는 특징모델은 동질성과 연관된 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 이질성과 연관된 중복되지 않은 소프트웨어에 대한 특징모델일 수 있다. 따라서, 가상 디스크 프로비저닝 관리 장치는 가상 클러스터 서브그룹의 소프트웨어 구성 요소를 기반으로 특징모델을 생성하고, 각 서브그룹의 특징모델을 비교 및 분석하여 중복되는 소프트웨어를 포함하는 가상 디스크의 특징모델과 중복되지 않은 소프트웨어에 대한 특징모델을 생성한다. Virtual Disk Provisioning Management A device is a device that, when there are two or more virtual cluster subgroups to provision, to prevent redundant provisioning of a virtual disk for a virtual cluster subgroup, a homogeneous, heterogeneous software component And determines the type of the final virtual disk. That is, the virtual disk provisioning management apparatus recognizes the duplicated software and the non-duplicated software existing in the virtual cluster subgroup, and generates a feature model associated with at least one homogeneity or heterogeneity. At this time, the feature model generated by the virtual disk provisioning management device may be a feature model for overlapping software associated with homogeneity, or a feature model for non-overlapping software associated with heterogeneity. Therefore, the virtual disk provisioning management apparatus generates feature models based on the software components of the virtual cluster subgroups, and compares and analyzes the feature models of the respective subgroups, so that the feature models of the virtual disks including the overlapped software are not duplicated Create a feature model for non-software.

도 4를 참조하면, 제1 가상 클러스터 서브 그룹 (410) 은 복수의 가상 머신 (420) 을 포함한다. 또한, 제2 가상 클러스터 서브 그룹 (440) 은 복수의 가상 머신 (450) 을 포함한다. 통상의 가상 클러스터에 대한 가상 디스크 프로비저닝은 소프트웨어 (430, 460) 가 설치된 가상 디스크를 생성하는 절차를 가상 머신 (420, 450) 의 수에 따라 반복하고, 추가적으로 클러스터링을 위한 소프트웨어 설정 작업을 수행하는 것을 의미한다.Referring to FIG. 4, the first virtual cluster subgroup 410 includes a plurality of virtual machines 420. In addition, the second virtual cluster subgroup 440 includes a plurality of virtual machines 450. The virtual disk provisioning for a normal virtual cluster is performed by repeating the procedure of creating a virtual disk in which the software 430 and 460 are installed according to the number of virtual machines 420 and 450 and further performing a software setting operation for clustering it means.

도 4를 참조하면, 가상 디스크 프로비저닝 관리 장치는 가상 클러스터 서브 그룹 (410) 을 고려하여 생성할 가상 디스크의 종류 및 개수를 분석한다. 구체적인 가상 디스크의 종류 및 개수를 분석하는 절차는 도 4를 참조하여 후술한다. 따라서, 가상 디스크 프로비저닝 관리 장치는 분석한 결과에 따라 제1 가상 클러스터 서브 그룹 (410) 이 포함한 하나의 가상 머신 (420) 의 가상 디스크에 예를 들어 시스템 소프트웨어 (431) 인 Debian 8.0, 제1 응용 소프트웨어 (432) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (433) 인 Hadoop 2.6.0을 포함한 소프트웨어 (430) 를 설치한다. 이어서, 가상 디스크 프로비저닝 관리 시스템은 제1 가상 클러스터 (410) 에 포함된 가상 머신 (420) 의 수만큼 반복하여 가상 클러스터에 대한 가상 디스크 프로비저닝을 수행한다.Referring to FIG. 4, the virtual disk provisioning management apparatus analyzes the types and the number of virtual disks to be created in consideration of the virtual cluster subgroup 410. The procedure for analyzing the types and the number of concrete virtual disks will be described later with reference to FIG. Accordingly, the virtual disk provisioning management apparatus, in accordance with the analysis result, for example, Debian 8.0 which is the system software 431 in the virtual disk of one virtual machine 420 included in the first virtual cluster subgroup 410, Software 430 including Open JDK 7.0 which is software 432 and Hadoop 2.6.0 which is second application software 433 is installed. Subsequently, the virtual disk provisioning management system repeatedly performs the virtual disk provisioning for the virtual cluster by the number of the virtual machines 420 included in the first virtual cluster 410.

마찬가지로, 가상 디스크 프로비저닝 관리 시스템은 제2 가상 클러스터 서브 그룹 (440) 에 포함된 가상 디스크의 종류 및 개수를 분석하여, 분석한 결과에 따라 제2 가상 클러스터 서브 그룹 (440) 이 포함한 하나의 가상 머신 (450) 의 가상 디스크에 시스템 소프트웨어 (461) 인 Debian 8.0, 제1 응용 소프트웨어 (462) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (463) 인 Hbase 1.1.1을 포함한 소프트웨어 (460) 를 설치한다. 이어서, 가상 디스크 프로비저닝 관리 장치는 제2 가상 클러스터 서브 그룹 (440) 에 포함된 가상 머신 (450) 의 수만큼 반복하여 가상 디스크 프로비저닝을 수행한다.Similarly, the virtual disk provisioning management system analyzes the types and the numbers of the virtual disks included in the second virtual cluster subgroup 440, and analyzes the number and type of the virtual disks included in the second virtual cluster subgroup 440, The software 460 including Debian 8.0 which is the system software 461, Open JDK 7.0 which is the first application software 462 and Hbase 1.1.1 which is the second application software 463 is installed in the virtual disk of the server 450 in the virtual disk. Subsequently, the virtual disk provisioning management device repeatedly performs virtual disk provisioning as many times as the number of virtual machines 450 included in the second virtual cluster subgroup 440.

제1 가상 클러스터 서브 그룹 (410) 과 제2 가상 클러스터 서브 그룹 (440) 이 포함한 소프트웨어 (430, 460) 을 비교하면, 시스템 소프트웨어 (431, 461) 는 Debian 8.0로 동일하고, 응용 소프트웨어 (432, 462) 는 Open JDK 7.0로 동일하나, 응용 소프트웨어 (433, 462) 은 각각 Hadoop 2.6.0 및 Hbase 1.1.1로 상이하다. 따라서, 가상 디스크 프로비저닝 관리 장치는 각각의 가상 클러스터 서브 그룹의 가상 디스크에 설치될 소프트웨어를 분석하여, 중복되는 소프트웨어를 구분한다. 이어서, 가상 디스크 프로비저닝 관리 시스템은 새로운 가상 디스크에 설치할 시스템 소프트웨어 및 응용 소프트웨어가 동일한 경우, 시스템 소프트웨어 (431) 및 응용 소프트웨어 (432) 가 설치된 가상 디스크를 복제하여 새로운 가상 디스크에 동일한 시스템 소프트웨어 (461) 및 응용 소프트웨어 (462) 를 설치한다. Comparing the software 430 and 460 included in the first virtual cluster subgroup 410 and the second virtual cluster subgroup 440, the system software 431 and 461 are identical to Debian 8.0, and the application software 432, 462) is the same as Open JDK 7.0, but application software 433 and 462 are different with Hadoop 2.6.0 and Hbase 1.1.1, respectively. Accordingly, the virtual disk provisioning management apparatus analyzes the software to be installed in the virtual disk of each virtual cluster subgroup, thereby distinguishing the overlapping software. Subsequently, when the system software and the application software to be installed in the new virtual disk are the same, the virtual disk provisioning management system replicates the virtual disk in which the system software 431 and the application software 432 are installed and creates the same system software 461 in the new virtual disk, And application software 462 are installed.

따라서, 가상 디스크 프로비저닝 관리 장치는 미리 설치된 가상 디스크를 복제하여 전체적인 가상 디스크 프로비저닝의 소요 시간을 단축한다. 중복되는 소프트웨어를 구분하여 가상 클러스터에 포함된 가상 디스크를 구체적으로 생성하는 과정은 도 5를 참조하여 후술한다. 생성된 가상 디스크는 재사용이 가능하다. 따라서, 기존에 생성된 가상 디스크는 기존에 생성된 가상 디스크에 포함된 소프트웨어를 동일하게 포함한 새로운 가상 디스크를 복제할 때 사용될 수 있다. Thus, the virtual disk provisioning management device replicates the preinstalled virtual disk, thereby shortening the time required for the entire virtual disk provisioning. The process of specifically creating a virtual disk included in a virtual cluster by distinguishing duplicate software will be described later with reference to FIG. The created virtual disk can be reused. Therefore, an existing virtual disk can be used to replicate a new virtual disk that contains the same software included in an existing virtual disk.

이에 따라, 가상 디스크 프로비저닝 관리 장치는 각각의 가상 클러스터 서브그룹에 포함된 중복되는 소프트웨어를 구분하여 소프트웨어가 설치된 기존의 가상 디스크를 복제하여 동일한 소프트웨어가 설치된 새로운 가상 디스크를 생성함으로써 가상 디스크 프로비저닝의 소요 시간을 단축한다.Accordingly, the virtual disk provisioning management apparatus distinguishes duplicate software included in each virtual cluster subgroup, replicates an existing virtual disk in which software is installed, creates a new virtual disk in which the same software is installed, .

도 5의 (a) 내지 도 5의 (c)는 본 발명의 다른 실시예에 따라 가상 클러스터 서브그룹의 특징모델과 가상 클러스터 특징모델을 도식화 한 것이다.FIGS. 5A through 5C are schematic diagrams of a virtual cluster sub-group feature model and a virtual cluster feature model according to another embodiment of the present invention.

도 5의 (a)를 참조하면, 제1 가상 클러스터 서브그룹 특징모델 (510) 은 Hadoop 가상 클러스터 서브그룹에 대한 특징모델이다. 제1 가상 클러스터 서브그룹 특징모델 (510) 은 AMD64 아키텍처 기반의 시스템 소프트웨어 (511) 및 응용 소프트웨어 (512, 513) 를 포함한다. 구체적으로, 제1 가상 클러스터 서브그룹 특징모델 (510) 은 시스템 소프트웨어 (511) 로 Debian 8.0 Base 패키지를 포함하고, Hadoop 2.6.0인 응용 소프트웨어 (512) 와 OpenJDK 7.0인 응용 소프트웨어 (513) 를 포함한다.Referring to FIG. 5A, the first virtual cluster subgroup feature model 510 is a feature model for the Hadoop virtual cluster subgroup. The first virtual cluster subgroup feature model 510 includes system software 511 and application software 512, 513 based on the AMD64 architecture. Specifically, the first virtual cluster subgroup feature model 510 includes the Debian 8.0 Base package as the system software 511 and includes the Hadoop 2.6.0 application software 512 and the OpenJDK 7.0 application software 513 do.

도 5의 (b)를 참조하면, 제2 가상 클러스터 서브그룹 특징모델 (520) 은 HBase 가상 클러스터 서브그룹에 대한 특징모델이다. 제2 가상 클러스터 서브그룹 특징모델 (520) 은 제1 가상 클러스터 서브그룹 특징모델 (510) 과 동일하게 AMD64 아키텍처 기반의 시스템 소프트웨어 (521) 로 Debian 8.0 Base 패키지와 OpenJDK 7.0인 응용 소프트웨어 (523) 를 포함한다. 또한, 제2 가상 클러스터 서브그룹 특징모델 (520) 은 Hbase 1.1.1인 응용 소프트웨어 (522) 를 추가로 포함한다. 즉, 제1 가상 클러스터 서브그룹 특징모델 (510) 은 응용 소프트웨어 (512) 로 Hadoop 2.6.0을 설치해야하며, 제2 가상 클러스터 서브그룹 특징모델 (520) 은 응용 소프트웨어 (522) 로 Hbase 1.1.1를 포함한다.Referring to FIG. 5B, the second virtual cluster subgroup feature model 520 is a feature model for the HBase virtual cluster subgroup. The second virtual cluster subgroup feature model 520 includes the Debian 8.0 Base package and the OpenJDK 7.0 application software 523 as the system software 521 based on the AMD64 architecture in the same manner as the first virtual cluster subgroup feature model 510 . In addition, the second virtual cluster subgroup feature model 520 further includes application software 522 with Hbase 1.1.1. That is, the first virtual cluster subgroup feature model 510 needs to install Hadoop 2.6.0 as the application software 512, and the second virtual cluster subgroup feature model 520 needs to be installed in the application software 522 as Hbase 1.1. 1.

도 5의 (a) 및 도 5의 (b)를 참조하면, 가상 디스크 프로비저닝 관리 장치가 모든 피처를 포함한 가상 디스크를 생성해야되기 때문에 제1 가상 클러스터 서브그룹 특징모델 (510) 및 제2 가상 클러스터 서브그룹 특징모델 (520) 에 포함된 모든 피처는 필수 연관관계를 지닌다. 5A and 5B, since the virtual disk provisioning management apparatus must create a virtual disk including all the features, the first virtual cluster subgroup feature model 510 and the second virtual cluster All features included in the subgroup feature model 520 have a mandatory association.

도 5의 (c)를 참조하면, 가상 디스크 프로비저닝 관리 장치는 제1 가상 클러스터 서브그룹 특징모델 (510) 및 제2 가상 클러스터 서브그룹 특징모델 (520) 을 통합하여 가상 클러스터 특징모델 (530) 을 생성한다. 제1 가상 클러스터 서브그룹 특징모델 (510) 및 제2 가상 클러스터 서브그룹 특징모델 (520) 이 중복으로 포함하는 시스템 소프트웨어 (511, 521) 및 응용 소프트웨어 (513, 523) 는 필수 연관관계를 지닌 피처로 표현되며, 중복되지 않은 응용 소프트웨어 (512, 522) 는 Exclusive OR의 관계로 표현된다. 따라서, 가상 클러스터 디스크 프로비저닝 관리 장치는 제1 가상 클러스터 서브그룹 특징모델 (510) 및 제2 가상 클러스터 서브그룹 특징모델 (520) 을 통합한 가상 클러스터 특징모델 (530) 을 기초로 메타 데이터를 생성한다. 구체적으로, 가상 클러스터 디스크 프로비저닝 관리 장치는 가상 클러스터 특징모델 (530) 을 기초로 제1 가상 클러스터 서브그룹 특징모델 (510) 및 제2 가상 클러스터 서브그룹 특징모델 (520) 이 서로 중복되지 않는 시스템 소프트웨어 (531) 및 응용 소프트웨어 (534) 와 중복되는 응용 소프트웨어 (532, 533) 를 각각 하나씩만 포함하여 메타 데이터를 생성한다. Referring to FIG. 5C, the virtual disk provisioning management apparatus integrates the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 to obtain a virtual cluster feature model 530 . The system software 511, 521 and the application software 513, 523, which are overlapped by the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520, And the non-overlapping application software 512, 522 is represented by the relationship of Exclusive OR. Accordingly, the virtual cluster disk provisioning management apparatus generates metadata based on the virtual cluster feature model 530 combining the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 . Specifically, the virtual cluster disk provisioning management apparatus determines whether the first virtual cluster subgroup characteristic model 510 and the second virtual cluster subgroup characteristic model 520 overlap with each other based on the virtual cluster characteristic model 530, The application software 532 and the application software 533 overlapping the application software 531 and the application software 534, respectively.

이에 따라, 가상 디스크 프로비저닝 관리 장치는 각각의 가상 클러스터 서브그룹 특징모델을 통합하여 중복되는 소프트웨어와 중복되지 않은 소프트웨어를 분류함으로써, 중복되는 소프트웨어를 반복하여 가상 디스크를 생성하는 절차를 한번의 가상 디스크 생성 절차와 반복되는 복제 절차로 변경하여 프로비저닝 시간을 단축할 수 있다. Accordingly, the virtual disk provisioning management apparatus classifies each of the virtual cluster sub-group feature models to classify the overlapping software and the non-overlapping software, thereby repeating the duplicated software to create a virtual disk. You can reduce the provisioning time by changing to a procedure and a recurring replication procedure.

도 6은 본 발명의 다른 실시예에 따라 특징모델을 기초로 재사용이 가능한 가상 디스크를 생성하는 과정을 도시화 한 것이다.FIG. 6 illustrates a process of creating a reusable virtual disk based on a feature model according to another embodiment of the present invention.

도 6을 참조하면, 가상 디스크 프로비저닝 관리 장치는 재사용 가능한 가상 디스크를 분석하기 위해서 가상 디스크가 지닌 소프트웨어 구성의 특징을 특징모델로 표현하고, 해시 함수를 통해 생성된 정수형 ID 값을 기준으로 재사용 가능한 가상 디스크를 관리한다. 6, in order to analyze a reusable virtual disk, the virtual disk provisioning management apparatus expresses features of a software configuration possessed by a virtual disk as a feature model, and reuses virtual virtual disks based on the integer ID values generated through the hash function. Manage the disk.

도 6을 참조하면, 가상 디스크 프로비저닝 관리 장치는 가상 클러스터 특징모델 (610) 에 시스템 소프트웨어 (611) 로 Debian 8.0 Base 패키지를 포함하고, Hadoop 2.6.0인 응용 소프트웨어 (612) 와 OpenJDK 7.0인 응용 소프트웨어 (613) 를 포함하여 생성하며, 생성된 가상 클러스터 특징모델 (610) 을 기초로 XML문서인 가상 클러스터 특징모델 문서 (620) 를 생성한다. 이어서, 가상 디스크 프로비저닝 관리 장치는 가상 클러스터 특징모델 문서 (620) 에 해시 함수를 적용하여 정수형 ID값 (630) 인 '1956267503'을 생성한다. 여기서, 해시 함수는 C++의 Standard Library인 funtional에 포함되어 있는 해시 함수인 hash_fn을 사용한다. 가상 디스크 프로비저닝 관리 장치는 생성된 가상 클러스터 특징모델 문서 (620) 의 정수형 ID값 (630) 을 기반으로 재사용이 가능한 가상 디스크가 존재하는지 검색한다. 구체적으로, 가상 디스크 프로비저닝 관리 장치는 재사용 가상 디스크 저장소에서 정수형 ID값 (630) 과 동일한 정수형 ID값을 지닌 가상 디스크가 존재하는지 검색한다. 재사용 가상 디스크 저장소에 저장된 가상 클러스터 특징모델 중 재사용이 가능한 가상 디스크가 존재하는 경우, 가상 디스크 프로비저닝 관리 장치는 재사용이 가능한 가상 디스크의 정수형 ID값, 가상 디스크에 포함된 소프트웨어 구성 요소, 가상 디스크의 유형 등의 데이터를 포함한 JSON 기반의 문서를 생성한다. 6, the virtual disk provisioning management apparatus includes a Debian 8.0 Base package as system software 611 in a virtual cluster feature model 610, application software 612 with Hadoop 2.6.0, application software 6 with OpenJDK 7.0 And a virtual cluster feature model document 620, which is an XML document, based on the generated virtual cluster feature model 610. Subsequently, the virtual disk provisioning management apparatus applies a hash function to the virtual cluster feature model document 620 to generate an integer ID value 630 '1956267503'. Here, the hash function uses the hash function hash_fn included in the C ++ standard library funtional. The virtual disk provisioning management apparatus searches for a reusable virtual disk based on the integer type ID value 630 of the created virtual cluster feature model document 620. Specifically, the virtual disk provisioning management apparatus searches the re-use virtual disk storage for a virtual disk having an integer ID value equal to the integer type ID value 630. If there is a reusable virtual disk among the virtual cluster characteristics models stored in the reusable virtual disk storage, the virtual disk provisioning management device determines whether the integer type ID value of the reusable virtual disk, the software component included in the virtual disk, And so on.

이에 따라, 가상 디스크 프로비저닝 관리 장치는 가상 클러스터 특징모델 문서에 정수형 ID값을 부여하여 동일한 가상 디스크를 복제하는 경우, 정수형 ID값을 기초로 기존에 생성된 가상 클러스터 특징모델 문서를 검색함으로서 재사용하여 복제할 수 있도록 한다.Accordingly, when the virtual disk provisioning management apparatus assigns an integer ID value to a virtual cluster characteristic model document and duplicates the same virtual disk, the virtual cluster characteristic model document is reused by searching the existing virtual cluster characteristic model document based on the integer type ID value, .

도 7은 본 발명의 다른 실시예에 따라 가상 디스크의 프로비저닝 절차가 생성되는 과정을 도시화 한 것이다.FIG. 7 illustrates a process of creating a provisioning procedure of a virtual disk according to another embodiment of the present invention.

도 7을 참조하면, 가상 디스크 프로비저닝 관리 장치는 시스템 소프트웨어 (711) 인 Debian 8.0, 제1 응용 소프트웨어 (712) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (713) 인 Hadoop 2.6.0 이 설치된 가상 디스크 (710) 에 대응하는 가상 디스크 프로비저닝 절차를 명세한 문서인 가상 디스크 프로비저닝 절차 (740) 를 생성한다. 여기서, 가상 디스크 프로비저닝 절차 (740) 는 XML 형태의 문서로, 빈 가상 디스크 이미지 파일을 생성하고, 새로운 시스템 및 응용 소프트웨어를 설치하는 절차를 포함한다. 또한, 가상 디스크 프로비저닝 절차 (740) 는 생성된 가상 디스크를 향후에 재사용하기 위하여 재사용 자산 저장소 (730) 에 저장하고, 생성된 가상 디스크를 필요한 개수만큼 복제하고, 복제된 가상 디스크에 소프트웨어를 설정하는 절차를 포함한다. 또한, 이미 재사용 자산 저장소 (730) 에 저장된 가상 디스크의 특징모델을 기초로 가상 디스크를 복제하는 경우, 가상 디스크 프로비저닝 절차 (740) 는 빈 가상 디스크 이미지 파일을 생성하고, 재사용 가능한 가상 디스크 내용을 복제하고, 생성된 가상 디스크를 필요한 개수만큼 복제 및 복제된 가상 디스크에 소프트웨어를 설정하는 절차를 포함한다. Referring to FIG. 7, the virtual disk provisioning management apparatus includes a virtual disk (virtual disk) having Debian 8.0 as the system software 711, Open JDK 7.0 as the first application software 712, and Hadoop 2.6.0 as the second application software 713 710, a virtual disk provisioning procedure 740 that is a document specifying the virtual disk provisioning procedure. Here, the virtual disk provisioning procedure 740 includes a procedure for creating an empty virtual disk image file, and installing a new system and application software, as an XML-formatted document. In addition, the virtual disk provisioning procedure 740 stores the generated virtual disk in the reusable asset storage 730 for reuse in the future, replicates the generated virtual disk as many times as necessary, and sets software in the replicated virtual disk Procedure. In addition, when the virtual disk is cloned based on the feature model of the virtual disk already stored in the re-use asset storage 730, the virtual disk provisioning procedure 740 generates an empty virtual disk image file, and replays the re- And duplicating the required number of generated virtual disks and setting software in the duplicated virtual disk.

도 7을 참조하면, 가상 디스크 프로비저닝 관리 장치는 가상 디스크 (710) 의 특징모델 문서에 부여된 정수형 ID값 (720) 을 기초로 이미 재사용 자산 저장소 (730) 에 동일한 특징모델 문서가 존재하는지 검색한다. 즉, 가상 디스크 프로비저닝 관리 장치는 재사용 자산 저장소 (730) 에서 가상 클러스터 디스크 생성 절차를 수행할 소프트웨어의 설치자 (Installer) 와 표시자 (Configurator) 형태의 데이터를 검색한다. 따라서, 가상 디스크 프로비저닝 관리 장치는 재사용 자산 저장소 (730) 의 검색 데이터를 기초로 XML 형태의 가상 클러스터 디스크 프로비저닝 절차 (740) 를 생성한다.Referring to FIG. 7, the virtual disk provisioning management apparatus searches whether the same feature model document exists in the reuse asset repository 730 based on the integer ID value 720 given to the feature model document of the virtual disk 710 . That is, the virtual disk provisioning management apparatus retrieves data in the form of an installer and a configurator of the software for performing the virtual cluster disk creation procedure in the reusable asset storage 730. Thus, the virtual disk provisioning management device generates a virtual cluster disk provisioning procedure 740 in the form of XML based on the search data of the reusable asset store 730.

이에 따라, 가상 디스크 프로비저닝 관리 장치는 가상 디스크 프로비저닝의 절차를 문서화하여 저장하고 활용함으로서, 동일한 가상 클러스터 서브그룹을 생성할 경우에 프로비저닝 단계 및 소요 시간을 단축할 수 있다.Accordingly, the virtual disk provisioning management apparatus can document, store, and utilize the procedures of the virtual disk provisioning to shorten the provisioning step and the time required to create the same virtual cluster subgroup.

도 8a 내지 도 8g는 본 발명의 다른 실시예에 따라 가상 디스크 프로비저닝의 효과를 도시화 한 것이다.8A-8G illustrate the effect of virtual disk provisioning in accordance with another embodiment of the present invention.

도 8a를 참조하면, 비재사용 및 재사용 기반의 가상 디스크 유형 별 단일 가상 디스크 생성 시간 측정 결과 그래프 (810) 를 나타낸다. 여기서, 재사용이란, 미리 생성한 가상 디스크에 설치된 소프트웨어를 동일하게 포함하여 새로운 가상 디스크를 생성할 경우, 미리 생성한 가상 디스크를 복제하여 새로운 가상 디스크를 생성하는 것을 의미한다. Referring to FIG. 8A, there is shown a graph 810 of a single virtual disk creation time measurement result for each non-reuse and reuse-based virtual disk type. Here, the re-use means that when a new virtual disk is created by equally including the software installed in a previously created virtual disk, a new virtual disk is created by duplicating the previously created virtual disk.

도 8a를 참조하면, 가상 디스크 프로비저닝의 효과를 확인하기 위해서 사용한 가상 디스크의 크기는 3GB 이며, 시스템 소프트웨어는 데비안 (Debian) 7.0, 응용 소프트웨어는 OpenJDK 7.0, 하둡(Hadoop) 2.6.0, 그리고 HBase 1.1.1을 사용하였다. 효과를 확인한 결과, 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서의 비재사용 통합형 가상 디스크 (811) 는 1273.85초의 생성시간을 나타내고, 비재사용 병합형 가상 디스크 (812) 는 1217.69초의 생성 시간을 나타내었다. 여기서, 병합형 가상 디스크는 병합형 가상 디스크 프로비저닝에 의해 생성되어 각각의 소프트웨어가 독립된 각각의 가상 디스크 형태로 존재한다. 병합형 가상 클러스터 디스크 프로비저닝이란, 가상 디스크를 소프트웨어 종류 별로 분류하고, 분류된 복수의 소프트웨어를 병합하여 가상 클러스터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 따라서, 가상 디스크 프로비저닝 장치는 각각의 병합형 가상 디스크들을 병합하여 가상 머신에 제공한다. 또한, 통합형 가상 클러스터 디스크는 통합형 가상 디스크 프로비저닝에 의해 생성되어 모든 소프트웨어를 통합하여 하나의 소프트웨어가 설치된 하나의 가상 디스크 형태로 존재한다. 통합형 가상 클러스터 디스크 프로비저닝이란, 복수의 소프트웨어를 통합하여 하나의 소프트웨어 처럼 가상 클러스터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 따라서, 가상 디스크 프로비저닝 장치는 각각의 소프트웨어를 통합하여 설치한 통합형 가상 디스크를 가상 머신에 제공한다. Referring to FIG. 8A, the size of the virtual disk used for checking the effect of the virtual disk provisioning is 3 GB, the system software is Debian 7.0, the application software is OpenJDK 7.0, Hadoop 2.6.0, and HBase 1.1 .1 was used. As a result, the non-reused integrated virtual disk 811 on the virtual machine allocated with 4 VCPUs and 4 GB of memory represents the generation time of 1273.85 seconds, and the non-reused combined virtual disk 812 has the generation time of 1217.69 seconds Respectively. Here, the merged virtual disk is created by the merged virtual disk provisioning, and each software exists as a separate virtual disk type. Combined Virtual Cluster Disk provisioning refers to provisioning in which virtual disks are classified by software type and a plurality of classified software are merged to be provided to a virtual machine of a virtual cluster. Thus, the virtual disk provisioning device merge each of the merge type virtual disks into a virtual machine. In addition, an integrated virtual cluster disk is created by an integrated virtual disk provisioning and exists as one virtual disk in which one software is installed by integrating all the software. Integrated virtual cluster disk provisioning refers to provisioning in which a plurality of software can be integrated and provided to a virtual machine in a virtual cluster as a single software. Thus, the virtual disk provisioning device provides an integrated virtual disk that integrates and installs each software to the virtual machine.

비재사용 통합형 및 병합형 가상 디스크 (811, 812) 의 생성 시간 차이는 시스템 및 응용 소프트웨어를 설치하는 시간이 각 소프트웨어 패키지들이 존재하는 외부 저장소를 사용하기 때문에 발생될 수 있는 차이라고 볼 수 있다. 비 재사용 통합형 및 병합형 가상 디스크 (811, 812) 의 생성 시간 차이는 소프트웨어 패키지가 존재하는 외부 저장소의 네트워크 환경에 따라서 설치 시간의 미미한 차이를 내는 것이라고 볼 수 있다. 따라서, 비재사용 통합형 및 병합형 가상 디스크 (811, 812) 의 생성 시간은 가상 디스크 유형에 상관없이 유사함을 알 수 있다. The difference in the generation time of the non-reused integrated type and the merged type virtual disks 811 and 812 can be regarded as a difference that can occur because the time for installing the system and the application software uses the external storage where each software package exists. The difference in the generation time of the non-reuse integrated type and the merged type virtual disks 811 and 812 can be regarded as a slight difference in installation time depending on the network environment of the external storage where the software package exists. Therefore, it can be seen that the generation times of the non-reused integrated type and the merged type virtual disks 811 and 812 are similar regardless of the virtual disk type.

시스템 소프트웨어가 설치된 가상 디스크를 재사용할 경우 통합형 및 병합형 가상 디스크 (813, 814) 의 총 생성 시간은 각각 629.16초와 608.96초를 나타낸다. 시스템 소프트웨어만을 재사용할 경우 응용 소프트웨어는 설치해야하기 때문에 이와 같은 결과가 나타났음을 확인할 수 있다. 비재사용 가상 디스크 (811, 812) 의 생성과 마찬가지로 시스템 소프트웨어 재사용 통합형 및 병합형 가상 디스크 (813, 814) 생성 시간의 차이는 설치할 응용 소프트웨어의 패키지가 외부 저장소에 저장되어있기 때문에 발생될 수 있는 차이라 해석할 수 있다. 결과적으로 시스템 소프트웨어를 재사용하더라도 추가적으로 설치해야 하는 응용 소프트웨어가 존재하였을 경우, 시스템 소프트웨어 재사용 통합형 및 병합형 가상 디스크 (813, 814) 의 생성 시간은 유사함을 확인할 수 있다. 시스템 및 응용 소프트웨어가 설치된 가상 디스크를 모두 재사용 할 경우 통합형과 병합형 가상 디스크 (815, 816) 의 생성 시간은 각각 356.17초와 233.87초를 나타낸다. 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크 (815) 에 비해 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크 (816) 의 생성 시간이 단축된 이유는 재사용 가능한 가상 디스크 복제의 방법차이에서 발생되는 것이라고 볼 수 있다. 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크 (815) 는 사용자가 요청한 가상 디스크의 크기만큼 빈 디스크 이미지를 생성한 후에 재사용 가능한 가상 디스크의 내용물을 복제한다. 재사용 가능한 가상 디스크의 크기가 2.2GB일 경우 사용자가 요청한 가상 디스크 크기인 3GB를 제공할 수 없기 때문이다. 이에 비해, 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크 (816) 는 Upper 디스크를 생성하여 병합함으로서 재사용 가능한 소프트웨어가 설치된 가상 디스크를 그대로 복제하여 사용할 수 있다. 여기서, Upper 디스크란, 병합형 가상 디스크에 설치된 소프트웨어에 대한 설정을 저장하고, 쓰기 작업으로 인해 저장되어야 하는 데이터를 저장하는 디스크이다. 만약 재사용 가능한 가상 디스크의 크기가 2.2GB일 경우 Upper 디스크를 0.8GB 생성하여 제공하면 되기 때문이다. 재사용 가능한 가상 디스크 이미지의 내용물을 복제하는 것은 존재하는 모든 파일별 복사 작업을 반복적으로 수행하기 때문에 하나의 디스크 이미지 파일을 복제하는 시간에 비해 많은 복제시간을 소모하게 된다. 따라서, 소프트웨어 구성 요소를 모두 재사용하는 경우 통합형에 비해 병합형 디스크 생성 시간이 단축될 수밖에 없다.When the virtual disk on which the system software is installed is reused, the total generation time of the integrated and merged virtual disks 813 and 814 represents 629.16 seconds and 608.96 seconds, respectively. If only system software is reused, it is necessary to install application software. Similar to the generation of the non-reusable virtual disks 811 and 812, the difference in the generation time of the system software reuse integrated type and the merged type virtual disks 813 and 814 is that a package . As a result, even if the system software is reused, if the application software to be additionally installed exists, the generation times of the system software reuse integrated type and the merged type virtual disks 813 and 814 are similar. When all the virtual disks having the system and application software are reused, the generation times of the integrated type and the combined virtual disks 815 and 816 are 356.17 seconds and 233.87 seconds, respectively. Reuse of System and Application Software Compared to the integrated virtual disk 815, the reuse of system and application software is shortened because the generation time of the merged virtual disk 816 is shortened due to the difference in method of reusable virtual disk duplication. System and Application Software Reuse The integrated virtual disk 815 replicates the contents of the reusable virtual disk after creating a blank disk image corresponding to the size of the virtual disk requested by the user. If the size of the reusable virtual disk is 2.2 GB, the user can not provide the requested virtual disk size of 3 GB. In contrast, the system and application software reuse combined virtual disk 816 can create an upper disk and merge it, so that the virtual disk having the reusable software installed can be copied and used as it is. Here, the Upper disk is a disk that stores settings for software installed in the merged virtual disk and stores data to be stored due to a write operation. If the size of the reusable virtual disk is 2.2 GB, it is necessary to provide 0.8 GB of the upper disk. Duplicating the contents of a reusable virtual disk image consumes a lot of copying time compared to the time of duplicating a single disk image file because it repeatedly performs all the file-by-file copying operations. Therefore, when reusing all the software components, the time for generating the concurrent disk is shortened as compared with the integrated type.

도 8b를 참조하면, 총 가상 머신 수의 증가에 따른 가상 디스크 프로비저닝 전처리 과정 시간 비율의 그래프 (820) 를 나타낸다. 실제 전처리 과정에서 발생되는 시간적 오버헤드 (Overhead) 에 비해 가상 디스크를 실제 생성하는 시간의 비율이 커짐에 따라 미미한 오버헤드를 일으킴을 확인할 수 있다. 물론 총 가상 머신의 수가 14대 (821) 일 때 가장 높은 전처리 과정의 시간적 비율 (0.55%) 을 보임을 확인할 수 있다. 그러나 총 가상 머신의 수가 증가하면 증가할수록 전체 가상 디스크 프로비저닝 시간 대비 전처리 과정의 시간적 비율이 낮아짐을 확인할 수 있다. 이는 전처리 과정이 가상 클러스터 당 1회적으로만 발생되기 때문이며, 상대적으로 가상 디스크를 생성하는 시간이 전처리 과정에 비해 많은 시간을 소모하기 때문에 발생되는 결과라 할 수 있을 것이다. 물론 만약 가상 클러스터 가상머신 별 포함된 소프트웨어 구성 요소가 다양할 경우 총 가상 머신 수의 증가에 따른 가상 디스크 프로비저닝 전처리 과정 시간 비율의 그래프 (820) 의 결과보다 많은 가상 디스크 프로비저닝 전처리 시간을 소모하게 될 것이다. 그러나 가상 클러스터의 소프트웨어 구성요소가 증가한다는 것은 그만큼 설치해야 할 소프트웨어도 증가한다는 것이다. 따라서 본 발명에서 수행하는 가상 디스크 프로비저닝 전처리 과정에서 발생 되는 시간은 실제 가상 디스크 생성 시간을 고려하였을 때 미미한 시간적 오버헤드를 야기한다고 해석할 수 있을 것이다.Referring to FIG. 8B, there is shown a graph 820 of the virtual disk provisioning preprocessing time ratio as the total number of virtual machines increases. It can be seen that the overhead is negligible as the ratio of the actual creation time of the virtual disk increases compared to the temporal overhead generated in the actual preprocessing process. Of course, when the total number of virtual machines is 14 (821), it can be seen that the time ratio of the highest preprocessing process is 0.55%. However, it can be seen that as the number of total virtual machines increases, the time proportion of the preprocessing process decreases compared to the total virtual disk provisioning time. This is because the preprocessing process occurs only once per virtual cluster, and the time required to generate the virtual disk is relatively longer than the preprocessing process. Of course, if the number of software components included in the virtual cluster virtual machine is varied, it will consume more virtual disk provisioning preprocessing time than the result of the graph 820 of the virtual disk provisioning preprocessing time ratio as the total number of virtual machines increases . However, the increasing number of software components in virtual clusters means that the amount of software that needs to be installed increases accordingly. Therefore, it can be interpreted that the time generated in the pre-processing of virtual disk provisioning performed in the present invention causes a slight temporal overhead when considering the actual virtual disk creation time.

도 8c를 참조하면, 하나의 가상 클러스터에 포함된 가상 머신이 증가함에 따른 가상 디스크 종류별 생성 시간 결과의 그래프 (830) 를 나타낸다. 설명의 편의를 위해 도 8a를 참조하여 설명한다.Referring to FIG. 8C, a graph 830 of the virtual disk type creation time result as the number of virtual machines included in one virtual cluster increases. This will be described with reference to FIG.

도 8c를 참조하면, 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 재사용 기반의 통합형 가상 디스크 생성 시간은 가상 머신의 수에 지수적 (Exponential) 으로 급격한 생성 시간 증가 추세를 보여준다. 특히 가상 머신의 수가 8대 (831) 에서 16대 (832) 로 넘어가는 시점에서부터 생성 시간 증가율이 소폭 상승하는 것을 확인할 수 있다. 이와 같이 재사용 기반의 통합형 가상 디스크 생성 시간이 발생되는 이유는 가상 머신의 수만큼 생성된 디스크를 복제해야하기 때문에 발생된다. 즉, 통합형은 같은 가상 클러스터에 존재하는 가상 머신들이 생성된 가상 디스크를 공유하지 않기 때문에 필요한 시스템 및 응용 소프트웨어가 모두 설치된 디스크를 가상 머신의 개수만큼 복제해야만 한다. 그리고 복제 시, 사용자가 요청한 가상 디스크의 크기만큼 반복적으로 복제해야하기 때문에 이와 같은 결과를 얻을 수 있는 것이다.Referring to FIG. 8C, the reuse-based integrated virtual disk creation time in the virtual machine allocated with four VCPUs and 4 GB of memory shows an exponential increase in the generation time in the number of virtual machines. Especially, it can be seen that the generation time increase rate slightly increases from the time when the number of virtual machines is changed from 8 (831) to 16 (832). The reuse-based integrated virtual disk creation time is generated because the disk created by the number of virtual machines must be duplicated. That is, since the virtual machines existing in the same virtual cluster do not share the created virtual disk, the integrated system must duplicate the disk in which all necessary system and application software are installed by the number of virtual machines. In the case of replication, the same result can be obtained because it is necessary to replicate the replica by the size of the virtual disk requested by the user.

도 8d를 참조하면, 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프 (840) 를 포함한다. Referring to FIG. 8D, a combined virtual disk creation time reduction rate graph 840 of a virtual machine having 32 virtual disks included in the virtual cluster with an increase in the maximum number of shared virtual machines per virtual disk is included.

도 8d를 참조하면, 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프 (840) 를 표현한다. 또한, 가상 디스크 당 최대 공유 가상 머신의 수가 1대인 경우의 생성 시간 감소율을 기준으로 표현한다. 그 결과 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 재사용 기반의 병합형 디스크 생성 시간은 총 32대 (846) 의 가상 머신을 기준으로 가상 디스크 당 최대 공유 가상 머신의 수가 1대에서 4대 (841, 842, 843) 까지 급격한 생성 시간 감소율을 보여주었다. 그러나 최대 공유 가상 머신의 수가 4대 이상 (843, 844, 845, 846) 일 경우 감소되는 생성 시간 비율이 11% 이하로 감소되는 것을 알 수 있다. 즉, 본 발명의 병합형 가상 디스크 생성 방법을 이용하였을 경우 가장 높은 생성 시간 감소율을 기대할 수 있는 수치는 가상 디스크 당 최대 공유 가능한 가상 머신이 4대 (843) 일 경우라는 것을 확인할 수 있다. 이는 가상 클러스터에 포함된 가상 머신의 수가 증가하더라도 최대 4대 (841, 842, 843) 의 가상 머신이 하나의 가상 디스크를 공유하였을 때 가장 높은 생성 시간 절감을 얻을 수 있다는 것을 의미한다.Referring to FIG. 8D, a combined virtual disk creation time reduction rate graph 840 of a virtual machine having 32 virtual servers included in the virtual cluster according to an increase in the maximum number of shared virtual machines per virtual disk is represented. Also, it is expressed based on the generation time reduction rate when the maximum number of shared virtual machines per virtual disk is one. As a result, the reuse-based concurrent disk creation time in a virtual machine allocated 4 VCPUs and 4 GB of memory is based on a total of 32 virtual machines (846). The maximum number of shared virtual machines per virtual disk is 1 to 4 (841, 842, 843). However, when the number of maximum shared virtual machines is 4 or more (843, 844, 845, 846), the decrease ratio of generation time is reduced to 11% or less. That is, it can be seen that the maximum number of virtual machines that can be shared per virtual disk is four (843) when the method of generating a merged virtual disk of the present invention is used. This means that even if the number of virtual machines included in the virtual cluster increases, the maximum generation time savings can be obtained when a maximum of four virtual machines (841, 842, and 843) share one virtual disk.

도 8e를 참조하면, 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 유형 별 생성 시간 결과 그래프 (850) 를 나타낸다. 실험 결과 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 통합형 가상 디스크 (851) 는 가상 클러스터의 서브그룹 수의 증가에 따라 선형적인 디스크 생성 시간을 보여준다. 이는 서브그룹의 개수가 증가함에 따라 총 생성해야 하는 가상 디스크의 개수도 비례하여 증가하기 때문이다. 다시 말해, 서브그룹의 개수가 2인 경우 생성해야 할 가상 디스크의 개수는 총 16개이다. 그리고 서브그룹의 개수가 4인 경우 생성 할 디스크 개수는 32개이며, 8개의 서브그룹은 총 64개의 디스크를 생성해야 한다. 즉, 가상 클러스터 서브 그룹이 증가하는 수만큼 비례하여 디스크 생성시간이 증가 한다는 것을 확인할 수 있다. 병합형 가상 디스크 (852, 853, 854, 855) 는 가상 디스크 당 최대 공유하는 가상 머신의 수에 따라 생성 시간의 차이를 보였다. 그러나 공통적으로 가상 클러스터의 서브그룹의 수에 비례한 생성 시간을 보여준다. 그리고 최대 공유하는 가상 머신의 개수의 증가에 반비례하여 가상 디스크 생성 시간이 증가함을 보여준다. 즉, 가상 디스크 당 최대 공유하는 가상 머신이 2대 (853) 인 경우 서브그룹이 2일 때와 4일 때 각각 8개, 16개의 가상 디스크를 생성해야 한다. 그리고 가상 디스크 당 최대 공유하는 가상 머신이 4대 (854) 인 경우 서브그룹이 2, 4개일 때 각각 4개, 8개의 가상 디스크를 생성해야 한다. 최대 공유하는 가상 머신의 개수가 증가함에 따라 생성해야 할 가상 디스크의 수는 반비례적으로 줄게 되며 이에 따라 생성 시간 역시 감소되는 것이다. 통합형과 병합형 가상 디스크 (851, 852, 853, 854, 855) 의 생성 시간은 최소 22.50%, 최대 86.99%의 생성 시간 차이가 발생되었다.Referring to FIG. 8E, a generation time result graph 850 for each virtual disk type according to the number of virtual cluster subgroups increases. As a result, the integrated virtual disk 851 shows the linear disk creation time according to the increase in the number of subgroups of the virtual cluster on the virtual machine allocated with 4 VCPUs and 4 GB of memory. This is because as the number of subgroups increases, the total number of virtual disks to be created increases proportionally. In other words, when the number of subgroups is 2, the number of virtual disks to be created is 16 in total. If the number of subgroups is 4, the number of disks to be created is 32, and a total of 64 disks must be created for 8 subgroups. That is, it can be confirmed that the disk creation time increases in proportion to the number of increase in the number of virtual cluster subgroups. The merge type virtual disks 852, 853, 854, and 855 show a difference in generation time according to the number of virtual machines to be shared maximum per virtual disk. However, it shows the generation time proportional to the number of subgroups of the virtual cluster in common. And it shows that the virtual disk creation time increases in inverse proportion to the increase of the maximum number of shared virtual machines. That is, when two virtual machines (853) are shared maximum per virtual disk, 8 virtual disks and 8 virtual disks must be created when the subgroups are 2 and 4, respectively. If the maximum number of shared virtual machines per virtual disk is 4 (854), then 8 virtual disks should be created when the subgroups are 2 and 4, respectively. As the maximum number of shared virtual machines increases, the number of virtual disks to be created decreases in inverse proportion, and the generation time also decreases. Generation times of the integrated type and the combined virtual disks 851, 852, 853, 854, and 855 were 22.50% and 86.99%, respectively.

도 8f를 참조하면, 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 종류 별 공유 저장소 사용 공간 비교 결과 그래프 (860) 를 나타낸다. 통합형 가상 디스크 (861) 는 가상 클러스터 서브그룹의 개수의 증가에 비례하여 선형적인 공유 저장소 사용 크기를 나타낸다. 이는 각 가상 클러스터 서브그룹에 존재하는 가상 머신의 개수에 비례하여 가상 디스크를 생성하기 때문에 나타난 결과라 해석할 수 있다. 또한, 각 서브그룹의 가상 머신들이 동질적 소프트웨어가 설치된 가상 디스크를 공유하지 않기 때문에 서브그룹 별 가상 머신 수에 따라 선형적으로 공유 저장소를 사용한다는 결론을 얻을 수 있다. 병합형 가상 디스크 (862, 863, 864) 는 가상 디스크 당 최대 공유하는 가상 머신의 수에 따라 서로 다른 공유 저장소 사용 공간을 나타냈다. 첫 번째로 병합형 가상 디스크 당 공유하는 가상 머신이 1대 (861) 일 경우 통합형 가상 디스크와 동일한 저장소 사용 공간을 나타냈다. 이는 가상 클러스터 서브그룹의 가상 머신들이 모두 개별적 가상 디스크를 제공받는 경우와 동일하기 때문이다. 그러나 최대 공유 가상 머신의 수가 2대 (862), 4대 (863), 8대 (864) 로 증가할 때마다 각각 36.88%, 55.32%, 64.54%의 저장 공간 사용 감소율을 나타낸다. 이는 생성 시간 감소율과 유사하게 병합형 가상 디스크 당 최대 공유 가상 머신의 수가 4대 이상 (863, 864) 일 경우 공유 저장소 사용 공간의 감소율이 낮아지는 양상을 보여주는 것이다. 결론적으로 통합형 가상디스크 (861) 에 비해 병합형 가상 디스크 (862, 863, 864) 의 생성 시간은 가상 클러스터의 서브그룹이 증가하는 경우라 할지라도 빠른 생성 시간과 적은 공유 저장소 공간 사용을 보임을 확인할 수 있다. 또한, 가상 클러스터 서브그룹 개수의 증가에 비례하여 통합형 가상 디스크 (861) 및 병합형 가상 디스크 (862, 863, 864) 의 생성 시간을 나타냄을 알 수 있다. 공유 저장소의 사용 공간 역시 통합형 가상 디스크 (861) 및 병합형 가상 디스크 (862, 863, 864) 모두 서브그룹 개수에 비례하여 증가하는 결과를 나타냈다. 특히, 병합형 가상 디스크 중 최대 공유 가상 머신의 수가 1대 (862) 인 경우는 통합형과 동일한 크기의 공유 저장소를 사용함을 확인하였다. 물론 총 가상 디스크 생성 시간의 측면에서 통합형 가상 디스크 (861) 에 비해 빠른 디스크 생성이 가능하지만, 공유 저장소의 사용 공간을 고려한다면 4개의 VCPU와 4GB 메모리를 할당한 가상 머신 상에서는 최소 공유 하는 가상 머신을 2대 이상 (862, 863, 864) 으로 설정한 뒤 가상 클러스터의 디스크 프로비저닝을 수행하는 것이 합리적이라는 결론을 도출할 수 있다.Referring to FIG. 8F, there is shown a graph 860 of a shared storage usage space comparison result of virtual disk types according to the increase in the number of virtual cluster subgroups. The integrated virtual disk 861 represents a linear shared storage usage size proportional to the increase in the number of virtual cluster subgroups. This can be interpreted as a result because virtual disks are created in proportion to the number of virtual machines existing in each virtual cluster subgroup. In addition, since the virtual machines in each subgroup do not share the virtual disk with the homogeneous software installed, it can be concluded that the shared storage is used linearly according to the number of virtual machines per subgroup. The merged virtual disks 862, 863, and 864 represent different shared storage usage spaces depending on the maximum number of virtual machines shared per virtual disk. First, if one shared virtual machine (861) is shared per merged virtual disk, it shows the same storage usage space as the integrated virtual disk. This is because the virtual machines in the virtual cluster subgroup are all the same as those in which individual virtual disks are provided. However, when the number of maximum shared virtual machines increases from 862 to 863 to 864, it shows 36.88%, 55.32% and 64.54%, respectively. Similar to the generation time reduction rate, when the maximum number of shared virtual machines per merged virtual disk is 4 or more (863, 864), the rate of reduction of shared storage space is decreased. As a result, the generation time of the merged virtual disks 862, 863, and 864 is shorter than that of the integrated virtual disk 861 even when the number of subgroups of the virtual cluster increases. . It can also be seen that the generation time of the integrated virtual disk 861 and the combined virtual disks 862, 863, and 864 is proportional to the increase of the number of virtual cluster subgroups. The space used in the shared storage also shows an increase in proportion to the number of subgroups of both the integrated virtual disk 861 and the combined virtual disks 862, 863, and 864. Particularly, when the number of maximum shared virtual machines among the merged virtual disks is one (862), it is confirmed that shared storage of the same size as the integrated type is used. Of course, in terms of the total virtual disk creation time, it is possible to create a disk faster than the integrated virtual disk 861. However, considering the use space of the shared storage, the virtual machine which has allocated 4 VCPUs and 4GB memory, It can be concluded that it is reasonable to perform disk provisioning of the virtual cluster after setting at least two (862, 863, 864).

도 8g를 참조하면, 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 수에 따른 가상 디스크 종류 별 생성 시간 비교 결과 그래프 (870) 를 나타낸다. 실험 결과 4개의 VCPU와 4GB 메모리를 할당한 가상 머신 상에서 가상 클러스터 내 서브그룹 간 중복되는 응용 소프트웨어를 분석하지 않고 반복적으로 설치하여 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (871) 를 생성한 경우 서브그룹 개수가 증가함에 따라 지수적으로 증가하는 추세를 보였다. 특히 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 개수가 4개 이상일 때부터 급격한 디스크 생성 시간을 보여주었다. 이는 증가하는 가상 클러스터 서브그룹의 개수만큼 응용 소프트웨어를 설치해야하며, 설치 완료된 통합형 가상 디스크를 각 서브그룹에 포함된 가상 머신 수만큼 복제해야하기 때문에 나타나는 결과이다. 이와 유사하게 병합형 가상 디스크를 사용하는 가상 클러스터의 서브그룹에 중복되는 응용 소프트웨어의 중복적 설치 절차를 제거하지 않았을 경우 (872), 지수적 생성 시간 증가 추세를 보여준다. 그러나, 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (872) 의 생성은 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (872) 의 생성에 비해 서브그룹 수의 증가에 따라 다소 적은 디스크 생성 시간 양상을 보인다. 이는 각 서브그룹에 존재하는 2대의 가상 머신이 중복되는 소프트웨어가 존재하는 가상 디스크를 공유하기 때문에 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (871) 에 비해 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (872) 의 각 가상 머신을 위한 디스크 복제 횟수가 감소하기 때문이다. 물론 각 가상 머신을 위한 Upper 디스크 생성 시간이 각 서브그룹의 가상 머신의 개수에 비례하여 소요된다. 그러나 중복되는 소프트웨어가 모두 설치된 가상 디스크를 복제하는 시간에 비해 전체 가상 디스크 생성시간에 큰 영향을 미치지 않는 결과를 얻을 수 있다. 이어서, 각 가상 클러스터 서브그룹 간 중복되는 응용 소프트웨어를 분석하고 반복적 설치 절차를 제거한 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크 (873) 와 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (874) 의 선형적으로 증가하는 디스크 생성 시간을 보여준다. 이는 중복되는 응용 소프트웨어가 반복적으로 존재하는 가상 클러스터 서브그룹의 개수를 미리 분석한 뒤 1회 설치 후 생성된 가상 디스크를 복제하는 방식으로 새로운 가상 디스크를 생성하기 때문에 발생되는 결과라고 할 수 있다. 즉, 중복되는 응용 소프트웨어의 분석이 이루어지지 않았을 경우에 해당 서브그룹의 개수만큼 설치 과정을 반복하였다면, 중복되는 소프트웨어 분석이 이루어졌을 경우는 해당 응용 소프트웨어를 한번만 설치한 뒤 필요한 서브그룹 내 가상 머신의 수만큼 복제만 하면 되는 것이다. 그리고 가상 클러스터 내 존재하는 모든 서브그룹의 개수 중복되는 응용 소프트웨어를 설치하지 않는 서브그룹의 경우, 존재하는 시스템 소프트웨어를 그대로 복제하면 된다. 결론적으로, 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 증가에 따라 복제하는 횟수가 “서브그룹 내 가상 머신 개수-1” 만큼 발생되기 때문에 이와 같은 결과를 나타낸 것이라 해석할 수 있다. 가상 클러스터의 서브그룹 간 중복되는 응용 소프트웨어를 분석하여 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (874) 를 생성하였을 경우에 선형적 가상 디스크 생성 시간 증가 양상을 보였다. 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (874) 는 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크 (873) 와 유사한 가상 디스크 생성 시간 증가를 보여주고 있으나, 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (874) 의 경우 각 서브그룹의 개수만큼 응용 소프트웨어가 설치된 디스크를 만들기 때문에 상대적으로 낮은 생성 시간 증가추세를 보였다. 병합형 가상 디스크는 각 가상 머신들에게 독립적인 Upper 디스크를 제공해야 하나 이는 전체 가상 디스크 생성시간에 큰 영향을 미치지 않는 다는 것을 확인할 수 있다. 각 가상 클러스터 서브그룹 간 중복되는 응용 소프트웨어를 분석함은 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (871) 와 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크 (873) 의 경우 최소 30.87%에서 최대 77.63%의 생성 시간 차이를 나타내었다. 그리고 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (872) 와 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (874) 는 최소 27.23%에서 최대 84.75%의 디스크 생성 시간 차이를 보였다. 다시 말해, 중복되는 응용 소프트웨어 분석이 이루어지지 않았을 경우 비율적으로 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (872) 와 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (874) 는 57.52%로 다소 큰 디스크 생성 시간의 차이를 보여줌을 확인할 수 있다. 이는 병합형 가상 디스크의 경우 중복되는 응용 소프트웨어를 지닌 서브그룹의 개수에 따라 복제하는 가상 디스크의 크기가 통합형 가상 디스크에 비해 작기 때문에 발생되는 생성 시간 차이라 해석할 수 있다. 즉, 통합형 가상 디스크의 경우 생성된 가상 디스크를 각 서브그룹의 가상 머신 개수에 맞게 복제하게 된다. 이때 가상 디스크의 크기는 사용자가 지정한 크기만큼 복제한다. 그러나 병합형 가상 디스크는 실제로 설치된 소프트웨어의 크기만큼의 가상 디스크를 필요한 서브그룹 개수만큼 복제하게 된다. 다시 말해, 설치된 가상 디스를를 복제하는 파일의 사이즈 단위가 통합형 가상 디스크에 비해 병합형 가상 디스크가 작기 때문에 중복적으로 소프트웨어를 설치함의 여부가 전체 디스크 생성 시간에 큰 차이를 부른다고 볼 수 있는 것이다. 중복되는 응용 소프트웨어가 2개의 서브그룹에 존재하였을 경우, 병합형 가상 디스크의 중복 소프트웨어 분석을 하지 않았을 때가 통합형 가상 디스크의 중복 소프트웨어 분석을 수행했을 때에 비해 다소 높은 생성 시간을 나타내었다. 이는 비록 서브그룹에 포함된 가상 머신이 가상 디스크를 공유하여 생성해야 할 가상 디스크의 개수가 줄어든다 하더라도 반복적인 소프트웨어 설치가 나타낼 수 있는 생성 시간 지연을 보여주는 것이다. 따라서, 보다 효율적인 가상 디스크의 생성을 위해서는 서브그룹간의 동질적 소프트웨어가 존재하는지 분석하여 설치 횟수를 최소화시키는 대신 설치된 디스크를 복제하는 것이 가상 클러스터 디스크 프로비저닝 시간을 줄일 수 있는 방법이라 결론지을 수 있다. 특히, 소프트웨어를 설치하는 작업은 외부 패키지 저장소를 활용하기 때문에 예측할 수 없는 디스크 생성 시간을 나타낼 수 있다. 왜냐하면 외부 패키지 저장소를 활용한 소프트웨어 설치는 해당 저장소의 네트워크 상황에 따라 다른 설치 시간을 나타내기 때문이다. 따라서, 반복적 소프트웨어 설치 절차를 방지하는 본 발명의 가상 디스크 프로비저닝 관리 방법은 생성된 가상 디스크 이미지의 복제 횟수의 최대화를 통해 전체 가상 디스크 생성 시간을 효율적으로 단축시킬 수 있을 것이다. 이는 가상 클러스터의 서브그룹 개수가 많고 설치해야 하는 소프트웨어의 종류가 다양할수록 더욱 높은 디스크 생성 시간 단축을 이루어 낼 수 있는 중요한 가상 디스크 프로비저닝 방법이 될 것이다.Referring to FIG. 8G, there is shown a graph 870 of the generation time comparison result for each virtual disk type according to the number of virtual cluster subgroups in which overlapping application software exists. Experimental Results In the case of creating an integrated virtual disk (871) with redundant application software by repeatedly installing overlapping application software between subgroups in a virtual cluster on a virtual machine allocated with 4 VCPUs and 4GB memory, As the number of groups increased, it showed a tendency to increase exponentially. Especially, when the number of virtual cluster subgroups with redundant application software is more than 4, rapid disk creation time is shown. This is because the application software needs to be installed as many as the number of virtual cluster subgroups to be increased and the installed integrated virtual disk must be replicated by the number of virtual machines included in each subgroup. Similarly, if the redundant installation procedure of redundant application software is not removed in the subgroup of the virtual cluster using the merged virtual disk (872), the exponential generation time trend is increased. However, the generation of the merge type virtual disk 872 in which redundant application software exists may generate a somewhat smaller disk creation time pattern as the number of subgroups increases compared with the generation of the integrated virtual disk 872 in which redundant application software exists see. This is because the two virtual machines existing in each sub group share the virtual disk in which the duplicated software exists. Therefore, compared with the integrated virtual disk 871 in which the duplicated application software exists, The number of times of disk duplication for each virtual machine of the disk 872 decreases. Of course, the upper disk creation time for each virtual machine is proportional to the number of virtual machines in each subgroup. However, it is possible to obtain a result that the total virtual disk creation time is not significantly affected by the time of duplicating the virtual disk in which all the duplicate software is installed. Then, the integrated virtual disk 873 which analyzes the overlapping application software between the virtual cluster subgroups and removes the duplicated application software that eliminates the repetitive installation procedure, and the linearly combined virtual disk 874 that removes the overlapping application software Increase disk creation time. This is a result of analyzing the number of virtual cluster subgroups in which duplicated application software is repeatedly analyzed in advance, and then creating a new virtual disk by duplicating the virtual disk created after one installation. In other words, if duplication of application software is not analyzed, the installation process is repeated as many times as the number of subgroups. If overlapping software analysis is performed, the application software is installed only once, You only have to replicate as many as you like. And for all subgroups that do not have overlapping application software installed in the virtual cluster, the existing system software can be copied as it is. As a result, it can be interpreted that the number of replications is generated as "the number of virtual machines in the subgroup is -1" according to the increase of the virtual cluster subgroup in which the duplicated application software exists. When a merged virtual disk (874) is created by analyzing overlapping application software among subgroups of a virtual cluster and duplicated application software is removed, a linear virtual disk creation time increase pattern is shown. The merge type virtual disk 874 from which redundant application software is removed shows a virtual disk generation time increase similar to that of the integrated type virtual disk 873 in which redundant application software is removed. However, the merge type virtual disk 874 ), The generation time of the application software is relatively low because the number of the sub-groups is equal to the number of the application software installed. The merged virtual disk should provide an independent upper disk for each virtual machine, but it does not affect the overall virtual disk creation time. The analysis of overlapping application software among the subgroups of virtual clusters shows that the integrated virtual disk 871 in which redundant application software exists and the integrated virtual disk 873 in which application software which is overlapped is removed have a minimum of 30.87% and a maximum of 77.63% Generation time difference. Also, the merged virtual disk 872 in which redundant application software exists and the merged virtual disk 874 in which the overlapped application software is removed have a disc creation time difference of at least 27.23% and a maximum of 84.75%. In other words, when the duplicated application software analysis is not performed, the merged type virtual disk 872 in which the application software is overlapped proportionally and the merged type virtual disk 874 in which the duplicated application software is removed is 57.52% It can be confirmed that the disc creation time difference is shown. In the case of a merged virtual disk, it can be interpreted that the size of a duplicate virtual disk is smaller than that of an integrated virtual disk according to the number of subgroups having duplicated application software. That is, in the case of the integrated virtual disk, the created virtual disk is duplicated according to the number of virtual machines in each subgroup. At this time, the size of the virtual disk is duplicated by the size specified by the user. However, a merge virtual disk replicates as many virtual disks as the size of the actually installed software by the required number of subgroups. In other words, since the size of the file that replicates the installed virtual disk is smaller than that of the integrated virtual disk, the installation of the software in a redundant manner can make a big difference in the entire disk creation time. When duplicated application software existed in two subgroups, when the duplicate software analysis of the merged virtual disk was not performed, the generation time was somewhat higher than that of the duplicate software analysis of the integrated virtual disk. Even though the number of virtual disks to be created by a virtual machine included in a subgroup is shared by a virtual disk, it shows the generation time delay that a repetitive software installation can exhibit. Therefore, we can conclude that it is a way to reduce the virtual cluster disk provisioning time by replicating installed disks instead of minimizing the number of installs by analyzing whether there is homogeneous software between subgroups in order to create a more efficient virtual disk. In particular, the task of installing software can reveal unpredictable disk creation time because it utilizes external package repositories. This is because installation of software using external package repositories shows different installation times depending on the network conditions of the corresponding repository. Therefore, the virtual disk provisioning management method of the present invention, which prevents the repeated software installation procedure, can effectively shorten the entire virtual disk creation time by maximizing the number of copies of the created virtual disk image. This is an important virtual disk provisioning method that can achieve a higher disk creation time as the number of subgroups of a virtual cluster is large and the type of software to be installed varies.

본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In this specification, each block or each step may represent a part of a module, segment or code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.

본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, which is capable of reading information from, and writing information to, the storage medium. Alternatively, the storage medium may be integral with the processor. The processor and the storage medium may reside within an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in detail with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those embodiments and various changes and modifications may be made without departing from the scope of the present invention. . Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

110 가상 머신
120, 140, 710 가상 디스크
130, 430, 460 소프트웨어
131, 431, 461, 611, 711 시스템 소프트웨어
132, 432, 462, 712 제1 응용 소프트웨어
133, 433, 463, 713 제2 응용 소프트웨어
200 가상 디스크 프로비저닝 관리 장치
210 가상 디스크 프로비저닝 프로세스 수신부
211 가상 디스크 프로비저닝 프로세스 수행부
212 가상 디스크 프로비저닝 개시부
213 가상 디스크 프로비저닝 프로세서 관찰부
220 특징모델 생성부
221 가상 클러스터 서브그룹 생성부
222 가상 클러스터 특징모델 생성부
230 재사용 가상 디스크 검색부
231 중복 소프트웨어 검색부
232 중복되지 않는 소프트웨어 검색부
240 가상 디스크 프로비저닝 절차 결정부
241 가상 디스크 프로비저닝 절차 생성부
242 재사용 가상 디스크 프로비저닝 절차 생성부
250 가상 디스크 생성 태스크 수행부
251 가상 디스크 생성부
252 재사용 메타 데이터 생성부
410 제1 가상 클러스터 서브그룹
420 복수의 가상 머신
440 제2 가상 클러스터 서브그룹
510 제1 가상 클러스터 서브그룹 특징모델
511, 521, 531 시스템 소프트웨어
512, 513, 522, 523, 532, 533 응용 소프트웨어
520 제2 가상 클러스터 서브그룹 특징모델
530 가상 클러스터 특징모델
610 가상 클러스터 서브그룹 특징모델
612, 613 응용 소프트웨어
620 가상 클러스터 서브그룹 특징모델 문서
630, 720 정수형 ID 값
730 재사용 자산 저장소
740 가상 디스크 프로비저닝 절차
810 비재사용 및 재사용 기반의 가상 디스크 유형 별 단일 가상 디스크 생성 시간 측정 결과 그래프
811 비재사용 통합형 가상 디스크
812 비재사용 병합형 가상 디스크
813 시스템 소프트웨어 재사용 통합형 가상 디스크
814 시스템 소프트웨어 재사용 병합형 가상 디스크
815 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크
816 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크
820 총 가상 머신 수의 증가에 따른 가상 클러스터 디스크 프로비저닝 전처리 과정 시간 비율의 그래프
821 가상 머신 수 14대
830 클러스터 서브그룹에 포함된 가상 머신이 증가함에 따른 가상 디스크 종류별 생성 시간 결과의 그래프
831 가상 머신 수 8대
832 가상 머신수 16대
840 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터 서브그룹에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프
841 가상 디스크 당 최대 공유 가상 머신의 수 1대
842 가상 디스크 당 최대 공유 가상 머신의 수 2대
843 가상 디스크 당 최대 공유 가상 머신의 수 4대
844 가상 디스크 당 최대 공유 가상 머신의 수 8대
845 가상 디스크 당 최대 공유 가상 머신의 수 16대
846 가상 디스크 당 최대 공유 가상 머신의 수 32대
850 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 유형 별 생성 시간 결과 그래프
851 통합형 가상 디스크
852, 853, 854, 855 병합형 가상 디스크
860 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 종류 별 공유 저장소 사용 공간 비교 결과 그래프
861 통합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 1대
862 통합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 2대
863 병합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 4대
864 병합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 8대
870 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 수에 따른 가상 디스크 종류 별 생성 시간 비교 결과 그래프
871 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크
872 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크
873 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크
874 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크
110 virtual machines
120, 140, 710 virtual disks
130, 430, 460 software
131, 431, 461, 611, 711 System software
132, 432, 462, 712 First application software
133, 433, 463, 713 Second application software
200 Virtual Disk Provisioning Management Device
210 Virtual Disk Provisioning Process Receiver
211 Virtual Disk Provisioning Process Performing Department
212 Initiate Virtual Disk Provisioning
213 Virtual Disk Provisioning Processor Observation
220 Feature Model Generator
221 Virtual cluster subgroup creation unit
222 Virtual cluster feature model generation unit
230 Reusable Virtual Disk Search Unit
231 Duplicate Software Search Department
232 Non-overlapping software search section
240 Virtual Disk Provisioning Procedure Decision Unit
241 Virtual Disk Provisioning Procedure Generation
242 Reuse Virtual Disk Provisioning Procedure Generation Unit
250 virtual disk creation task performing part
251 Virtual Disk Creation Unit
252 Reuse metadata generation unit
410 first virtual cluster subgroup
420 Multiple virtual machines
440 Second virtual cluster subgroup
510 First Virtual Cluster Subgroup Feature Model
511, 521, 531 System Software
512, 513, 522, 523, 532, 533 Application software
520 Second Virtual Cluster Subgroup Feature Model
530 Virtual cluster feature model
610 Virtual cluster subgroup feature model
612, 613 application software
620 Virtual cluster subgroup feature model document
630, 720 Integer ID value
730 Reusable asset repository
740 Virtual Disk Provisioning Procedure
810 Graph of single virtual disk creation time measurement by type of non-reusable and reusable virtual disk
811 Non-reusable integrated virtual disk
812 Non-Reusable Mergeable Virtual Disk
813 System Software Reuse Integrated Virtual Disk
814 System Software Reuse Mergeable Virtual Disk
815 System and application software reuse Integrated virtual disk
816 System and Application Software Reuse Mergeable Virtual Disk
820 Graph of Virtual Cluster Disk Provisioning Preprocess Time Ratio with Increasing Total Virtual Machines
821 Number of virtual machines 14
830 Graph of the result of creation time for each type of virtual disk as the number of virtual machines included in the cluster subgroup increases
831 Number of virtual machines 8
832 Number of virtual machines 16
840 Graph of reduction rate of creation time of merged virtual disks of virtual machines with 32 servers included in the virtual cluster subgroup as the maximum number of shared virtual machines per virtual disk increases
841 Maximum number of shared virtual machines per virtual disk One
842 Maximum number of shared virtual machines per virtual disk 2
843 Maximum number of shared virtual machines per virtual disk 4
844 Maximum number of shared virtual machines per virtual disk 8
845 Maximum number of shared virtual machines per virtual disk 16
846 Maximum number of shared virtual machines per virtual disk 32
850 Graph of the creation time of virtual disk type as the number of virtual cluster subgroup increases
851 Integrated virtual disk
852, 853, 854, 855 Merge type virtual disk
860 Graph of the shared storage space used by virtual disk type as the number of virtual cluster subgroups increases
861 one virtual machine shared per integrated virtual disk and one virtual shared disk
862 shared virtual disks and two shared virtual machines per merged virtual disk
863 Consolidated virtual disks and 4 shared virtual machines per merged virtual disk
864 Consolidated virtual disks and 8 virtual machines shared per merged virtual disk
870 Comparison of creation time of virtual disk type according to the number of virtual cluster subgroups with redundant application software Graph
871 Integrated virtual disk with redundant application software
872 Merge type virtual disk with redundant application software
873 Integrated virtual disk with redundant application software removed
874 Mergeable virtual disk with redundant application software removed

Claims (22)

복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 가상 디스크 프로비저닝 프로세서 수신부;
상기 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 특징모델 생성부;
상기 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하도록 구성된 재사용 가상 디스크 검색부;
상기 재사용 가상 디스크 검색부의 검색 결과에 따라 상기 가상 디스크의 프로비저닝 절차를 결정하도록 구성된 가상 디스크 절차 결정부;
결정된 상기 가상 디스크의 프로비저닝 절차에 따라 상기 기존의 가상 디스크를 복제함으로써 상기 가상 디스크를 생성하는 가상 디스크 생성부를 포함하는, 가상 디스크 프로비저닝 관리 장치.
A virtual disk provisioning processor receiver for receiving a provisioning request for a plurality of virtual machines;
A feature model generation unit for generating at least one feature model for the plurality of virtual machines;
A reusable virtual disk search unit configured to search an existing virtual disk having the same feature model to create a virtual disk based on the feature model;
A virtual disk procedure determination unit configured to determine a provisioning procedure of the virtual disk according to a search result of the reusable virtual disk search unit;
And a virtual disk creation unit for creating the virtual disk by copying the existing virtual disk according to the determined provisioning procedure of the virtual disk.
제1항에 있어서,
상기 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the feature model comprises at least one of a name of a software including an application software and an operating system software, a version information package, a module, and an association relationship.
제1항에 있어서,
상기 특징모델 생성부는,
상기 복수의 가상 머신이 포함된 서브 그룹 각각에 대한 특징모델을 생성하고, 상기 특징모델을 기초로 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the feature model generation unit comprises:
Generate a feature model for each of the subgroups including the plurality of virtual machines and generate a feature model associated with at least one homogeneity or heterogeneity based on the feature model.
제3항에 있어서,
상기 동질성 또는 이질성과 연관된 특징모델은,
상기 서브 그룹 각각에 대한 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수도 있는, 가상 디스크 프로비저닝 관리 장치.
The method of claim 3,
The feature model associated with the homology or heterogeneity,
A feature model for software that overlaps the feature model for each of the subgroups, and a feature model for software that is not redundant.
제1항에 있어서,
상기 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우,
적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유하고, 공유되는 상기 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장되는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
If the plurality of virtual machines includes at least one redundant software,
Wherein at least two virtual machines share a first disk including redundant software, the first disk that is shared is read only, and the files that are requested to be written are stored in a separate second disk of each of the virtual machines, Provisioning management device.
제1항에 있어서,
상기 재사용 가상 디스크 검색부는,
생성할 상기 가상 디스크의 특징모델에 해시 함수를 적용한 식별자를 통해 상기 기존의 가상 디스크를 검색하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the reusable virtual disk searching unit comprises:
And searches the existing virtual disk through an identifier obtained by applying a hash function to a feature model of the virtual disk to be created.
제1항에 있어서,
상기 가상 디스크 절차 결정부는,
상기 기존의 가상 디스크가 존재하는 경우, 상기 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 상기 가상 디스크의 프로비저닝 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the virtual disk procedure determination unit determines,
Wherein the virtual disk provisioning management apparatus determines a provisioning procedure of the virtual disk to be created based on an asset to be searched and duplicated when the existing virtual disk exists.
제1항에 있어서,
상기 가상 디스크 절차 결정부는,
설치될 소프트웨어의 설치자 (Installer) 를 검색하고, 검색한 상기 소프트웨어의 설치자를 기초로 상기 가상 디스크의 프로비저닝 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the virtual disk procedure determination unit determines,
Wherein the virtual disk provisioning management apparatus searches for an installer of software to be installed and determines a provisioning procedure of the virtual disk based on the installer of the searched software.
제1항에 있어서,
상기 가상 디스크 절차 결정부는,
운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 상기 가상 디스크를 생성하는 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the virtual disk procedure determination unit determines,
Wherein the virtual disk provisioning management device determines the procedure for creating the virtual disk including each of the operating system virtual disk corresponding to the operating system software and the application software virtual disk corresponding to the application software.
제9항에 있어서,
상기 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함하는, 가상 디스크 프로비저닝 관리 장치.
10. The method of claim 9,
Wherein the procedure includes the name and version information of the operating system software.
제1항에 있어서,
상기 가상 디스크 절차 결정부는,
운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 상기 가상 디스크를 생성하는 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.
The method according to claim 1,
Wherein the virtual disk procedure determination unit determines,
And determines a procedure for creating one virtual disk corresponding to operating system software and application software.
프로세서에 의해 구현되는 가상 디스크 프로비저닝 관리 방법에 있어서,
복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 단계;
상기 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 단계;
상기 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하는 단계;
상기 검색 결과에 따라 상기 가상 디스크의 프로비저닝 절차를 결정하는 단계;
결정된 상기 가상 디스크의 프로비저닝 절차에 따라 상기 기존의 가상 디스크를 복제함으로써 상기 가상 디스크를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.
A virtual disk provisioning management method implemented by a processor,
Receiving a provisioning request for a plurality of virtual machines;
Generating at least one feature model for the plurality of virtual machines;
Searching an existing virtual disk having the same feature model to create a virtual disk based on the feature model;
Determining a provisioning procedure of the virtual disk according to the search result;
And creating the virtual disk by copying the existing virtual disk according to the determined provisioning procedure of the virtual disk.
제12항에 있어서,
상기 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함하는, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the feature model comprises at least one of a name of a software including application software and operating system software, a version information package, a module, and an association relationship.
제12항에 있어서,
상기 특징모델을 생성하는 단계는,
상기 복수의 가상 머신이 포함된 서브 그룹 각각에 대한 특징모델을 생성하는 단계; 및
상기 특징모델을 기초로 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the step of generating the feature model comprises:
Generating a feature model for each of the subgroups including the plurality of virtual machines; And
And generating a feature model associated with at least one homogeneity or heterogeneity based on the feature model.
제14항에 있어서,
상기 동질성 또는 이질성과 연관된 특징모델은,
상기 서브 그룹 각각에 대한 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수도 있는, 가상 디스크 프로비저닝 관리 방법.
15. The method of claim 14,
The feature model associated with the homology or heterogeneity,
A feature model for software that overlaps the feature model for each of the subgroups, or a feature model for software that is not redundant.
제12항에 있어서,
상기 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우,
적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유하고, 공유되는 상기 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장되는, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
If the plurality of virtual machines includes at least one redundant software,
Wherein at least two virtual machines share a first disk including redundant software, the first disk that is shared is read only, and the files that are requested to be written are stored in a separate second disk of each of the virtual machines, How to Manage Provisioning.
제12항에 있어서,
상기 기존의 가상 디스크를 검색하는 단계는,
생성할 상기 가상 디스크의 특징모델에 해시 함수를 적용한 정수형 식별자를 통해 상기 기존의 가상 디스크를 검색하는 단계인, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the searching of the existing virtual disk comprises:
And searching for the existing virtual disk through an integer identifier applying a hash function to a feature model of the virtual disk to be created.
제12항에 있어서,
상기 가상 디스크의 프로비저닝 절차를 결정하는 단계는,
상기 기존의 가상 디스크가 존재하는 경우, 상기 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 상기 가상 디스크의 프로비저닝 절차를 결정하는 단계인, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the step of determining a provisioning procedure of the virtual disk comprises:
If the existing virtual disk exists, searching for a location where the existing virtual disk is stored and determining a provisioning procedure of the virtual disk to be created based on an object to be duplicated and set.
제12항에 있어서,
상기 가상 디스크의 프로비저닝 절차를 결정하는 단계는,
설치될 소프트웨어의 설치자를 검색하는 단계; 및
검색한 상기 소프트웨어의 설치자를 기초로 상기 가상 디스크의 프로비저닝 절차를 결정하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the step of determining a provisioning procedure of the virtual disk comprises:
Searching for an installer of the software to be installed; And
And determining a provisioning procedure of the virtual disk based on an installer of the searched software.
제12항에 있어서,
상기 가상 디스크의 프로비저닝 절차를 결정하는 단계는,
운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 상기 가상 디스크를 생성하는 절차를 결정하는 단계인, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the step of determining a provisioning procedure of the virtual disk comprises:
Determining a procedure for creating the virtual disk including each of the operating system virtual disk corresponding to the operating system software and the application software virtual disk corresponding to the application software.
제20항에 있어서,
상기 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함하는, 가상 디스크 프로비저닝 관리 방법.
21. The method of claim 20,
Wherein the procedure includes the name and version information of the operating system software.
제12항에 있어서,
상기 가상 디스크의 프로비저닝 절차를 결정하는 단계는,
운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 상기 가상 디스크를 생성하는 절차를 결정하는 단계인, 가상 디스크 프로비저닝 관리 방법.
13. The method of claim 12,
Wherein the step of determining a provisioning procedure of the virtual disk comprises:
Determining a procedure for creating one virtual disk corresponding to operating system software and application software.
KR1020160148659A 2016-01-22 2016-11-09 Method and apparatus for managing provisioning virtual disk KR101841847B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160148659A KR101841847B1 (en) 2016-11-09 2016-11-09 Method and apparatus for managing provisioning virtual disk
PCT/KR2016/015573 WO2017126819A1 (en) 2016-01-22 2016-12-30 Method and apparatus for managing virtual disk provisioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160148659A KR101841847B1 (en) 2016-11-09 2016-11-09 Method and apparatus for managing provisioning virtual disk

Publications (1)

Publication Number Publication Date
KR101841847B1 true KR101841847B1 (en) 2018-05-04

Family

ID=62199836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160148659A KR101841847B1 (en) 2016-01-22 2016-11-09 Method and apparatus for managing provisioning virtual disk

Country Status (1)

Country Link
KR (1) KR101841847B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020159055A1 (en) * 2019-01-28 2020-08-06 삼성전자주식회사 Electronic device and method for controlling electronic device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090241110A1 (en) 2008-03-20 2009-09-24 Samsung Electronics Co., Ltd. Virtual environment system and method for operating the same
US20130212593A1 (en) 2012-02-10 2013-08-15 International Business Machines Corporation Controlled Growth in Virtual Disks
KR101352699B1 (en) 2011-11-30 2014-01-17 삼성에스디에스 주식회사 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090241110A1 (en) 2008-03-20 2009-09-24 Samsung Electronics Co., Ltd. Virtual environment system and method for operating the same
KR101352699B1 (en) 2011-11-30 2014-01-17 삼성에스디에스 주식회사 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System
US20130212593A1 (en) 2012-02-10 2013-08-15 International Business Machines Corporation Controlled Growth in Virtual Disks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020159055A1 (en) * 2019-01-28 2020-08-06 삼성전자주식회사 Electronic device and method for controlling electronic device

Similar Documents

Publication Publication Date Title
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
Giménez-Alventosa et al. A framework and a performance assessment for serverless MapReduce on AWS Lambda
JP5065295B2 (en) Method, system, and computer-readable medium for sharing files between different virtual machine images
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US9442954B2 (en) Method and apparatus for achieving optimal resource allocation dynamically in a distributed computing environment
US10853189B2 (en) Image restore from incremental backup
US10581704B2 (en) Cloud system for supporting big data process and operation method thereof
US20200045116A1 (en) System and method for intent-based service deployment
CN111488241A (en) Method and system for realizing agent-free backup and recovery operation on container arrangement platform
KR101656360B1 (en) Cloud System for supporting auto-scaled Hadoop Distributed Parallel Processing System
Tan et al. Hadoop framework: impact of data organization on performance
US9904574B2 (en) Parallel computing without requiring antecedent code deployment
US8468513B2 (en) Specification, abstraction, and enforcement in a data center operating system
Miceli et al. Programming abstractions for data intensive computing on clouds and grids
Ousterhout et al. Performance clarity as a first-class design principle
CN107528871B (en) Data analysis in storage systems
US20220237025A1 (en) Active build migration in continuous integration environments
KR101841847B1 (en) Method and apparatus for managing provisioning virtual disk
Vernik et al. Stocator: Providing high performance and fault tolerance for apache spark over object storage
US11720348B2 (en) Computing node allocation based on build process specifications in continuous integration environments
US20230305828A1 (en) Virtual upgrade layer-based application upgrade
US11797282B2 (en) Optimizing services deployment in a cloud computing environment
US11755384B2 (en) Scaling virtualization resource units of applications
CN107102898B (en) Memory management and data structure construction method and device based on NUMA (non Uniform memory Access) architecture
US10169007B1 (en) Service provider network integrated compilation service and runtime system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant