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

Method and apparatus for managing virtual disk provisioning Download PDF

Info

Publication number
WO2017126819A1
WO2017126819A1 PCT/KR2016/015573 KR2016015573W WO2017126819A1 WO 2017126819 A1 WO2017126819 A1 WO 2017126819A1 KR 2016015573 W KR2016015573 W KR 2016015573W WO 2017126819 A1 WO2017126819 A1 WO 2017126819A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
virtual disk
disk
software
provisioning
Prior art date
Application number
PCT/KR2016/015573
Other languages
French (fr)
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
Priority claimed from KR1020160008361A external-priority patent/KR101735994B1/en
Priority claimed from KR1020160148661A external-priority patent/KR101866086B1/en
Priority claimed from KR1020160148659A external-priority patent/KR101841847B1/en
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Publication of WO2017126819A1 publication Critical patent/WO2017126819A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • 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
    • 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/445Program loading or initiating
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • 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 that can accelerate the disk creation speed by utilizing a virtual disk already created.
  • platform technologies ie, virtualization technologies
  • virtualization technologies have been actively studied to apply analytical processing technology of large data stored in sharable storage.
  • a technique for processing distributed and stored data in parallel is becoming important.
  • a virtual cluster technology that clusters and utilizes one or more processing computing nodes is essential.
  • a virtual cluster is a collection of virtual machines with software that performs specific functions and is networked. To create a virtual cluster, you need to provision virtual computing resources.
  • Virtual disk provisioning includes virtual cluster batch provisioning and virtual cluster disk provisioning.
  • Virtual cluster placement provisioning refers to a process for creating and creating a virtual cluster in a virtualized physical system based on resource information of virtual machines included in a virtual cluster to be created.
  • Virtual cluster disk provisioning refers to a process of creating a virtual disk for creating a virtual machine of a virtual cluster.
  • the process of installing and configuring the software requested by the user that is, the system software and the application software, on each of the created virtual disks directly affects the overall virtual disk provisioning time.
  • the virtual cluster may be a collection of a plurality of different virtual machines.
  • the virtual machine may include a virtual disk on which software is installed.
  • the inventors of the present invention have recognized that the process of repeatedly installing the same software and of repeating the settings for the same software results in a waste of overall virtual disk provisioning time.
  • an object of the present invention is to provide a virtual disk provisioning management method and apparatus that can reduce the time required for provisioning a virtual disk by duplicating a virtual disk included in a previously created virtual cluster and providing the virtual disk to virtual machines. To provide.
  • Another object of the present invention is to provide a virtual disk provisioning management method and apparatus that can reduce the steps of virtual disk provisioning through virtual disk cloning and shorten the time for virtual disk provisioning in response to various virtual disk provisioning requests. It is.
  • the inventors of the present invention recognized that the process of repeatedly creating a new virtual disk with the same software as the virtual disk that was already created in provisioning for the virtual machine requires more provisioning time for the virtual machine. .
  • Reusable assets include not only virtual disks but also software installers and configuration programs for creating new kinds of virtual disks. To manage these reusable assets, you can determine the name, version, range of domains that can be used, the location of the implementations that make up the reusable asset, and the variability points when applying the asset. Information such as how to use it is required.
  • the present invention utilizes Reusable Asset Specification (RAS), which is a standardized method for reusable asset specification of OMG (Object Management Group), provides a reusable asset repository for creating a specification for each asset and managing the asset through a database.
  • RAS Reusable Asset Specification
  • RAS has the disadvantage that it is impossible to distinguish dependencies between software elements included in the virtual disk. That is, the application software is operated by the system software, so the application software is dependent on the system software.
  • the RAS-based asset specification method has a limitation in expressing the software features included in the asset. Although you can describe the name, version, and method of using a virtual disk image stored by RAS, you cannot describe the software components it contains. However, to reuse a virtual disk, you must search for cloneable virtual disks based on included software components. Moreover, the software components of stored virtual disks must be managed to retrieve reusable assets that match some or all of the software components of the virtual disk that need to be created.
  • an object of the present invention is to solve the problem of reusable assets including the created virtual disk, the dependence of the software program installed on the virtual disk, the software program, the components of the software, the path in which the created virtual disk is stored, and the method of copying. It is to provide a method and apparatus for use.
  • Another problem to be solved by the present invention is to service a reusable asset storage that stores and provides reusable assets in the form of a market, sharing a virtual disk that does not exist in advance on the limited virtual disk of the existing cloud service
  • the present invention provides a method and apparatus for building a reuse-based virtual cluster capable of running a virtual machine installed with software desired by a user.
  • a plurality of different virtual clusters are called virtual cluster subgroups.
  • Each virtual cluster subgroup may include the same software in its components and vice versa.
  • the inventors of the present invention have recognized that the process of repeatedly installing software common to a plurality of different virtual clusters results in a waste of the entire virtual cluster provisioning time.
  • the inventors of the present invention have recognized that the time required for virtual cluster provisioning can be shortened by distinguishing the types of virtual disks to be created through homogeneity and heterogeneity analysis of software components included in the virtual cluster subgroups.
  • an object of the present invention is to provide a virtual cluster disk provisioning which can shorten the time required for virtual cluster disk provisioning by analyzing the homogeneity and heterogeneity of software components included in the virtual cluster subgroup before creating the virtual disk. It is to provide a method and apparatus.
  • Another problem to be solved by the present invention is the step of provisioning a virtual cluster disk by installing redundant software to be installed in each virtual cluster subgroup on one virtual disk and replicating the remaining virtual disk based on the installed one virtual disk.
  • a virtual disk provisioning management apparatus for receiving a provisioning request for a plurality of virtual machines, at least one feature of the plurality of virtual machines Feature model generation unit for generating a model, 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, provision process of the virtual disk according to the search result of the search unit
  • the virtual disk procedure determination unit configured to determine a virtual disk generation unit for generating a virtual disk by cloning an existing virtual disk according to the provisioning procedure of the determined virtual disk.
  • the feature model may include at least one of a name, a version information package, a module and an association of the software including the application software and the operating system software.
  • the feature model generator may generate a feature model for each subgroup including a plurality of virtual machines, and generate a feature model associated with at least one homogeneity or heterogeneity based on the feature model. have.
  • the feature model associated with homogeneity or heterogeneity may be a feature model for software that overlaps a subgroup feature model, or a feature model for software that does not overlap.
  • the virtual disk provisioning management device if a plurality of virtual machines includes at least one overlapping software, at least two virtual machines share a first disk including the overlapping software, sharing The first disk may be read only, and the files required to be written may be stored on separate second disks of the virtual machines.
  • the reused virtual disk search unit may search for an existing virtual disk through an integer identifier that applies a hash function to a feature model of the virtual disk to be created.
  • the virtual disk procedure determination unit may determine a provisioning procedure of a virtual disk to be created based on an asset to be set by searching and duplicating a location where an existing virtual disk is stored when an existing virtual disk exists. have.
  • the virtual disk procedure determination unit may search for an installer of software to be installed and determine a provisioning procedure of a virtual disk based on the installer of the found software.
  • the virtual disk procedure determination unit may determine a procedure for generating 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 procedure may include name and version information of the operating system software.
  • the virtual disk procedure determination unit may determine a procedure for creating a virtual disk corresponding to the operating system software and application software.
  • the virtual cluster disk provisioning management method comprises the steps of receiving a provisioning request for a plurality of virtual machines, generating at least one feature model for the plurality of virtual machines Searching for 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 provisioning procedure of the determined virtual disk Creating a virtual disk by cloning an existing virtual disk.
  • the virtual disk provisioning management method comprises the steps of receiving a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups, a plurality of virtual clusters in response to the request Generating a feature model for each subgroup, integrating the feature model of each subgroup, creating a virtual cluster feature model, and meta to create a plurality of virtual disks based on the virtual cluster feature model Generating data.
  • the request is characterized by including the name, version information package, module and association of the software, including the application software and the system software.
  • the virtual cluster feature model is characterized in that it includes only one information about the software overlapping the subgroup feature model, and includes all the information about the non-overlapping software.
  • generating the meta data includes generating the first merged metadata corresponding to the system software and the second merged metadata corresponding to the application software and the first merged metadata. And generating each virtual disk based on the second merged metadata.
  • the second merged metadata is characterized by including name and version information of the system software.
  • the generating of the meta data includes generating the integrated metadata, which is one metadata for the system software and the application software, and generating one virtual disk based on the integrated metadata. Characterized in that it comprises a step.
  • the step of integrating each subgroup feature model to generate a virtual cluster feature model, comparing the feature model of each subgroup to generate a virtual cluster feature model represented by an association It is characterized by that.
  • a virtual cluster disk provisioning processor generation unit for receiving a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups, provisioning is performed
  • a subgroup feature model generation unit for generating a feature model for each of the plurality of virtual cluster subgroups in response to a request received from the unit; and a feature model of each of the virtual cluster subgroups generated from the subgroup feature model generation unit
  • a virtual cluster feature model generator for generating a cluster feature model, and a metadata generator for generating metadata for generating a plurality of virtual cluster disks based on the virtual cluster feature model generated from the virtual cluster feature model generator. And that is characterized.
  • the virtual disk provisioning management method comprises the steps of receiving a provisioning request for one or more virtual machines, reusable assets among the assets stored in the reusable asset storage in response to the request Searching for, retrieving a reusable asset, creating a specification for creating a virtual disk using the retrieved reusable asset, and creating a virtual disk based on the specification.
  • retrieving a reusable asset is generated based on a hash function associated with meta information of the virtual disk, if the request includes a search for the virtual disk among the reusable assets.
  • the method may include searching for a matching virtual disk among reusable properties by an identification value.
  • the step of searching for reusable assets if the provisioning request includes a search for the installation program or configuration program of the software of the reusable assets, name information, version information of the software requested to be installed
  • the method may include searching for an installation program or a configuration program with at least one of architecture information, installer information, and configurator information.
  • the step of creating a specification for creating a virtual disk may include specifying a creation procedure of the virtual disk to be created and assets to be used.
  • the method may further include storing at least one of an identifier value, a name, a type, and a specification of an installed virtual disk, which is not a duplicate, among the created virtual disks in the reuse asset store.
  • creating a specification for creating a virtual disk includes generating first merged metadata corresponding to system software and second merged metadata corresponding to application software. And, based on the specification, generating the virtual disk comprises generating each virtual disk based on the first merged metadata and the second merged metadata, and the second merged metadata Name and version information of the system software may be included.
  • creating a specification for creating a virtual disk includes generating integrated metadata, which is one metadata for system software and application software, and based on the specification, the virtual Creating a disk may include creating one virtual disk based on the integrated metadata.
  • the virtual disk provisioning management device is a provisioning request receiving unit for receiving a provisioning request for one or more virtual machines, re-used among the assets stored in the reuse asset storage in response to the request Asset retrieval unit for retrieving a possible asset, if a reusable asset is retrieved from the asset retrieval unit, based on the specification creation unit and the specification to create a specification for creating a virtual disk using the retrieved reused assets, create a virtual disk And a virtual disk generating unit.
  • the present invention can provide a virtual disk provisioning management method and apparatus that can shorten the time required for virtual disk provisioning by replicating a virtual disk included in an already created virtual cluster to virtual machines.
  • the present invention can reduce the step of virtual disk provisioning and reduce the time for virtual disk provisioning by cloning the virtual disk in response to various virtual disk provisioning requests.
  • a virtual disk provisioning management method and apparatus may be provided.
  • the present invention provides a method and apparatus for using a reusable asset including a created virtual disk, dependencies of a software program installed on the virtual disk, a software program, a component of the software, a path in which the created virtual disk is stored, a method of copying, and the like. It can be effective.
  • the present invention provides a reusable asset store that stores and provides reusable assets in the form of a market, sharing virtual disks that do not have a problem in advance, thereby allowing users to escape from the limited virtual disk types of existing cloud services.
  • the present invention provides a virtual cluster disk provisioning method and apparatus that can reduce the time required for provisioning a virtual cluster disk by analyzing homogeneity and heterogeneity of software components included in the virtual cluster subgroup before creating the virtual disk. Can be.
  • the present invention can reduce the stage of virtual cluster disk provisioning by installing redundant software to be installed in each virtual cluster subgroup on one virtual disk and replicating the remaining virtual disks based on one installed virtual disk.
  • a virtual cluster disk provisioning method and apparatus Provided are a virtual cluster disk provisioning method and apparatus.
  • FIG. 1 is a diagram for describing virtual disk provisioning according to an embodiment of the present invention.
  • FIG. 2 is an exemplary block diagram illustrating a virtual disk provisioning management apparatus according to an embodiment of the present invention.
  • FIG 3 illustrates a virtual disk provisioning procedure according to an apparatus for managing virtual disk provisioning according to an embodiment of the present invention.
  • FIG. 4 is a diagram for describing virtual cluster provisioning according to an embodiment of the present invention.
  • FIG. 5 is an exemplary block diagram illustrating a virtual cluster disk device according to an embodiment of the present invention.
  • FIG. 6 illustrates a merged virtual cluster disk provisioning procedure according to an embodiment of the present invention.
  • FIG 7 illustrates an integrated virtual cluster disk provisioning procedure according to another embodiment of the present invention.
  • 8 (a) to 8 (c) illustrate a feature model and a virtual cluster feature model of a virtual cluster subgroup according to another embodiment of the present invention.
  • 9A to 9D illustrate feature models representing overlapping software and non-overlapping software based on a virtual cluster feature model according to another embodiment of the present invention.
  • FIG. 10 is an exemplary block diagram illustrating a reuse-based virtual cluster building apparatus according to an embodiment of the present invention.
  • FIG. 11 is an exemplary block diagram illustrating an asset search unit according to an embodiment of the present invention.
  • FIG. 12 illustrates a virtual disk creation procedure through reuse according to a virtual cluster building apparatus based on reuse according to an embodiment of the present invention.
  • FIG. 13 illustrates a process of assigning an identifier value to a reusable asset based on a virtual cluster feature model according to another embodiment of the present invention.
  • FIG. 14 illustrates a process of searching for a specification based on an identifier value according to another embodiment of the present invention.
  • 15A-15G illustrate the effects of virtual disk provisioning in accordance with another embodiment of the present invention.
  • FIG. 1 is a diagram for describing virtual disk provisioning according to an embodiment of the present invention.
  • the virtual machine 110 includes a virtual disk 120 on which software 130 is installed.
  • the software 130 may include the system software 131, the first application software 132, and the second application software 133.
  • the virtual disk 120 in which the 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. Therefore, the virtual disk 120 configures a file system necessary for each virtual machine 110 in the generated file or logical volume and is provided to the virtual machine 110.
  • the virtual disk 120 includes application software such as desired system software 131, first application software 132, and second application software 133 and a version of system software 131 that is different from the operating system of the physical machine. Installed, the virtual disk 120 may be provided to the virtual machine 110.
  • the virtual disk provisioning management system provisions the virtual disk 120 by installing software 130 on the virtual disk 120.
  • the virtual disk provisioning management system creates an empty virtual disk 120 to create a virtual disk 120 with software 130 installed.
  • the virtual disk provisioning management system then installs Debian 8.0, the system software 131, Open JDK 7.0, the first application software 132, and Hadoop 2.6.0, the second application software 133, on an empty virtual disk 120. do.
  • the virtual disk provisioning management system sets up the software 130 installed on the virtual disk 120.
  • the virtual disk provisioning management system performs the necessary settings to run system software 131 Debian 8.0, first application software 132 Open JDK 7.0, and second application software 133 Hadoop 2.6.0. do.
  • the virtual disk 120 may be an integrated virtual disk, but is not limited thereto.
  • the virtual disk 120 may be implemented as a merged virtual disk in which each of the plurality of virtual disks has one software and may be combined with each other. .
  • the virtual disk provisioning management system may create a virtual disk 140 including the same software by duplicating the virtual disk 120 previously generated.
  • 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, and the virtual disk creation process according to FIG. 1B.
  • the virtual disk 120 is created by directly copying the virtual disk 120 on which the software 130 including the second application software 133 including Hadoop 2.6.0 is installed.
  • the virtual disk 140 also includes Debian 8.0, Open JDK 7.0 as the first application software 132 and Hadoop 2.6.0 as the second application software 133.
  • Virtual disk provisioning through cloning is faster than virtual disk creation through installation. Specifically, virtual disk creation through installation installs the software that is actually required for the virtual disk.
  • virtual disk creation through cloning is only time-consuming to duplicate the software installed on a pre-created virtual disk, and can be created more quickly than virtual disk creation through installation.
  • virtual disk creation by cloning does not perform a setting step for software in virtual disk creation by cloning by replicating the virtual disk in the state where the software installed in the virtual disk is set. It can be created quickly.
  • the virtual disk provisioning management system reduces the time required for virtual disk provisioning by creating a virtual disk on which software is installed at the user's request, cloning the created virtual disk, and duplicating a virtual disk including redundant software. can do.
  • the time required for virtual disk provisioning is reduced by simply copying a virtual disk.
  • the cloning of a virtual disk may involve various procedures and decision processes. .
  • various embodiments of reducing the time required for provisioning a virtual disk by copying and creating the virtual disk will be described in detail.
  • FIG. 2 is an exemplary block diagram illustrating a virtual disk provisioning management apparatus according to an embodiment of the present invention.
  • the virtual disk provisioning management apparatus 200 may include a virtual disk provisioning process receiver 210, a feature model generator 220, a reused virtual disk searcher 230, and a virtual disk provisioning procedure determiner 240. And a virtual disk creation task performer 250.
  • the virtual disk provisioning process receiving unit 210 includes a virtual disk provisioning process performing unit 211, a virtual disk provisioning initiating unit 212, and a virtual disk provisioning processor observing unit 213.
  • the feature model generator 220 includes a virtual cluster subgroup feature model generator 221 and a virtual cluster feature model generator 222.
  • the virtual disk provisioning procedure determiner 240 includes a virtual disk provisioning procedure generator 241 and a reused virtual disk provisioning procedure generator 242.
  • the virtual disk creation task performing unit 250 includes a virtual disk generating unit 251 and a reuse metadata generating unit 252.
  • the virtual disk provisioning process receiver 210 receives a provisioning request for a virtual disk in a build request of a virtual cluster using an XML Remote Procedure Call (RPC).
  • the virtual disk provisioning process receiving unit 210 drives the CML RPC server and transmits the received virtual disk provisioning request to the virtual disk provisioning process performing unit 211.
  • the provisioning request for the virtual disk received by the virtual disk provisioning process receiving unit 210 includes a software requirement 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.
  • the virtual disk provisioning process execution unit 211 stores the parsed work object in an internal buffer to manage the progress state of the virtual disk provisioning operation.
  • All virtual disk provisioning processes of the present invention are performed by calling a subcomponent by the virtual disk provisioning process execution unit 211.
  • the subcomponent is a virtual disk provisioning management device such as a feature model generator 220, a reused virtual disk searcher 230, a virtual disk provisioning procedure determiner 240, which is a component of the virtual disk provisioning management device 200. Means all modules of 200.
  • Each subcomponent receives, processes, and returns a task to be performed by the virtual disk provisioning process performing unit 211 in a task unit.
  • each subcomponent has a task execution unit that calls processing logic for each step that should be performed based on the status information of the task.
  • the virtual disk provisioning initiation unit 212 is a component for driving and terminating subcomponents present in the virtual disk provisioning management apparatus 200.
  • the subcomponents of the virtual disk provisioning management apparatus 200 are operated and managed by the virtual disk provisioning initiation unit 212.
  • the virtual disk provisioning processor observing unit 213 periodically monitors the progress of a task managed by the virtual disk provisioning process performing unit 211 and transmits a progress state to an external system.
  • the external system may be a web-based system that provides a virtual disk provisioning service.
  • the external system may include the number of subgroups in the virtual cluster desired by the user, the number of virtual machines included in the virtual cluster subgroup, a specification of virtual resources such as VCPU, memory, and virtual disk space that the virtual machine will hold, and the virtual machine.
  • You will receive a request to create a virtual disk provisioning, including system and application software, configuration information, and time and space constraints of the virtual cluster. That is, the external system may transmit a virtual disk provisioning generation request to the virtual disk provisioning process receiver 210.
  • the feature model generator 220 generates at least one feature model for the plurality of virtual machines.
  • the feature model generator 220 generates a feature model for a virtual cluster including a plurality of virtual machines.
  • the virtual cluster subgroup feature model generator 221 may be configured to each virtual cluster subgroup. Create a feature model for the group. In order to generate a feature model associated with homogeneity or heterogeneity of software included in the virtual cluster subgroup, the virtual cluster subgroup feature model generator 221 generates homogeneous and heterogeneous software components, that is, duplicates, based on subgroups of the virtual cluster. Analyze which software is present or which is not redundant. The virtual cluster subgroup feature model generator 221 generates homogeneous software components and heterogeneous software components included in subgroups of the virtual cluster as feature models.
  • the virtual cluster feature model generator 222 compares and analyzes the generated feature model of the subgroup to generate feature models of virtual disks of the virtual cluster to be finally generated.
  • the feature model associated with the generated homogeneity or heterogeneity may be a feature model for software overlapping the virtual cluster subgroup feature model, or may be a feature model for non-overlapping software.
  • the feature model includes 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. A detailed description of the case where the request for the virtual cluster subgroup is received will be described later with reference to FIG. 4.
  • the reuse virtual disk search unit 230 searches for the reuse virtual disk to analyze a reusable virtual disk and a virtual disk to be newly installed and generated based on the feature model generated by the feature model generator 220.
  • the reuse virtual disk search unit 230 searches for a reusable virtual disk in the reuse asset store based on the feature model of at least one feature model of the plurality of virtual machines, newly installs the reusable virtual disk, Classify the virtual disk that needs to be created.
  • the reuse asset storage is a storage for storing outputs of all the software generated by the virtual disk provisioning management apparatus 200.
  • Deliverables may be 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 reused virtual disk provisioning procedure, a reusable virtual disk, a software installation and setup program.
  • the virtual disk generated by the virtual disk generator 251 is not stored in the reuse asset storage because it should be utilized when the virtual machine is actually created, but is stored in a separate shared storage.
  • the reuse virtual disk search unit 230 may assign an integer identifier to which a hash function is applied to the feature model of the virtual disk to be stored in the reuse asset store, and search for the existing virtual disk in the reuse asset store.
  • the virtual disk provisioning procedure determiner 240 determines a provisioning procedure of the virtual disk according to the search result of the reused virtual disk searcher 230.
  • the virtual disk provisioning procedure determiner 240 determines a virtual disk provisioning procedure and method for specifying whether to create a virtual disk for a plurality of virtual machines by newly installing or replicating.
  • the virtual disk provisioning procedure generation unit 241 searches the reuse asset repository for a software installer required for the installation, and creates a virtual disk provisioning procedure based on the installer of the found software. do.
  • 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 name and version information of the operating system software.
  • the virtual disk provisioning procedure generation unit 241 may also generate a procedure for creating a virtual disk to be reused later.
  • the reuse virtual disk provisioning procedure generation unit 242 generates a provisioning procedure of a virtual disk to be generated based on an asset to be set by searching and replicating a location where the reusable virtual disk is stored.
  • the reuse virtual disk provisioning procedure generation unit 242 generates a reuse virtual disk provisioning procedure for copying as is based on the reusable virtual disk or installing additional application software. Accordingly, the reuse virtual disk provisioning procedure generation unit 242 should create a procedure for cloning the virtual disk to be reused, installing the required application software, and setting the same, in the reuse virtual disk provisioning procedure.
  • the virtual disk to be cloned is analyzed by the reuse virtual disk search unit 230 and searched with an integer identifier obtained using a hash function.
  • the reuse virtual disk provisioning procedure generation unit 242 parses the reuse asset specification of the retrieved reusable virtual disk to generate a reuse virtual disk provisioning procedure.
  • the virtual disk creation task execution unit 250 generates all tasks for creating a virtual disk according to a virtual disk provisioning procedure or a reused virtual disk provisioning procedure.
  • the virtual disk generator 251 may install a virtual disk of a new virtual cluster based on a virtual disk provisioning procedure or generate a virtual disk of a virtual cluster through replication based on a reused virtual disk provisioning procedure according to the generated task.
  • the reuse metadata generator 252 When the virtual disk generator 251 installs a new virtual disk based on the virtual disk provisioning procedure, the reuse metadata generator 252 generates metadata of the virtual disk created according to the virtual disk provisioning procedure. That is, the reuse metadata generator 252 generates metadata of the virtual disk so that the newly created virtual disk can be reused later.
  • the meta data is name and version information of system software and application software.
  • the at least two virtual machines may share the first disk including the overlapping software.
  • a shared first disk may be read only, and files required to be written may be stored on separate second disks of each virtual machine.
  • the virtual disk provisioning management device generates a provisioning procedure of a virtual disk to be created, and stores and saves the time required for provisioning the virtual disk by utilizing the provisioning procedure of an already created virtual disk when provisioning the same virtual disk later. It can be shortened.
  • FIG. 3 illustrates a virtual disk provisioning procedure according to an apparatus for managing virtual disk provisioning according to an embodiment of the present invention.
  • reference will be made to the components and reference numerals of FIG. 2.
  • the virtual disk provisioning process receiving unit 210 receives a provisioning request for a plurality of virtual machines (S310).
  • 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 execution unit 211 parses the virtual disk provisioning specification included in the received virtual disk provisioning request.
  • the virtual machine of the virtual cluster can be deployed to a specific physical host in order to parse the virtual disk provisioning specification.
  • the virtual disk provisioning specification is a document in XML format conforming to the OVF standard, and the parsed result is generated as an internal data structure to be used by the virtual disk provisioning management apparatus 300.
  • the virtual disk provisioning process execution unit 211 determines whether a virtual disk of a virtual cluster existing in the parsed specification can be generated.
  • the criterion that can be determined is whether there is space to store based on the size of the virtual disk of the specified virtual cluster and whether provisioning is possible up to the point of use of the virtual disk defined by the user. In order to perform this process, a shared storage for storing virtual disks must exist and the result is whether virtual disk provisioning is possible.
  • the feature model generator 220 generates at least one feature model for the plurality of virtual machines (S320).
  • the feature model generator 220 generates a feature model for a virtual cluster including a plurality of virtual machines.
  • the reuse virtual disk search unit 230 searches for an existing virtual disk having the same feature model to generate the virtual disk based on the feature model (S330).
  • the reuse virtual disk search unit 230 searches for a reusable virtual disk based on a feature model for a virtual cluster including a plurality of virtual machines.
  • the reuse virtual disk search unit 230 uses a unique integer identifier that applies a hash function to a feature model of a virtual disk to be provisioned for searching for a reusable virtual disk.
  • the integer identifier is used to search for a location where a reusable virtual disk exists or is used as an ID value for registering a newly installed and created virtual disk in a reuse asset repository. Accordingly, the reuse virtual disk search unit 230 searches for an existing virtual disk through an integer identifier that applies a hash function to a feature model of the virtual disk to be created. At this time, the existing virtual disk is stored in the reuse asset storage.
  • the virtual disk provisioning procedure determiner 240 determines a provisioning procedure of the virtual disk according to the search result (S340).
  • the virtual disk provisioning procedure determiner 240 generates a virtual disk provisioning procedure and method for reusable or newly installed and created. At this point, a reusable asset repository is required to retrieve software installers and configurators. If the reuse virtual disk search unit 230 finds a reusable virtual disk, the reuse virtual disk provisioning procedure generation unit 242 searches for a location where an existing virtual disk is stored using a unique integer identifier value, and duplicates an asset to be set. Create a provisioning procedure. On the other hand, the virtual disk provisioning procedure determiner 240 searches for an asset for installing the software, that is, an installer of the software, for the virtual disk to be newly installed and created, and based on the retrieved software installer, The provisioning procedure generation unit 241 generates a provisioning procedure of the virtual disk.
  • the virtual disk provisioning procedure generation unit 241 and the reused virtual disk provisioning procedure generation unit 242 provide a virtual disk provisioning procedure as an XML document for use in various virtual disk generation systems.
  • the generated virtual disk provisioning procedure includes an operating system virtual disk corresponding to the operating system software and an application software virtual disk corresponding to the application software, respectively.
  • the virtual disk provisioning procedure includes name and version information of the operating system software.
  • the virtual disk provisioning procedure determiner 240 determines a procedure for creating one virtual disk corresponding to the operating system software and the application software.
  • the virtual disk creation performing unit 250 generates a virtual disk by duplicating an existing virtual disk according to the determined provisioning procedure of the virtual disk (S350).
  • the virtual disk creation performing unit 250 generates all tasks for generating a virtual disk.
  • the virtual disk generator 251 generates a virtual disk according to a virtual disk provisioning procedure or a reused virtual disk provisioning procedure.
  • the virtual disk generator 251 duplicates the reusable virtual disk and generates a reusable asset storage.
  • shared storage is required so that the created virtual disk can be used when the virtual machine is running.
  • the virtual disk generating unit 251 creates and sets a virtual disk using the software installation and configuration assets defined in the order specified in the reuse virtual disk provisioning procedure.
  • the reuse metadata generator 252 stores the integer identifier of the virtual disk specified in the virtual disk provisioning procedure. Create reusable metadata based on location information. Reuse metadata is documented using, for example, a Reusable Asset Specification, but is not limited thereto. At this time, the reuse asset specification is stored in the reuse asset repository to enable automated and incremental reuse management. Additionally, where a plurality of virtual machines includes at least one overlapping software, the at least two virtual machines may share a first disk containing the overlapping software. For example, a shared first disk may be read only, and files required to be written may be stored on separate second disks of each virtual machine.
  • the virtual disk provisioning management device may determine whether the software included in the virtual cluster subgroup to be created is duplicated and shorten the virtual disk creation time by provisioning the virtual disk based on the provisioning procedure of the already created virtual disk. have.
  • FIG. 4 is a diagram for describing virtual cluster provisioning according to an embodiment of the present invention.
  • the virtual cluster may include different virtual clusters.
  • different virtual clusters may be a collection of virtual machines on which at least one other software is installed, and different virtual clusters are referred to herein as virtual cluster subgroups.
  • the first virtual cluster subgroup 310 includes a plurality of virtual machines 320.
  • the second virtual cluster subgroup 340 also includes a plurality of virtual machines 350.
  • Virtual cluster disk provisioning means repeating a procedure of creating a virtual disk on which softwares 330 and 360 are installed according to the number of virtual machines 320 and 350 and additionally performing a software setting operation for clustering.
  • the virtual cluster disk provisioning system analyzes the type and number of virtual disks to be created in consideration of the virtual cluster subgroup 310. A detailed procedure of analyzing the type and number of virtual disks will be described later with reference to FIGS. 6 and 7. Therefore, according to the analysis result, the virtual cluster disk provisioning system includes, for example, Debian 8.0, the first application of the system software 331, on the virtual disk of one virtual machine 320 included in the first virtual cluster subgroup 310. Install software 330 including Open JDK 7.0 as software 332 and Hadoop 2.6.0 as second application software 333. Subsequently, the virtual cluster disk provisioning system repeats the number of virtual machines 320 included in the first virtual cluster 310 to perform virtual cluster disk provisioning.
  • the virtual cluster disk provisioning system analyzes the type and number of virtual disks included in the second virtual cluster subgroup 340 and according to the result of analysis, one virtual machine included in the second virtual cluster subgroup 340.
  • software 360 including Debian 8.0 as the system software 361, Open JDK 7.0 as the first application software 362 and Hadoop 2.6.0 as the second application software 363 are installed.
  • the virtual cluster disk provisioning system repeats the number of virtual machines 350 included in the second virtual cluster subgroup 340 to perform virtual cluster disk provisioning.
  • the system software 331, 361 differs from Hadoop 2.6.0 and Hbase 1.1.1.
  • application software (332, 333, 362, 363) is the same as Open JDK 7.0 and Debian 8.0. Therefore, the virtual cluster disk provisioning system analyzes the software to be installed in the virtual disk of each virtual cluster subgroup to distinguish the duplicated software. The virtual cluster disk provisioning system then replicates after installing the virtual disks to shorten the time required for overall virtual cluster disk provisioning. A process of specifically generating a virtual disk included in the virtual cluster by dividing the overlapping software will be described later with reference to FIGS. 3 to 5. The created virtual disk can be reused. Therefore, the previously created virtual disk can be used when cloning a new virtual disk including the same software included in the previously created virtual disk.
  • the virtual cluster disk provisioning system shortens the time required for virtual cluster disk provisioning by creating a virtual disk by dividing overlapping software included in each virtual cluster subgroup.
  • FIG. 5 is an exemplary block diagram illustrating a virtual cluster disk provisioning apparatus according to an embodiment of the present invention.
  • the virtual cluster disk provisioning apparatus 400 may include a virtual cluster disk provisioning processor generator 410, a virtual cluster subgroup feature model generator 433, a virtual cluster feature model generator 434, and metadata. And a generation unit 435.
  • the virtual cluster disk provisioning apparatus 400 may additionally include a virtual cluster disk provisioning task delivery unit 420, a virtual cluster disk provisioning task performing unit 431, and a virtual cluster redundant application analysis task performing unit 432.
  • the virtual cluster analyzer 430 may include a virtual cluster disk provisioning task performer 431, a virtual cluster redundant application analysis task performer 432, a virtual cluster subgroup feature model generator 433, and a virtual cluster feature model generation.
  • the unit 434 and the metadata generating unit 435 are included.
  • the virtual cluster disk provisioning processor generator 410 receives a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups, and generates all tasks for virtual cluster disk provisioning.
  • the provisioning request for the virtual cluster received by the virtual cluster disk provisioning processor generation unit 410 includes a virtual cluster provisioning specification containing the virtual hardware and software requirements of the virtual cluster requested by the user.
  • the task generated from the virtual cluster disk provisioning processor generator 410 may be delivered to the virtual cluster analyzer 430 by the virtual cluster disk provisioning task transmitter 420.
  • the virtual cluster disk provisioning task execution unit 431 may manage and process a task received from the virtual cluster disk provisioning task delivery unit 420.
  • the virtual cluster disk provisioning task execution unit 431 may transfer the task to be processed to the virtual cluster redundancy software analysis task execution unit 432.
  • the virtual cluster redundant software analysis task execution unit 432 received the task may extract software features of each virtual cluster subgroup based on the virtual cluster provisioning specification in order to analyze overlapping software elements of the virtual cluster subgroup.
  • the virtual cluster subgroup feature model generation unit 433 generates a feature model for each of the plurality of virtual cluster subgroups based on the software feature extracted by the virtual cluster redundant software analysis task execution unit 432.
  • the feature model includes the name, version of the software, the classification according to the package or module to be installed, and the architecture according to the instruction set to be used.
  • the virtual cluster feature model generator 434 integrates each virtual cluster subgroup feature model generated by the virtual cluster subgroup feature model generator 433 to generate a virtual cluster feature model. That is, a virtual cluster feature model is generated by classifying a virtual disk on which overlapping software is installed and a virtual disk on which non-overlapping software is installed based on the feature model of the virtual cluster subgroup.
  • the meta data generator 435 generates meta data based on the generated virtual cluster feature model.
  • the virtual disk generating unit 440 generates a virtual disk on which software is installed based on the generated metadata.
  • the virtual cluster disk provisioning apparatus shortens virtual disk creation time by classifying overlapping software and non-overlapping software based on a provisioning specification for the virtual cluster to create a virtual disk.
  • the merged virtual cluster disk provisioning refers to provisioning capable of classifying virtual disks by software type and merging the classified plurality of software and providing the virtual disks to virtual machines of the virtual cluster. That is, the merged virtual cluster disk exists in the form of each virtual disk in which each software is independent. Accordingly, the virtual cluster disk provisioning apparatus 400 merges each merged virtual cluster disks and provides them to the virtual machine.
  • the merged virtual cluster disk provisioning method is started by the virtual cluster disk provisioning processor generator 410 receiving a provisioning request for a virtual cluster (S610).
  • the virtual cluster disk provisioning processor generator 410 receives a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups.
  • the provisioning request is a virtual cluster disk provisioning specification that contains data about the requirements of the virtual cluster requested by the user, namely the software, the classification according to the package or module to be installed, and the architecture according to the instruction set to be used. It may include.
  • the virtual cluster disk provisioning processor generator 410 parses the virtual cluster disk provisioning specification and then generates a task for virtual cluster disk provisioning.
  • the task consists of a parsed virtual cluster provisioning specification object, a task ID, a user ID, a type of task, and a variable for storing a task processing result.
  • the virtual cluster disk provisioning processor generating unit 410 receives a task ID of the generated task and updates it to the state of processing completion when the virtual cluster redundant software analysis task performing unit 432 processes the task in the future.
  • the generated task is stored in a task buffer existing in the virtual cluster disk provisioning processor generator 410.
  • the virtual cluster disk provisioning task delivery unit 420 checks the task stored in the task buffer and transfers the task to the virtual cluster disk provisioning task performing unit 431.
  • the virtual cluster subgroup feature model generation unit 433 generates a feature model for each of the plurality of virtual cluster subgroups (S620).
  • the virtual cluster disk provisioning task execution unit 431 transfers the processed task to the virtual cluster redundancy software analysis task execution unit 432.
  • the virtual cluster duplication software analysis task performer 432 stores the received task in an internal task buffer, and periodically extracts a task from the stored buffer to perform a preparation process for analyzing the redundancy of the software included in the virtual cluster. do.
  • the virtual cluster redundancy software analysis task execution unit 432 is included in the virtual cluster subgroup requested by the user based on the 'DiskSection', 'SharedDiskSection', and 'VirtualSystemCollection' of the parsed virtual cluster provisioning specification included in the task.
  • the virtual cluster redundancy software analysis task execution unit 432 analyzes the virtual disk type for each virtual cluster subgroup requested through this process, and the virtual cluster subgroup feature model generation unit 433 each virtual cluster subgroup. You are asked to create a feature model that represents your software features.
  • the virtual cluster subgroup feature model generation unit 433 generates a feature model by extracting features of the system and application software for each virtual cluster subgroup based on the virtual cluster provisioning specification of the task received with the generation request.
  • the feature model is generated in the XML form as many as the number of subgroups of the virtual cluster requested by the user.
  • the virtual cluster redundancy software analysis task execution unit 432 requests the virtual cluster feature model generation unit 434 to generate the virtual cluster feature model.
  • the virtual cluster feature model generation unit 434 generates a virtual cluster feature model (S630).
  • the virtual cluster feature model generation unit 434 integrates each subgroup feature model to generate one virtual cluster feature model.
  • the virtual cluster feature model generator 434 compares feature models of each subgroup and generates a virtual cluster feature model represented by an association relationship.
  • the association is expressed as Mandatory, OR, Exclusive OR, or Optional.
  • the virtual cluster feature model includes only one piece of information about overlapping software of a plurality of virtual cluster subgroups and all information about non-overlapping software according to the association.
  • the reason for integrating the feature models of the respective virtual cluster subgroups is that the metadata generator 435 may discriminate the overlapping software and the non-overlapping software of the plurality of virtual cluster subgroups in the virtual cluster feature model later.
  • the virtual disks in the virtual cluster subgroup can be merged in consideration of the type of virtual disk to be used. For example, if the Hadoop virtual cluster subgroup uses shared virtual disks between virtual machines, and the Hbase virtual cluster subgroup requests that the virtual machines use individual virtual disks, then the virtual cluster feature model generator 434 can execute Hadoop. Divide the virtual cluster subgroup and the Hbase virtual cluster subgroup to create an integrated virtual cluster feature model. The Hadoop virtual cluster subgroup creates virtual disks with only one of the system or application software and uses the virtual machines, and the Hbase virtual cluster subgroups must be presented separately to the virtual machines, including the virtual disks with both system and application software installed. Each virtual cluster subgroup is divided to create an integrated virtual cluster feature model.
  • the virtual cluster feature model generator 434 When the virtual cluster feature model generator 434 merges different virtual cluster subgroup feature models, the virtual cluster feature model generator 434 considers an association between features of the feature model. In addition, the virtual cluster feature model generation unit 434 integrates considering the constraints between the features.
  • the feature means a feature of the software.
  • the virtual cluster feature model generator 434 may include a FAMILIAR framework to integrate each virtual cluster subgroup feature model in consideration of the relationships and constraints between the features. FAMILIAR integrates two different feature models to create an XML-based virtual cluster feature model, and generates an XML-based feature model that represents overlapping and non-overlapping software based on the virtual cluster feature model.
  • the virtual cluster feature model generation unit 434 generates overlapping software and non-overlapping software feature models based on the virtual cluster feature model generated using FAMILIAR.
  • the virtual cluster feature model generation unit 434 XML for analyzing the overlapping and non-overlapping software of the virtual cluster feature model, for example, using the 'cores' and 'mergeDiff' function of the FAMILIAR XML Create a base feature model. Specific overlapping software and non-overlapping software feature models will be described later with reference to FIGS. 9A to 9D.
  • the meta data generation unit 435 generates the first merged metadata corresponding to the system software and the second merged metadata corresponding to the application software (S640).
  • the meta data generator 435 generates meta data capable of generating one or more virtual disks from the virtual cluster feature model generated by the virtual cluster feature model generator 434.
  • the user requested a virtual cluster including a Hadoop virtual cluster subgroup and an Hbase virtual cluster subgroup to process distributed data in parallel, and the virtual cluster created by the virtual cluster feature model generator 434.
  • the feature model shows that the two subgroups include redundant system and application software from Debian 8.0 and Open JDK, as well as different application software from Hadoop and HBase.
  • the virtual cluster feature model that includes the commonities of the virtual cluster subgroups can represent virtual disks for Debian 8.0, virtual disks for OpenJDK, and virtual disks for Debian 8.0 and OpenJDK.
  • the metadata generator 435 must generate metadata of one virtual disk based on the virtual cluster feature model. do. Accordingly, the metadata generating unit 435 generates the first merged metadata corresponding to the system software and the second merged metadata corresponding to the application software, respectively.
  • the generated metadata is metadata for one piece of software, respectively.
  • the virtual disk generating unit 440 generates each virtual disk based on the first merged metadata and the second merged metadata (S650).
  • the virtual disk generating unit 440 may combine each virtual disk based on the first merged metadata and the second merged metadata so that the virtual machines included in the virtual cluster may merge and use virtual disks including different software.
  • Create When a virtual machine uses a merged virtual disk, since duplicate and non-overlapping software are generated between the virtual cluster subgroups, a virtual disk including the name and version information of the system software on which the application software is to be run must also be created. .
  • the virtual disk including the name and version information of the system software on which the application software is to run may share the respective virtual disks, and may store data to be stored due to a write operation.
  • the virtual cluster disk provisioning apparatus may merge the virtual disk including one software through merged virtual cluster disk provisioning to generate a virtual cluster according to a user's request.
  • integrated virtual cluster disk provisioning means provisioning that can integrate a plurality of software and provide the same to a virtual machine of a virtual cluster, as one piece of software. That is, the integrated virtual cluster disk exists in the form of one virtual disk in which all the software is integrated and one software is installed. Therefore, the virtual cluster disk provisioning device 400 provides the integrated virtual disk to the virtual machine in which the respective software is installed by integrating.
  • the merged virtual cluster disk provisioning method is started by the virtual cluster disk provisioning processor generator 410 receiving a provisioning request for a virtual cluster (S710).
  • the virtual cluster subgroup feature model generation unit 433 generates a feature model for each of the plurality of virtual cluster subgroups (S720).
  • the virtual cluster feature model generation unit 434 generates a virtual cluster feature model (S730).
  • the meta data generator 435 generates integrated meta data which is one meta data of the system software and the application software (S740).
  • the metadata generator 435 is one metadata for generating a virtual disk including both system software and application software because the virtual machines of the virtual cluster subgroup using the integrated virtual disk are allocated to the virtual disk, respectively.
  • Generate unified metadata For example, if the virtual cluster subgroup includes OpenJDK and Hadoop 2.6.0 application software and Debian 8.0 system software, the metadata generator 435 integrates OpenJDK, Hadoop 2.6.0 and Debian 8.0 into one. Create integrated metadata as if it were a piece of software.
  • the metadata generator 435 generates integrated metadata based on a virtual cluster feature model including OpenJDK, Hadoop 2.6.0, and Debian 8.0.
  • the virtual disk generating unit 440 generates one virtual disk based on the integrated metadata (S750).
  • the virtual disk generator 440 generates each virtual disk based on the integrated metadata so that the virtual machines included in the virtual cluster can use one virtual disk including different software. Unlike merged virtual disk provisioning, integrated virtual disk provisioning does not create a virtual disk that contains the name and version information of the system software on which the application software will run, because the system software and application software are integrated into one and installed on the virtual disk. .
  • the virtual cluster disk provisioning apparatus may generate one virtual disk including all software through integrated virtual cluster disk provisioning to generate a virtual cluster according to a user's request.
  • 8 (a) to 8 (c) illustrate a feature model and a virtual cluster feature model of a virtual cluster subgroup according to another embodiment of the present invention.
  • 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 AMD64 architecture based system software 511 and application software 512, 513.
  • the first virtual cluster subgroup feature model 510 includes the Debian 8.0 Base package as the system software 511, the application software 512 with Hadoop 2.6.0 and the application software 513 with OpenJDK 7.0. do.
  • 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 is the same as the first virtual cluster subgroup feature model 510.
  • the system software 521 based on the AMD64 architecture uses the Debian 8.0 Base package and the application software 523 that is penJDK 7.0. Include.
  • the second virtual cluster subgroup feature model 520 further includes application software 522 that is Hbase 1.1.1. That is, the first virtual cluster subgroup feature model 510 needs to install Hadoop 2.6.0 with the application software 512, and the second virtual cluster subgroup feature model 520 has the Hbase 1.1. Contains 1.
  • the virtual cluster disk provisioning apparatus since the virtual cluster disk provisioning apparatus must create a virtual disk including all features, the first virtual cluster subgroup feature model 510 and the second virtual cluster. All features included in subgroup feature model 620 have the necessary associations.
  • the virtual cluster disk provisioning apparatus integrates the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 to integrate the virtual cluster feature model 530.
  • the non-overlapping application software (512, 522) is represented by the relationship of Exclusive OR. Accordingly, the virtual cluster disk provisioning apparatus generates metadata based on the virtual cluster feature model 530 integrating the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520.
  • the virtual cluster disk provisioning apparatus includes system software in which the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 do not overlap each other based on the virtual cluster feature model 530. 531 and only one application software 532 and 533 overlapping the application software 534 to generate the metadata.
  • the virtual cluster disk provisioning device integrates each virtual cluster subgroup feature model to classify overlapping software and non-overlapping software, thereby creating a virtual disk by repeating the overlapping software to create a virtual disk. Provisioning time can be shortened by changing the procedure and repeating replication procedures.
  • FIG. 9A to 9D illustrate feature models representing overlapping software and non-overlapping software based on a virtual cluster feature model according to another embodiment of the present invention.
  • FIG. 6A and FIG. 8B and the reference numerals will be described.
  • the virtual cluster disk provisioning apparatus performs a virtualization based on the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520.
  • the first overlapping software feature model 610 is an AMD64 architecture Debian as the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 overlap. Includes features for using 8.0 Base as system software 611.
  • the second overlapping software feature model 620 may include a system software (1) as the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 overlap.
  • AMD64 Architecture Includes features for redundant use of OpenJDK 7.0, an application software 622 based on Debian 8.0 Base.
  • the first overlapping software feature model 610 and the second overlapping software feature model 620 are system software (types of virtual disks to be created in the future). 611) Only the virtual disk with AMD64 architecture Debian 8.0 Base and system software (621) OpenJDK 7.0, application software 622 that can run on AMD64 architecture Debian 8.0 Base, is used as metadata for the virtual disk.
  • the first non-overlapping software feature model 630 and the second non-overlapping software feature model 640 are system software 631, which is an AMD64 architecture Debian. Types are divided into virtual disks with Hadoop 2.6.0, application software (632) running on 8.0 Base, and virtual disks with HBase 1.1, application software (642) running on Debian 8.0 Base, system architecture (641). As a result, it is used as meta data when creating virtual disk.
  • the virtual cluster disk provisioning device generates a virtual disk based on metadata generated by generating metadata based on a feature model representing overlapping software and non-overlapping software, thereby reducing the time required for virtual cluster disk provisioning. .
  • FIG. 10 is an exemplary block diagram illustrating a reuse-based virtual cluster building apparatus according to an embodiment of the present invention.
  • the reuse-based virtual cluster building apparatus 700 includes a provisioning request receiver 710, a reuse asset storage driver manager 720, a specification generator 730, and a disk generator 740.
  • the reuse asset storage driver manager 720 includes a reuse asset searcher 721.
  • the provisioning request receiver 710 receives a provisioning request for a virtual disk in a build request of a virtual cluster using an XML Remote Procedure Call (RPC).
  • the provisioning request for the virtual disk received by the provisioning request receiving unit 710 includes a software requirement installed in the virtual machines of the virtual cluster requested by the user.
  • the provisioning request for the virtual disk may include the number of virtual machines included in the virtual cluster, specification of virtual resources such as VCPU, memory, virtual disk space, etc. to be held by the virtual machine, system and application software and configuration information of the virtual machine, and the like.
  • the provisioning request receiver 710 may parse the received virtual disk provisioning request.
  • the reuse asset repository driver manager 720 performs a task for registering and updating assets required for reuse.
  • the reuse asset storage driver manager 720 includes a reuse asset searcher 721 to search for reused assets through the reuse asset searcher 721.
  • the reuse asset retrieval unit 721 retrieves the reusable asset among the assets stored in the reuse asset storage 800 in response to the provisioning request.
  • the reuse asset store 800 is a store that stores the outputs of all the software required for reuse.
  • the reusable asset store 800 may include a feature model of a virtual cluster, a specification, a description of a virtual disk creation procedure, a virtual disk on which the software is installed, software installed on the virtual disk, an installer of the software, and a setup program of the software ( Configurator), name information of the stored software, version information, architecture information, installer information, and configurator information.
  • the reuse asset store 300 enables retrieval of an asset based on an identifier value generated based on a hash function associated with the meta information of the virtual disk.
  • the reuse asset retrieval unit 721 searches for the reused virtual disk to analyze the reusable virtual disk and the virtual disk to be newly installed and created based on the feature model of the virtual cluster including one or more virtual machines.
  • the feature model represents a software component of a virtual disk, including the name, version of the system software and application software, the classification according to the package or module to be installed, and the architecture according to the instruction set to be used. This is a tree model that expresses dependencies on.
  • the specification preparer 730 creates a specification for creating a virtual disk using the retrieved reusable asset.
  • the specification is a document written according to a standardized specification method of reusable assets by adding software components to express information about dependencies between software in RAS.
  • the specification includes information such as the path in which the virtual disk is stored, how to use it, a procedure for creating the virtual disk, and associated assets, namely software name information, version information, architecture information, installer information, installer information, and the like.
  • the specification preparer 730 creates a specification according to a search result of the reuse asset searcher 721.
  • the specification creation unit 730 may create a specification for creating a virtual disk using the retrieved reuse asset. That is, the specification generator 730 generates a specification that is generated based on the reusable virtual disk as it is or by installing additional application software. Therefore, the specification creation unit 730 creates a procedure for duplicating the virtual disk to be reused, installing the necessary application software, and setting the specification.
  • the virtual disk to be cloned is analyzed by the reuse asset retrieval unit 721 and retrieved by the integer identifier obtained using the hash function.
  • the specification generator 730 may generate metadata according to the form of the virtual cluster.
  • the specification generator 730 may generate first merged metadata corresponding to system software for provisioning a merged virtual cluster and second merged metadata corresponding to application software.
  • the second merged meta data includes name and version information of the system software.
  • the merged virtual cluster disk provisioning refers to provisioning capable of classifying virtual disks by software type and merging the classified plurality of software and providing the virtual disks to virtual machines of the virtual cluster. That is, the merged virtual disk exists in the form of each virtual disk in which each software is independent.
  • the specification generator 730 may generate integrated metadata, which is one metadata for system software and application software for provisioning an integrated virtual cluster.
  • Integrated virtual cluster disk provisioning refers to provisioning that can integrate multiple software and provide it to a virtual machine in a virtual cluster like a single piece of software. That is, the integrated virtual disk exists in the form of one virtual disk in which all the software is integrated and one software is installed.
  • the virtual disk generating unit 740 generates a virtual disk based on the specification.
  • the virtual disk generator 740 may generate a virtual disk through duplication based on metadata included in the specification. That is, the virtual disk generator 740 may generate each virtual disk based on the first merged metadata and the second merged metadata.
  • the virtual disk generator 740 may generate one virtual disk based on the integrated metadata.
  • the at least two virtual machines may share the first disk including the overlapping software. For example, a shared first disk may be read only, and files required to be written may be stored on separate second disks of each virtual machine.
  • the reuse asset store 800 includes a reuse asset store request receiver 810 and a reuse asset store management unit 820.
  • the reuse asset storage management unit 820 includes a reuse asset registration unit 821, a reuse asset update unit 822, a reuse asset deletion unit 823, and a reuse asset connection unit 824.
  • Reusable asset storage 800 is a specification that specifies the asset to be used and the creation procedure of the virtual disks to be created and the reuse asset search unit 721 of the reuse-based virtual cluster building apparatus 700 for analyzing the software of the reusable virtual disk It is used by the creation unit 730.
  • the reuse asset store 800 registers a specification automatically generated by the virtual disk generating unit 740. Since the reuse asset store 800 may manage stored assets, the reuse-based virtual cluster building device 700 accesses through the reuse asset store driver managing unit 720 that manages a driver for accessing the reuse asset store 800. Do it.
  • the reuse asset store request receiver 810 receives all requests for managing assets internally in the reuse asset store 800. Specifically, the reuse asset storage request receiving unit 810 adds an asset through the reuse asset registering unit 821, updates the asset through the reuse asset updating unit 822, and updates the asset through the reuse asset deleting unit 823. An XML RPC-based server that receives requests for deletion. All requests are processed by the reuse asset repository management unit 820. When the reuse asset retrieval unit 824 requests a retrieval of the existence of a reusable virtual disk based on the integer ID value of the asset, the reusable asset retrieval unit 824 can replicate the virtual disk through the reusable asset meta database 900. Search for.
  • the reuse asset meta database 900 is managed in the reuse asset repository 800 and has a simple schema structure.
  • the schema structure consists of ID, Name, and Type.
  • ID is an integer identifier of a reusable asset.
  • Name is the name of the asset, and is generated and registered based on the software components or functions included in each asset.
  • Type is an asset type, that is, an integrated virtual disk and a merged virtual disk, a software installer, and a configuration program.
  • the reuse-based virtual cluster building apparatus 700 manages the assets stored in the reused asset storage, and creates a virtual disk based on the retrieved assets by searching for the necessary assets, thereby enabling faster virtual disk provisioning. have.
  • FIG. 11 is an exemplary block diagram illustrating an asset search unit according to an embodiment of the present invention.
  • FIG. 10 For convenience of description, the components of FIG. 10 and reference numerals will be described.
  • the reuse-based virtual cluster building apparatus 700 may include a virtual disk provisioning initiation unit 750, a virtual disk provisioning process execution unit 760, a virtual disk provisioning task delivery unit 770, and a virtual disk provisioning task.
  • the execution unit 780 may further include.
  • the reuse asset search unit 721 includes a reuse asset search task performer 721a, a virtual disk asset search unit 721b, an asset search result generator 721c, and an access driver manager 721d.
  • the virtual disk provisioning process execution unit 760 generates a reuse asset retrieval task in a thread form through the virtual disk provisioning initiation unit 750. That is, the virtual disk provisioning process execution unit 760 acquires an instance reference of the reused asset retrieval task execution unit generated through the virtual disk provisioning initiation unit 750, and reuses the execution of the generated reusable asset retrieval task.
  • the asset search task performer 721a may be requested.
  • the virtual disk provisioning process execution unit 760 may generate the reuse asset retrieval task only through the virtual disk analysis process.
  • the reusable asset retrieval task object is created including the feature model of the virtual disk analyzed through virtual disk analysis, the unique task ID, the initial task status, and the ID value of the user who requested the virtual disk provisioning.
  • the generated reuse asset retrieval task is added to a task buffer existing in the virtual disk provisioning process execution unit 760.
  • the added task buffer is periodically checked by the virtual disk provisioning task delivery unit 770 and, if one or more reusable asset retrieval tasks exist, reuse the reusable asset retrieval task through the virtual disk provisioning task execution unit 780. Transfer to asset search task execution unit 721a.
  • the reuse asset retrieval task performing unit 721a includes a task buffer internally to store the received reusable asset retrieval task object, and periodically checks the size of the task buffer.
  • the reusable asset retrieval task execution unit 721a uses the 'SearchingReusableAsset' method (Method) when the reusable asset retrieval task is in the initial request state to perform a retrieval operation of the virtual disk asset among the virtual cluster feature models. Instructing section 721b.
  • the reusable asset retrieval task performing unit 721a may include the reusable virtual disk information analyzed by the virtual disk asset retrieval unit 721b and the final result based on JSON, including information on the newly installed and created virtual disk. Generate it using generate-FinalTaskResult 'method.
  • the reuse asset retrieval task execution unit 721a transmits the ID value of the reusable asset retrieval task whose reusable asset retrieval is completed to the virtual disk provisioning process execution unit 760.
  • the virtual disk asset search unit 721b determines whether a reusable virtual disk exists based on the location where the virtual cluster feature model document existing in the reusable asset search task is stored and the number of information required for the virtual disk corresponding to each virtual cluster feature model document. Perform the role of analysis. To analyze whether a reusable virtual disk exists, the virtual disk asset retrieval unit 721b applies a hash function to the virtual cluster feature document to generate a unique integer ID.
  • the hash function uses the hash function 'hash_fn' which is included in the C ++ Standard Library 'funtional'. All reusable virtual disks managed by the reuse asset storage management unit 820 of the reuse storage 800 are stored based on an integer ID value generated by applying a hash function to each virtual cluster feature model document.
  • the reuse asset storage ( May need to be added.
  • the process of adding a new kind of virtual disk may also require an integer ID of the virtual disk to be added based on a virtual cluster feature model that includes installed software components. Therefore, when there is no reusable virtual disk to be searched for in the reused asset store 800, the virtual disk asset search unit 721b determines that it is a new type of virtual disk and uses the integer identifier of the corresponding virtual disk as the reused asset store 800. ) Is added automatically.
  • the virtual disk asset retrieval unit 721b accesses the reused asset store 800
  • the virtual disk asset retrieval unit 721b accesses the reused asset store 300 through the access driver management unit 721d.
  • the virtual disk asset searching unit 721b considers the type of virtual disk requested by the user to analyze the reusable virtual disk based on the virtual cluster feature model. If the virtual disk requested by the user is a type of virtual disk shared by the virtual machines included in the virtual cluster, the reusable virtual disks should be merged with each other and provided to the virtual machine. That is, the virtual disk asset retrieval unit 721b must search for each virtual disk including each software included in the virtual cluster. On the contrary, if the virtual machines included in the virtual cluster have requested virtual disks which are separate from each other, the virtual disk asset search unit 721b should search the virtual disks installed with all system and application software in one virtual disk.
  • the virtual disk asset searching unit 721b needs to perform a search after determining whether the system software requested by the user can be modified. This is because, firstly, there is technically immutable system software, and secondly, it is necessary to determine whether there is a virtual disk that exactly matches all the software components of the virtual disk to be created. For example, a virtual disk with a Windows system operating system cannot be installed after cloning. If the virtual disk of the virtual cluster requested by the user uses the Windows system operating system, the virtual disk asset searching unit 721b searches for a virtual disk having the same characteristics as the corresponding virtual disk.
  • the virtual disk asset search unit 721b searches the virtual disk for the same ID value and virtual disk type in the reuse asset meta database 900 based on the integer ID value of the virtual disk to be searched for in the reuse asset storage 800. If there is a virtual disk with the same ID value, the reuse asset storage management unit 820 returns the ID value of the virtual disk back to the virtual disk asset retrieval unit 721b. Returns. If the search for the reusable virtual disk is completed for all virtual cluster feature models, the ID value of the searched virtual disk is integrated and transferred to the reuse asset retrieval task execution unit 721a.
  • the asset search result generation unit 721c receives the ID values of the retrieved reusable virtual disks and the software information included in the virtual cluster feature model from the reuse asset search task execution unit 721a. Subsequently, the asset search result generation unit 721c uses the software component information included in each feature model of the virtual cluster and the ID value of the reusable virtual disk retrieved by the virtual disk asset search unit 721b. Create a document. If a reusable virtual disk exists in the virtual cluster feature model, information on the ID value of the virtual disk to be replicated, the included software components, and the type of the virtual disk is created in the 'ReusableVDisk_Info' item.
  • the reuse-based virtual cluster building apparatus 700 creates a specification based on the retrieved assets, unlike the repetition of creating the specification and installing and setting up the software even if the same virtual disk is previously created, and creates the specification based on the retrieved assets.
  • FIG. 12 illustrates a virtual disk creation procedure through reuse according to a virtual cluster building apparatus based on reuse according to an embodiment of the present invention.
  • FIGS. 10 and 11 and the reference numerals will be described with reference.
  • the provisioning request receiver 710 receives a provisioning request for one or more virtual machines (S1210).
  • the provisioning request receiver 710 receives a provisioning request for a virtual cluster including a plurality of virtual machines. Subsequently, the provisioning request receiver 710 may parse the received virtual disk provisioning request. In this case, the provisioning request can be parsed only when the virtual machine of the virtual cluster can be deployed to a specific physical host.
  • the provisioning request is a document in XML format conforming to the OVF standard, and the parsed result is generated as an internal data structure to be used by the reuse-based virtual cluster building apparatus 700.
  • the provisioning request receiver 710 determines whether a virtual disk of a virtual cluster existing in the parsed provisioning request can be generated.
  • the criterion that can be determined is whether there is space to store based on the virtual disk size of the virtual cluster specified in the provisioning request and whether provisioning is possible up to the point of use of the virtual disk defined by the user. In order to perform this process, a shared storage for storing virtual disks must exist and the result is whether virtual disk provisioning is possible.
  • the asset search unit 721 searches for a reusable asset among the assets stored in the reuse asset storage in response to the provisioning request (S1220).
  • the asset search unit 721 uses an integer ID generated by applying a hash function to an XML-based virtual cluster feature model document of a virtual disk to be created to search for a reusable virtual disk.
  • the asset retrieval unit 721 requests a retrieval of the asset corresponding to the integer ID based on the virtual cluster feature model to be generated in the reuse asset storage request receiving unit 810 which is an XML RPC server.
  • the reuse asset store request receiver 810 parses the request and stores the request in a buffer of the reuse asset store management unit 820. If the reuse asset storage management unit 820 has requested the retrieval of the existence of a reusable virtual disk based on the integer ID value of the asset, the reuse asset retrieval unit 824 can replicate the virtual disk through the reuse asset meta database 900. Search for. Accordingly, the reuse asset retrieval unit 721 parses the name of the replicable virtual disk specified in the received reusable virtual disk specification, a stored path, and variable elements existing in use.
  • the reuse asset retrieval unit 721 In order to generate the specification, the reuse asset retrieval unit 721 must search for the location of the reusable virtual disk or search for assets for software installation and configuration, that is, software installation program and software configuration program. Detailed usage information of the reusable asset is specified in the specification, and the specification is stored in the reusable asset meta database 900 to be managed. Searching for assets also searches by different keywords depending on the type of asset you are looking for.
  • the reuse asset searching unit 721 searches the integer ID value generated by applying a hash function to the feature model of the virtual disk.
  • the reuse asset search unit 721 searches for the software based on the name, version, architecture information, and installer or setter information of the software.
  • the reuse asset store request receiving unit 810 parses an XML RPC based request and requests a retrieval asset store management unit 820 to retrieve an asset. After reusing asset storage management unit 820 identifies the type of asset to be retrieved, accesses reusable asset meta database 900 through reusable asset searcher 824 to retrieve the specification of necessary assets, and uses the retrieved statement to reuse assets. Return to the storage driver management unit 720.
  • the specification creating unit 730 creates a specification for generating a virtual disk using the retrieved reused asset (S1230).
  • the specification creation unit 730 specifies the creation procedure of the virtual disk to be created and the assets to be used.
  • the specification is a document specifying meta information of all reusable assets and a method of use, and uses the Reusable Asset Specification (RAS) of the Object Management Group (OMG).
  • RAS is an asset specification method that includes the location and use of artifacts contained in reusable assets.
  • the specification is based on RAS. Therefore, the virtual disk is created based on the specification generated by the specification generator 730.
  • the specification may be stored in the reuse asset store 800 again, including the location information where the generated virtual disk is stored.
  • the specification is managed by the reuse asset repository 800.
  • the specification is written in XML documents to be utilized in the creation of various virtual disks.
  • the specification generator 730 searches for a location where an existing virtual disk is stored using a finite integer identifier value and creates a specification using an asset to be set by duplicating.
  • the specification creation unit 730 may generate metadata according to a form of a virtual cluster including a virtual disk to be generated, that is, a merged virtual cluster or an integrated virtual cluster. Specifically, in order to provision the merged virtual cluster, the specification generator 730 generates first merged metadata corresponding to the system software and second merged metadata corresponding to the application software. In addition, in order to provision the integrated virtual cluster, the specification generator 730 generates integrated metadata, which is one metadata about system software and application software.
  • the virtual disk generating unit 740 generates a virtual disk based on the specification (S1240).
  • the virtual disk generating unit 740 creates and sets a virtual disk using a software installation program and a setting program defined in the order specified in the specification.
  • the virtual disk generator 740 may generate a virtual disk based on the metadata generated by the specification generator 730. For example, the virtual disk generator 740 may generate each virtual disk based on the first merged metadata and the second merged metadata generated by the specification generator 730. In this case, the second merged metadata includes the name light version information of the system software. In addition, the virtual disk generator 740 generates one virtual disk based on the integrated metadata generated by the specification generator 730.
  • the virtual disk generator 740 automatically generates a specification of the virtual disk. Can be.
  • the virtual disk generating unit 740 manages the asset by transferring the ID, name, type, specification of the virtual disk created in the reuse asset storage 800.
  • the ID value of the virtual disk is an integer identifier created by applying a hash function to the feature model of the virtual disk.
  • the name means a name that contains information such as the name, version, and architecture of the installed software.
  • the ID, name, type, and specification of the virtual disk are transferred to the reuse asset storage request receiver 810 and transmitted to the reuse asset storage management unit 820 through a parsing process.
  • the reuse asset storage manager 820 registers a specification of the created virtual disk by accessing the reuse asset meta database 900 through the reuse asset register 821.
  • a specification including the location information of the virtual disk must be created, and the created specification must be stored in the reusable asset storage 800.
  • the reuse-based virtual cluster building apparatus 700 stores reusable assets in the reuse asset storage 800 to manage reusability of an increasing number of virtual disks.
  • FIG. 13 illustrates a process of assigning an identifier value to a reusable asset based on a virtual cluster feature model according to another embodiment of the present invention.
  • the reuse-based virtual cluster building apparatus expresses a feature of the software configuration of the virtual disk as a virtual cluster feature model to analyze a reusable virtual disk, and generates an identifier value, that is, an integer type, through a hash function. Manage reusable virtual disks based on ID values.
  • the reuse-based virtual cluster building apparatus includes the Debian 8.0 Base package as the system software 1011 in the virtual cluster feature model 1010, and the first application software 1012 and OpenJDK which are Hadoop 2.6.0. And the second application software 1013, which is 7.0.
  • the reuse-based virtual cluster building apparatus generates a virtual cluster feature model document 1020 in XML format based on the virtual cluster feature model 1010. Subsequently, the reuse-based virtual cluster building apparatus generates a integer ID value 1030 '1956267503' by applying a hash function to the virtual cluster feature model document 1020.
  • the hash function uses hash_fn, which is a hash function included in funtional, a standard library of C ++.
  • the reuse-based virtual cluster building apparatus searches whether a reusable virtual disk exists based on the integer ID value 1030 of the generated virtual cluster feature model document 1020. In detail, the reuse-based virtual cluster building apparatus searches whether a virtual disk having an integer ID value equal to the integer ID value 1030 exists in the reuse asset store. In addition, if a reusable virtual disk exists in the reusable asset repository, the reuse-based virtual cluster building device may provide data such as the integer ID value of the reusable virtual disk, the software component included in the virtual disk, and the type of the virtual disk. Generates a JSON-based final result document including.
  • the reuse-based virtual cluster building device when a reusable virtual disk exists, includes information such as ID value of a virtual disk to be replicated, components of software, and type of virtual disk in the 'Reusable Vdisk_Info' item.
  • ID value a virtual disk to be replicated
  • components of software components of software
  • type of virtual disk in the 'Reusable Vdisk_Info' item a document is created including information on the virtual disk to be newly installed and created in the 'NewVDisk_Info' item. If only a part of the software can be reused, the information of the virtual disk is created in 'NewVDisk_Info' item, and the document is created including the ID value of some cloneable virtual disk with 'Depends_Vdisk_ID' element in the item.
  • a reuse-based virtual cluster building apparatus duplicates the same virtual disk by assigning an integer ID value to a virtual cluster feature model document
  • the reuse-based virtual cluster building apparatus searches for an asset of a previously created virtual disk based on the integer ID value, Based on the results, the assets can be reused and replicated.
  • FIG. 14 illustrates a process of searching for a specification based on an identifier value according to another embodiment of the present invention.
  • a reuse-based virtual cluster device includes a virtual disk on which system software 1111, Debian 8.0, first application software 1112, Open JDK 7.0, and second application software 1113, Hadoop 2.6.0 are installed.
  • Create a specification 1140 which is a document that specifies the virtual disk provisioning procedure and assets of the virtual disk corresponding to 1110.
  • the specification 1140 is a document in an XML form, and includes a procedure of creating an empty virtual disk image file and installing a new system and application software.
  • the specification 1140 includes a procedure for storing the created virtual disk in the reuse asset storage 1130 for future reuse, duplicating the created virtual disk as many times as necessary, and setting up software in the cloned virtual disk. do.
  • the specification 1140 is a procedure for creating an empty virtual disk image file, a procedure for duplicating reusable virtual disk contents. And a procedure of replicating the created virtual disk as many times as necessary and setting software in the replicated virtual disk.
  • the reuse-based virtual cluster building device is already identical to the reuse asset store 1130 based on the integer ID value 1120 assigned to the virtual cluster feature model document including the virtual disk 1110. Searches for the presence of. That is, through the search using the integer ID value 1120, the reuse-based virtual cluster building apparatus searches for a software installation program, a software setting program, and the like, which are assets to be reused for creating a virtual disk, in the reuse asset storage 1130.
  • the reuse-based virtual cluster building apparatus 700 makes it easy to search for an asset to reuse by searching for an asset stored in the reuse asset store through an integer ID value that is an identifier value.
  • 15A-15G illustrate the effects of virtual disk provisioning in accordance with another embodiment of the present invention.
  • FIG. 15A a graph of a single virtual disk creation time measurement result for each virtual disk type based on non-reuse and reuse is shown.
  • reusing when creating a new virtual disk by including the same software installed in the previously created virtual disk, it means to create a new virtual disk by copying the previously created virtual disk.
  • the size of the virtual disk used to verify the effect of virtual disk provisioning is 3GB
  • the system software is Debian 7.0
  • the application software is OpenJDK 7.0
  • Hadoop 2.6.0 Hadoop 2.6.0
  • HBase 1.1. .1 was used.
  • the non-reusable integrated virtual disk 1511 on the virtual machine allocated four VCPUs and 4 GB of memory shows 1273.85 seconds of creation time
  • the non-reuse merged virtual disk 1512 has a creation time of 1217.69 seconds.
  • the merged virtual disk is created by merged virtual disk provisioning so that each software exists in the form of each virtual disk which is independent.
  • Merged virtual cluster disk provisioning refers to provisioning that can classify virtual disks by software type and merge the plurality of classified software to provide them to the virtual machines of the virtual cluster.
  • the virtual disk provisioning device merges and provides respective merged virtual disks to the virtual machine.
  • the integrated virtual cluster disk is created by integrated virtual disk provisioning and exists in the form of one virtual disk in which all the software is integrated and one software is installed.
  • Integrated virtual cluster disk provisioning refers to provisioning that can integrate multiple software and provide it to virtual machines in a virtual cluster as a single piece of software. Therefore, the virtual disk provisioning device provides the virtual machine with the integrated virtual disk installed by integrating the respective software.
  • the creation time difference of the non-reusable integrated and merged virtual disks 1511 and 1512 may be regarded as a difference that may occur due to the time required to install the system and application software by using external storage in which each software package exists.
  • the creation time difference of the non-reuse integrated and merged virtual disks 1511 and 1512 may be regarded as a slight difference in installation time depending on the network environment of the external storage where the software package exists.
  • the creation times of the non-reuse integrated and merged virtual disks 1511 and 1512 are similar regardless of the virtual disk type.
  • the total creation time of the integrated and merged virtual disks 1513 and 1514 represents 629.16 seconds and 608.96 seconds, respectively. If you reuse only the system software, you will see this result because the application software must be installed.
  • the difference in system software reuse integrated and merged virtual disks 1513 and 1514 creation time difference can be caused by the fact that the package of the application software to be installed is stored in external storage. This can be interpreted. As a result, even if the system software is reused, if there is application software that needs to be additionally installed, the creation time of the system software reuse integrated and merged virtual disks 1513 and 1514 may be similar.
  • the creation time of the integrated and merged virtual disks 1515 and 1516 is 356.17 seconds and 233.87 seconds, respectively.
  • the reason why the creation time of the system and application software reuse merged virtual disk 1516 is shortened compared to the system and application software reuse integrated virtual disk 1515 may be caused by a method difference of reusable virtual disk replication.
  • System and application software reuse The integrated virtual disk 1515 creates an empty disk image as large as the size of the virtual disk requested by the user, and then duplicates the contents of the reusable virtual disk. This is because if the size of the reusable virtual disk is 2.2 GB, the user cannot provide the requested 3 GB of virtual disk size.
  • the system and application software reuse merged virtual disk 1516 creates and merges an upper disk so that the virtual disk on which the reusable software is installed can be copied and used as it is.
  • the upper disk is a disk that stores the settings for the software installed in the merged virtual disk and stores the data to be stored due to the write operation. This is because if the size of the reusable virtual disk is 2.2GB, the upper disk should be created by providing 0.8GB. Duplicating the contents of a reusable virtual disk image takes much more time than duplicating a single disk image file because it repeats all existing file-by-file copies. Therefore, when all the software components are reused, merged disk creation time is inevitably shortened compared to the integrated type.
  • the ratio of time to actually create the virtual disk increases compared to the time overhead generated during the actual preprocessing, it can be seen that there is a slight overhead.
  • the highest pre-processing time ratio 0.55%
  • the time ratio of preprocessing to total virtual disk provisioning time decreases. This is because the preprocessing occurs only once per virtual cluster, and the result is that the time to create the virtual disk takes much longer than the preprocessing.
  • the software components included per virtual cluster virtual machine vary, it will consume more virtual disk provisioning preprocessing time than the result of graph 1520 of virtual disk provisioning preprocessing time ratio as the total number of virtual machines increases. . But as the software components of the virtual cluster increase, so does the software that needs to be installed. Therefore, the time generated during the virtual disk provisioning preprocessing performed in the present invention may be interpreted as causing a slight temporal overhead in consideration of the actual virtual disk creation time.
  • a graph 1530 of a generation time result for each virtual disk type as a virtual machine included in one virtual cluster increases. For convenience of explanation, this will be described with reference to FIG. 15A.
  • the reuse-based integrated virtual disk creation time on a virtual machine allocated four VCPUs and 4GB of memory shows an exponential increase in creation time exponentially with the number of virtual machines.
  • the increase in generation time increases slightly from the time when the number of virtual machines goes from eight 1531 to sixteen 1532.
  • the reason why the reuse-based integrated virtual disk creation time is generated is because the number of created disks must be duplicated. In other words, since the integrated machines do not share the created virtual disks of virtual machines in the same virtual cluster, the number of virtual machines must be duplicated as many disks on which all necessary systems and application software are installed. And when cloning, it is necessary to duplicate the size of the virtual disk requested by the user repeatedly.
  • a graph 1540 of a merged virtual disk creation time reduction rate of 32 virtual machines included in a virtual cluster according to an increase in the maximum number of shared virtual machines per virtual disk is included.
  • a graph 1540 of a merged virtual disk creation time decrease rate of 32 virtual machines included in a virtual cluster according to an increase in the maximum number of shared virtual machines per virtual disk is shown. In addition, it is expressed based on the creation time reduction rate when the maximum number of shared virtual machines per virtual disk is one.
  • reuse-based merged disk creation time is based on a total of 32 (1546) virtual machines, up to one to four shared virtual machines per virtual disk. (1541, 1542, 1543) showed a rapid decrease in production time.
  • the maximum number of shared virtual machines is four or more (1543, 1544, 1545, 1546), it can be seen that the rate of generation time reduced is reduced to 11% or less. That is, when the merged virtual disk creation method of the present invention is used, it can be seen that the maximum number of reductions in creation time is expected when the maximum shareable virtual machines per virtual disk is 4 units (1543). This means that even if the number of virtual machines included in the virtual cluster increases, the highest generation time reduction can be obtained when up to four (1541, 1542, 1543) virtual machines share one virtual disk.
  • FIG. 15E there is shown a graph 1550 of creation time for each virtual disk type as the number of virtual cluster subgroups increases.
  • Experimental results show that the integrated virtual disk 1551 shows linear disk creation time as the number of subgroups of the virtual cluster increases on a virtual machine that allocates 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 also increases in proportion. In other words, when the number of subgroups is 2, the total number of virtual disks to be created is 16. If the number of subgroups is 4, the number of disks to create is 32, and eight subgroups must create a total of 64 disks.
  • the disk creation time increases in proportion to the number of virtual cluster subgroups increasing.
  • the merged virtual disks 1552, 1553, 1554, and 1555 showed a difference in creation time according to the maximum number of shared virtual machines per virtual disk.
  • the creation time is proportional to the number of subgroups of the virtual cluster.
  • the virtual disk creation time increases in inverse proportion to the increase in the number of shared virtual machines. That is, if two virtual machines (1553) share the maximum number of virtual disks, eight and 16 virtual disks should be created when two and four subgroups are used. If there are four (1554) maximum shared virtual machines per virtual disk, four and eight virtual disks should be created for each of 2 and 4 subgroups.
  • the creation time difference between the merged and merged virtual disks 1551, 1552, 1553, 1554, and 1555 was at least 22.50% and at most 86.99%.
  • Unified virtual disk 1561 represents a linear shared storage usage size in proportion to an increase in the number of virtual cluster subgroups. This can be interpreted as a result of creating a virtual disk in proportion to the number of virtual machines in each virtual cluster subgroup.
  • Merged virtual disks 1562, 1563, and 1564 represented different shared storage footprints depending on the maximum number of shared virtual machines per virtual disk.
  • one shared machine (1561) per merged virtual disk represented the same storage footprint as the consolidated virtual disk. This is because the virtual machines in the virtual cluster subgroup are all the same as if they were provided with individual virtual disks. However, each time the maximum number of shared virtual machines increases to two (1562), four (1563), and eight (1564), they show 36.88%, 55.32%, and 64.54% reductions in storage space usage, respectively. Similar to the creation time reduction rate, the reduction rate of the shared storage space is lowered when the maximum number of shared virtual machines per merged virtual disk is four or more (1563, 1564).
  • the creation time of the merged virtual disks 1562, 1563, and 1564 compared to the integrated virtual disk 1561 shows that the creation time and the use of shared storage space are reduced even if the subgroups of the virtual cluster increase. Can be.
  • the creation time of the integrated virtual disk 1561 and the merged virtual disk 1562, 1563, 1564 is proportional to the increase in the number of virtual cluster subgroups.
  • the usage space of the shared storage also increased in proportion to the number of subgroups of the integrated virtual disk 1561 and the merged virtual disks 1562, 1563, and 1564.
  • FIG. 15G a graph 1570 of a generation time comparison result for each virtual disk type according to the number of virtual cluster subgroups in which overlapping application software exists is shown.
  • an integrated virtual disk (1571) having duplicated application software is created by repeatedly installing the application software without analyzing the overlapping application software between the subgroups in the virtual cluster on the virtual machine allocated four VCPUs and 4GB memory.
  • the number of groups increased exponentially.
  • the disk creation time has been shown to increase rapidly when the number of virtual cluster subgroups in which overlapping application software exists is more than four.
  • the number of application software needs to be installed as the number of virtual cluster subgroups increases, and the installed integrated virtual disks must be replicated as many as the number of virtual machines included in each subgroup.
  • the redundant installation procedure of overlapping application software is not removed in the subgroup of the virtual cluster using the merged virtual disk (1572)
  • the exponential creation time increases.
  • the creation of the merged virtual disk 1572 with redundant application software has a somewhat smaller disk creation time pattern as the number of subgroups increases as compared to the creation of the integrated virtual disk 1572 with redundant application software. see. Since two virtual machines in each subgroup share a virtual disk in which overlapping software exists, a merged virtual disk in which overlapping application software exists as compared to the integrated virtual disk 1571 in which overlapping application software exists.
  • Merged virtual disk 1574 that eliminates redundant application software shows an increase in virtual disk creation time similar to that of consolidated virtual disk 1573 that removes redundant application software, but the merged virtual disk 1574 eliminates redundant application software.
  • the creation time is relatively low. Merged virtual disks should provide independent upper disks for each virtual machine, but it can be seen that this does not affect the overall virtual disk creation time.
  • Analyzing overlapping application software between each virtual cluster subgroup shows that the combined virtual disk (1571) with overlapping application software and the integrated virtual disk (1573) with duplicate application software removed have a minimum of 30.87% and a maximum of 77.63%.
  • the production time difference is shown.
  • the merged virtual disk 1574 with the duplicated application software and the merged virtual disk 1574 with the duplicated application software removed showed a disc creation time difference of at least 27.23% to 84.75%.
  • the merged virtual disk 1574 with proportionally overlapped application software and the merged virtual disk 1574 from which the duplicated application software is removed are slightly larger at 57.52%. You can see the difference in disk creation time.
  • the merged virtual disk is smaller, and thus, whether or not the software is installed redundantly makes a big difference in the overall disk creation time.
  • the time when the redundant software analysis of the merged virtual disk was not performed was higher than that when the redundant software analysis of the integrated virtual disk was performed. This shows the creation time delay that can be seen by repeated software installations, although the number of virtual disks that must be created by sharing virtual disks among the virtual machines in the subgroup is reduced.
  • cloning the installed disks can reduce the virtual cluster disk provisioning time instead of minimizing the number of installations by analyzing whether homogeneous software exists between subgroups.
  • installing software can leverage unpredictable disk creation times because of the use of external package repositories. This is because software installations using external package repositories represent different installation times, depending on the network conditions of the repository. Therefore, the virtual disk provisioning management method of the present invention, which prevents a repetitive software installation procedure, can efficiently shorten the entire virtual disk creation time by maximizing the number of times of replication of the created virtual disk image. This will be an important virtual disk provisioning method that can achieve higher disk creation time reduction as the number of subgroups of virtual clusters and the type of software to be installed vary.
  • each block or each step may represent a portion of a module, segment or code containing one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.
  • the steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented directly in hardware, a software module or a combination of the two executed by a processor.
  • the software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor, which can read information from and write information to the storage medium.
  • the storage medium may be integral to the processor.
  • the processor and the storage medium may reside within an application specific integrated circuit (ASIC).
  • the ASIC may reside in a user terminal.
  • the processor and the storage medium may reside as discrete components in a user terminal.
  • IITP Information and Communication Technology Promotion Center

Landscapes

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

Abstract

The present invention relates to a method and apparatus for managing virtual disk provisioning. A method for managing virtual disk provisioning according to an embodiment of the present invention comprises the steps of: receiving a provisioning request for a plurality of virtual machines; generating at least one feature model for the plurality of virtual machines; searching for an existing virtual disk having the same feature model as the generated feature model in order to generate a virtual disk on the basis of the feature model; determining a virtual disk provisioning procedure according to the result of the search; and generating a virtual disk by copying the existing virtual disk according to the determined virtual disk provisioning procedure. Accordingly, the method and apparatus for managing virtual disk provisioning can generates a virtual disk by reusing and copying an already-generated virtual disk, on the basis of a virtual disk provisioning procedure, and can thus reduce the time required for virtual disk provisioning.

Description

가상 디스크 프로비저닝 관리 방법 및 장치Virtual Disk Provisioning Management Methods and Devices
본 발명은 가상 디스크 프로비저닝 관리 방법 및 장치에 관한 것으로서, 보다 상세하게는 이미 생성된 가상 디스크를 활용하여 디스크 생성 속도를 빠르게 할 수 있는, 가상 디스크 프로비저닝 관리 방법 및 장치에 관한 것이다. 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 that can accelerate the disk creation speed by utilizing a virtual disk already created.
네트워크 기술과 저장소 기술이 발전함에 따라 공유 가능한 저장소에 저장된 대용량 데이터의 분석 처리 기술을 적용하기 위한 플랫폼 기술 즉, 가상화 기술이 활발히 연구되고 있다. 특히, 대용량 데이터를 효과적으로 분석하기 위해서 분산 및 저장된 데이터를 병렬적으로 처리하는 기술이 중요시되고 있다. 그러나 병렬적으로 분산된 대용량 데이터를 처리하기 위해서는 하나 이상의 처리용 컴퓨팅 노드를 클러스터로 묶어 활용하는 가상 클러스터 기술이 반드시 필요하다.As network and storage technologies have evolved, platform technologies, ie, virtualization technologies, have been actively studied to apply analytical processing technology of large data stored in sharable storage. In particular, in order to effectively analyze a large amount of data, a technique for processing distributed and stored data in parallel is becoming important. However, in order to process large data distributed in parallel, a virtual cluster technology that clusters and utilizes one or more processing computing nodes is essential.
가상 클러스터는 특정 기능을 수행하는 소프트웨어가 설치된 가상 머신들의 집합이며, 네트워크로 연결되어 있다. 가상 클러스트를 생성하기 위해서는 가상 컴퓨팅 자원을 프로비저닝하는 단계를 거쳐야한다. 가상 디스크 프로비저닝은 가상 클러스터 배치 프로비저닝과 가상 클러스터 디스크 프로비저닝을 포함한다. 가상 클러스터 배치 프로비저닝이란, 생성할 가상 클러스터에 포함된 가상 머신들의 자원 정보를 기초로 가상 클러스터를 가상화된 물리 시스템에 배치하여 생성하기 위한 과정을 의미한다. 가상 클러스터 디스크 프로비저닝은 가상 클러스터의 가상 머신을 생성하기 위한 가상 디스크를 생성하는 과정을 의미한다. 여기서, 생성된 각각의 가상 디스크에 사용자가 요청한 소프트웨어 즉, 시스템 소프트웨어 및 응용 소프트웨어를 설치 및 설정하는 과정은 전체 가상 디스크 프로비저닝 시간에 직접적인 영향을 준다. A virtual cluster is a collection of virtual machines with software that performs specific functions and is networked. To create a virtual cluster, you need to provision virtual computing resources. Virtual disk provisioning includes virtual cluster batch provisioning and virtual cluster disk provisioning. Virtual cluster placement provisioning refers to a process for creating and creating a virtual cluster in a virtualized physical system based on resource information of virtual machines included in a virtual cluster to be created. Virtual cluster disk provisioning refers to a process of creating a virtual disk for creating a virtual machine of a virtual cluster. Here, the process of installing and configuring the software requested by the user, that is, the system software and the application software, on each of the created virtual disks directly affects the overall virtual disk provisioning time.
[관련기술문헌][Related Technical Documents]
가상 머신 제공 방법, 시스템 및 그 프로그램이 기록된 기록매체 (공개 특허 10-2014-0055481호)Method and system for providing a virtual machine, and a recording medium having recorded thereon a program (public patent 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 on which software is installed.
본 발명의 발명자들은 동일한 소프트웨어를 반복적으로 설치하는 과정과 동일한 소프트웨어에 대한 설정을 반복하는 과정은 결과적으로 전체적인 가상 디스크 프로비저닝 시간의 낭비를 초래한다는 점을 인지하였다.The inventors of the present invention have recognized that the process of repeatedly installing the same software and of repeating the settings for the same software results in a waste of overall virtual disk provisioning time.
이에, 본 발명이 해결하고자 하는 과제는 이미 생성된 가상 클러스터에 포함된 가상 디스크를 복제하여 가상 머신들에 제공함으로써, 가상 디스크 프로비저닝에 소요되는 시간을 단축할 수 있는 가상 디스크 프로비저닝 관리 방법 및 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a virtual disk provisioning management method and apparatus that can reduce the time required for provisioning a virtual disk by duplicating a virtual disk included in a previously created virtual cluster and providing the virtual disk to virtual machines. To provide.
본 발명이 해결하고자 하는 다른 과제는 다양한 가상 디스크 프로비저닝 요청에 대응하여 가상 디스크 복제를 통한 가상 디스크 프로비저닝의 단계를 축소하고, 가상 디스크 프로비저닝의 시간을 단축할 수 있는 가상 디스크 프로비저닝 관리 방법 및 장치를 제공하는 것이다.Another object of the present invention is to provide a virtual disk provisioning management method and apparatus that can reduce the steps of virtual disk provisioning through virtual disk cloning and shorten the time for virtual disk provisioning in response to various virtual disk provisioning requests. It is.
또한, 본 발명의 발명자들은 가상 머신에 대한 프로비저닝에 있어 이미 생성되었던 가상 디스크와 동일한 소프트웨어가 설치된 새로운 가상 디스크를 반복적으로 생성하는 과정은 가상 머신에 대한 프로비저닝 시간을 보다 더 소요하게 한다는 점을 인지하였다.In addition, the inventors of the present invention recognized that the process of repeatedly creating a new virtual disk with the same software as the virtual disk that was already created in provisioning for the virtual machine requires more provisioning time for the virtual machine. .
재사용 가능한 자산은 가상 디스크뿐만 아니라 새로운 종류의 가상 디스크를 생성하기 위한 소프트웨어 설치 프로그램 및 설정 프로그램을 포함한다. 이러한 재사용 가능한 자산을 관리하기 위해서는 자산의 이름, 버전, 사용될 수 있는 도메인 (Domain) 의 범위, 재사용 할 수 있는 자산을 구성하고 있는 구현물의 위치, 자산을 적용할 때의 가변적 요소 (Variability Point) 를 포함한 사용 방법 등의 정보가 요구된다. 본 발명은 OMG (Object Management Group) 의 표준화된 재사용 가능한 자산 명세 방법인 Reusable Asset Specification (RAS) 을 활용하여 각 자산에 대한 명세서를 작성하고, 자산을 데이터베이스를 통해 관리하는 재사용 자산 저장소를 제공한다.Reusable assets include not only virtual disks but also software installers and configuration programs for creating new kinds of virtual disks. To manage these reusable assets, you can determine the name, version, range of domains that can be used, the location of the implementations that make up the reusable asset, and the variability points when applying the asset. Information such as how to use it is required. The present invention utilizes Reusable Asset Specification (RAS), which is a standardized method for reusable asset specification of OMG (Object Management Group), provides a reusable asset repository for creating a specification for each asset and managing the asset through a database.
하지만 RAS만을 이용해서는 가상 디스크에 포함된 소프트웨어 요소간의 의존성 (Dependency) 을 구분할 수 없다는 단점을 지니고 있다. 즉, 응용 소프트웨어는 시스템 소프트웨어에 의해 작동되기에 응용 소프트웨어는 시스템 소프트웨어에 의존적인데 RAS 기반의 자산 명세 방법은 자산이 포함하고 있는 소프트웨어 특징을 표현하기에 그 한계점을 지닌다. RAS를 통해 저장된 가상 디스크 이미지의 이름, 버전, 사용하는 방법을 기술할 수 있어도 포함하고 있는 소프트웨어 구성 요소는 기술할 수 없다. 그러나 가상 디스크를 재사용하기 위해서는 포함된 소프트웨어 구성 요소를 바탕으로 복제 가능한 가상 디스크를 검색해야 한다. 더욱이 생성해야 할 가상 디스크의 일부 또는 모든 소프트웨어 요소에 부합하는 재사용 가능한 자산을 검색하기 위해서라도 저장된 가상 디스크의 소프트웨어 구성 요소는 반드시 관리되어야 한다. 따라서, 재사용 가능한 가상 디스크를 분석하기 위해서 사용자의 가상 디스크의 소프트웨어 구성 요소를 파악하여 전체 또는 일부 부합되는 복제 가능한 가상 디스크를 검색해야 한다. 결론적으로, 재사용 가능한 자산을 사용하기 위해서는 가상 디스크에 대한 소프트웨어 구성 요소간의 의존성을 고려하여 재사용 가능한 자산을 관리하여야 한다.However, using RAS alone has the disadvantage that it is impossible to distinguish dependencies between software elements included in the virtual disk. That is, the application software is operated by the system software, so the application software is dependent on the system software. The RAS-based asset specification method has a limitation in expressing the software features included in the asset. Although you can describe the name, version, and method of using a virtual disk image stored by RAS, you cannot describe the software components it contains. However, to reuse a virtual disk, you must search for cloneable virtual disks based on included software components. Moreover, the software components of stored virtual disks must be managed to retrieve reusable assets that match some or all of the software components of the virtual disk that need to be created. Therefore, in order to analyze reusable virtual disks, it is necessary to identify the software components of the user's virtual disks and search for all or part of the cloneable virtual disks. In conclusion, in order to use reusable assets, it is necessary to manage reusable assets in consideration of dependencies among software components on virtual disks.
이에, 본 발명이 해결하고자 하는 과제는 생성한 가상 디스크, 가상 디스크에 설치된 소프트웨어 프로그램의 의존성, 소프트웨어 프로그램, 소프트웨어의 구성 요소, 생성한 가상 디스크가 저장된 경로 및 복제하는 방법 등을 포함한 재사용 가능한 자산의 사용 방법 및 장치를 제공하는 것이다.Accordingly, an object of the present invention is to solve the problem of reusable assets including the created virtual disk, the dependence of the software program installed on the virtual disk, the software program, the components of the software, the path in which the created virtual disk is stored, and the method of copying. It is to provide a method and apparatus for use.
본 발명이 해결하고자 하는 다른 과제는 재사용 가능한 자산을 저장하여 제공하는 재사용 자산 저장소를 마켓의 형태로 서비스화하여, 미리 구동 상에 문제가 존재하지 않는 가상 디스크를 공유함으로써 기존 클라우드 서비스의 제한적 가상 디스크 종류에서 벗어나 사용자가 원하는 소프트웨어가 설치된 가상 머신을 구동시킬 수 있는 재사용 기반의 가상 클러스터 구축 방법 및 장치를 제공하는 것이다.Another problem to be solved by the present invention is to service a reusable asset storage that stores and provides reusable assets in the form of a market, sharing a virtual disk that does not exist in advance on the limited virtual disk of the existing cloud service The present invention provides a method and apparatus for building a reuse-based virtual cluster capable of running a virtual machine installed with software desired by a user.
또한, 서로 다른 복수의 가상 클러스터를 가상 클러스터 서브 그룹이라 한다. 각각의 가상 클러스터 서브 그룹은 구성 요소가 동일한 소프트웨어를 포함할 수 있으며, 반대로 상이한 소프트웨어를 포함할 수 있다. 본 발명의 발명자들은 서로 다른 복수의 가상 클러스터에 공통적인 소프트웨어를 반복적으로 설치하는 과정은 결과적으로 전체 가상 클러스터 프로비저닝 시간의 낭비를 초래한다는 점을 인지하였다.Also, a plurality of different virtual clusters are called virtual cluster subgroups. Each virtual cluster subgroup may include the same software in its components and vice versa. The inventors of the present invention have recognized that the process of repeatedly installing software common to a plurality of different virtual clusters results in a waste of the entire virtual cluster provisioning time.
나아가, 본 발명의 발명자들은 가상 클러스터 서브 그룹들이 포함한 소프트웨어 구성 요소의 동질성과 이질성 분석을 통해 생성하여야할 가상 디스크의 종류를 구분함으로써, 가상 클러스터 프로비저닝의 시간을 단축할 수 있다는 점을 인식하였다.Furthermore, the inventors of the present invention have recognized that the time required for virtual cluster provisioning can be shortened by distinguishing the types of virtual disks to be created through homogeneity and heterogeneity analysis of software components included in the virtual cluster subgroups.
이에, 본 발명이 해결하고자 하는 과제는 가상 디스크를 생성하기 전에 가상 클러스터 서브 그룹에 포함된 소프트웨어 구성 요소의 동질성과 이질성을 분석하여 가상 클러스터 디스크 프로비저닝에 소요되는 시간을 단축할 수 있는 가상 클러스터 디스크 프로비저닝 방법 및 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a virtual cluster disk provisioning which can shorten the time required for virtual cluster disk provisioning by analyzing the homogeneity and heterogeneity of software components included in the virtual cluster subgroup before creating the virtual disk. It is to provide a method and apparatus.
본 발명이 해결하고자 하는 다른 과제는 각각의 가상 클러스터 서브 그룹에 설치할 중복되는 소프트웨어는 하나의 가상 디스크에 설치하고, 설치된 하나의 가상 디스크를 기초로 나머지 가상 디스크에 복제함으로써, 가상 클러스터 디스크 프로비저닝의 단계를 축소할 수 있는 가상 클러스터 디스크 프로비저닝 방법 및 장치를 제공하는 것이다.Another problem to be solved by the present invention is the step of provisioning a virtual cluster disk by installing redundant software to be installed in each virtual cluster subgroup on one virtual disk and replicating the remaining virtual disk based on the installed one virtual disk. To provide a virtual cluster disk provisioning method and apparatus that can be reduced.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝 관리 장치는 복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 가상 디스크 프로비저닝 프로세서 수신부, 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 특징모델 생성부, 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하도록 구성된 재사용 가상 디스크 검색부, 검색부의 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정하도록 구성된 가상 디스크 절차 결정부, 결정된 가상 디스크의 프로비저닝 절차에 따라 기존의 가상 디스크를 복제함으로써 가상 디스크를 생성하는 가상 디스크 생성부를 포함한다.In order to solve the above problems, a virtual disk provisioning management apparatus according to an embodiment of the present invention, a virtual disk provisioning processor receiving unit for receiving a provisioning request for a plurality of virtual machines, at least one feature of the plurality of virtual machines Feature model generation unit for generating a model, 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, provision process of the virtual disk according to the search result of the search unit The virtual disk procedure determination unit configured to determine a virtual disk generation unit for generating a virtual disk by cloning an existing virtual disk according to the provisioning procedure of the determined virtual disk.
본 발명의 다른 특징에 따르면, 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함할 수 있다.According to another feature of the invention, the feature model may include at least one of a name, a version information package, a module and an association of the software including the application software and the operating system software.
본 발명의 또 다른 특징에 따르면, 특징모델 생성부는 복수의 가상 머신이 포함된 서브 그룹 각각에 대한 특징모델을 생성하고, 특징모델을 기초로 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성할 수 있다.According to another feature of the present invention, the feature model generator may generate a feature model for each subgroup including a plurality of virtual machines, and generate a feature model associated with at least one homogeneity or heterogeneity based on the feature model. have.
본 발명의 또 다른 특징에 따르면, 동질성 또는 이질성과 연관된 특징모델은 서브 그룹 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수도 있다.According to another feature of the invention, the feature model associated with homogeneity or heterogeneity may be a feature model for software that overlaps a subgroup feature model, or a feature model for software that does not overlap.
본 발명의 또 다른 특징에 따르면, 가상 디스크 프로비저닝 관리 장치는 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유하고, 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.According to another feature of the invention, the virtual disk provisioning management device, if a plurality of virtual machines includes at least one overlapping software, at least two virtual machines share a first disk including the overlapping software, sharing The first disk may be read only, and the files required to be written may be stored on separate second disks of the virtual machines.
본 발명의 또 다른 특징에 따르면, 재사용 가상 디스크 검색부는 생성할 가상 디스크의 특징모델에 해시 함수를 적용한 정수형 식별자를 통해 기존의 가상 디스크를 검색할 수 있다.According to another feature of the present invention, the reused virtual disk search unit may search for an existing virtual disk through an integer identifier that applies a hash function to a feature model of the virtual disk to be created.
본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 기존의 가상 디스크가 존재하는 경우, 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 가상 디스크의 프로비저닝 절차를 결정할 수 있다.According to another feature 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 set by searching and duplicating a location where an existing virtual disk is stored when an existing virtual disk exists. have.
본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 설치될 소프트웨어의 설치자 (Installer) 를 검색하고, 검색한 소프트웨어의 설치자를 기초로 가상 디스크의 프로비저닝 절차를 결정할 수 있다.According to another feature of the present invention, the virtual disk procedure determination unit may search for an installer of software to be installed and determine a provisioning procedure of a virtual disk based on the installer of the found software.
본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 가상 디스크를 생성하는 절차를 결정할 수 있다.According to another feature of the invention, the virtual disk procedure determination unit may determine a procedure for generating 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.
본 발명의 또 다른 특징에 따르면, 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함할 수 있다.According to another feature of the invention, the procedure may include name and version information of the operating system software.
본 발명의 또 다른 특징에 따르면, 가상 디스크 절차 결정부는 운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 가상 디스크를 생성하는 절차를 결정할 수 있다.According to another feature of the invention, the virtual disk procedure determination unit may determine a procedure for creating a virtual disk corresponding to the operating system software and application software.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 클러스터 디스크 프로비저닝 관리 방법은 복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 단계, 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 단계, 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하는 단계, 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정하는 단계, 결정된 가상 디스크의 프로비저닝 절차에 따라 기존의 가상 디스크를 복제함으로써 가상 디스크를 생성하는 단계를 포함한다.In order to solve the above problems, the virtual cluster disk provisioning management method according to an embodiment of the present invention comprises the steps of receiving a provisioning request for a plurality of virtual machines, generating at least one feature model for the plurality of virtual machines Searching for 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 provisioning procedure of the determined virtual disk Creating a virtual disk by cloning an existing virtual disk.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝 관리 방법은 복수의 가상 클러스터 서브 그룹을 포함한 가상 클러스터에 대한 프로비저닝 요청을 수신하는 단계, 요청에 대응하여 복수의 가상 클러스터 서브 그룹 각각에 대한 피처모델 (Feature Model) 을 생성하는 단계, 서브 그룹 각각의 피처모델을 통합하여 가상 클러스터 피처모델을 생성하는 단계, 가상 클러스터 피처모델을 기초로 복수의 가상 디스크를 생성하기 위한 메타 데이터를 생성하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above problems, the virtual disk provisioning management method according to an embodiment of the present invention comprises the steps of receiving a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups, a plurality of virtual clusters in response to the request Generating a feature model for each subgroup, integrating the feature model of each subgroup, creating a virtual cluster feature model, and meta to create a plurality of virtual disks based on the virtual cluster feature model Generating data.
본 발명의 다른 특징에 따르면, 요청은 응용 소프트웨어 및 시스템 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계를 포함하는 것을 특징으로 한다.According to another feature of the invention, the request is characterized by including the name, version information package, module and association of the software, including the application software and the system software.
본 발명의 또 다른 특징에 따르면, 가상 클러스터 피처모델은, 서브 그룹 피처모델에 중복되는 소프트웨어에 대한 정보는 하나씩만 포함하고, 중복되지 않은 소프트웨어에 대한 정보는 모두 포함하는 것을 특징으로 한다.According to another feature of the present invention, the virtual cluster feature model is characterized in that it includes only one information about the software overlapping the subgroup feature model, and includes all the information about the non-overlapping software.
본 발명의 또 다른 특징에 따르면, 메타 데이터를 생성하는 단계는 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성하는 단계 및 제1 병합형 메타 데이터 및 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성하는 단계를 포함하는 것을 특징으로 한다.According to another feature of the invention, generating the meta data includes generating the first merged metadata corresponding to the system software and the second merged metadata corresponding to the application software and the first merged metadata. And generating each virtual disk based on the second merged metadata.
본 발명의 또 다른 특징에 따르면, 제2 병합형 메타 데이터는 시스템 소프트웨어의 명칭 및 버전 정보를 포함하는 것을 특징으로 한다.According to another feature of the invention, the second merged metadata is characterized by including name and version information of the system software.
본 발명의 또 다른 특징에 따르면, 메타 데이터를 생성하는 단계는, 시스템 소프트웨어 및 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성하는 단계 및 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성하는 단계를 포함하는 것을 특징으로 한다.According to another feature of the present invention, the generating of the meta data includes generating the integrated metadata, which is one metadata for the system software and the application software, and generating one virtual disk based on the integrated metadata. Characterized in that it comprises a step.
본 발명의 또 다른 특징에 따르면, 각각의 서브 그룹 피처모델을 통합하여 가상 클러스터 피처모델을 생성하는 단계는, 서브그룹 각각의 피처모델을 비교하여 연관관계로 표현되는 가상 클러스터 피처모델을 생성하는 단계인 것을 특징으로 한다.According to another feature of the present invention, the step of integrating each subgroup feature model to generate a virtual cluster feature model, comparing the feature model of each subgroup to generate a virtual cluster feature model represented by an association It is characterized by that.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝 관리 장치는 복수의 가상 클러스터 서브 그룹을 포함한 가상 클러스터에 대한 프로비저닝 요청을 수신하는 가상 클러스터 디스크 프로비저닝 프로세서 생성부, 프로비저닝 수행부로부터 수신한 요청에 대응하여 복수의 가상 클러스터 서브 그룹 각각에 대한 피처모델을 생성하는 서브그룹 피처모델 생성부, 서브 그룹 피처모델 생성부로부터 생성된 가상 클러스터 서브 그룹 각각의 피처모델을 통합하여 가상 클러스터 피처모델을 생성하는 가상 클러스터 피처모델 생성부, 가상 클러스터 피처모델 생성부로부터 생성된 가상 클러스터 피처모델을 기초로 복수의 가상 클러스터 디스크를 생성하기 위한 메타 데이터를 생성하는 메타 데이터 생성부를 포함하는 것을 특징으로 한다.In order to solve the above problems, a virtual disk provisioning management apparatus according to an embodiment of the present invention, a virtual cluster disk provisioning processor generation unit for receiving a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups, provisioning is performed A subgroup feature model generation unit for generating a feature model for each of the plurality of virtual cluster subgroups in response to a request received from the unit; and a feature model of each of the virtual cluster subgroups generated from the subgroup feature model generation unit A virtual cluster feature model generator for generating a cluster feature model, and a metadata generator for generating metadata for generating a plurality of virtual cluster disks based on the virtual cluster feature model generated from the virtual cluster feature model generator. And that is characterized.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝 관리 방법은 하나 이상의 가상 머신에 대한 프로비저닝 요청을 수신하는 단계, 요청에 대응하여 재사용 자산 저장소에 저장된 자산 중 재사용 가능한 자산을 검색하는 단계, 재사용 가능한 자산이 검색될 경우, 검색된 재사용 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성하는 단계 및 명세서를 기초하여, 가상 디스크를 생성하는 단계를 포함한다.In order to solve the above problems, the virtual disk provisioning management method according to an embodiment of the present invention comprises the steps of receiving a provisioning request for one or more virtual machines, reusable assets among the assets stored in the reusable asset storage in response to the request Searching for, retrieving a reusable asset, creating a specification for creating a virtual disk using the retrieved reusable asset, and creating a virtual disk based on the specification.
본 발명의 다른 특징에 따르면, 재사용 가능한 자산을 검색하는 단계는 요청이 재사용 가능한 자산 중 가상 디스크에 대한 검색을 포함하는 경우, 가상 디스크의 메타 정보와 연관된 해시 함수 (Hash Function) 에 기초하여 생성된 식별자 (Identification) 값으로 재사용 가능한 재산 중 매칭하는 가상 디스크를 검색하는 단계를 포함할 수 있다.According to another feature of the invention, retrieving a reusable asset is generated based on a hash function associated with meta information of the virtual disk, if the request includes a search for the virtual disk among the reusable assets. The method may include searching for a matching virtual disk among reusable properties by an identification value.
본 발명의 또 다른 특징에 따르면, 재사용 가능한 자산을 검색하는 단계는 프로비저닝 요청이 재사용 가능한 자산 중 소프트웨어의 설치 프로그램 또는 설정 프로그램에 대한 검색을 포함하는 경우, 설치를 요청받은 소프트웨어의 이름 정보, 버전 정보, 아키텍처 정보, 설치자 정보 및 설정자 정보 중 적어도 하나의 정보로 설치 프로그램 또는 설정 프로그램을 검색하는 단계를 포함할 수 있다.According to another feature of the invention, the step of searching for reusable assets, if the provisioning request includes a search for the installation program or configuration program of the software of the reusable assets, name information, version information of the software requested to be installed The method may include searching for an installation program or a configuration program with at least one of architecture information, installer information, and configurator information.
본 발명의 또 다른 특징에 따르면, 가상 디스크를 생성하기 위한 명세서를 작성하는 단계는 생성할 가상 디스크의 생성 절차 및 사용하는 자산을 명세하는 단계를 포함할 수 있다.According to another feature of the invention, the step of creating a specification for creating a virtual disk may include specifying a creation procedure of the virtual disk to be created and assets to be used.
본 발명의 또 다른 특징에 따르면, 생성된 가상 디스크 중에서 복제가 아닌 설치된 가상 디스크의 식별자 값, 이름, 종류 및 명세서 중 적어도 하나를 재사용 자산 저장소에 저장하는 단계를 더 포함할 수 있다.According to another feature of the present invention, the method may further include storing at least one of an identifier value, a name, a type, and a specification of an installed virtual disk, which is not a duplicate, among the created virtual disks in the reuse asset store.
본 발명의 또 다른 특징에 따르면, 가상 디스크를 생성하기 위한 명세서를 작성하는 단계는 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성하는 단계를 포함하고, 명세서를 기초하여, 가상 디스크를 생성하는 단계는, 제1 병합형 메타 데이터 및 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성하는 단계를 포함하고, 제2 병합형 메타 데이터는 시스템 소프트웨어의 명칭 및 버전 정보를 포함할 수 있다.According to another feature of the invention, creating a specification for creating a virtual disk includes generating first merged metadata corresponding to system software and second merged metadata corresponding to application software. And, based on the specification, generating the virtual disk comprises generating each virtual disk based on the first merged metadata and the second merged metadata, and the second merged metadata Name and version information of the system software may be included.
본 발명의 또 다른 특징에 따르면, 가상 디스크를 생성하기 위한 명세서를 작성하는 단계는 시스템 소프트웨어 및 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성하는 단계를 포함하고, 명세서를 기초하여, 가상 디스크를 생성하는 단계는 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성하는 단계를 포함할 수 있다.According to another feature of the invention, creating a specification for creating a virtual disk includes generating integrated metadata, which is one metadata for system software and application software, and based on the specification, the virtual Creating a disk may include creating one virtual disk based on the integrated metadata.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝 관리 장치는 하나 이상의 가상 머신에 대한 프로비저닝 요청을 수신하는 프로비저닝 요청 수신부, 요청에 대응하여 재사용 자산 저장소에 저장된 자산 중 재사용 가능한 자산을 검색하는 자산 검색부, 자산 검색부로부터 재사용 가능한 자산이 검색될 경우, 검색된 재사용 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성하는 명세서 작성부 및 명세서를 기초하여, 가상 디스크를 생성하는 가상 디스크 생성부를 포함한다.In order to solve the above problems, the virtual disk provisioning management device according to an embodiment of the present invention is a provisioning request receiving unit for receiving a provisioning request for one or more virtual machines, re-used among the assets stored in the reuse asset storage in response to the request Asset retrieval unit for retrieving a possible asset, if a reusable asset is retrieved from the asset retrieval unit, based on the specification creation unit and the specification to create a specification for creating a virtual disk using the retrieved reused assets, create a virtual disk And a virtual disk generating unit.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific 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 that can shorten the time required for virtual disk provisioning by replicating a virtual disk included in an already created virtual cluster to virtual machines.
본 발명은, 다양한 가상 디스크 프로비저닝 요청에 대응하여, 가상 디스크를 복제함으로써 가상 디스크 프로비저닝의 단계를 축소하고, 가상 디스크 프로비저닝의 시간을 단축할 수 있다. 가상 디스크 프로비저닝 관리 방법 및 장치를 제공할 수 있다.The present invention can reduce the step of virtual disk provisioning and reduce the time for virtual disk provisioning by cloning the virtual disk in response to various virtual disk provisioning requests. A virtual disk provisioning management method and apparatus may be provided.
본 발명은 생성한 가상 디스크, 가상 디스크에 설치된 소프트웨어 프로그램의 의존성, 소프트웨어 프로그램, 소프트웨어의 구성 요소, 생성한 가상 디스크가 저장된 경로 및 복제하는 방법 등을 포함한 재사용 가능한 자산의 사용 방법 및 장치를 제공할 수 있는 효과가 있다.The present invention provides a method and apparatus for using a reusable asset including a created virtual disk, dependencies of a software program installed on the virtual disk, a software program, a component of the software, a path in which the created virtual disk is stored, a method of copying, and the like. It can be effective.
본 발명은 재사용 가능한 자산을 저장하여 제공하는 재사용 자산 저장소를 마켓의 형태로 서비스화하여, 미리 구동 상에 문제가 존재하지 않는 가상 디스크를 공유함으로써 기존 클라우드 서비스의 제한적 가상 디스크 종류에서 벗어나 사용자가 원하는 소프트웨어가 설치된 가상 머신을 구동시킬 수 있는 재사용 기반의 가상 클러스터 구축 방법 및 장치를 제공할 수 있는 효과가 있다.The present invention provides a reusable asset store that stores and provides reusable assets in the form of a market, sharing virtual disks that do not have a problem in advance, thereby allowing users to escape from the limited virtual disk types of existing cloud services. There is an effect that can provide a method and apparatus for building a reuse-based virtual cluster that can run a virtual machine installed with software.
본 발명은, 가상 디스크를 생성하기 전에 가상 클러스터 서브 그룹에 포함된 소프트웨어 구성 요소의 동질성과 이질성을 분석하여 가상 클러스터 디스크 프로비저닝에 소요되는 시간을 단축할 수 있는 가상 클러스터 디스크 프로비저닝 방법 및 장치를 제공할 수 있다.The present invention provides a virtual cluster disk provisioning method and apparatus that can reduce the time required for provisioning a virtual cluster disk by analyzing homogeneity and heterogeneity of software components included in the virtual cluster subgroup before creating the virtual disk. Can be.
본 발명은, 각각의 가상 클러스터 서브 그룹에 설치할 중복되는 소프트웨어는 하나의 가상 디스크에 설치하고, 설치된 하나의 가상 디스크를 기초로 나머지 가상 디스크에 복제함으로써, 가상 클러스터 디스크 프로비저닝의 단계를 축소할 수 있는 가상 클러스터 디스크 프로비저닝 방법 및 장치를 제공할 수 있다.The present invention can reduce the stage of virtual cluster disk provisioning by installing redundant software to be installed in each virtual cluster subgroup on one virtual disk and replicating the remaining virtual disks based on one installed virtual disk. Provided are a virtual cluster disk provisioning method and apparatus.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present specification.
도 1은 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝을 설명하기 위한 도면이다.1 is a diagram for describing virtual disk provisioning according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 가상 디스크 프로비저닝 관리 장치를 설명하기 위한 예시적인 블록도이다.2 is an exemplary block diagram illustrating a virtual disk provisioning management apparatus according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따라 가상 디스크 프로비저닝 관리 장치에 따른 가상 디스크 프로비저닝 절차를 도시한 것이다.3 illustrates a virtual disk provisioning procedure according to an apparatus for managing virtual disk provisioning according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 가상 클러스터 프로비저닝을 설명하기 위한 도면이다.4 is a diagram for describing virtual cluster provisioning according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 가상 클러스터 디스크 장치를 설명하기 위한 예시적인 블록도이다.5 is an exemplary block diagram illustrating a virtual cluster disk device according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따라 병합형 가상 클러스터 디스크 프로비저닝 절차를 도시한 것이다.6 illustrates a merged virtual cluster disk provisioning procedure according to an embodiment of the present invention.
도 7은 본 발명의 다른 실시예에 따라 통합형 가상 클러스터 디스크 프로비저닝 절차를 도시화 한 것이다.7 illustrates an integrated virtual cluster disk provisioning procedure according to another embodiment of the present invention.
도 8의 (a) 내지 도 8의 (c)는 본 발명의 다른 실시예에 따라 가상 클러스터 서브그룹의 피처모델과 가상 클러스터 피처모델을 도시화 한 것이다.8 (a) to 8 (c) illustrate a feature model and a virtual cluster feature model of a virtual cluster subgroup according to another embodiment of the present invention.
도 9의 (a) 내지 도 9의 (d)는 본 발명의 다른 실시예에 따라 가상 클러스터 피처모델을 기초로 중복되는 소프트웨어 및 중복되지 않는 소프트웨어를 표현한 피처모델 도시화 한 것이다.9A to 9D illustrate feature models representing overlapping software and non-overlapping software based on a virtual cluster feature model according to another embodiment of the present invention.
도 10은 본 발명의 실시예에 따른 재사용 기반의 가상 클러스터 구축 장치를 설명하기 위한 예시적인 블록도이다.10 is an exemplary block diagram illustrating a reuse-based virtual cluster building apparatus according to an embodiment of the present invention.
도 11은 본 발명의 실시예에 따른 자산 검색부를 설명하기 위한 예시적인 블록도이다.11 is an exemplary block diagram illustrating an asset search unit according to an embodiment of the present invention.
도 12는 본 발명의 실시예에 따라 재사용 기반의 가상 클러스터 구축 장치에 따른 재사용을 통한 가상 디스크 생성 절차를 도시한 것이다.12 illustrates a virtual disk creation procedure through reuse according to a virtual cluster building apparatus based on reuse according to an embodiment of the present invention.
도 13는 본 발명의 다른 실시예에 따라 가상 클러스터 특징모델을 기초로 재사용 가능한 자산에 식별자 값을 부여하는 과정을 도시화 한 것이다.FIG. 13 illustrates a process of assigning an identifier value to a reusable asset based on a virtual cluster feature model according to another embodiment of the present invention.
도 14는 본 발명의 다른 실시예에 따라 식별자 값을 기초로 명세서를 검색하는 과정을 도시화 한 것이다.14 illustrates a process of searching for a specification based on an identifier value according to another embodiment of the present invention.
도 15a 내지 도 15g는 본 발명의 다른 실시예에 따라 가상 디스크 프로비저닝의 효과를 도시화 한 것이다.15A-15G illustrate the effects of virtual disk provisioning in accordance with another embodiment of the present invention.
도 1은 본 발명의 일 실시예에 따른 가상 디스크 프로비저닝을 설명하기 위한 도면이다. 1 is a diagram for describing 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. 1A, the virtual machine 110 includes a virtual disk 120 on which software 130 is installed. The software 130 may include the system software 131, the first application software 132, and the 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. 1A, the virtual disk 120 in which the 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. Unlike a general hard disk, 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. Therefore, the virtual disk 120 configures a file system necessary for each virtual machine 110 in the generated file or logical volume and is provided to the virtual machine 110. In addition, the virtual disk 120 includes application software such as desired system software 131, first application software 132, and second application software 133 and a version of system software 131 that is different from the operating system of the physical machine. Installed, 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. 1A, the virtual disk provisioning management system provisions the virtual disk 120 by installing software 130 on the virtual disk 120. The virtual disk provisioning management system creates an empty virtual disk 120 to create a virtual disk 120 with software 130 installed. The virtual disk provisioning management system then installs Debian 8.0, the system software 131, Open JDK 7.0, the first application software 132, and Hadoop 2.6.0, the second application software 133, on an empty virtual disk 120. do. Finally, the virtual disk provisioning management system sets up the software 130 installed on the virtual disk 120. Specifically, the virtual disk provisioning management system performs the necessary settings to run system software 131 Debian 8.0, first application software 132 Open JDK 7.0, and second application software 133 Hadoop 2.6.0. do. In FIG. 1A, the virtual disk 120 may be an integrated virtual disk, but is not limited thereto. The virtual disk 120 may be implemented as a merged virtual disk in which each of the plurality of virtual disks has one software and may 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 duplicating the virtual disk 120 previously generated.
도 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, and the virtual disk creation process according to FIG. 1B. The virtual disk 120 is created by directly copying the virtual disk 120 on which the software 130 including the second application software 133 including Hadoop 2.6.0 is installed. Thus, the virtual disk 140 also includes Debian 8.0, Open JDK 7.0 as the first application software 132 and Hadoop 2.6.0 as the second application software 133. Virtual disk provisioning through cloning is faster than virtual disk creation through installation. Specifically, virtual disk creation through installation installs the software that is actually required for the virtual disk. On the other hand, virtual disk creation through cloning is only time-consuming to duplicate the software installed on a pre-created virtual disk, and can be created more quickly than virtual disk creation through installation. In addition, virtual disk creation by cloning does not perform a setting step for software in virtual disk creation by cloning by replicating the virtual disk in the state where the software installed in the virtual disk is set. It can be created quickly.
이에 따라, 가상 디스크 프로비저닝 관리 시스템은 사용자의 요청에 따라 소프트웨어를 설치한 가상 디스크를 생성하고, 생성한 가상 디스크를 복제하여 중복되는 소프트웨어를 포함하는 가상 디스크를 복제하여 가상 디스크 프로비저닝의 소요 시간을 단축할 수 있다.Accordingly, the virtual disk provisioning management system reduces the time required for virtual disk provisioning by creating a virtual disk on which software is installed at the user's request, cloning the created virtual disk, and duplicating a virtual disk including redundant software. can do.
도 1의 (a) 내지 도 1의 (b)에서는 예시적으로 단순한 가상 디스크의 복제를 통한 가상 디스크 프로비저닝의 소요 시간 단축을 설명하였으나, 가상 디스크의 복제는 다양한 절차와 결정 과정을 수반할 수 있다. 이하에서는 가상 디스크의 복제와 생성을 통해 가상 디스크 프로비저닝의 소요 시간을 단축시키는 다양한 실시예들을 구체적으로 설명한다.In FIGS. 1A to 1B, the time required for virtual disk provisioning is reduced by simply copying a virtual disk. However, the cloning of a virtual disk may involve various procedures and decision processes. . Hereinafter, various embodiments of reducing the time required for provisioning a virtual disk by copying and creating the 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 may include a virtual disk provisioning process receiver 210, a feature model generator 220, a reused virtual disk searcher 230, and a virtual disk provisioning procedure determiner 240. And a virtual disk creation task performer 250. Here, the virtual disk provisioning process receiving unit 210 includes a virtual disk provisioning process performing unit 211, a virtual disk provisioning initiating unit 212, and a virtual disk provisioning processor observing unit 213. In addition, the feature model generator 220 includes a virtual cluster subgroup feature model generator 221 and a virtual cluster feature model generator 222. The virtual disk provisioning procedure determiner 240 includes a virtual disk provisioning procedure generator 241 and a reused virtual disk provisioning procedure generator 242. In addition, the virtual disk creation task performing unit 250 includes a virtual disk generating unit 251 and a reuse metadata generating 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 receiver 210 receives a provisioning request for a virtual disk in a build request of a virtual cluster using an XML Remote Procedure Call (RPC). The virtual disk provisioning process receiving unit 210 drives the CML RPC server and transmits 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 a software requirement 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 execution unit 211 stores the parsed work object in an internal buffer to manage the progress state of the virtual disk provisioning operation. All virtual disk provisioning processes of the present invention are performed by calling a subcomponent by the virtual disk provisioning process execution unit 211. Here, the subcomponent is a virtual disk provisioning management device such as a feature model generator 220, a reused virtual disk searcher 230, a virtual disk provisioning procedure determiner 240, which is a component of the virtual disk provisioning management device 200. Means all modules of 200. Each subcomponent receives, processes, and returns a task to be performed by the virtual disk provisioning process performing unit 211 in a task unit. In addition, each subcomponent has a task execution unit that calls processing logic for each step that should be performed based on the status information of the task. The virtual disk provisioning initiation unit 212 is a component for driving and terminating subcomponents present in the virtual disk provisioning management apparatus 200. The subcomponents of the virtual disk provisioning management apparatus 200 are operated and managed by the virtual disk provisioning initiation unit 212. The virtual disk provisioning processor observing unit 213 periodically monitors the progress of a task managed by the virtual disk provisioning process performing unit 211 and transmits a progress state to an 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 the number of subgroups in the virtual cluster desired by the user, the number of virtual machines included in the virtual cluster subgroup, a specification of virtual resources such as VCPU, memory, and virtual disk space that the virtual machine will hold, and the virtual machine. You will receive a request to create a virtual disk provisioning, including system and application software, configuration information, and time and space constraints of the virtual cluster. That is, the external system may transmit a virtual disk provisioning generation request to the virtual disk provisioning process receiver 210.
특징모델 생성부 (220) 는 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성한다. 구체적으로, 특징모델 생성부 (220) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 특징모델을 생성한다. The feature model generator 220 generates at least one feature model for the plurality of virtual machines. In detail, the feature model generator 220 generates a feature model for a virtual cluster including a plurality of virtual machines.
한편, 다양한 실시예에서, 복수의 가상 머신에 대한 두 개 이상의 그룹 즉, 가상 클러스터 서브 그룹의 생성에 대한 요청이 수신된 경우, 가상 클러스터 서브그룹 특징모델 생성부 (221) 는 각각의 가상 클러스터 서브 그룹에 대한 특징모델을 생성한다. 가상 클러스터 서브 그룹에 포함된 소프트웨어의 동질성 또는 이질성과 연관된 특징모델을 생성하기 위해 가상 클러스터 서브그룹 특징모델 생성부 (221) 는 가상 클러스터의 서브 그룹을 기반으로 동질적 및 이질적 소프트웨어 구성 요소 즉, 중복되는 소프트웨어 또는 중복되지 않은 소프트웨어를 분석한다. 가상 클러스터 서브그룹 특징모델 생성부 (221) 는 가상 클러스터의 서브 그룹에 포함된 동질적 소프트웨어 구성 요소 및 이질적 소프트웨어 구성 요소를 특징모델로 생성한다. 가상 클러스터 특징모델 생성부 (222) 는 생성된 서브그룹의 특징모델을 비교 및 분석하여 최종적으로 생성해야 할 가상 클러스터의 가상 디스크들의 특징모델을 생성한다. 생성된 동질성 또는 이질성과 연관된 특징모델은 가상 클러스터 서브 그룹 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수 있다. 여기서, 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함한다. 가상 클러스터 서브 그룹에 대한 요청이 수신된 경우에 대한 구체적인 설명은 도 4를 참조하여 후술한다.Meanwhile, in various embodiments, when a request for generating two or more groups, that is, virtual cluster subgroups, for a plurality of virtual machines is received, the virtual cluster subgroup feature model generator 221 may be configured to each virtual cluster subgroup. Create a feature model for the group. In order to generate a feature model associated with homogeneity or heterogeneity of software included in the virtual cluster subgroup, the virtual cluster subgroup feature model generator 221 generates homogeneous and heterogeneous software components, that is, duplicates, based on subgroups of the virtual cluster. Analyze which software is present or which is not redundant. The virtual cluster subgroup feature model generator 221 generates homogeneous software components and heterogeneous software components included in subgroups of the virtual cluster as feature models. The virtual cluster feature model generator 222 compares and analyzes the generated feature model of the subgroup to generate feature models of virtual disks of the virtual cluster to be finally generated. The feature model associated with the generated homogeneity or heterogeneity may be a feature model for software overlapping the virtual cluster subgroup feature model, or may be a feature model for non-overlapping software. Here, the feature model includes 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. A detailed description of the case where the request for the virtual cluster subgroup is received will be described later with reference to FIG. 4.
재사용 가상 디스크 검색부 (230) 는 특징모델 생성부 (220) 를 통해 생성된 특징모델을 기초로 재사용 가능한 가상 디스크와 새롭게 설치하여 생성해야 하는 가상 디스크를 분석하기 위해 재사용 가상 디스크를 검색한다. 구체적으로, 재사용 가상 디스크 검색부 (230) 는 복수의 가상 머신에 대한 적어도 하나의 특징모델에 대한 특징모델을 기초로 재사용 자산 저장소에서 재사용 가능한 가상 디스크를 검색하고, 재사용 가능한 가상 디스크와 새롭게 설치하여 생성해야 하는 가상 디스크를 분류한다. 여기서, 재사용 자산 저장소란, 가상 디스크 프로비저닝 관리 장치 (200) 에서 생성된 모든 소프트웨어의 산출물을 저장하는 저장소이다. 저장될 수 있는 산출물은 외부 시스템으로부터 수신된 가상 디스크 프로비저닝 요청, 가상 클러스터의 특징모델, 생성된 가상 디스크 프로비저닝 절차 및 재사용 가상 디스크 프로비저닝 절차, 재사용 가능한 가상 디스크, 소프트웨어 설치 및 설정 프로그램이다. 가상 디스크 생성부 (251) 가 생성한 가상 디스크는 실제로 가상 머신이 생성될 경우에 활용되어야하기 때문에 재사용 자산 저장소에 저장되지 않고, 별도의 공유 저장소에 저장된다. 재사용 가상 디스크 검색부 (230) 는 재사용 자산 저장소에 저장할 가상 디스크의 특징모델에 해시 함수 (Hash Fuction) 를 적용한 정수형 식별자를 부여하여, 기존의 가상 디스크를 재사용 자산 저장소에서 검색할 수 있다.The reuse virtual disk search unit 230 searches for the reuse virtual disk to analyze a reusable virtual disk and a virtual disk to be newly installed and generated based on the feature model generated by the feature model generator 220. In detail, the reuse virtual disk search unit 230 searches for a reusable virtual disk in the reuse asset store based on the feature model of at least one feature model of the plurality of virtual machines, newly installs the reusable virtual disk, Classify the virtual disk that needs to be created. Here, the reuse asset storage is a storage for storing outputs of all the software generated by the virtual disk provisioning management apparatus 200. Deliverables may be 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 reused virtual disk provisioning procedure, a reusable virtual disk, a software installation and setup program. The virtual disk generated by the virtual disk generator 251 is not stored in the reuse asset storage because it should be utilized when the virtual machine is actually created, but is stored in a separate shared storage. The reuse virtual disk search unit 230 may assign an integer identifier to which a hash function is applied to the feature model of the virtual disk to be stored in the reuse asset store, and search for the existing virtual disk in the reuse asset store.
가상 디스크 프로비저닝 절차 결정부 (240) 는 재사용 가상 디스크 검색부 (230) 의 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정한다. 구체적으로, 가상 디스크 프로비저닝 절차 결정부 (240) 는 복수의 가상 머신에 대한 가상 디스크의 생성을 새롭게 설치를 통하여 할 것인지 복제를 통해 할 것인지가 명세된 가상 디스크 프로비저닝 절차 및 방법을 결정한다. 새롭게 설치하여 가상 디스크를 프로비저닝할 경우, 가상 디스크 프로비저닝 절차 생성부 (241) 는 설치에 필요한 소프트웨어 설치자 (Installer) 를 재사용 자산 저장소에서 검색하여, 검색한 소프트웨어의 설치자를 기초로 가상 디스크 프로비저닝 절차를 생성한다. 이 때, 가상 디스크 프로비저닝 절차 생성부 (241) 는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 가상 디스크를 설치하는 절차를 생성한다. 생성된 절차에는 운영체제 소프트웨어의 명칭 및 버전 정보가 포함된다. 가상 디스크 프로비저닝 절차 생성부 (241) 는 후에 재사용 가능하도록 가상 디스크를 생성하는 절차도 생성할 수 있다. 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 재사용 가능한 가상 디스크가 존재하는 경우, 재사용 가능한 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 가상 디스크의 프로비저닝 절차를 생성한다. 즉, 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 재사용 가능한 가상 디스크를 기반으로 그대로 복제하거나 추가적인 응용 소프트웨어를 설치하여 생성하는 재사용 가상 디스크 프로비저닝 절차를 생성한다. 따라서, 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 재사용할 가상 디스크를 복제하고, 필요한 응용 소프트웨어를 설치한 뒤 설정하는 절차를 재사용 가상 디스크 프로비저닝 절차에 포함하여 생성해야 한다. 복제해야할 가상 디스크는 재사용 가상 디스크 검색부 (230) 에 의해 분석되어 해시 함수를 이용해 획득한 정수형 식별자로 검색된다. 재사용 가상 디스크 프로비저닝 절차 생성부 (242) 는 검색된 재사용 가능한 가상 디스크의 재사용 자산 명세서를 파싱하여 재사용 가상 디스크 프로비저닝 절차를 생성한다. The virtual disk provisioning procedure determiner 240 determines a provisioning procedure of the virtual disk according to the search result of the reused virtual disk searcher 230. In detail, the virtual disk provisioning procedure determiner 240 determines a virtual disk provisioning procedure and method for specifying whether to create a virtual disk for a plurality of virtual machines by newly installing or replicating. When provisioning a virtual disk with a new installation, the virtual disk provisioning procedure generation unit 241 searches the reuse asset repository for a software installer required for the installation, and creates a virtual disk provisioning procedure based on the installer of the found 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 name and version information of the operating system software. The virtual disk provisioning procedure generation unit 241 may also generate a procedure for creating a virtual disk to be reused later. When the reusable virtual disk exists, the reuse virtual disk provisioning procedure generation unit 242 generates a provisioning procedure of a virtual disk to be generated based on an asset to be set by searching and replicating a location where the reusable virtual disk is stored. That is, the reuse virtual disk provisioning procedure generation unit 242 generates a reuse virtual disk provisioning procedure for copying as is based on the reusable virtual disk or installing additional application software. Accordingly, the reuse virtual disk provisioning procedure generation unit 242 should create a procedure for cloning the virtual disk to be reused, installing the required application software, and setting the same, in the reuse virtual disk provisioning procedure. The virtual disk to be cloned is analyzed by the reuse virtual disk search unit 230 and searched with an integer identifier obtained using a hash function. The reuse virtual disk provisioning procedure generation unit 242 parses the reuse asset specification of the retrieved reusable virtual disk to generate a reuse virtual disk provisioning procedure.
가상 디스크 생성 태스크 수행부 (250) 는 가상 디스크 프로비저닝 절차 또는 재사용 가상 디스크 프로비저닝 절차에 따라 가상 디스크를 생성하기 위한 모든 태스크 (Task) 를 생성한다. 가상 디스크 생성부 (251) 는 생성된 태스크에 따라 가상 디스크 프로비저닝 절차를 기초로 새로운 가상 클러스터의 가상 디스크를 설치하거나 재사용 가상 디스크 프로비저닝 절차를 기초로 복제를 통해 가상 클러스터의 가상 디스크를 생성한다. 가상 디스크 생성부 (251) 가 가상 디스크 프로비저닝 절차를 기초로 새로운 가상 디스크를 설치할 경우, 재사용 메타 데이터 생성부 (252) 는 가상 디스크 프로비저닝 절차에 따라 생성된 가상 디스크의 메타 데이터를 생성한다. 즉, 재사용 메타 데이터 생성부 (252) 는 새롭게 생성된 가상 디스크가 추후에 재사용될 수 있도록 가상 디스크의 메타 데이터를 생성한다. 여기서, 메타 데이터란, 시스템 소프트웨어 및 응용 소프트웨어의 명칭 및 버전 정보이다. 다양한 실시예에 따라, 생성된 가상 디스크를 포함한 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유할 수 있다. 예를 들어, 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.The virtual disk creation task execution unit 250 generates all tasks for creating a virtual disk according to a virtual disk provisioning procedure or a reused virtual disk provisioning procedure. The virtual disk generator 251 may install a virtual disk of a new virtual cluster based on a virtual disk provisioning procedure or generate a virtual disk of a virtual cluster through replication based on a reused virtual disk provisioning procedure according to the generated task. When the virtual disk generator 251 installs a new virtual disk based on the virtual disk provisioning procedure, the reuse metadata generator 252 generates metadata of the virtual disk created according to the virtual disk provisioning procedure. That is, the reuse metadata generator 252 generates metadata of the virtual disk so that the newly created virtual disk can be reused later. Here, the meta data is name and version information of system software and application software. According to various embodiments, when the plurality of virtual machines including the created virtual disks include at least one overlapping software, the at least two virtual machines may share the first disk including the overlapping software. For example, a shared first disk may be read only, and files required to be written may be stored on separate second disks of each virtual machine.
이에 따라, 가상 디스크 프로비저닝 관리 장치는 생성할 가상 디스크의 프로비저닝 절차를 생성하고, 저장하여 추후 동일한 가상 디스크를 프로비저닝할 경우에 이미 생성된 가상 디스크의 프로비저닝 절차를 활용하여 가상 디스크 프로비저닝에 소요되는 시간을 단축할 수 있다.As a result, the virtual disk provisioning management device generates a provisioning procedure of a virtual disk to be created, and stores and saves the time required for provisioning the virtual disk by utilizing the provisioning procedure of an already created virtual disk when provisioning the same virtual disk later. It can be shortened.
도 3은 본 발명의 실시예에 따라 가상 디스크 프로비저닝 관리 장치에 따른 가상 디스크 프로비저닝 절차를 도시한 것이다. 설명의 편의를 위해 도 2의 구성요소들과 도면 부호를 참조하여 설명한다. 3 illustrates a virtual disk provisioning procedure according to an apparatus for managing virtual disk provisioning according to an embodiment of the present invention. For convenience of description, reference will be made to the components and reference numerals of FIG. 2.
가상 디스크 프로비저닝 프로세스 수신부 (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) 는 파싱된 명세서에 존재하는 가상 클러스트의 가상 디스크를 생성할 수 있는지 판단한다. 판단할 수 있는 기준은 명세된 가상 클러스터의 가상 디스크 크기를 기반으로 저장할 수 있는 공간이 존재하는지와 사용자에 의해 정의된 가상 디스크 사용 시점까지 프로비저닝이 가능한지의 여부를 판단한다. 이 과정을 수행하기 위해서는 가상 디스크를 저장할 수 있는 공유 저장소가 존재해야하며, 수행 결과는 가상 디스크 프로비저닝 가능 여부이다.In detail, 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 execution 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 can be deployed to a specific physical host in order to parse the virtual disk provisioning specification. The virtual disk provisioning specification is a document in XML format conforming to the OVF standard, and the parsed result is generated as an internal data structure to be used by the virtual disk provisioning management apparatus 300. In addition, the virtual disk provisioning process execution unit 211 determines whether a virtual disk of a virtual cluster existing in the parsed specification can be generated. The criterion that can be determined is whether there is space to store based on the size of the virtual disk of the specified virtual cluster and whether provisioning is possible up to the point of use of the virtual disk defined by the user. In order to perform this process, a shared storage for storing virtual disks must exist and the result is whether virtual disk provisioning is possible.
이어서, 특징모델 생성부 (220) 는 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성한다 (S320).Subsequently, the feature model generator 220 generates at least one feature model for the plurality of virtual machines (S320).
특징모델 생성부 (220) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 특징모델을 생성한다. The feature model generator 220 generates a feature model for a virtual cluster including a plurality of virtual machines.
이어서, 재사용 가상 디스크 검색부 (230) 는 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색한다 (S330).Subsequently, the reuse virtual disk search unit 230 searches for an existing virtual disk having the same feature model to generate the virtual disk based on the feature model (S330).
재사용 가상 디스크 검색부 (230) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 특징모델을 기반으로 재사용 가능한 가상 디스크를 검색한다. 재사용 가상 디스크 검색부 (230) 는 재사용 가능한 가상 디스크의 검색을 위해 프로비저닝할 가상 디스크의 특징모델에 해시 함수를 적용한 고유한 정수형 식별자를 사용한다. 정수형 식별자는 재사용 가능한 가상 디스크가 존재하는 위치를 검색하기 위해 사용되거나, 새롭게 설치하여 생성된 가상 디스크를 재사용 자산 저장소에 등록하기 위한 ID 값으로 활용된다. 따라서, 재사용 가상 디스크 검색부 (230) 는 생성할 가상 디스크의 특징모델에 해시 함수를 적용한 정수형 식별자를 통해 기존의 가상 디스크를 검색한다. 이 때, 기존의 가상 디스크는 재사용 자산 저장소에 저장되어 있다. The reuse virtual disk search unit 230 searches for a reusable virtual disk based on a feature model for a virtual cluster including a plurality of virtual machines. The reuse virtual disk search unit 230 uses a unique integer identifier that applies a hash function to a feature model of a virtual disk to be provisioned for searching for a reusable virtual disk. The integer identifier is used to search for a location where a reusable virtual disk exists or is used as an ID value for registering a newly installed and created virtual disk in a reuse asset repository. Accordingly, the reuse virtual disk search unit 230 searches for an existing virtual disk through an integer identifier that applies a hash function to a feature model of the virtual disk to be created. At this time, the existing virtual disk is stored in the reuse asset storage.
이어서, 가상 디스크 프로비저닝 절차 결정부 (240) 는 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정한다 (S340).Subsequently, the virtual disk provisioning procedure determiner 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 determiner 240 generates a virtual disk provisioning procedure and method for reusable or newly installed and created. At this point, a reusable asset repository is required to retrieve software installers and configurators. If the reuse virtual disk search unit 230 finds a reusable virtual disk, the reuse virtual disk provisioning procedure generation unit 242 searches for a location where an existing virtual disk is stored using a unique integer identifier value, and duplicates an asset to be set. Create a provisioning procedure. On the other hand, the virtual disk provisioning procedure determiner 240 searches for an asset for installing the software, that is, an installer of the software, for the virtual disk to be newly installed and created, and based on the retrieved software installer, The provisioning procedure generation unit 241 generates a provisioning procedure of the virtual disk. The virtual disk provisioning procedure generation unit 241 and the reused virtual disk provisioning procedure generation unit 242 provide a virtual disk provisioning procedure as an XML document for use in various virtual disk generation systems. The generated virtual disk provisioning procedure includes an operating system virtual disk corresponding to the operating system software and an application software virtual disk corresponding to the application software, respectively. At this time, the virtual disk provisioning procedure includes name and version information of the operating system software. Accordingly, the virtual disk provisioning procedure determiner 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 performing unit 250 generates a virtual disk by duplicating an existing virtual disk according to the determined provisioning procedure of the virtual disk (S350).
구체적으로, 가상 디스크 생성 수행부 (250) 는 가상 디스크를 생성하기 위한 모든 태스크를 생성한다. 생성된 태스크에 따라 가상 디스크 생성부 (251) 는 가상 디스크 프로비저닝 절차 또는 재사용 가상 디스크 프로비저닝 절차대로 가상 디스크를 생성한다. 재사용 가능한 가상 디스크를 생성하는 경우, 가상 디스크 생성부 (251) 가 재사용 가능한 가상 디스크를 복제하여 생성하기 때문에 재사용 자산 저장소가 필요하다. 또한, 생성된 가상 디스크가 가상 머신 구동 시에 사용될 수 있도록 공유 저장소가 필요하다. 가상 디스크 생성부 (251) 는 재사용 가상 디스크 프로비저닝 절차에 명세된 순서대로 정의된 소프트웨어 설치 및 설정 자산을 이용하여 가상 디스크를 생성하고 설정한다. 재사용 가능한 가상 디스크가 존재하지 않아 가상 디스크 생성부 (251) 가 가상 디스크 프로비저닝 절차대로 가상 디스크를 설치한 경우, 재사용 메타 데이터 생성부 (252) 는 가상 디스크 프로비저닝 절차에 명시된 가상 디스크의 정수형 식별자와 저장된 위치 정보를 기반으로 재사용 메타 데이터를 생성한다. 재사용 메타 데이터는 예를 들어, 재사용 자산 명세서 (Reusable Asset Specification) 를 이용하여 문서화되나 이에 제한되지 않는다. 이 때, 재사용 자산 명세서는 재사용 자산 저장소에 저장되어 자동화되고 점증적인 재사용 관리를 가능하게 한다. 추가적으로, 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유할 수 있다. 예를 들어 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.In detail, the virtual disk creation performing unit 250 generates all tasks for generating a virtual disk. According to the generated task, the virtual disk generator 251 generates a virtual disk according to a virtual disk provisioning procedure or a reused virtual disk provisioning procedure. When generating a reusable virtual disk, the virtual disk generator 251 duplicates the reusable virtual disk and generates a reusable asset storage. In addition, shared storage is required so that the created virtual disk can be used when the virtual machine is running. The virtual disk generating unit 251 creates and sets a virtual disk using the software installation and configuration assets defined in the order specified in the reuse virtual disk provisioning procedure. If the reusable virtual disk does not exist and the virtual disk generator 251 installs the virtual disk according to the virtual disk provisioning procedure, the reuse metadata generator 252 stores the integer identifier of the virtual disk specified in the virtual disk provisioning procedure. Create reusable metadata based on location information. Reuse metadata is documented using, for example, a Reusable Asset Specification, but is not limited thereto. At this time, the reuse asset specification is stored in the reuse asset repository to enable automated and incremental reuse management. Additionally, where a plurality of virtual machines includes at least one overlapping software, the at least two virtual machines may share a first disk containing the overlapping software. For example, a shared first disk may be read only, and files required to be written may be stored on separate second disks of each virtual machine.
이에 따라, 가상 디스크 프로비저닝 관리 장치는 생성할 가상 클러스터 서브그룹에 포함된 소프트웨어의 중복 여부를 판단하고, 이미 생성된 가상 디스크의 프로비저닝 절차를 기초로 가상 디스크를 프로비저닝하여 가상 디스크 생성 시간을 단축할 수 있다.Accordingly, the virtual disk provisioning management device may determine whether the software included in the virtual cluster subgroup to be created is duplicated and shorten 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 for describing virtual cluster provisioning according to an embodiment of the present invention.
가상 클러스터는 서로 다른 가상 클러스터를 포함할 수 있다. 여기서, 서로 다른 가상 클러스터는 적어도 하나의 다른 소프트웨어가 설치되는 가상 머신들의 집합일 수 있으며, 본 명세서에서는 서로 다른 가상 클러스터를 가상 클러스터 서브 그룹이라 한다. 도 4를 참조하면, 제1 가상 클러스터 서브 그룹 (310) 은 복수의 가상 머신 (320) 을 포함한다. 또한, 제2 가상 클러스터 서브 그룹 (340) 은 복수의 가상 머신 (350) 을 포함한다. 가상 클러스터 디스크 프로비저닝은 소프트웨어 (330, 360) 가 설치된 가상 디스크를 생성하는 절차를 가상 머신 (320, 350) 의 수에 따라 반복하고, 추가적으로 클러스터링을 위한 소프트웨어 설정 작업을 수행하는 것을 의미한다.The virtual cluster may include different virtual clusters. Here, different virtual clusters may be a collection of virtual machines on which at least one other software is installed, and different virtual clusters are referred to herein as virtual cluster subgroups. Referring to FIG. 4, the first virtual cluster subgroup 310 includes a plurality of virtual machines 320. The second virtual cluster subgroup 340 also includes a plurality of virtual machines 350. Virtual cluster disk provisioning means repeating a procedure of creating a virtual disk on which softwares 330 and 360 are installed according to the number of virtual machines 320 and 350 and additionally performing a software setting operation for clustering.
도 4를 참조하면, 가상 클러스터 디스크 프로비저닝 시스템은 가상 클러스터 서브 그룹 (310) 을 고려하여 생성할 가상 디스크의 종류 및 개수를 분석한다. 구체적인 가상 디스크의 종류 및 개수를 분석하는 절차는 도 6 및 도 7을 참조하여 후술한다. 따라서, 가상 클러스터 디스크 프로비저닝 시스템은 분석한 결과에 따라 제1 가상 클러스터 서브 그룹 (310) 이 포함한 하나의 가상 머신 (320) 의 가상 디스크에 예를 들어 시스템 소프트웨어 (331) 인 Debian 8.0, 제1 응용 소프트웨어 (332) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (333) 인 Hadoop 2.6.0을 포함한 소프트웨어 (330) 를 설치한다. 이어서, 가상 클러스터 디스크 프로비저닝 시스템은 제1 가상 클러스터 (310) 에 포함된 가상 머신 (320) 의 수만큼 반복하여 가상 클러스터 디스크 프로비저닝을 수행한다.Referring to FIG. 4, the virtual cluster disk provisioning system analyzes the type and number of virtual disks to be created in consideration of the virtual cluster subgroup 310. A detailed procedure of analyzing the type and number of virtual disks will be described later with reference to FIGS. 6 and 7. Therefore, according to the analysis result, the virtual cluster disk provisioning system includes, for example, Debian 8.0, the first application of the system software 331, on the virtual disk of one virtual machine 320 included in the first virtual cluster subgroup 310. Install software 330 including Open JDK 7.0 as software 332 and Hadoop 2.6.0 as second application software 333. Subsequently, the virtual cluster disk provisioning system repeats the number of virtual machines 320 included in the first virtual cluster 310 to perform virtual cluster disk provisioning.
마찬가지로, 가상 클러스터 디스크 프로비저닝 시스템은 제2 가상 클러스터 서브 그룹 (340) 에 포함된 가상 디스크의 종류 및 개수를 분석하여, 분석한 결과에 따라 제2 가상 클러스터 서브 그룹 (340) 이 포함한 하나의 가상 머신 (350) 의 가상 디스크에 시스템 소프트웨어 (361) 인 Debian 8.0, 제1 응용 소프트웨어 (362) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (363) 인 Hadoop 2.6.0을 포함한 소프트웨어 (360) 를 설치한다. 이어서, 가상 클러스터 디스크 프로비저닝 시스템은 제2 가상 클러스터 서브 그룹 (340) 에 포함된 가상 머신 (350) 의 수만큼 반복하여 가상 클러스터 디스크 프로비저닝을 수행한다.Similarly, the virtual cluster disk provisioning system analyzes the type and number of virtual disks included in the second virtual cluster subgroup 340 and according to the result of analysis, one virtual machine included in the second virtual cluster subgroup 340. In the virtual disk of 350, software 360 including Debian 8.0 as the system software 361, Open JDK 7.0 as the first application software 362 and Hadoop 2.6.0 as the second application software 363 are installed. Subsequently, the virtual cluster disk provisioning system repeats the number of virtual machines 350 included in the second virtual cluster subgroup 340 to perform virtual cluster disk provisioning.
제1 가상 클러스터 서브 그룹 (310) 과 제2 가상 클러스터 서브 그룹 (340) 이 포함한 소프트웨어 (330, 360) 을 비교하면, 시스템 소프트웨어 (331, 361) 는 Hadoop 2.6.0 및 Hbase 1.1.1로 상이하고, 응용 소프트웨어 (332, 333, 362, 363) 는 Open JDK 7.0 및 Debian 8.0 으로 동일하다. 따라서, 가상 클러스터 디스크 프로비저닝 시스템은 각각의 가상 클러스터 서브 그룹의 가상 디스크에 설치될 소프트웨어를 분석하여, 중복되는 소프트웨어를 구분한다. 이어서, 가상 클러스터 디스크 프로비저닝 시스템은 가상 디스크를 설치한 후에 복제하여 전체적인 가상 클러스터 디스크 프로비저닝의 소요 시간을 단축한다. 중복되는 소프트웨어를 구분하여 가상 클러스터에 포함된 가상 디스크를 구체적으로 생성하는 과정은 도 3 내지 도 5를 참조하여 후술한다. 생성된 가상 디스크는 재사용이 가능하다. 따라서, 기존에 생성된 가상 디스크는 기존에 생성된 가상 디스크에 포함된 소프트웨어를 동일하게 포함한 새로운 가상 디스크를 복제할 때 사용될 수 있다. Comparing the software 330, 360 included in the first virtual cluster subgroup 310 and the second virtual cluster subgroup 340, the system software 331, 361 differs from Hadoop 2.6.0 and Hbase 1.1.1. And application software (332, 333, 362, 363) is the same as Open JDK 7.0 and Debian 8.0. Therefore, the virtual cluster disk provisioning system analyzes the software to be installed in the virtual disk of each virtual cluster subgroup to distinguish the duplicated software. The virtual cluster disk provisioning system then replicates after installing the virtual disks to shorten the time required for overall virtual cluster disk provisioning. A process of specifically generating a virtual disk included in the virtual cluster by dividing the overlapping software will be described later with reference to FIGS. 3 to 5. The created virtual disk can be reused. Therefore, the previously created virtual disk can be used when cloning a new virtual disk including the same software included in the previously created virtual disk.
이에 따라, 가상 클러스터 디스크 프로비저닝 시스템은 각각의 가상 클러스터 서브그룹에 포함된 중복되는 소프트웨어를 구분하여 가상 디스크를 생성함으로써 가상 클러스터 디스크 프로비저닝의 소요 시간을 단축한다.Accordingly, the virtual cluster disk provisioning system shortens the time required for virtual cluster disk provisioning by creating a virtual disk by dividing overlapping software included in each virtual cluster subgroup.
도 5는 본 발명의 실시예에 따른 가상 클러스터 디스크 프로비저닝 장치를 설명하기 위한 예시적인 블록도이다.5 is an exemplary block diagram illustrating a virtual cluster disk provisioning apparatus according to an embodiment of the present invention.
도 5를 참조하면, 가상 클러스터 디스크 프로비저닝 장치 (400) 는 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410), 가상 클러스터 서브그룹 피처모델 생성부 (433), 가상 클러스터 피처모델 생성부 (434) 및 메타 데이터 생성부 (435) 를 포함한다. 또한, 가상 클러스터 디스크 프로비저닝 장치 (400) 는 추가적으로 가상 클러스터 디스크 프로비저닝 태스크 전달부 (420), 가상 클러스터 디스크 프로비저닝 태스크 수행부 (431), 가상 클러스터 중복 어플리케이션 분석 태스크 수행부 (432) 를 포함할 수 있다. 여기서, 가상 클러스터 분석부 (430) 는 가상 클러스터 디스크 프로비저닝 태스크 수행부 (431), 가상 클러스터 중복 어플리케이션 분석 태스크 수행부 (432), 가상 클러스터 서브그룹 피처모델 생성부 (433), 가상 클러스터 피처모델 생성부 (434) 및 메타 데이터 생성부 (435) 를 포함한다.Referring to FIG. 5, the virtual cluster disk provisioning apparatus 400 may include a virtual cluster disk provisioning processor generator 410, a virtual cluster subgroup feature model generator 433, a virtual cluster feature model generator 434, and metadata. And a generation unit 435. In addition, the virtual cluster disk provisioning apparatus 400 may additionally include a virtual cluster disk provisioning task delivery unit 420, a virtual cluster disk provisioning task performing unit 431, and a virtual cluster redundant application analysis task performing unit 432. . Here, the virtual cluster analyzer 430 may include a virtual cluster disk provisioning task performer 431, a virtual cluster redundant application analysis task performer 432, a virtual cluster subgroup feature model generator 433, and a virtual cluster feature model generation. The unit 434 and the metadata generating unit 435 are included.
도 5를 참조하면, 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 는 복수의 가상 클러스터 서브 그룹을 포함한 가상 클러스터에 대한 프로비저닝 요청을 수신하여, 가상 클러스터 디스크 프로비저닝을 위한 모든 태스크 (Task) 를 생성한다. 여기서, 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 가 수신한 가상 클러스터에 대한 프로비저닝 요청은 사용자가 생성 요청한 가상 클러스터의 가상 하드웨어 및 소프트웨어 요구사항이 담긴 가상 클러스터 프로비저닝 명세서를 포함한다. 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 로부터 생성된 태스크는 가상 클러스터 디스크 프로비저닝 태스크 전달부 (420) 에 의해 가상 클러스터 분석부 (430) 로 전달될 수 있다. Referring to FIG. 5, the virtual cluster disk provisioning processor generator 410 receives a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups, and generates all tasks for virtual cluster disk provisioning. Here, the provisioning request for the virtual cluster received by the virtual cluster disk provisioning processor generation unit 410 includes a virtual cluster provisioning specification containing the virtual hardware and software requirements of the virtual cluster requested by the user. The task generated from the virtual cluster disk provisioning processor generator 410 may be delivered to the virtual cluster analyzer 430 by the virtual cluster disk provisioning task transmitter 420.
도 5를 참조하면, 가상 클러스터 디스크 프로비저닝 태스크 수행부 (431) 는 가상 클러스터 디스크 프로비저닝 태스크 전달부 (420) 로부터 수신한 태스크를 관리하고 처리할 수 있다. 여기서, 가상 클러스터 디스크 프로비저닝 태스크 수행부 (431) 는 처리할 태스크를 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 로 전달할 수 있다. 태스크를 전달받은 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 는 가상 클러스터 서브그룹의 중복되는 소프트웨어 요소를 분석하기 위해 가상 클러스터 프로비저닝 명세서를 바탕으로 각 가상 클러스터 서브그룹의 소프트웨어 특징을 추출할 수 있다. 가상 클러스터 서브그룹 피처모델 생성부 (433) 는 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 가 추출한 소프트웨어 특징을 기초로 복수의 가상 클러스터 서브그룹 각각에 대한 피처모델을 생성한다. 여기서, 피처모델은 소프트웨어의 이름, 버전, 설치될 패키지 또는 모듈에 따른 분류 및 사용할 명령어 집합에 따른 아키텍쳐 (Architecture) 를 포함한다. 가상 클러스터 피처모델 생성부 (434) 는 가상 클러스터 서브그룹 피처모델 생성부 (433) 가 생성한 각각의 가상 클러스터 서브그룹 피처모델을 통합하여 가상 클러스터 피처모델을 생성한다. 즉, 가상 클러스터 서브그룹의 피처모델을 기반으로 중복되는 소프트웨어가 설치될 가상 디스크와 중복되지 않는 소프트웨어가 설치될 가상 디스크를 분류하여 가상 클러스터 피처모델을 생성한다. 메타 데이터 생성부 (435) 는 생성된 가상 클러스터 피처모델을 기초로 메타 데이터를 생성한다. 가상 디스크 생성부 (440) 는 생성된 메타 데이터를 기초로 소프트웨어를 설치한 가상 디스크를 생성한다. Referring to FIG. 5, the virtual cluster disk provisioning task execution unit 431 may manage and process a task received from the virtual cluster disk provisioning task delivery unit 420. Here, the virtual cluster disk provisioning task execution unit 431 may transfer the task to be processed to the virtual cluster redundancy software analysis task execution unit 432. The virtual cluster redundant software analysis task execution unit 432 received the task may extract software features of each virtual cluster subgroup based on the virtual cluster provisioning specification in order to analyze overlapping software elements of the virtual cluster subgroup. The virtual cluster subgroup feature model generation unit 433 generates a feature model for each of the plurality of virtual cluster subgroups based on the software feature extracted by the virtual cluster redundant software analysis task execution unit 432. Here, the feature model includes the name, version of the software, the classification according to the package or module to be installed, and the architecture according to the instruction set to be used. The virtual cluster feature model generator 434 integrates each virtual cluster subgroup feature model generated by the virtual cluster subgroup feature model generator 433 to generate a virtual cluster feature model. That is, a virtual cluster feature model is generated by classifying a virtual disk on which overlapping software is installed and a virtual disk on which non-overlapping software is installed based on the feature model of the virtual cluster subgroup. The meta data generator 435 generates meta data based on the generated virtual cluster feature model. The virtual disk generating unit 440 generates a virtual disk on which software is installed based on the generated metadata.
이에 따라, 가상 클러스터 디스크 프로비저닝 장치는 가상 클러스터에 대한 프로비저닝 명세서를 바탕으로 중복되는 소프트웨어 및 중복되지 않은 소프트웨어를 분류하여 가상 디스크를 생성함으로써 가상 디스크 생성 시간을 단축시킨다.Accordingly, the virtual cluster disk provisioning apparatus shortens virtual disk creation time by classifying overlapping software and non-overlapping software based on a provisioning specification for the virtual cluster to create a virtual disk.
도 6은 본 발명의 실시예에 따라 병합형 가상 클러스터 디스크 프로비저닝 절차를 도시한 것이다. 설명의 편의를 위해 도 5의 구성요소들과 도면 부호를 참조하여 설명한다. 여기서, 병합형 가상 클러스터 디스크 프로비저닝이란, 가상 디스크를 소프트웨어 종류 별로 분류하고, 분류된 복수의 소프트웨어를 병합하여 가상 클러스터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 즉, 병합형 가상 클러스터 디스크는 각각의 소프트웨어가 독립된 각각의 가상 디스크 형태로 존재한다. 따라서, 가상 클러스터 디스크 프로비저닝 장치 (400) 는 각각의 병합형 가상 클러스터 디스크들을 병합하여 가상 머신에 제공한다.6 illustrates a merged virtual cluster disk provisioning procedure according to an embodiment of the present invention. For convenience of explanation, the components of FIG. 5 and the reference numerals will be described. Here, the merged virtual cluster disk provisioning refers to provisioning capable of classifying virtual disks by software type and merging the classified plurality of software and providing the virtual disks to virtual machines of the virtual cluster. That is, the merged virtual cluster disk exists in the form of each virtual disk in which each software is independent. Accordingly, the virtual cluster disk provisioning apparatus 400 merges each merged virtual cluster disks and provides them to the virtual machine.
본 발명의 일 실시예에 따른 병합형 가상 클러스터 디스크 프로비저닝 방법은 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 가 가상 클러스터에 대한 프로비저닝 요청을 수신함으로써 개시된다 (S610).The merged virtual cluster disk provisioning method according to an embodiment of the present invention is started by the virtual cluster disk provisioning processor generator 410 receiving a provisioning request for a virtual cluster (S610).
가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 는 복수의 가상 클러스터 서브 그룹을 포함한 가상 클러스터에 대한 프로비저닝 요청을 수신한다. 여기서, 프로비저닝 요청은 사용자가 요청한 가상 클러스터의 요구 사항 즉, 소프트웨어의 이름, 버전, 설치될 패키지 또는 모듈에 따른 분류 및 사용할 명령어 집합에 따른 아키텍쳐 (Architecture) 에 대한 데이터가 포함된 가상 클러스터 디스크 프로비저닝 명세서를 포함할 수 있다. 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 는 가상 클러스터 디스크 프로비저닝 명세서를 파싱한 후, 가상 클러스터 디스크 프로비저닝을 위한 태스크를 생성한다. 여기서, 태스크는 파싱된 가상 클러스터 프로비저닝 명세서 객채, 태스크 ID, 사용자 ID, 태스크의 종류 및 태스크 처리 결과를 담기 위한 변수로 이루어져 있다. 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 는 향후 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 가 태스크를 처리 완료하였을 경우에, 생성한 태스크의 태스크 ID를 반환받아 처리 완료의 상태로 갱신한다. The virtual cluster disk provisioning processor generator 410 receives a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups. Here, the provisioning request is a virtual cluster disk provisioning specification that contains data about the requirements of the virtual cluster requested by the user, namely the software, the classification according to the package or module to be installed, and the architecture according to the instruction set to be used. It may include. The virtual cluster disk provisioning processor generator 410 parses the virtual cluster disk provisioning specification and then generates a task for virtual cluster disk provisioning. Here, the task consists of a parsed virtual cluster provisioning specification object, a task ID, a user ID, a type of task, and a variable for storing a task processing result. The virtual cluster disk provisioning processor generating unit 410 receives a task ID of the generated task and updates it to the state of processing completion when the virtual cluster redundant software analysis task performing unit 432 processes the task in the future.
생성된 태스크는 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 에 존재하는 태스크 버퍼에 저장된다. 가상 클러스터 디스크 프로비저닝 태스크 전달부 (420) 는 태스크 버퍼에 저장된 태스크를 확인하여 가상 클러스터 디스크 프로비저닝 태스크 수행부 (431) 로 태스크를 전달한다.The generated task is stored in a task buffer existing in the virtual cluster disk provisioning processor generator 410. The virtual cluster disk provisioning task delivery unit 420 checks the task stored in the task buffer and transfers the task to the virtual cluster disk provisioning task performing unit 431.
이어서, 가상 클러스터 서브그룹 피처모델 생성부 (433) 는 복수의 가상 클러스터 서브그룹 각각에 대한 피처모델을 생성한다 (S620).Subsequently, the virtual cluster subgroup feature model generation unit 433 generates a feature model for each of the plurality of virtual cluster subgroups (S620).
구체적으로, 가상 클러스터 디스크 프로비저닝 태스크 수행부 (431) 는 처리한 태스크를 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 로 전달한다. 이어서, 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 는 전달받은 태스크를 내부 태스크 버퍼에 저장하고, 주기적으로 저장된 버퍼에서 태스크를 추출하여 가상 클러스터에 포함된 소프트웨어의 중복성을 분석하기 위한 준비과정을 수행한다. 이 과정에서 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 는 태스크에 포함된 파싱된 가상 클러스터 프로비저닝 명세서의 'DiskSection', 'SharedDiskSection', 및 'VirtualSystemCollection' 을 기반으로 사용자가 요청한 가상 클러스터 서브 그룹에 포함된 가상 머신이 어떤 유형의 가상 디스크를 요청하였는지 파악한다. 만약 특정 가상 클러스터 서브그룹이 'SharedDiskSection'에 명세된 가상 디스크를 사용한다면, 해당 가상 클러스터 서브그룹에 포함된 가상 머신이 병합형 가상 디스크를 사용하는 것이다. 따라서, 중복되는 소프트웨어를 사용하는 가상 디스크는 하나씩 생성된다. 반면에, 특정 가상 클러스터 서브그룹이 'DiskSection' 에 명세된 가상 디스크를 사용한다면, 포함된 가상 머신의 개수와 동일하게 통합형 가상 디스크를 개별적으로 생성하여 제공해야 한다. 따라서, 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 는 이 과정을 통해 요청된 가상 클러스터 서브그룹 별 가상 디스크 종류를 분석하고, 가상 클러스터 서브그룹 피처모델 생성부 (433) 에 각각의 가상 클러스터 서브그룹의 소프트웨어 특징을 표현한 피처모델을 생성하도록 요청한다.In detail, the virtual cluster disk provisioning task execution unit 431 transfers the processed task to the virtual cluster redundancy software analysis task execution unit 432. Subsequently, the virtual cluster duplication software analysis task performer 432 stores the received task in an internal task buffer, and periodically extracts a task from the stored buffer to perform a preparation process for analyzing the redundancy of the software included in the virtual cluster. do. In this process, the virtual cluster redundancy software analysis task execution unit 432 is included in the virtual cluster subgroup requested by the user based on the 'DiskSection', 'SharedDiskSection', and 'VirtualSystemCollection' of the parsed virtual cluster provisioning specification included in the task. What type of virtual disk the virtual machine requested If a particular virtual cluster subgroup uses the virtual disk specified in 'SharedDiskSection', then the virtual machines in that virtual cluster subgroup use the merged virtual disk. Therefore, virtual disks using redundant software are created one by one. On the other hand, if a particular virtual cluster subgroup uses the virtual disks specified in 'DiskSection', the integrated virtual disks must be created and provided individually in the same number as the virtual machines included. Accordingly, the virtual cluster redundancy software analysis task execution unit 432 analyzes the virtual disk type for each virtual cluster subgroup requested through this process, and the virtual cluster subgroup feature model generation unit 433 each virtual cluster subgroup. You are asked to create a feature model that represents your software features.
가상 클러스터 서브그룹 피처모델 생성부 (433) 는 생성 요청과 함께 전달받은 태스크의 가상 클러스터 프로비저닝 명세서를 기반으로 각 가상 클러스터 서브그룹 별 시스템 및 응용 소프트웨어의 특징을 추출하여 피처모델을 생성한다. 여기서, 피처모델은 사용자가 요청한 가상 클러스터의 서브그룹 개수만큼 XML 형태로 생성된다. 피처모델의 생성이 완료되면, 가상 클러스터 중복 소프트웨어 분석 태스크 수행부 (432) 는 가상 클러스터 피처모델 생성부 (434) 에 가상 클러스터 피처모델의 생성을 요청한다.The virtual cluster subgroup feature model generation unit 433 generates a feature model by extracting features of the system and application software for each virtual cluster subgroup based on the virtual cluster provisioning specification of the task received with the generation request. Here, the feature model is generated in the XML form as many as the number of subgroups of the virtual cluster requested by the user. When generation of the feature model is completed, the virtual cluster redundancy software analysis task execution unit 432 requests the virtual cluster feature model generation unit 434 to generate the virtual cluster feature model.
이어서, 가상 클러스터 피처모델 생성부 (434) 는 가상 클러스터 피처모델을 생성한다 (S630).Subsequently, the virtual cluster feature model generation unit 434 generates a virtual cluster feature model (S630).
가상 클러스터 피처모델 생성부 (434) 는 각각의 서브 그룹 피처모델을 통합하여 하나의 가상 클러스터 피처모델을 생성한다. 구체적으로, 가상 클러스터 피처모델 생성부 (434) 는 서브그룹 각각의 피처모델을 비교하여 연관관계로 표현되는 가상 클러스터 피처모델을 생성한다. 여기서, 연관관계는 Mandatory, OR, Exclusive OR, Optional로 표현된다. 따라서, 가상 클러스터 피처모델은 연관관계에 따라 복수의 가상 클러스터 서브그룹의 중복되는 소프트웨어에 대한 정보는 하나씩만 포함하고, 중복되지 않는 소프트웨어에 대한 정보는 모두 포함한다. 각각 생성한 가상 클러스터 서브그룹의 피처모델을 통합하는 이유는 추후에 메타 데이터 생성부 (435) 가 가상 클러스터 피처모델에서 복수의 가상 클러스터 서브그룹의 중복되는 소프트웨어와 중복되지않는 소프트웨어를 분별할 수 있고, 가상 클러스터 서브그룹의 가상 머신이 사용할 가상 디스크의 종류를 고려하여 병합할 수 있기 때문이다. 예를 들어, Hadoop 가상 클러스터 서브그룹은 가상 머신 간 공유된 가상 디스크를 사용하고, Hbase 가상 클러스터 서브그룹은 가상 머신이 개별적인 가상 디스크를 사용하도록 요청한 경우, 가상 클러스터 피처모델 생성부 (434) 는 Hadoop 가상 클러스터 서브그룹과 Hbase 가상 클러스터 서브그룹을 나누어서 통합된 가상 클러스터 피처모델을 생성한다. Hadoop 가상 클러스터 서브그룹은 시스템 또는 응용 소프트웨어 중 하나만 설치된 가상 디스크를 생성하여 가상 머신을 사용하며, Hbase 가상 클러스터 서브그룹은 시스템 및 응용 소프트웨어가 모두 설치된 가상 디스크를 포함한 가상 머신에게 개별적으로 제공해야하기 때문에 각각의 가상 클러스터 서브그룹을 나누어서 통합된 가상 클러스터 피처모델을 생성한다. The virtual cluster feature model generation unit 434 integrates each subgroup feature model to generate one virtual cluster feature model. In detail, the virtual cluster feature model generator 434 compares feature models of each subgroup and generates a virtual cluster feature model represented by an association relationship. Here, the association is expressed as Mandatory, OR, Exclusive OR, or Optional. Accordingly, the virtual cluster feature model includes only one piece of information about overlapping software of a plurality of virtual cluster subgroups and all information about non-overlapping software according to the association. The reason for integrating the feature models of the respective virtual cluster subgroups is that the metadata generator 435 may discriminate the overlapping software and the non-overlapping software of the plurality of virtual cluster subgroups in the virtual cluster feature model later. This is because the virtual disks in the virtual cluster subgroup can be merged in consideration of the type of virtual disk to be used. For example, if the Hadoop virtual cluster subgroup uses shared virtual disks between virtual machines, and the Hbase virtual cluster subgroup requests that the virtual machines use individual virtual disks, then the virtual cluster feature model generator 434 can execute Hadoop. Divide the virtual cluster subgroup and the Hbase virtual cluster subgroup to create an integrated virtual cluster feature model. The Hadoop virtual cluster subgroup creates virtual disks with only one of the system or application software and uses the virtual machines, and the Hbase virtual cluster subgroups must be presented separately to the virtual machines, including the virtual disks with both system and application software installed. Each virtual cluster subgroup is divided to create an integrated virtual cluster feature model.
가상 클러스터 피처모델 생성부 (434) 는 서로 다른 가상 클러스터 서브그룹 피처 모델을 병합하는 경우에, 피처 모델이 지닌 피처 (Feature) 사이의 연관관계를 고려한다. 또한, 가상 클러스터 피처모델 생성부 (434) 는 피처 사이의 제약사항을 고려하여 통합한다. 여기서, 피처는 소프트웨어의 특징을 의미한다. 따라서, 가상 클러스터 피처 모델 생성부 (434) 는 피처 사이의 연관관계와 제약사항을 고려하여 각각의 가상 클러스터 서브 그룹 피처모델을 통합하기 위해 FAMILIAR 프레임워크를 포함할 수 있다. FAMILIAR는 서로 다른 두개의 피처모델을 통합하여 XML 기반의 가상 클러스터 피처모델을 생성하고, 가상 클러스터 피처모델을 기초로 중복되는 소프트웨어 및 중복되지 않는 소프트웨어를 표현한 XML 기반의 피처모델을 생성한다. 즉, 가상 클러스터 피처모델 생성부 (434) 는 FAMILIAR를 이용하여 생성한 가상 클러스터 피처모델을 바탕으로 중복되는 소프트웨어 및 중복되지 않는 소프트웨어 피처모델 생성한다. 구체적으로, 가상 클러스터 피처모델 생성부 (434) 는 가상 클러스터 피처모델의 중복되는 소프트웨어 및 중복되지 않는 소프트웨어를 분석하기 위해서 예를 들어 FAMILIAR의 'cores' 와 'mergeDiff' 함수를 이용하여 나온 결과를 XML 기반의 피처모델을 생성한다. 구체적인 중복되는 소프트웨어 및 중복되지 않는 소프트웨어 피처모델은 도 9의 (a) 내지 도 9의 (d)를 참조하여 후술한다.When the virtual cluster feature model generator 434 merges different virtual cluster subgroup feature models, the virtual cluster feature model generator 434 considers an association between features of the feature model. In addition, the virtual cluster feature model generation unit 434 integrates considering the constraints between the features. Here, the feature means a feature of the software. Accordingly, the virtual cluster feature model generator 434 may include a FAMILIAR framework to integrate each virtual cluster subgroup feature model in consideration of the relationships and constraints between the features. FAMILIAR integrates two different feature models to create an XML-based virtual cluster feature model, and generates an XML-based feature model that represents overlapping and non-overlapping software based on the virtual cluster feature model. That is, the virtual cluster feature model generation unit 434 generates overlapping software and non-overlapping software feature models based on the virtual cluster feature model generated using FAMILIAR. Specifically, the virtual cluster feature model generation unit 434 XML for analyzing the overlapping and non-overlapping software of the virtual cluster feature model, for example, using the 'cores' and 'mergeDiff' function of the FAMILIAR XML Create a base feature model. Specific overlapping software and non-overlapping software feature models will be described later with reference to FIGS. 9A to 9D.
이어서, 메타 데이터 생성부 (435) 는 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성한다 (S640).Subsequently, the meta data generation unit 435 generates the first merged metadata corresponding to the system software and the second merged metadata corresponding to the application software (S640).
메타 데이터 생성부 (435) 는 가상 클러스터 피처모델 생성부 (434) 가 생성한 가상 클러스터 피처모델은 하나 이상의 가상 디스크를 생성할 수 있는 메타 데이터를 생성한다. 예를 들어, 사용자는 분산된 데이터를 병렬로 처리하기 위한 Hadoop 가상 클러스터 서브 그룹과 Hbase 가상 클러스터 서브 그룹이 포함된 가상 클러스터를 요청하였고, 가상 클러스터 피처모델 생성부 (434) 에 의해 생성된 가상 클러스터 피처모델을 통해 두 서브 그룹은 Debian 8.0 과 Open JDK의 중복되는 시스템 소프트웨어 및 응용 소프트웨어와 Hadoop, HBase라는 서로 다른 응용 소프트웨어를 포함한다는 것을 알 수 있다. 그러나 가상 클러스터 서브그룹의 공통점이 포함된 가상 클러스터 피처모델에는 Debian 8.0을 위한 가상 디스크, OpenJDK를 위한 가상 디스크, 그리고 Debian 8.0 및 OpenJDK를 위한 가상 디스크가 모두 표현될 수 있다. 따라서, 가상 디스크는 시스템 소프트웨어와 응용 소프트웨어가 모두 설치된 경우, 시스템 소프트웨어만 설치된 경우, 응용 소프트웨어만 설치된 경우 그리고 병합형 가상 디스크를 설치하기 위한 설정 파일만 존재하는 경우의 유형들이 존재한다. 따라서, 생성한 가상 클러스터 피처모델에 포함된 가상 디스크가 어떤 종류의 가상 디스크인지 명확하게 구별하기 위하여 메타 데이터 생성부 (435) 는 가상 클러스터 피처 모델을 기초로 하나의 가상 디스크의 메타 데이터를 생성해야한다. 이에 따라, 메타 데이터 생성부 (435) 는 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 각각 생성한다. 여기서, 생성되는 메타 데이터는 각각 하나의 소프트웨어에 대한 메타 데이터이다. The meta data generator 435 generates meta data capable of generating one or more virtual disks from the virtual cluster feature model generated by the virtual cluster feature model generator 434. For example, the user requested a virtual cluster including a Hadoop virtual cluster subgroup and an Hbase virtual cluster subgroup to process distributed data in parallel, and the virtual cluster created by the virtual cluster feature model generator 434. The feature model shows that the two subgroups include redundant system and application software from Debian 8.0 and Open JDK, as well as different application software from Hadoop and HBase. However, the virtual cluster feature model that includes the commonities of the virtual cluster subgroups can represent virtual disks for Debian 8.0, virtual disks for OpenJDK, and virtual disks for Debian 8.0 and OpenJDK. Therefore, there are types of virtual disks in which both system software and application software are installed, only system software is installed, only application software is installed, and there is only a configuration file for installing a merged virtual disk. Therefore, in order to clearly distinguish what kind of virtual disk is included in the created virtual cluster feature model, the metadata generator 435 must generate metadata of one virtual disk based on the virtual cluster feature model. do. Accordingly, the metadata generating unit 435 generates the first merged metadata corresponding to the system software and the second merged metadata corresponding to the application software, respectively. Here, the generated metadata is metadata for one piece of software, respectively.
이어서, 가상 디스크 생성부 (440) 는 제1 병합형 메타 데이터 및 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성한다 (S650).Subsequently, the virtual disk generating unit 440 generates each virtual disk based on the first merged metadata and the second merged metadata (S650).
가상 디스크 생성부 (440) 는 가상 클러스터에 포함된 가상 머신이 각각 다른 소프트웨어를 포함한 가상 디스크를 병합해서 사용할 수 있도록, 제1 병합형 메타 데이터 및 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성한다. 가상 머신이 병합형 가상 디스크를 사용할 경우, 가상 클러스터 서브 그룹간의 중복되는 소프트웨어 및 중복되지 않는 소프트웨어가 각각 생성되기 때문에 응용 소프트웨어가 구동될 시스템 소프트웨어의 명칭 및 버전 정보를 포함하는 가상 디스크도 생성되어야 한다. 응용 소프트웨어가 구동될 시스템 소프트웨어의 명칭 및 버전 정보를 포함하는 가상 디스크는 각각의 가상 디스크들을 공유하고, 쓰기 작업으로 인해 저장되어야 하는 데이터를 저장할 수 있다.The virtual disk generating unit 440 may combine each virtual disk based on the first merged metadata and the second merged metadata so that the virtual machines included in the virtual cluster may merge and use virtual disks including different software. Create When a virtual machine uses a merged virtual disk, since duplicate and non-overlapping software are generated between the virtual cluster subgroups, a virtual disk including the name and version information of the system software on which the application software is to be run must also be created. . The virtual disk including the name and version information of the system software on which the application software is to run may share the respective virtual disks, and may store data to be stored due to a write operation.
이에 따라, 가상 클러스터 디스크 프로비저닝 장치는 병합형 가상 클러스터 디스크 프로비저닝을 통해 하나의 소프트웨어를 포함하는 가상 디스크를 병합하여 사용자의 요청에 따라 가상 클러스터를 생성할 수 있다.Accordingly, the virtual cluster disk provisioning apparatus may merge the virtual disk including one software through merged virtual cluster disk provisioning to generate a virtual cluster according to a user's request.
도 7은 본 발명의 다른 실시예에 따라 통합형 가상 클러스터 디스크 프로비저닝 절차를 도시화 한 것이다. 설명의 편의를 위해 도 5의 구성요소들과 도면 부호를 참조하여 설명한다. 도 6의 S640, S650 만이 상이할 뿐, 다른 구성 및 단계들은 실질적으로 동일하므로 도 6을 참조하여 설명된 구성 및 단계에 대한 중복 설명은 생략한다. 여기서, 통합형 가상 클러스터 디스크 프로비저닝이란, 복수의 소프트웨어를 통합하여 하나의 소프트웨어 처럼 가상 클러서터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 즉, 통합형 가상 클러스터 디스크는 모든 소프트웨어를 통합하여 하나의 소프트웨어가 설치된 하나의 가상 디스크 형태로 존재한다. 따라서, 가상 클러스터 디스크 프로비저닝 장치 (400) 는 각각의 소프트웨어를 통합하여 설치한 통합형 가상 디스크를 가상 머신에 제공한다. 7 illustrates an integrated virtual cluster disk provisioning procedure according to another embodiment of the present invention. For convenience of explanation, the components of FIG. 5 and the reference numerals will be described. Only S640 and S650 of FIG. 6 are different, and other configurations and steps are substantially the same, and thus redundant descriptions of the configurations and steps described with reference to FIG. 6 will be omitted. Here, integrated virtual cluster disk provisioning means provisioning that can integrate a plurality of software and provide the same to a virtual machine of a virtual cluster, as one piece of software. That is, the integrated virtual cluster disk exists in the form of one virtual disk in which all the software is integrated and one software is installed. Therefore, the virtual cluster disk provisioning device 400 provides the integrated virtual disk to the virtual machine in which the respective software is installed by integrating.
본 발명의 일 실시예에 따른 병합형 가상 클러스터 디스크 프로비저닝 방법은 가상 클러스터 디스크 프로비저닝 프로세서 생성부 (410) 가 가상 클러스터에 대한 프로비저닝 요청을 수신함으로써 개시된다 (S710).The merged virtual cluster disk provisioning method according to an embodiment of the present invention is started by the virtual cluster disk provisioning processor generator 410 receiving a provisioning request for a virtual cluster (S710).
이어서, 가상 클러스터 서브그룹 피처모델 생성부 (433) 는 복수의 가상 클러스터 서브그룹 각각에 대한 피처모델을 생성한다 (S720).Subsequently, the virtual cluster subgroup feature model generation unit 433 generates a feature model for each of the plurality of virtual cluster subgroups (S720).
이어서, 가상 클러스터 피처모델 생성부 (434) 는 가상 클러스터 피처모델을 생성한다 (S730).Subsequently, the virtual cluster feature model generation unit 434 generates a virtual cluster feature model (S730).
이어서, 메타 데이터 생성부 (435) 는 시스템 소프트웨어 및 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성한다 (S740).Subsequently, the meta data generator 435 generates integrated meta data which is one meta data of the system software and the application software (S740).
특정 가상 클러스터 서브그룹이 가상 클러스터 프로비저닝 명세서의 'DiskSection' 에 명세된 가상 디스크를 사용한다면, 포함된 가상 머신의 개수와 동일하게 통합형 가상 디스크를 개별적으로 생성하여 제공해야한다. 따라서, 메타 데이터 생성부 (435) 는 통합형 가상 디스크를 사용하는 가상 클러스터 서브 그룹의 가상 머신들이 각각 가상 디스크를 할당받기 때문에 시스템 소프트웨어 및 응용 소프트웨어가 모두 포함된 가상 디스크를 생성하기 위한 하나의 메타 데이터인 통합형 메타 데이터를 생성한다. 예를 들어, 가상 클러스터 서브그룹이 응용 소프트웨어인 OpenJDK와 Hadoop 2.6.0 및 시스템 소프트웨어인 Debian 8.0을 포함하는 경우, 메타 데이터 생성부 (435) 는 OpenJDK, Hadoop 2.6.0 및 Debian 8.0을 하나로 통합하여 마치 하나의 소프트웨어인 것 처럼 통합형 메타 데이터를 생성한다. 여기서, 메타 데이터 생성부 (435) 는 OpenJDK, Hadoop 2.6.0 및 Debian 8.0이 포함된 가상 클러스터 피처모델을 기초로 통합형 메타 데이터를 생성한다.If a particular virtual cluster subgroup uses the virtual disks specified in the 'DiskSection' section of the virtual cluster provisioning specification, it is necessary to create and provide integrated virtual disks individually in the same number of virtual machines included. Accordingly, the metadata generator 435 is one metadata for generating a virtual disk including both system software and application software because the virtual machines of the virtual cluster subgroup using the integrated virtual disk are allocated to the virtual disk, respectively. Generate unified metadata. For example, if the virtual cluster subgroup includes OpenJDK and Hadoop 2.6.0 application software and Debian 8.0 system software, the metadata generator 435 integrates OpenJDK, Hadoop 2.6.0 and Debian 8.0 into one. Create integrated metadata as if it were a piece of software. Here, the metadata generator 435 generates integrated metadata based on a virtual cluster feature model including OpenJDK, Hadoop 2.6.0, and Debian 8.0.
이어서, 가상 디스크 생성부 (440) 는 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성한다 (S750).Subsequently, the virtual disk generating unit 440 generates one virtual disk based on the integrated metadata (S750).
가상 디스크 생성부 (440) 는 가상 클러스터에 포함된 가상 머신이 각각 다른 소프트웨어를 포함한 하나의 가상 디스크를 사용할 수 있도록, 통합형 메타 데이터를 기초로 각각의 가상 디스크를 생성한다. 병합형 가상 디스크 프로비저닝과는 다르게 통합형 가상 디스크 프로비저닝은 시스템 소프트웨어 및 응용 소프트웨어가 하나로 통합되어 가상 디스크에 설치되기 때문에 응용 소프트웨어가 구동될 시스템 소프트웨어의 명칭 및 버전 정보를 별도로 포함하는 가상 디스크를 생성하지 않는다.The virtual disk generator 440 generates each virtual disk based on the integrated metadata so that the virtual machines included in the virtual cluster can use one virtual disk including different software. Unlike merged virtual disk provisioning, integrated virtual disk provisioning does not create a virtual disk that contains the name and version information of the system software on which the application software will run, because the system software and application software are integrated into one and installed on the virtual disk. .
이에 따라, 가상 클러스터 디스크 프로비저닝 장치는 통합형 가상 클러스터 디스크 프로비저닝을 통해 모든 소프트웨어를 포함하는 하나의 가상 디스크를 생성하여 사용자의 요청에 따라 가상 클러스터를 생성할 수 있다.Accordingly, the virtual cluster disk provisioning apparatus may generate one virtual disk including all software through integrated virtual cluster disk provisioning to generate a virtual cluster according to a user's request.
도 8의 (a) 내지 도 8의 (c)는 본 발명의 다른 실시예에 따라 가상 클러스터 서브그룹의 피처모델과 가상 클러스터 피처모델을 도식화 한 것이다.8 (a) to 8 (c) illustrate a feature model and a virtual cluster feature model of a virtual cluster subgroup according to another embodiment of the present invention.
도 8의 (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. 8A, 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 AMD64 architecture based system software 511 and application software 512, 513. Specifically, the first virtual cluster subgroup feature model 510 includes the Debian 8.0 Base package as the system software 511, the application software 512 with Hadoop 2.6.0 and the application software 513 with OpenJDK 7.0. do.
도 8의 (b)를 참조하면, 제2 가상 클러스터 서브그룹 피처모델 (520) 은 HBase 가상 클러스터 서브그룹에 대한 피처모델이다. 제2 가상 클러스터 서브그룹 피처모델 (520) 은 제1 가상 클러스터 서브그룹 피처모델 (510) 과 동일하게 AMD64 아키텍처 기반의 시스템 소프트웨어 (521) 로 Debian 8.0 Base 패키지와 penJDK 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. 8B, 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 is the same as the first virtual cluster subgroup feature model 510. The system software 521 based on the AMD64 architecture uses the Debian 8.0 Base package and the application software 523 that is penJDK 7.0. Include. In addition, the second virtual cluster subgroup feature model 520 further includes application software 522 that is Hbase 1.1.1. That is, the first virtual cluster subgroup feature model 510 needs to install Hadoop 2.6.0 with the application software 512, and the second virtual cluster subgroup feature model 520 has the Hbase 1.1. Contains 1.
도 8의 (a) 및 도 8의 (b)를 참조하면, 가상 클러스터 디스크 프로비저닝 장치가 모든 피처를 포함한 가상 디스크를 생성해야되기 때문에 제1 가상 클러스터 서브그룹 피처모델 (510) 및 제2 가상 클러스터 서브그룹 피처모델 (620) 에 포함된 모든 피처는 필수 연관관계를 지닌다. Referring to FIGS. 8A and 8B, since the virtual cluster disk provisioning apparatus must create a virtual disk including all features, the first virtual cluster subgroup feature model 510 and the second virtual cluster. All features included in subgroup feature model 620 have the necessary associations.
도 8의 (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. 8C, the virtual cluster disk provisioning apparatus integrates the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 to integrate the virtual cluster feature model 530. Create The system software 511, 521 and the application software 513, 523 that the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 overlap each other have the necessary associations. The non-overlapping application software (512, 522) is represented by the relationship of Exclusive OR. Accordingly, the virtual cluster disk provisioning apparatus generates metadata based on the virtual cluster feature model 530 integrating the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520. In detail, the virtual cluster disk provisioning apparatus includes system software in which the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 do not overlap each other based on the virtual cluster feature model 530. 531 and only one application software 532 and 533 overlapping the application software 534 to generate the metadata.
이에 따라, 가상 클러스터 디스크 프로비저닝 장치는 각각의 가상 클러스터 서브그룹 피처모델을 통합하여 중복되는 소프트웨어와 중복되지 않은 소프트웨어를 분류함으로써, 중복되는 소프트웨어를 반복하여 가상 디스크를 생성하는 절차를 한번의 가상 디스크 생성 절차와 반복되는 복제 절차로 변경하여 프로비저닝 시간을 단축할 수 있다. Accordingly, the virtual cluster disk provisioning device integrates each virtual cluster subgroup feature model to classify overlapping software and non-overlapping software, thereby creating a virtual disk by repeating the overlapping software to create a virtual disk. Provisioning time can be shortened by changing the procedure and repeating replication procedures.
도 9의 (a) 내지 도 9의 (d)는 본 발명의 다른 실시예에 따라 가상 클러스터 피처모델을 기초로 중복되는 소프트웨어 및 중복되지 않는 소프트웨어를 표현한 피처모델 도시화 한 것이다. 설명의 편의를 위해 도 6의 (a) 및 도 8의 (b)의 구성 요소들과 도면 부호를 참조하여 설명한다.9A to 9D illustrate feature models representing overlapping software and non-overlapping software based on a virtual cluster feature model according to another embodiment of the present invention. For convenience of description, the components of FIG. 6A and FIG. 8B and the reference numerals will be described.
도 9의 (a) 내지 도 9의 (d)를 참조하면, 가상 클러스터 디스크 프로비저닝 장치는 제1 가상 클러스터 서브그룹 피처모델 (510) 및 제2 가상 클러스터 서브그룹 피처모델 (520) 을 기초로 가상 디스크를 생성하기 위해 정제된 제1 중복되는 소프트웨어 피처모델 (610), 제2 중복되는 소프트웨어 피처모델 (620), 제1 중복되지 않는 소프트웨어 피처모델 (630) 및 제2 중복되지 않는 소프트웨어 피처모델 (640) 을 생성한다.9 (a) to 9 (d), the virtual cluster disk provisioning apparatus performs a virtualization based on the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520. A first redundant software feature model 610, a second redundant software feature model 620, a first non-overlapping software feature model 630 and a second non-overlapping software feature model refined to create a disc ( 640).
도 9의 (a)를 참조하면, 제1 중복되는 소프트웨어 피처모델 (610) 은 제1 가상 클러스터 서브그룹 피처모델 (510) 및 제2 가상 클러스터 서브그룹 피처모델 (520) 이 중복으로 AMD64 아키텍처 Debian 8.0 Base를 시스템 소프트웨어 (611) 로 사용하는 것에 대한 피처를 포함한다. Referring to FIG. 9A, the first overlapping software feature model 610 is an AMD64 architecture Debian as the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 overlap. Includes features for using 8.0 Base as system software 611.
도 9의 (b)를 참조하면, 제2 중복되는 소프트웨어 피처모델 (620) 은 제1 가상 클러스터 서브그룹 피처모델 (510) 및 제2 가상 클러스터 서브그룹 피처모델 (520) 이 중복으로 시스템 소프트웨어 (621) 인 AMD64 아키텍처 Debian 8.0 Base 기반의 응용 소프트웨어 (622) 인 OpenJDK 7.0를 중복으로 사용하는 것에 대한 피처를 포함한다. Referring to FIG. 9B, the second overlapping software feature model 620 may include a system software (1) as the first virtual cluster subgroup feature model 510 and the second virtual cluster subgroup feature model 520 overlap. 621) AMD64 Architecture Includes features for redundant use of OpenJDK 7.0, an application software 622 based on Debian 8.0 Base.
도 9의 (a) 내지 도 9의 (b)를 참조하면, 제1 중복되는 소프트웨어 피처모델 (610) 및 제2 중복되는 소프트웨어 피처모델 (620) 은 향후 생성할 가상 디스크의 종류로서 시스템 소프트웨어 (611) 인 AMD64 아키텍처 Debian 8.0 Base가 설치된 가상 디스크와 시스템 소프트웨어 (621) 인 AMD64 아키텍처 Debian 8.0 Base상에서 구동 가능한 응용 소프트웨어 (622) 인 OpenJDK 7.0만 설치된 가상 디스크의 메타 데이터로서 활용된다. 9 (a) to 9 (b), the first overlapping software feature model 610 and the second overlapping software feature model 620 are system software (types of virtual disks to be created in the future). 611) Only the virtual disk with AMD64 architecture Debian 8.0 Base and system software (621) OpenJDK 7.0, application software 622 that can run on AMD64 architecture Debian 8.0 Base, is used as metadata for the virtual disk.
도 9의 (c) 내지 도 9의 (d)를 참조하면, 제1 중복되지 않는 소프트웨어 피처모델 (630) 및 제2 중복되지 않는 소프트웨어 피처모델 (640) 은 시스템 소프트웨어 (631) 인 AMD64 아키텍처 Debian 8.0 Base상에서 구동 가능한 응용 소프트웨어 (632) 인 Hadoop 2.6.0이 설치된 가상 디스크와 시스템 소프트웨어 (641) 인 AMD64 아키텍처 Debian 8.0 Base상에서 구동 가능한 응용 소프트웨어 (642) 인 HBase 1.1이 설치된 가상 디스크로 종류가 구별되어 향후 가상 디스크 생성시 메타 데이터로 활용된다.9 (c) to 9 (d), the first non-overlapping software feature model 630 and the second non-overlapping software feature model 640 are system software 631, which is an AMD64 architecture Debian. Types are divided into virtual disks with Hadoop 2.6.0, application software (632) running on 8.0 Base, and virtual disks with HBase 1.1, application software (642) running on Debian 8.0 Base, system architecture (641). As a result, it is used as meta data when creating virtual disk.
이에 따라, 가상 클러스터 디스크 프로비저닝 장치는 중복되는 소프트웨어 및 중복되지 않는 소프트웨어를 표현한 피처모델을 기초로 메타 데이터를 생성하여 생성된 메타 데이터로 가상 디스크를 생성함으로써, 가상 클러스터 디스크 프로비저닝의 소요 시간을 단축시킨다.Accordingly, the virtual cluster disk provisioning device generates a virtual disk based on metadata generated by generating metadata based on a feature model representing overlapping software and non-overlapping software, thereby reducing the time required for virtual cluster disk provisioning. .
도 10은 본 발명의 실시예에 따른 재사용 기반의 가상 클러스터 구축 장치를 설명하기 위한 예시적인 블록도이다.10 is an exemplary block diagram illustrating a reuse-based virtual cluster building apparatus according to an embodiment of the present invention.
도 10을 참조하면, 재사용 기반의 가상 클러스터 구축 장치 (700) 는 프로비저닝 요청 수신부 (710), 재사용 자산 저장소 드라이버 관리부 (720), 명세서 작성부 (730) 및 디스크 생성부 (740) 를 포함한다. 여기서, 재사용 자산 저장소 드라이버 관리부 (720) 는 재사용 자산 검색부 (721) 를 포함한다. Referring to FIG. 10, the reuse-based virtual cluster building apparatus 700 includes a provisioning request receiver 710, a reuse asset storage driver manager 720, a specification generator 730, and a disk generator 740. Here, the reuse asset storage driver manager 720 includes a reuse asset searcher 721.
프로비저닝 요청 수신부 (710) 는 XML RPC (Remote Procedure Call) 을 이용하여 가상 클러스터의 구축 요청에서 가상 디스크에 대한 프로비저닝 요청을 수신한다. 이 때, 프로비저닝 요청 수신부 (710) 가 수신한 가상 디스크에 대한 프로비저닝 요청은 사용자가 생성 요청한 가상 클러스터의 가상 머신들에 설치된 소프트웨어 요구사항을 포함한다. 구체적으로, 가상 디스크에 대한 프로비저닝 요청은 가상 클러스터에 포함된 가상 머신의 개수, 가상 머신이 보유할 VCPU, 메모리, 가상 디스크 공간 등과 같은 가상 자원의 명세, 가상 머신의 시스템 및 응용 소프트웨어 및 설정 정보 등과 가상 클러스터의 시간, 공간 제약 사항 등을 포함한 가상 디스크 프로비저닝 요청이다. 프로비저닝 요청 수신부 (710) 는 수신된 가상 디스크 프로비저닝 요청을 파싱 (Parsing) 할 수 있다.The provisioning request receiver 710 receives a provisioning request for a virtual disk in a build request of a virtual cluster using an XML Remote Procedure Call (RPC). At this time, the provisioning request for the virtual disk received by the provisioning request receiving unit 710 includes a software requirement installed in the virtual machines of the virtual cluster requested by the user. Specifically, the provisioning request for the virtual disk may include the number of virtual machines included in the virtual cluster, specification of virtual resources such as VCPU, memory, virtual disk space, etc. to be held by the virtual machine, system and application software and configuration information of the virtual machine, and the like. A request for provisioning a virtual disk, including time and space constraints of the virtual cluster. The provisioning request receiver 710 may parse the received virtual disk provisioning request.
재사용 자산 저장소 드라이버 관리부 (720) 는 재사용에 필요한 자산을 등록, 갱신하기 위한 작업을 수행한다. 또한, 재사용 자산 저장소 드라이버 관리부 (720) 는 재사용 자산 검색부 (721) 를 포함하여, 재사용 자산 검색부 (721) 를 통해 재사용 자산을 검색한다.The reuse asset repository driver manager 720 performs a task for registering and updating assets required for reuse. In addition, the reuse asset storage driver manager 720 includes a reuse asset searcher 721 to search for reused assets through the reuse asset searcher 721.
재사용 자산 검색부 (721) 는 프로비저닝 요청에 대응하여 재사용 자산 저장소 (800) 에 저장된 자산 중 재사용 가능한 자산을 검색한다. 여기서, 재사용 자산 저장소 (800) 란, 재사용에 요구되는 모든 소프트웨어의 산출물을 저장하는 저장소이다. 예를 들어, 재사용 자산 저장소 (800) 는 가상 클러스터의 특징모델, 명세서, 가상 디스크 생성 절차 명세서, 소프트웨어가 설치된 가상 디스크, 가상 디스크에 설치된 소프트웨어, 소프트웨어의 설치 프로그램 (Installer) 및 소프트웨어의 설정 프로그램 (Configurator), 저장한 소프트웨어의 이름 정보, 버전 정보, 아키텍처 정보, 설치자 정보 및 설정자 정보를 저장한다. 재사용 자산 저장소 (300) 는 가상 디스크의 메타 정보와 연관된 해시 함수 (Hash Fuction) 에 기초하여 생성된 식별자 값을 바탕으로 자산을 검색할 수 있도록 한다. The reuse asset retrieval unit 721 retrieves the reusable asset among the assets stored in the reuse asset storage 800 in response to the provisioning request. Here, the reuse asset store 800 is a store that stores the outputs of all the software required for reuse. For example, the reusable asset store 800 may include a feature model of a virtual cluster, a specification, a description of a virtual disk creation procedure, a virtual disk on which the software is installed, software installed on the virtual disk, an installer of the software, and a setup program of the software ( Configurator), name information of the stored software, version information, architecture information, installer information, and configurator information. The reuse asset store 300 enables retrieval of an asset based on an identifier value generated based on a hash function associated with the meta information of the virtual disk.
구체적으로, 재사용 자산 검색부 (721) 는 하나 이상의 가상 머신을 포함하는 가상 클러스터의 특징모델을 기초로 재사용 가능한 가상 디스크와 새롭게 설치하여 생성해야 하는 가상 디스크를 분석하기 위해 재사용 가상 디스크를 검색한다. 여기서, 특징모델이란, 시스템 소프트웨어 및 응용 소프트웨어의 이름, 버전, 설치될 패키지 또는 모듈에 따른 분류 및 사용할 명령어 집합에 따른 아키텍쳐 (Architecture) 를 포함하여, 가상 디스크의 소프트웨어 구성 요소를 표현하고, 소프트웨어 사이에서의 의존성을 표현한 트리 형식의 모델이다.In detail, the reuse asset retrieval unit 721 searches for the reused virtual disk to analyze the reusable virtual disk and the virtual disk to be newly installed and created based on the feature model of the virtual cluster including one or more virtual machines. Here, the feature model represents a software component of a virtual disk, including the name, version of the system software and application software, the classification according to the package or module to be installed, and the architecture according to the instruction set to be used. This is a tree model that expresses dependencies on.
명세서 작성부 (730) 는 재사용 자산 검색부 (721) 로부터 재사용 가능한 자산이 검색될 경우, 검색된 재사용 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성한다. 여기서, 명세서는 RAS에 소프트웨어간의 의존성에 대한 정보를 표현하기 위해 소프트웨어 구성 요소를 추가하여 재사용 가능한 자산의 표준화된 명세 방법에 따라 작성된 문서이다. 명세서는 가상 디스크가 저장된 경로, 사용하는 방법, 가상 디스크의 생성 절차 및 연관된 자산 등의 정보 즉, 소프트웨어의 이름 정보, 버전 정보, 아키텍처 정보, 설치자 정보 및 설정자 정보 등을 포함한다.When the reusable asset is retrieved from the reuse asset retrieval unit 721, the specification preparer 730 creates a specification for creating a virtual disk using the retrieved reusable asset. Here, the specification is a document written according to a standardized specification method of reusable assets by adding software components to express information about dependencies between software in RAS. The specification includes information such as the path in which the virtual disk is stored, how to use it, a procedure for creating the virtual disk, and associated assets, namely software name information, version information, architecture information, installer information, installer information, and the like.
명세서 작성부 (730) 는 재사용 자산 검색부 (721) 의 검색 결과에 따라 명세서를 작성한다. 구체적으로, 명세서 작성부 (730) 는 재사용 자산 검색부 (721) 로부터 재사용 가능한 자산이 검색될 경우, 검색된 재사용 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성할 수 있다. 즉, 명세서 작성부 (730) 는 재사용 가능한 가상 디스크를 기반으로 그대로 복제하거나 추가적인 응용 소프트웨어를 설치하여 생성하는 명세서를 생성한다. 따라서, 명세서 작성부 (730) 는 재사용할 가상 디스크를 복제하고, 필요한 응용 소프트웨어를 설치한 뒤 설정하는 절차를 명세서에 작성한다. 복제해야할 가상 디스크는 재사용 자산 검색부 (721) 에 의해 분석되어 해시 함수를 이용해 획득한 정수형 식별자로 검색된다.The specification preparer 730 creates a specification according to a search result of the reuse asset searcher 721. In detail, when the reusable asset is retrieved from the reuse asset retrieval unit 721, the specification creation unit 730 may create a specification for creating a virtual disk using the retrieved reuse asset. That is, the specification generator 730 generates a specification that is generated based on the reusable virtual disk as it is or by installing additional application software. Therefore, the specification creation unit 730 creates a procedure for duplicating the virtual disk to be reused, installing the necessary application software, and setting the specification. The virtual disk to be cloned is analyzed by the reuse asset retrieval unit 721 and retrieved by the integer identifier obtained using the hash function.
명세서 작성부 (730) 는 가상 클러스터의 형태에 따라 메타 데이터를 생성할 수 있다. 구체적으로, 명세서 작성부 (730) 는 병합형 가상 클러스터를 프로비저닝하기 위한 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성할 수 있다. 이 때, 제2 병합형 메타 데이터는 시스템 소프트웨어의 명칭 및 버전 정보를 포함한다. 여기서, 병합형 가상 클러스터 디스크 프로비저닝이란, 가상 디스크를 소프트웨어 종류 별로 분류하고, 분류된 복수의 소프트웨어를 병합하여 가상 클러스터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 즉, 병합형 가상 디스크는 각각의 소프트웨어가 독립된 각각의 가상 디스크 형태로 존재한다. The specification generator 730 may generate metadata according to the form of the virtual cluster. In detail, the specification generator 730 may generate first merged metadata corresponding to system software for provisioning a merged virtual cluster and second merged metadata corresponding to application software. In this case, the second merged meta data includes name and version information of the system software. Here, the merged virtual cluster disk provisioning refers to provisioning capable of classifying virtual disks by software type and merging the classified plurality of software and providing the virtual disks to virtual machines of the virtual cluster. That is, the merged virtual disk exists in the form of each virtual disk in which each software is independent.
또한, 명세서 작성부 (730) 는 통합형 가상 클러스터를 프로비저닝 하기 위한 시스템 소프트웨어 및 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성할 수 있다. 통합형 가상 클러스터 디스크 프로비저닝이란, 복수의 소프트웨어를 통합하여 하나의 소프트웨어 처럼 가상 클러서터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 즉, 통합형 가상 디스크는 모든 소프트웨어를 통합하여 하나의 소프트웨어가 설치된 하나의 가상 디스크 형태로 존재한다.In addition, the specification generator 730 may generate integrated metadata, which is one metadata for system software and application software for provisioning an integrated virtual cluster. Integrated virtual cluster disk provisioning refers to provisioning that can integrate multiple software and provide it to a virtual machine in a virtual cluster like a single piece of software. That is, the integrated virtual disk exists in the form of one virtual disk in which all the software is integrated and one software is installed.
가상 디스크 생성부 (740) 는 명세서를 기초하여, 가상 디스크를 생성한다. 구체적으로, 가상 디스크 생성부 (740) 는 명세서에 포함된 메타 데이터를 기초로 복제를 통해 가상 디스크를 생성할 수 있다. 즉, 가상 디스크 생성부 (740) 는 제1 병합형 메타 데이터 및 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성할 수 있다. 또한, 가상 디스크 생성부 (740) 는 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성할 수 있다. 다양한 실시예에 따라, 생성된 가상 디스크를 포함한 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우, 적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유할 수 있다. 예를 들어, 공유되는 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장될 수 있다.The virtual disk generating unit 740 generates a virtual disk based on the specification. In detail, the virtual disk generator 740 may generate a virtual disk through duplication based on metadata included in the specification. That is, the virtual disk generator 740 may generate each virtual disk based on the first merged metadata and the second merged metadata. In addition, the virtual disk generator 740 may generate one virtual disk based on the integrated metadata. According to various embodiments, when the plurality of virtual machines including the created virtual disks include at least one overlapping software, the at least two virtual machines may share the first disk including the overlapping software. For example, a shared first disk may be read only, and files required to be written may be stored on separate second disks of each virtual machine.
도 10을 참조하면, 재사용 자산 저장소 (800) 는 재사용 자산 저장소 요청 수신부 (810), 재사용 자산 저장소 관리부 (820) 를 포함한다. 여기서, 재사용 자산 저장소 관리부 (820) 는 재사용 자산 등록부 (821), 재사용 자산 업데이트부 (822), 재사용 자산 삭제부 (823) 및 재사용 자산 접속부 (824) 를 포함한다. Referring to FIG. 10, the reuse asset store 800 includes a reuse asset store request receiver 810 and a reuse asset store management unit 820. Here, the reuse asset storage management unit 820 includes a reuse asset registration unit 821, a reuse asset update unit 822, a reuse asset deletion unit 823, and a reuse asset connection unit 824.
재사용 자산 저장소 (800) 는 재사용 가능한 가상 디스크의 소프트웨어를 분석하는 재사용 기반의 가상 클러스터 구축 장치 (700) 의 재사용 자산 검색부 (721) 와 생성할 가상 디스크들의 생성 절차 및 사용하는 자산을 명세하는 명세서 작성부 (730) 에 의해 사용된다. 또한, 새로운 종류의 가상 디스크가 생성되었을 경우에 재사용 자산 저장소 (800) 는 가상 디스크 생성부 (740) 에 의해 자동 생성된 명세서를 등록한다. 재사용 자산 저장소 (800) 는 저장된 자산을 관리할 수 있으므로 재사용 기반의 가상 클러스터 구축 장치 (700) 가 재사용 자산 저장소 (800) 에 접근하기 위한 드라이버를 관리하는 재사용 자산 저장소 드리이버 관리부 (720) 를 통해 접근하도록 한다. Reusable asset storage 800 is a specification that specifies the asset to be used and the creation procedure of the virtual disks to be created and the reuse asset search unit 721 of the reuse-based virtual cluster building apparatus 700 for analyzing the software of the reusable virtual disk It is used by the creation unit 730. In addition, when a new type of virtual disk is created, the reuse asset store 800 registers a specification automatically generated by the virtual disk generating unit 740. Since the reuse asset store 800 may manage stored assets, the reuse-based virtual cluster building device 700 accesses through the reuse asset store driver managing unit 720 that manages a driver for accessing the reuse asset store 800. Do it.
재사용 자산 저장소 요청 수신부 (810) 는 재사용 자산 저장소 (800) 내부적으로 자산을 관리하기 위한 모든 요청 사항을 수신한다. 구체적으로, 재사용 자산 저장소 요청 수신부 (810) 는 재사용 자산 등록부 (821) 를 통해 자산을 추가하고, 재사용 자산 업데이트부 (822) 를 통해 자산을 갱신하며, 재사용 자산 삭제부 (823) 를 통해 자산을 삭제할 요청 사항을 수신하는 XML RPC 기반의 서버이다. 모든 요청은 재사용 자산 저장소 관리부 (820) 에 의해 처리된다. 재사용 자산 탐색부 (824) 는 재사용 자산 저장소 관리부 (820) 가 자산의 정수형 ID 값을 기반으로 재사용 가능한 가상 디스크가 존재하는지 검색을 요청하였을 경우, 재사용 자산 메타 데이터베이스 (900) 를 통해 복제 가능한 가상 디스크를 검색한다.The reuse asset store request receiver 810 receives all requests for managing assets internally in the reuse asset store 800. Specifically, the reuse asset storage request receiving unit 810 adds an asset through the reuse asset registering unit 821, updates the asset through the reuse asset updating unit 822, and updates the asset through the reuse asset deleting unit 823. An XML RPC-based server that receives requests for deletion. All requests are processed by the reuse asset repository management unit 820. When the reuse asset retrieval unit 824 requests a retrieval of the existence of a reusable virtual disk based on the integer ID value of the asset, the reusable asset retrieval unit 824 can replicate the virtual disk through the reusable asset meta database 900. Search for.
재사용 자산 메타 데이터베이스 (900) 는 재사용 자산 저장소 (800) 에서 관리하며, 단순한 스키마 구조를 지닌다. 스키마 구조에는 ID, Name, Type이 구성되어 있다. 여기서, ID는 재사용 가능한 자산의 정수형 식별자로, 가상 디스크의 경우 해당 정수형 ID값을 바탕으로 가상 디스크의 소프트웨어 위치 정보가 담긴 명세서가 검색된다. 또한, Name은 자산의 이름으로, 각 자산이 포함한 소프트웨어 구성 요소 또는 기능을 기반으로 생성되어 등록된다. Type은 자산의 종류 즉, 통합형 가상 디스크 및 병합형 가상 디스크, 소프트웨어 설치 프로그램 및 설정 프로그램이 존재한다. The reuse asset meta database 900 is managed in the reuse asset repository 800 and has a simple schema structure. The schema structure consists of ID, Name, and Type. Here, ID is an integer identifier of a reusable asset. In the case of a virtual disk, a specification containing software location information of the virtual disk is searched based on the corresponding integer ID value. In addition, Name is the name of the asset, and is generated and registered based on the software components or functions included in each asset. Type is an asset type, that is, an integrated virtual disk and a merged virtual disk, a software installer, and a configuration program.
이에 따라, 재사용 기반의 가상 클러스터 구축 장치 (700) 는 재사용 자산 저장소에 저장된 자산을 관리하고, 필요한 자산의 검색을 통해 검색된 자산에 기초하여 가상 디스크를 생성함으로써, 가상 디스크 프로비저닝을 보다 빠르게 수행할 수 있다.Accordingly, the reuse-based virtual cluster building apparatus 700 manages the assets stored in the reused asset storage, and creates a virtual disk based on the retrieved assets by searching for the necessary assets, thereby enabling faster virtual disk provisioning. have.
도 11은 본 발명의 실시예에 따른 자산 검색부를 설명하기 위한 예시적인 블록도이다. 설명의 편의를 위해 도 10의 구성요소들과 도면 부호를 참조하여 설명한다.11 is an exemplary block diagram illustrating an asset search unit according to an embodiment of the present invention. For convenience of description, the components of FIG. 10 and reference numerals will be described.
도 11을 참조하면, 재사용 기반의 가상 클러스터 구축 장치 (700) 는 가상 디스크 프로비저닝 개시부 (750), 가상 디스크 프로비저닝 프로세스 실행부 (760), 가상 디스크 프로비저닝 태스크 전달부 (770), 가상 디스크 프로비저닝 태스크 실행부 (780) 를 더 포함할 수 있다. 재사용 자산 검색부 (721) 는 재사용 자산 검색 태스크 수행부 (721a), 가상 디스크 자산 검색부 (721b), 자산 검색 결과 생성부 (721c) 및 접근 드라이버 관리부 (721d) 를 포함한다.Referring to FIG. 11, the reuse-based virtual cluster building apparatus 700 may include a virtual disk provisioning initiation unit 750, a virtual disk provisioning process execution unit 760, a virtual disk provisioning task delivery unit 770, and a virtual disk provisioning task. The execution unit 780 may further include. The reuse asset search unit 721 includes a reuse asset search task performer 721a, a virtual disk asset search unit 721b, an asset search result generator 721c, and an access driver manager 721d.
가상 디스크 프로비저닝 프로세스 실행부 (760) 는 가상 디스크 프로비저닝 개시부 (750) 를 통해 스레드 형태로 재사용 자산 검색 태스크를 생성한다. 즉, 가상 디스크 프로비저닝 프로세스 수행부 (760) 는 가상 디스크 프로비저닝 개시부 (750) 를 통해 생성된 재사용 자산 검색 태스크 실행부의 인스턴스 레퍼런스 (Instance Reference) 를 획득하여, 생성한 재사용 자산 검색 태스크의 수행을 재사용 자산 검색 태스크 수행부 (721a) 에 요청할 수 있다. 본래 가상 디스크 프로비저닝 프로세스 실행부 (760) 는 가상 디스크 분석 과정을 거쳐야만 재사용 자산 검색 태스크를 생성할 수 있다. 재사용 자산 검색 태스크 객체는 가상 디스크 분석을 통해 분석된 가상 디스크의 특징모델과 고유한 태스크의 ID, 초기 태스크의 상태, 가상 디스크 프로비저닝을 요청한 사용자의 ID 값을 포함하여 생성된다. 생성된 재사용 자산 검색 태스크는 가상 디스크 프로비저닝 프로세스 실행부 (760) 에 존재하는 태스크 버퍼 (Buffer) 에 추가된다. 추가된 태스크 버퍼는 가상 디스크 프로비저닝 태스크 전달부 (770) 에 의해 주기적으로 크기가 확인되며, 하나 이상의 재사용 자산 검색 태스크가 존재할 경우, 재사용 자산 검색 태스크를 가상 디스크 프로비저닝 태스크 실행부 (780) 를 통해 재사용 자산 검색 태스크 수행부 (721a) 로 전달한다. The virtual disk provisioning process execution unit 760 generates a reuse asset retrieval task in a thread form through the virtual disk provisioning initiation unit 750. That is, the virtual disk provisioning process execution unit 760 acquires an instance reference of the reused asset retrieval task execution unit generated through the virtual disk provisioning initiation unit 750, and reuses the execution of the generated reusable asset retrieval task. The asset search task performer 721a may be requested. Originally, the virtual disk provisioning process execution unit 760 may generate the reuse asset retrieval task only through the virtual disk analysis process. The reusable asset retrieval task object is created including the feature model of the virtual disk analyzed through virtual disk analysis, the unique task ID, the initial task status, and the ID value of the user who requested the virtual disk provisioning. The generated reuse asset retrieval task is added to a task buffer existing in the virtual disk provisioning process execution unit 760. The added task buffer is periodically checked by the virtual disk provisioning task delivery unit 770 and, if one or more reusable asset retrieval tasks exist, reuse the reusable asset retrieval task through the virtual disk provisioning task execution unit 780. Transfer to asset search task execution unit 721a.
재사용 자산 검색 태스크 수행부 (721a) 는 수신된 재사용 자산 검색 태스크 객체를 저장하기 위해 내부적으로 태스크 버퍼를 포함하며, 주기적으로 태스크 버퍼의 크기를 확인한다. 재사용 자산 검색 태스크 수행부 (721a) 는 재사용 자산 검색 태스크가 초기 요청 상태일 경우, 'SearchingReusableAsset' 메소드 (Method) 를 이용하여 가상 클러스터 특징모델 중 재사용 가능한 가상 디스크를 분석하기 위한 작업을 가상 디스크 자산 검색부 (721b) 에 지시한다. 또한, 재사용 자산 검색 태스크 수행부 (721a) 는 가상 디스크 자산 검색부 (721b) 에 의해 분석된 재사용 가능한 가상 디스크의 정보와 새롭게 설치하여 생성하는 가상 디스크의 정보를 포함하여 JSON 기반의 최종 결과물을 'generate-FinalTaskResult' 메소드를 이용하여 생성한다. 또한, 재사용 자산 검색 태스크 수행부 (721a) 는 재사용 자산 검색이 종료된 재사용 자산 검색 태스트의 ID 값을 가상 디스크 프로비저닝 프로세스 실행부 (760) 로 전달한다.The reuse asset retrieval task performing unit 721a includes a task buffer internally to store the received reusable asset retrieval task object, and periodically checks the size of the task buffer. The reusable asset retrieval task execution unit 721a uses the 'SearchingReusableAsset' method (Method) when the reusable asset retrieval task is in the initial request state to perform a retrieval operation of the virtual disk asset among the virtual cluster feature models. Instructing section 721b. In addition, the reusable asset retrieval task performing unit 721a may include the reusable virtual disk information analyzed by the virtual disk asset retrieval unit 721b and the final result based on JSON, including information on the newly installed and created virtual disk. Generate it using generate-FinalTaskResult 'method. In addition, the reuse asset retrieval task execution unit 721a transmits the ID value of the reusable asset retrieval task whose reusable asset retrieval is completed to the virtual disk provisioning process execution unit 760.
가상 디스크 자산 검색부 (721b) 는 재사용 자산 검색 태스크에 존재하는 가상 클러스터 특징모델 문서가 저장된 위치와 각 가상 클러스터 특징모델 문서에 해당하는 가상 디스크가 필요한 개수 정보를 바탕으로 재사용 가능한 가상 디스크가 존재하는지 분석하는 역할을 수행한다. 재사용 가능한 가상 디스크가 존재하는지 분석하기 위해서 가상 디스크 자산 검색부 (721b) 는 가상 클러스터 특징 문서에 해시 함수를 적용하여 고유한 정수형 ID를 생성한다. 해시 함수는 C++의 Standard Library인 'funtional' 에 포함되어 있는 해시 함수인 'hash_fn' 을 사용하였다. 재사용 저장소 (800) 의 재사용 자산 저장소 관리부 (820) 에서 관리하는 모든 재사용 가능한 가상 디스크는 각각의 가상 클러스터 특징모델 문서에 해시 함수를 적용하여 생성된 정수형 ID 값을 바탕으로 저장된다. 만약 사용자가 재사용 자산 저장소 (800) 에 존재하지 않은 새로운 종류의 가상 디스크를 요청하였다면, 가상 디스크 생성부 (740) 에 의해 가상 디스크가 생성된 후, 접근 드라이버 관리부 (721d) 를 통해 재사용 자산 저장소 (800) 에 추가해야 할 수 있다. 새로운 종류의 가상 디스크를 추가하기 위한 과정에서도 설치된 소프트웨어 구성 요소가 포함된 가상 클러스터 특징모델을 기반으로 추가될 가상 디스크의 정수형 ID가 필요할 수 있다. 따라서, 가상 디스크 자산 검색부 (721b) 는 재사용 자산 저장소 (800) 에서 찾고자 하는 재사용 가능한 가상 디스크가 존재하지 않을 경우, 새로운 종류의 가상 디스크라고 판단하여 해당 가상 디스크의 정수형 식별자를 재사용 자산 저장소 (800) 에 자동으로 추가하는 기능을 지닌다. 가상 디스크 자산 검색부 (721b) 가 재사용 자산 저장소 (800) 에 접근할 경우에, 가상 디스크 자산 검색부 (721b) 는 접근 드라아버 관리부 (721d) 를 통해 재사용 자산 저장소 (300) 에 접근한다.The virtual disk asset search unit 721b determines whether a reusable virtual disk exists based on the location where the virtual cluster feature model document existing in the reusable asset search task is stored and the number of information required for the virtual disk corresponding to each virtual cluster feature model document. Perform the role of analysis. To analyze whether a reusable virtual disk exists, the virtual disk asset retrieval unit 721b applies a hash function to the virtual cluster feature document to generate a unique integer ID. The hash function uses the hash function 'hash_fn' which is included in the C ++ Standard Library 'funtional'. All reusable virtual disks managed by the reuse asset storage management unit 820 of the reuse storage 800 are stored based on an integer ID value generated by applying a hash function to each virtual cluster feature model document. If the user requests a new kind of virtual disk that does not exist in the reuse asset storage 800, after the virtual disk is created by the virtual disk generating unit 740, the reuse asset storage ( May need to be added. The process of adding a new kind of virtual disk may also require an integer ID of the virtual disk to be added based on a virtual cluster feature model that includes installed software components. Therefore, when there is no reusable virtual disk to be searched for in the reused asset store 800, the virtual disk asset search unit 721b determines that it is a new type of virtual disk and uses the integer identifier of the corresponding virtual disk as the reused asset store 800. ) Is added automatically. When the virtual disk asset retrieval unit 721b accesses the reused asset store 800, the virtual disk asset retrieval unit 721b accesses the reused asset store 300 through the access driver management unit 721d.
가상 디스크 자산 검색부 (721b) 는 가상 클러스터 특징모델을 바탕으로 재사용 가능한 가상 디스크를 분석하기 위해 사용자가 요청한 가상 디스크의 유형을 고려한다. 만약 사용자가 요청한 가상 디스크가 가상 클러스터에 포함된 가상 머신들이 공유하는 가상 디스크의 유형일 경우, 재사용 가능한 가상 디스크는 서로 병합하여 가상 머신에 제공할 수 있는 형태여야 한다. 즉, 가상 디스크 자산 검색부 (721b) 는 가상 클러스터에 포함된 각각의 소프트웨어를 포함하는 각각의 가상 디스크를 검색해야 한다. 반대로, 가상 디스크 자산 검색부 (721b) 는 가상 클러스터에 포함된 가상 머신이 서로 개별적인 가상 디스크를 요청하였다면, 하나의 가상 디스크에 모든 시스템 및 응용 소프트웨어 설치된 가상 디스크를 검색해야 한다. 뿐만 아니라, 가상 디스크 자산 검색부 (721b) 는 사용자가 요청한 시스템 소프트웨어가 수정될 수 있는지 판단한 후, 검색을 수행해야 한다. 왜냐하면 첫 번째로 기술적으로 수정이 불가능한 시스템 소프트웨어가 존재하기 때문이며, 두 번째로 이 경우 생성 되어야 할 가상 디스크의 모든 소프트웨어 구성 요소들과 정확히 일치하는 가상 디스크가 존재하는지 여부를 판단해야하기 때문이다. 예를 들어, Windows 시스템 운영체제가 설치된 가상 디스크는 복제 후 추가적인 응용 소프트웨어를 설치하는 것이 불가능하다. 만약 사용자가 요청한 가상 클러스터의 가상 디스크가 Windows 시스템 운영체제를 사용하고 있다면, 가상 디스크 자산 검색부 (721b) 는 해당 하는 가상 디스크와 동일한 특징을 지닌 가상 디스크를 검색한다. The virtual disk asset searching unit 721b considers the type of virtual disk requested by the user to analyze the reusable virtual disk based on the virtual cluster feature model. If the virtual disk requested by the user is a type of virtual disk shared by the virtual machines included in the virtual cluster, the reusable virtual disks should be merged with each other and provided to the virtual machine. That is, the virtual disk asset retrieval unit 721b must search for each virtual disk including each software included in the virtual cluster. On the contrary, if the virtual machines included in the virtual cluster have requested virtual disks which are separate from each other, the virtual disk asset search unit 721b should search the virtual disks installed with all system and application software in one virtual disk. In addition, the virtual disk asset searching unit 721b needs to perform a search after determining whether the system software requested by the user can be modified. This is because, firstly, there is technically immutable system software, and secondly, it is necessary to determine whether there is a virtual disk that exactly matches all the software components of the virtual disk to be created. For example, a virtual disk with a Windows system operating system cannot be installed after cloning. If the virtual disk of the virtual cluster requested by the user uses the Windows system operating system, the virtual disk asset searching unit 721b searches for a virtual disk having the same characteristics as the corresponding virtual disk.
가상 디스크 자산 검색부 (721b) 는 재사용 자산 저장소 (800) 에서 찾고자 하는 가상 디스크의 정수형 ID값을 기반으로 재사용 자산 메타 데이터베이스 (900) 에서 동일한 ID값과 가상 디스크 유형을 가상 디스크를 검색한다. 만약 동일한 ID 값을 지닌 가상 디스크가 존재하다면, 재사용 자산 저장소 관리부 (820) 는 해당 가상 디스크의 ID 값을 다시 가상 디스크 자산 검색부 (721b) 에 반환하며, 만약 존재하지 않는다면 '-1' 값을 반환한다. 모든 가상 클러스터 특징모델에 대한 재사용 가능한 가상 디스크의 검색을 마쳤다면, 검색된 가상 디스크의 ID 값을 통합하여 재사용 자산 검색 태스크 수행부 (721a) 로 전달한다.The virtual disk asset search unit 721b searches the virtual disk for the same ID value and virtual disk type in the reuse asset meta database 900 based on the integer ID value of the virtual disk to be searched for in the reuse asset storage 800. If there is a virtual disk with the same ID value, the reuse asset storage management unit 820 returns the ID value of the virtual disk back to the virtual disk asset retrieval unit 721b. Returns. If the search for the reusable virtual disk is completed for all virtual cluster feature models, the ID value of the searched virtual disk is integrated and transferred to the reuse asset retrieval task execution unit 721a.
자산 검색 결과 생성부 (721c) 는 검색된 재사용 가능한 가상 디스크들의 ID값과 가상 클러스터 특징모델에 포함된 소프트웨어 정보를 재사용 자산 검색 태스크 수행부 (721a) 로부터 수신한다. 이어서, 자산 검색 결과 생성부 (721c) 는 가상 클러스터의 특징모델 각각에 포함된 소프트웨어 구성 요소 정보와 가상 디스크 자산 검색부 (721b) 에 의해 검색된 재사용 가능한 가상 디스크의 ID값을 이용하여 재사용 자산 검색 결과 문서를 생성한다. 만약 가상 클러스터 특징모델 중 재사용 가능한 가상 디스크가 존재하였을 경우, 'ReusableVDisk_Info' 항목에 복제할 가상 디스크의 ID 값과 포함된 소프트웨어 구성 요소, 가상 디스크의 유형 등의 정보를 생성한다. 반면에, 재사용 가능한 가상 디스크가 없을 경우, 'NewVDisk_Info' 항목에 새롭게 설치하여 생성할 가상 디스크의 정보를 생성한다. 일부의 소프트웨어만 재사용 가능할 경우, 'NewVDisk_Info' 항목에 해당 가상 디스크의 정보가 생성되며 해당 항목 내 'Depends_VDisk_ID' 요소로 일부 복제 가능한 가상 디스크의 ID 값이 추가된다. 가상 클러스터 특징모델의 모든 가상 디스크에 대한 재사용 가능한 디스크 분석의 최종 결과물은 JSON 기반의 문서로 생성된다. 최종적으로 각 가상 클러스터 특징모델을 기반으로 재사용 가능한 가상 디스크와 새롭게 설치해야 할 가상 디스크의 정보를 포함한 JSON 기반의 처리 결과 문서를 재사용 자산 검색 태스크 객체에 저장한 후, 완료된 태스크 ID값을 가상 디스크 프로비저닝 프로세스 실행부 (760) 에 반환한다.The asset search result generation unit 721c receives the ID values of the retrieved reusable virtual disks and the software information included in the virtual cluster feature model from the reuse asset search task execution unit 721a. Subsequently, the asset search result generation unit 721c uses the software component information included in each feature model of the virtual cluster and the ID value of the reusable virtual disk retrieved by the virtual disk asset search unit 721b. Create a document. If a reusable virtual disk exists in the virtual cluster feature model, information on the ID value of the virtual disk to be replicated, the included software components, and the type of the virtual disk is created in the 'ReusableVDisk_Info' item. On the other hand, if there is no reusable virtual disk, information about the virtual disk to be newly installed and created is created in 'NewVDisk_Info'. If only some of the software is reusable, the information of the virtual disk is created in the 'NewVDisk_Info' item, and the ID value of some cloneable virtual disk is added to the 'Depends_VDisk_ID' element in the item. The final result of reusable disk analysis for all virtual disks in the virtual cluster feature model is generated as a JSON-based document. Finally, based on each virtual cluster feature model, a JSON-based processing result document containing information on the reusable virtual disk and the newly installed virtual disk is stored in the reusable asset retrieval task object, and the completed task ID values are provisioned to the virtual disk. Return to process execution unit 760.
이에 따라, 재사용 기반의 가상 클러스터 구축 장치 (700) 는 기존에 동일한 가상 디스크를 생성하더라도 명세서 작성과 소프트웨어의 설치 및 설정을 반복했던 것과 달리 검색된 자산을 기초로 명세서를 작성하고, 검색된 자산과 작성한 명세서를 기초로 복제를 통해 가상 디스크를 생성함으로써 가상 디스크 프로비저닝 단계 및 시간을 축소시킨다.Accordingly, the reuse-based virtual cluster building apparatus 700 creates a specification based on the retrieved assets, unlike the repetition of creating the specification and installing and setting up the software even if the same virtual disk is previously created, and creates the specification based on the retrieved assets. By reducing the virtual disk provisioning step and time by creating a virtual disk through cloning based on.
*도 12는 본 발명의 실시예에 따라 재사용 기반의 가상 클러스터 구축 장치에 따른 재사용을 통한 가상 디스크 생성 절차를 도시한 것이다. 설명의 편의를 위해 도 10 및 도 11의 구성요소들과 도면 부호를 참조하여 설명한다.FIG. 12 illustrates a virtual disk creation procedure through reuse according to a virtual cluster building apparatus based on reuse according to an embodiment of the present invention. For convenience of description, the components of FIGS. 10 and 11 and the reference numerals will be described with reference.
프로비저닝 요청 수신부 (710) 는 하나 이상의 가상 머신에 대한 프로비저닝 요청을 수신한다 (S1210).The provisioning request receiver 710 receives a provisioning request for one or more virtual machines (S1210).
구체적으로, 프로비저닝 요청 수신부 (710) 는 복수의 가상 머신이 포함된 가상 클러스터에 대한 프로비저닝 요청을 수신한다. 이어서, 프로비저닝 요청 수신부 (710) 는 수신한 가상 디스크 프로비저닝 요청을 파싱할 수 있다. 이 때, 가상 클러스터의 가상 머신이 특정 물리 호스트에 배치가 가능한 상태여야 프로비저닝 요청을 파싱할 수 있다. 프로비저닝 요청은 OVF 표준을 따르는 XML 형태의 문서이며, 파싱된 결과는 재사용 기반의 가상 클러스터 구축 장치 (700) 에서 사용할 내부 자료구조로 생성된다. 또한, 프로비저닝 요청 수신부 (710) 는 파싱된 프로비저닝 요청에 존재하는 가상 클러스터의 가상 디스크를 생성할 수 있는지 판단한다. 판단할 수 있는 기준은 프로비저닝 요청에 명세된 가상 클러스터의 가상 디스크 크기를 기반으로 저장할 수 있는 공간이 존재하는지와 사용자에 의해 정의된 가상 디스크 사용 시점까지 프로비저닝이 가능한지의 여부를 판단한다. 이 과정을 수행하기 위해서는 가상 디스크를 저장할 수 있는 공유 저장소가 존재해야하며, 수행 결과는 가상 디스크 프로비저닝 가능 여부이다. In detail, the provisioning request receiver 710 receives a provisioning request for a virtual cluster including a plurality of virtual machines. Subsequently, the provisioning request receiver 710 may parse the received virtual disk provisioning request. In this case, the provisioning request can be parsed only when the virtual machine of the virtual cluster can be deployed to a specific physical host. The provisioning request is a document in XML format conforming to the OVF standard, and the parsed result is generated as an internal data structure to be used by the reuse-based virtual cluster building apparatus 700. In addition, the provisioning request receiver 710 determines whether a virtual disk of a virtual cluster existing in the parsed provisioning request can be generated. The criterion that can be determined is whether there is space to store based on the virtual disk size of the virtual cluster specified in the provisioning request and whether provisioning is possible up to the point of use of the virtual disk defined by the user. In order to perform this process, a shared storage for storing virtual disks must exist and the result is whether virtual disk provisioning is possible.
이어서, 자산 검색부 (721) 는 프로비저닝 요청에 대응하여 재사용 자산 저장소에 저장된 자산 중 재사용 가능한 자산을 검색한다 (S1220).Subsequently, the asset search unit 721 searches for a reusable asset among the assets stored in the reuse asset storage in response to the provisioning request (S1220).
구체적으로, 자산 검색부 (721) 는 재사용 가능한 가상 디스크를 검색하기 위해 생성할 가상 디스크의 XML 기반 가상 클러스터 특징모델 문서에 해시 함수를 적용하여 생성된 정수형 ID를 이용한다. 자산 검색부 (721) 는 XML RPC 서버인 재사용 자산 저장소 요청 수신부 (810) 에 생성할 가상 클러스터 특징모델에 기반을 둔 정수형 ID에 해당하는 자산이 존재하는지 검색을 요청한다. 재사용 자산 저장소 요청 수신부 (810) 는 요청을 파싱하고, 재사용 자산 저장소 관리부 (820) 의 버퍼에 저장한다. 재사용 자산 저장소 관리부 (820) 는 만약 자산의 정수형 ID 값을 기반으로 재사용 가능한 가상 디스크가 존재하는지 검색을 요청하였다면, 재사용 자산 탐색부 (824) 는 재사용 자산 메타 데이터베이스 (900) 를 통해 복제 가능한 가상 디스크를 검색한다. 따라서, 재사용 자산 검색부 (721) 는 전달받은 재사용 가능한 가상 디스크 명세서에 명시된 복제 가능한 가상 디스크의 이름, 저장된 경로, 사용 시 존재하는 가변적 요소들을 파싱하게 된다.In detail, the asset search unit 721 uses an integer ID generated by applying a hash function to an XML-based virtual cluster feature model document of a virtual disk to be created to search for a reusable virtual disk. The asset retrieval unit 721 requests a retrieval of the asset corresponding to the integer ID based on the virtual cluster feature model to be generated in the reuse asset storage request receiving unit 810 which is an XML RPC server. The reuse asset store request receiver 810 parses the request and stores the request in a buffer of the reuse asset store management unit 820. If the reuse asset storage management unit 820 has requested the retrieval of the existence of a reusable virtual disk based on the integer ID value of the asset, the reuse asset retrieval unit 824 can replicate the virtual disk through the reuse asset meta database 900. Search for. Accordingly, the reuse asset retrieval unit 721 parses the name of the replicable virtual disk specified in the received reusable virtual disk specification, a stored path, and variable elements existing in use.
재사용 자산 검색부 (721) 는 명세서를 생성하기 위해서는 재사용 가능한 가상 디스크의 위치를 검색하거나 소프트웨어 설치 및 설정을 위한 자산 즉, 소프트웨어 설치 프로그램 및 소프트웨어 설정 프로그램을 검색해야 한다. 재사용 가능한 자산의 상세 사용 정보를 모두 명세서에 명세하고, 명세서를 재사용 자산 메타 데이터베이스 (900) 에 저장하여 관리한다. 자산의 검색 또한 찾고자 하는 자산의 종류에 따라 다른 키워드로 검색한다. 재사용 자산 검색부 (721) 는 재사용 가능한 가상 디스크의 명세서를 검색할 경우, 해당 가상 디스크의 특징모델에 해시함수을 적용시켜 생성된 정수형 ID 값으로 검색한다. 그러나 소프트웨어를 설치 프로그램 또는 소프트웨어 설정 프로그램을 검색할 경우, 재사용 자산 검색부 (721) 는 소프트웨어의 이름, 버전, 아키텍처 정보와 설치자 또는 설정자 정보를 기반으로 검색한다. 재사용 자산 저장소 요청 수신부 (810) 는 XML RPC 기반의 요청을 파싱한 뒤 재사용 자산 저장소 관리부 (820) 에게 자산의 검색을 요청한다. 재사용 자산 저장소 관리부 (820) 는 검색할 자산의 종류를 파악한 뒤, 재사용 자산 탐색부 (824) 를 통해 재사용 자산 메타 데이터베이스 (900) 에 접속하여 필요한 자산의 명세서를 검색하고, 검색한 명세서를 재사용 자산 저장소 드라이버 관리부 (720) 로 반환한다. In order to generate the specification, the reuse asset retrieval unit 721 must search for the location of the reusable virtual disk or search for assets for software installation and configuration, that is, software installation program and software configuration program. Detailed usage information of the reusable asset is specified in the specification, and the specification is stored in the reusable asset meta database 900 to be managed. Searching for assets also searches by different keywords depending on the type of asset you are looking for. When searching for the specification of the reusable virtual disk, the reuse asset searching unit 721 searches the integer ID value generated by applying a hash function to the feature model of the virtual disk. However, when the software is searched for an installation program or a software setting program, the reuse asset search unit 721 searches for the software based on the name, version, architecture information, and installer or setter information of the software. The reuse asset store request receiving unit 810 parses an XML RPC based request and requests a retrieval asset store management unit 820 to retrieve an asset. After reusing asset storage management unit 820 identifies the type of asset to be retrieved, accesses reusable asset meta database 900 through reusable asset searcher 824 to retrieve the specification of necessary assets, and uses the retrieved statement to reuse assets. Return to the storage driver management unit 720.
이어서, 명세서 작성부 (730) 는 재사용 가능한 자산이 검색될 경우, 검색된 재사용 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성한다 (S1230).Subsequently, when the reusable asset is searched, the specification creating unit 730 creates a specification for generating a virtual disk using the retrieved reused asset (S1230).
구체적으로, 명세서 작성부 (730) 는 생성할 가상 디스크의 생성 절차 및 사용하는 자산을 명세한다. 여기서, 명세서는 모든 재사용 가능한 자산의 메타 정보와 사용 방법을 명세한 문서로서, OMG (Object Management Group) 의 RAS (Reusable Asset Specification) 을 사용한다. RAS는 재사용 가능한 자산에 포함된 Artifact의 위치, 사용 방법을 포함하는 자산 명세 방법이다. 즉, 명세서는 RAS를 기반으로 작성된다. 따라서, 명세서 작성부 (730) 에 의해 생성된 명세서를 기초로 가상 디스크가 생성된다. 명세서는 생성된 가상 디스크가 저장된 위치 정보를 포함하여 다시 재사용 자산 저장소 (800) 에 저장될 수도 있다. 또한, 명세서는 재사용 자산 저장소 (800) 에 의해 관리된다.Specifically, the specification creation unit 730 specifies the creation procedure of the virtual disk to be created and the assets to be used. Here, the specification is a document specifying meta information of all reusable assets and a method of use, and uses the Reusable Asset Specification (RAS) of the Object Management Group (OMG). RAS is an asset specification method that includes the location and use of artifacts contained in reusable assets. In other words, the specification is based on RAS. Therefore, the virtual disk is created based on the specification generated by the specification generator 730. The specification may be stored in the reuse asset store 800 again, including the location information where the generated virtual disk is stored. In addition, the specification is managed by the reuse asset repository 800.
명세서는 다양한 가상 디스크의 생성에 있어서 활용될 수 있도록 XML 문서로 작성된다. 재사용 가능한 자산이 검색될 경우, 명세서 작성부 (730) 는 유한 정수형 식별자 값을 이용해 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 이용해 명세서를 작성한다. The specification is written in XML documents to be utilized in the creation of various virtual disks. When a reusable asset is found, the specification generator 730 searches for a location where an existing virtual disk is stored using a finite integer identifier value and creates a specification using an asset to be set by duplicating.
이 때, 명세서 작성부 (730) 는 생성할 가상 디스크를 포함하는 가상 클러스터의 형태 즉, 병합형 가상 클러스터 또는 통합형 가상 클러스터에 따라 메타 데이터를 생성할 수 있다. 구체적으로, 병합형 가상 클러스터를 프로비저닝하기 위해서 명세서 작성부 (730) 는 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성한다. 또한, 통합형 가상 클러스터를 프로비저닝하기 위해서 명세서 작성부 (730) 는 시스템 소프트웨어 및 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성한다.In this case, the specification creation unit 730 may generate metadata according to a form of a virtual cluster including a virtual disk to be generated, that is, a merged virtual cluster or an integrated virtual cluster. Specifically, in order to provision the merged virtual cluster, the specification generator 730 generates first merged metadata corresponding to the system software and second merged metadata corresponding to the application software. In addition, in order to provision the integrated virtual cluster, the specification generator 730 generates integrated metadata, which is one metadata about system software and application software.
이어서, 가상 디스크 생성부 (740) 는 명세서를 기초하여, 가상 디스크를 생성한다 (S1240).Subsequently, the virtual disk generating unit 740 generates a virtual disk based on the specification (S1240).
가상 디스크 생성부 (740) 는 재사용 가능한 가상 디스크를 복제하여 새로운 가상 디스크를 생성하기 때문에 가상 디스크의 생성에 필요한 자산이 저장된 재사용 자산 저장소 (800) 가 필요하다. 또한, 생성된 가상 디스크가 가상 머신 구동 시에 사용될 수 있도록 공유 저장소가 필요하다. 가상 디스크 생성부 (740) 는 명세서에 명세된 순서대로 정의된 소프트웨어 설치 프로그램 및 설정 프로그램을 이용하여 가상 디스크를 생성하고 설정한다. Since the virtual disk generator 740 creates a new virtual disk by duplicating the reusable virtual disk, a reusable asset storage 800 for storing assets necessary for generating the virtual disk is required. In addition, shared storage is required so that the created virtual disk can be used when the virtual machine is running. The virtual disk generating unit 740 creates and sets a virtual disk using a software installation program and a setting program defined in the order specified in the specification.
가상 디스크 생성부 (740) 는 명세서 작성부 (730) 에서 생성된 메타 데이터를 기초로 가상 디스크를 생성할 수도 있다. 예를 들어, 가상 디스크 생성부 (740) 는 명세서 작성부 (730) 에서 생성된 제1 병합형 메타 데이터 및 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성할 수 있다. 이 때, 제2 병합형 메타 데이터는 시스템 소프트웨어의 명칭 빛 버전 정보를 포함한다. 또한, 가상 디스크 생성부 (740) 는 명세서 작성부 (730) 에서 생성된 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성한다.The virtual disk generator 740 may generate a virtual disk based on the metadata generated by the specification generator 730. For example, the virtual disk generator 740 may generate each virtual disk based on the first merged metadata and the second merged metadata generated by the specification generator 730. In this case, the second merged metadata includes the name light version information of the system software. In addition, the virtual disk generator 740 generates one virtual disk based on the integrated metadata generated by the specification generator 730.
추가적으로, 재사용 가능한 자산이 존재하지 않아 가상 디스크 생성부 (740) 가 복제가 아닌 설치를 통해 새로운 종류의 가상 디스크를 생성한 경우, 가상 디스크 생성부 (740) 는 자동으로 가상 디스크의 명세서를 생성할 수 있다. 또한, 가상 디스크 생성부 (740) 는 재사용 자산 저장소 (800) 에 생성된 가상 디스크의 ID, 이름, 종류, 명세서를 전달하여 자산을 관리하도록 한다. 가상 디스크의 ID 값은 해당 가상 디스크의 특징모델에 해시 함수를 적용시켜 생성된 정수형 식별자이다. 이름은 설치된 소프트웨어의 이름, 버전, 아키텍처 등의 정보를 포함한 이름을 의미한다. 가상 디스크의 ID, 이름, 종류, 명세서는 재사용 자산 저장소 요청 수신부 (810) 로 전달되며, 파싱 과정을 통해 재사용 자산 저장소 관리부 (820) 에 전달된다. 재사용 자산 저장소 관리부 (820) 는 재사용 자산 등록부 (821) 를 통해 재사용 자산 메타 데이터베이스 (900) 에 접속하여 생성된 가상 디스크의 명세서를 등록한다. 새로 생성된 가상 디스크를 재사용 가능한 형태의 자산화를 이루기 위해서는 반드시 가상 디스크의 위치 정보가 포함된 명세서를 작성한 뒤, 작성한 명세서를 재사용 자산 저장소 (800) 에 저장하여야 한다. Additionally, if the reusable asset does not exist and the virtual disk generator 740 creates a new kind of virtual disk through installation rather than cloning, the virtual disk generator 740 automatically generates a specification of the virtual disk. Can be. In addition, the virtual disk generating unit 740 manages the asset by transferring the ID, name, type, specification of the virtual disk created in the reuse asset storage 800. The ID value of the virtual disk is an integer identifier created by applying a hash function to the feature model of the virtual disk. The name means a name that contains information such as the name, version, and architecture of the installed software. The ID, name, type, and specification of the virtual disk are transferred to the reuse asset storage request receiver 810 and transmitted to the reuse asset storage management unit 820 through a parsing process. The reuse asset storage manager 820 registers a specification of the created virtual disk by accessing the reuse asset meta database 900 through the reuse asset register 821. In order to make the newly created virtual disk asset reusable, a specification including the location information of the virtual disk must be created, and the created specification must be stored in the reusable asset storage 800.
이에 따라, 재사용 기반의 가상 클러스터 구축 장치 (700) 는 재사용 가능한 자산을 재사용 자산 저장소 (800) 에 저장하여 점증적으로 늘어나는 가상 디스크의 재사용성을 관리한다. Accordingly, the reuse-based virtual cluster building apparatus 700 stores reusable assets in the reuse asset storage 800 to manage reusability of an increasing number of virtual disks.
도 13은 본 발명의 다른 실시예에 따라 가상 클러스터 특징모델을 기초로 재사용 가능한 자산에 식별자 값을 부여하는 과정을 도시화 한 것이다.FIG. 13 illustrates a process of assigning an identifier value to a reusable asset based on a virtual cluster feature model according to another embodiment of the present invention.
도 13을 참조하면, 재사용 기반의 가상 클러스터 구축 장치는 재사용 가능한 가상 디스크를 분석하기 위해서 가상 디스크가 지닌 소프트웨어 구성의 특징을 가상 클러스터 특징모델로 표현하고, 해시 함수를 통해 생성된 식별자 값 즉, 정수형 ID 값을 기준으로 재사용 가능한 가상 디스크를 관리한다. Referring to FIG. 13, the reuse-based virtual cluster building apparatus expresses a feature of the software configuration of the virtual disk as a virtual cluster feature model to analyze a reusable virtual disk, and generates an identifier value, that is, an integer type, through a hash function. Manage reusable virtual disks based on ID values.
도 13을 참조하면, 재사용 기반의 가상 클러스터 구축 장치는 가상 클러스터 특징모델 (1010) 에 시스템 소프트웨어 (1011) 로 Debian 8.0 Base 패키지를 포함하고, Hadoop 2.6.0인 제1 응용 소프트웨어 (1012) 와 OpenJDK 7.0인 제2 응용 소프트웨어 (1013) 를 포함하여 생성한다. 또한, 재사용 기반의 가상 클러스터 구축 장치는 가상 클러스터 특징모델 (1010) 을 기초로 XML 형태의 가상 클러스터 특징모델 문서 (1020) 를 생성한다. 이어서, 재사용 기반의 가상 클러스터 구축 장치는 가상 클러스터 특징모델 문서 (1020) 에 해시 함수를 적용하여 정수형 ID값 (1030) 인 '1956267503'을 생성한다. 여기서, 해시 함수는 C++의 Standard Library인 funtional에 포함되어 있는 해시 함수인 hash_fn을 사용한다. 재사용 기반의 가상 클러스터 구축 장치는 생성된 가상 클러스터 특징모델 문서 (1020) 의 정수형 ID값 (1030) 을 기반으로 재사용이 가능한 가상 디스크가 존재하는지 검색한다. 구체적으로, 재사용 기반의 가상 클러스터 구축 장치는 재사용 자산 저장소에서 정수형 ID값 (1030) 과 동일한 정수형 ID값을 지닌 가상 디스크가 존재하는지 검색한다. 추가적으로, 재사용 자산 저장소에 재사용이 가능한 가상 디스크가 존재하는 경우, 재사용 기반의 가상 클러스터 구축 장치는 재사용이 가능한 가상 디스크의 정수형 ID값, 가상 디스크에 포함된 소프트웨어 구성 요소, 가상 디스크의 유형 등의 데이터를 포함한 JSON 기반의 최종 결과 문서를 생성한다. 구체적으로, 재사용 기반의 가상 클러스터 구축 장치는 재사용 가능한 가상 디스크가 존재하였을 경우, 'Reusable Vdisk_Info' 항목에 복제할 가상 디스크의 ID 값과 소프트웨어의 구성 요소, 가상 디스크의 유형 등의 정보를 포함하여 문서를 생성한다. 반면에, 재사용 가능한 가상 디스크가 존재하지 않을 경우, 'NewVDisk_Info' 항목에 새롭게 설치하여 생성할 가상 디스크의 정보를 포함하여 문서를 생성한다. 만약, 일부의 소프트웨어만 재사용이 가능할 경우 'NewVDisk_Info' 항목에 해당 가상 디스크의 정보가 생성되며, 해당 항목 내 'Depends_Vdisk_ID' 요소로 일부 복제 가능한 가상 디스크의 ID 값도 포함하여 문서를 생성한다.Referring to FIG. 13, the reuse-based virtual cluster building apparatus includes the Debian 8.0 Base package as the system software 1011 in the virtual cluster feature model 1010, and the first application software 1012 and OpenJDK which are Hadoop 2.6.0. And the second application software 1013, which is 7.0. In addition, the reuse-based virtual cluster building apparatus generates a virtual cluster feature model document 1020 in XML format based on the virtual cluster feature model 1010. Subsequently, the reuse-based virtual cluster building apparatus generates a integer ID value 1030 '1956267503' by applying a hash function to the virtual cluster feature model document 1020. Here, the hash function uses hash_fn, which is a hash function included in funtional, a standard library of C ++. The reuse-based virtual cluster building apparatus searches whether a reusable virtual disk exists based on the integer ID value 1030 of the generated virtual cluster feature model document 1020. In detail, the reuse-based virtual cluster building apparatus searches whether a virtual disk having an integer ID value equal to the integer ID value 1030 exists in the reuse asset store. In addition, if a reusable virtual disk exists in the reusable asset repository, the reuse-based virtual cluster building device may provide data such as the integer ID value of the reusable virtual disk, the software component included in the virtual disk, and the type of the virtual disk. Generates a JSON-based final result document including. In detail, when a reusable virtual disk exists, the reuse-based virtual cluster building device includes information such as ID value of a virtual disk to be replicated, components of software, and type of virtual disk in the 'Reusable Vdisk_Info' item. Create On the other hand, if a reusable virtual disk does not exist, a document is created including information on the virtual disk to be newly installed and created in the 'NewVDisk_Info' item. If only a part of the software can be reused, the information of the virtual disk is created in 'NewVDisk_Info' item, and the document is created including the ID value of some cloneable virtual disk with 'Depends_Vdisk_ID' element in the item.
이에 따라, 재사용 기반의 가상 클러스터 구축 장치는 가상 클러스터 특징모델 문서에 정수형 ID값을 부여함으로써 동일한 가상 디스크를 복제하는 경우, 정수형 ID값을 기초로 기존에 생성된 가상 디스크의 자산을 검색하고, 검색된 결과에 따라 자산을 재사용하여 복제할 수 있도록 한다.Accordingly, when a reuse-based virtual cluster building apparatus duplicates the same virtual disk by assigning an integer ID value to a virtual cluster feature model document, the reuse-based virtual cluster building apparatus searches for an asset of a previously created virtual disk based on the integer ID value, Based on the results, the assets can be reused and replicated.
도 14는 본 발명의 다른 실시예에 따라 식별자 값을 기초로 명세서를 검색하는 과정을 도시화 한 것이다.14 illustrates a process of searching for a specification based on an identifier value according to another embodiment of the present invention.
도 14를 참조하면, 재사용 기반의 가상 클러스터 장치는 시스템 소프트웨어 (1111) 인 Debian 8.0, 제1 응용 소프트웨어 (1112) 인 Open JDK 7.0 및 제2 응용 소프트웨어 (1113) 인 Hadoop 2.6.0 이 설치된 가상 디스크 (1110) 에 대응하는 가상 디스크 프로비저닝 절차 및 가상 디스크의 자산을 명세한 문서인 명세서 (1140) 를 생성한다. 여기서, 명세서 (1140) 는 XML 형태의 문서로, 빈 가상 디스크 이미지 파일을 생성하고, 새로운 시스템 및 응용 소프트웨어를 설치하는 절차를 포함한다. 또한, 명세서 (1140) 는 생성된 가상 디스크를 향후에 재사용하기 위하여 재사용 자산 저장소 (1130) 에 저장하고, 생성된 가상 디스크를 필요한 개수만큼 복제하고, 복제된 가상 디스크에 소프트웨어를 설정하는 절차를 포함한다. 또한, 이미 재사용 자산 저장소 (1130) 에 저장된 가상 디스크의 특징모델을 기초로 가상 디스크를 복제하는 경우, 명세서 (1140) 는 빈 가상 디스크 이미지 파일을 생성하는 절차, 재사용 가능한 가상 디스크 내용을 복제하는 절차 및 생성된 가상 디스크를 필요한 개수만큼 복제 및 복제된 가상 디스크에 소프트웨어를 설정하는 절차를 포함한다. Referring to FIG. 14, a reuse-based virtual cluster device includes a virtual disk on which system software 1111, Debian 8.0, first application software 1112, Open JDK 7.0, and second application software 1113, Hadoop 2.6.0 are installed. Create a specification 1140, which is a document that specifies the virtual disk provisioning procedure and assets of the virtual disk corresponding to 1110. Here, the specification 1140 is a document in an XML form, and includes a procedure of creating an empty virtual disk image file and installing a new system and application software. In addition, the specification 1140 includes a procedure for storing the created virtual disk in the reuse asset storage 1130 for future reuse, duplicating the created virtual disk as many times as necessary, and setting up software in the cloned virtual disk. do. In addition, when cloning a virtual disk based on a feature model of a virtual disk already stored in the reuse asset storage 1130, the specification 1140 is a procedure for creating an empty virtual disk image file, a procedure for duplicating reusable virtual disk contents. And a procedure of replicating the created virtual disk as many times as necessary and setting software in the replicated virtual disk.
도 14를 참조하면, 재사용 기반의 가상 클러스터 구축 장치는 가상 디스크 (1110) 를 포함한 가상 클러스터 특징모델 문서에 부여된 정수형 ID값 (1120) 을 기초로 이미 재사용 자산 저장소 (1130) 에 동일한 특징모델 문서가 존재하는지 검색한다. 즉, 정수형 ID값 (1120) 을 이용한 검색을 통해 재사용 기반의 가상 클러스터 구축 장치는 재사용 자산 저장소 (1130) 에서 가상 디스크 생성에 필요한 재사용할 자산인 소프트웨어 설치 프로그램 및 소프트웨어 설정 프로그램 등을 검색한다. Referring to FIG. 14, the reuse-based virtual cluster building device is already identical to the reuse asset store 1130 based on the integer ID value 1120 assigned to the virtual cluster feature model document including the virtual disk 1110. Searches for the presence of. That is, through the search using the integer ID value 1120, the reuse-based virtual cluster building apparatus searches for a software installation program, a software setting program, and the like, which are assets to be reused for creating a virtual disk, in the reuse asset storage 1130.
이에 따라, 재사용 기반의 가상 클러스터 구축 장치 (700) 는 식별자 값인 정수형 ID값을 통해 재사용 자산 저장소에 저장된 자산을 검색함으로써, 재사용할 자산을 용이하게 검색할 수 있도록 한다.Accordingly, the reuse-based virtual cluster building apparatus 700 makes it easy to search for an asset to reuse by searching for an asset stored in the reuse asset store through an integer ID value that is an identifier value.
도 15a 내지 도 15g는 본 발명의 다른 실시예에 따라 가상 디스크 프로비저닝의 효과를 도시화 한 것이다.15A-15G illustrate the effects of virtual disk provisioning in accordance with another embodiment of the present invention.
도 15a를 참조하면, 비재사용 및 재사용 기반의 가상 디스크 유형 별 단일 가상 디스크 생성 시간 측정 결과 그래프 (1210) 를 나타낸다. 여기서, 재사용이란, 미리 생성한 가상 디스크에 설치된 소프트웨어를 동일하게 포함하여 새로운 가상 디스크를 생성할 경우, 미리 생성한 가상 디스크를 복제하여 새로운 가상 디스크를 생성하는 것을 의미한다. Referring to FIG. 15A, a graph of a single virtual disk creation time measurement result for each virtual disk type based on non-reuse and reuse is shown. Here, when reusing, when creating a new virtual disk by including the same software installed in the previously created virtual disk, it means to create a new virtual disk by copying the previously created virtual disk.
도 15a를 참조하면, 가상 디스크 프로비저닝의 효과를 확인하기 위해서 사용한 가상 디스크의 크기는 3GB 이며, 시스템 소프트웨어는 데비안 (Debian) 7.0, 응용 소프트웨어는 OpenJDK 7.0, 하둡(Hadoop) 2.6.0, 그리고 HBase 1.1.1을 사용하였다. 효과를 확인한 결과, 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서의 비재사용 통합형 가상 디스크 (1511) 는 1273.85초의 생성시간을 나타내고, 비재사용 병합형 가상 디스크 (1512) 는 1217.69초의 생성 시간을 나타내었다. 여기서, 병합형 가상 디스크는 병합형 가상 디스크 프로비저닝에 의해 생성되어 각각의 소프트웨어가 독립된 각각의 가상 디스크 형태로 존재한다. 병합형 가상 클러스터 디스크 프로비저닝이란, 가상 디스크를 소프트웨어 종류 별로 분류하고, 분류된 복수의 소프트웨어를 병합하여 가상 클러스터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 따라서, 가상 디스크 프로비저닝 장치는 각각의 병합형 가상 디스크들을 병합하여 가상 머신에 제공한다. 또한, 통합형 가상 클러스터 디스크는 통합형 가상 디스크 프로비저닝에 의해 생성되어 모든 소프트웨어를 통합하여 하나의 소프트웨어가 설치된 하나의 가상 디스크 형태로 존재한다. 통합형 가상 클러스터 디스크 프로비저닝이란, 복수의 소프트웨어를 통합하여 하나의 소프트웨어 처럼 가상 클러스터의 가상 머신에 제공할 수 있는 프로비저닝을 의미한다. 따라서, 가상 디스크 프로비저닝 장치는 각각의 소프트웨어를 통합하여 설치한 통합형 가상 디스크를 가상 머신에 제공한다. Referring to FIG. 15A, the size of the virtual disk used to verify the effect of virtual disk provisioning is 3GB, 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 of checking the effect, the non-reusable integrated virtual disk 1511 on the virtual machine allocated four VCPUs and 4 GB of memory shows 1273.85 seconds of creation time, and the non-reuse merged virtual disk 1512 has a creation time of 1217.69 seconds. Indicated. Here, the merged virtual disk is created by merged virtual disk provisioning so that each software exists in the form of each virtual disk which is independent. Merged virtual cluster disk provisioning refers to provisioning that can classify virtual disks by software type and merge the plurality of classified software to provide them to the virtual machines of the virtual cluster. Thus, the virtual disk provisioning device merges and provides respective merged virtual disks to the virtual machine. In addition, the integrated virtual cluster disk is created by integrated virtual disk provisioning and exists in the form of one virtual disk in which all the software is integrated and one software is installed. Integrated virtual cluster disk provisioning refers to provisioning that can integrate multiple software and provide it to virtual machines in a virtual cluster as a single piece of software. Therefore, the virtual disk provisioning device provides the virtual machine with the integrated virtual disk installed by integrating the respective software.
비재사용 통합형 및 병합형 가상 디스크 (1511, 1512) 의 생성 시간 차이는 시스템 및 응용 소프트웨어를 설치하는 시간이 각 소프트웨어 패키지들이 존재하는 외부 저장소를 사용하기 때문에 발생될 수 있는 차이라고 볼 수 있다. 비 재사용 통합형 및 병합형 가상 디스크 (1511, 1512) 의 생성 시간 차이는 소프트웨어 패키지가 존재하는 외부 저장소의 네트워크 환경에 따라서 설치 시간의 미미한 차이를 내는 것이라고 볼 수 있다. 따라서, 비재사용 통합형 및 병합형 가상 디스크 (1511, 1512) 의 생성 시간은 가상 디스크 유형에 상관없이 유사함을 알 수 있다. The creation time difference of the non-reusable integrated and merged virtual disks 1511 and 1512 may be regarded as a difference that may occur due to the time required to install the system and application software by using external storage in which each software package exists. The creation time difference of the non-reuse integrated and merged virtual disks 1511 and 1512 may be regarded as a slight difference in installation time depending on the network environment of the external storage where the software package exists. Thus, it can be seen that the creation times of the non-reuse integrated and merged virtual disks 1511 and 1512 are similar regardless of the virtual disk type.
시스템 소프트웨어가 설치된 가상 디스크를 재사용할 경우 통합형 및 병합형 가상 디스크 (1513, 1514) 의 총 생성 시간은 각각 629.16초와 608.96초를 나타낸다. 시스템 소프트웨어만을 재사용할 경우 응용 소프트웨어는 설치해야하기 때문에 이와 같은 결과가 나타났음을 확인할 수 있다. 비재사용 가상 디스크 (1511, 1512) 의 생성과 마찬가지로 시스템 소프트웨어 재사용 통합형 및 병합형 가상 디스크 (1513, 1514) 생성 시간의 차이는 설치할 응용 소프트웨어의 패키지가 외부 저장소에 저장되어있기 때문에 발생될 수 있는 차이라 해석할 수 있다. 결과적으로 시스템 소프트웨어를 재사용하더라도 추가적으로 설치해야 하는 응용 소프트웨어가 존재하였을 경우, 시스템 소프트웨어 재사용 통합형 및 병합형 가상 디스크 (1513, 1514) 의 생성 시간은 유사함을 확인할 수 있다. 시스템 및 응용 소프트웨어가 설치된 가상 디스크를 모두 재사용 할 경우 통합형과 병합형 가상 디스크 (1515, 1516) 의 생성 시간은 각각 356.17초와 233.87초를 나타낸다. 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크 (1515) 에 비해 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크 (1516) 의 생성 시간이 단축된 이유는 재사용 가능한 가상 디스크 복제의 방법차이에서 발생되는 것이라고 볼 수 있다. 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크 (1515) 는 사용자가 요청한 가상 디스크의 크기만큼 빈 디스크 이미지를 생성한 후에 재사용 가능한 가상 디스크의 내용물을 복제한다. 재사용 가능한 가상 디스크의 크기가 2.2GB일 경우 사용자가 요청한 가상 디스크 크기인 3GB를 제공할 수 없기 때문이다. 이에 비해, 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크 (1516) 는 Upper 디스크를 생성하여 병합함으로서 재사용 가능한 소프트웨어가 설치된 가상 디스크를 그대로 복제하여 사용할 수 있다. 여기서, Upper 디스크란, 병합형 가상 디스크에 설치된 소프트웨어에 대한 설정을 저장하고, 쓰기 작업으로 인해 저장되어야 하는 데이터를 저장하는 디스크이다. 만약 재사용 가능한 가상 디스크의 크기가 2.2GB일 경우 Upper 디스크를 0.8GB 생성하여 제공하면 되기 때문이다. 재사용 가능한 가상 디스크 이미지의 내용물을 복제하는 것은 존재하는 모든 파일별 복사 작업을 반복적으로 수행하기 때문에 하나의 디스크 이미지 파일을 복제하는 시간에 비해 많은 복제시간을 소모하게 된다. 따라서, 소프트웨어 구성 요소를 모두 재사용하는 경우 통합형에 비해 병합형 디스크 생성 시간이 단축될 수밖에 없다.When reusing a virtual disk with system software installed, the total creation time of the integrated and merged virtual disks 1513 and 1514 represents 629.16 seconds and 608.96 seconds, respectively. If you reuse only the system software, you will see this result because the application software must be installed. As with the creation of non-reusable virtual disks 1511 and 1512, the difference in system software reuse integrated and merged virtual disks 1513 and 1514 creation time difference can be caused by the fact that the package of the application software to be installed is stored in external storage. This can be interpreted. As a result, even if the system software is reused, if there is application software that needs to be additionally installed, the creation time of the system software reuse integrated and merged virtual disks 1513 and 1514 may be similar. When both the system and application software are reused, the creation time of the integrated and merged virtual disks 1515 and 1516 is 356.17 seconds and 233.87 seconds, respectively. The reason why the creation time of the system and application software reuse merged virtual disk 1516 is shortened compared to the system and application software reuse integrated virtual disk 1515 may be caused by a method difference of reusable virtual disk replication. System and application software reuse The integrated virtual disk 1515 creates an empty disk image as large as the size of the virtual disk requested by the user, and then duplicates the contents of the reusable virtual disk. This is because if the size of the reusable virtual disk is 2.2 GB, the user cannot provide the requested 3 GB of virtual disk size. In contrast, the system and application software reuse merged virtual disk 1516 creates and merges an upper disk so that the virtual disk on which the reusable software is installed can be copied and used as it is. Here, the upper disk is a disk that stores the settings for the software installed in the merged virtual disk and stores the data to be stored due to the write operation. This is because if the size of the reusable virtual disk is 2.2GB, the upper disk should be created by providing 0.8GB. Duplicating the contents of a reusable virtual disk image takes much more time than duplicating a single disk image file because it repeats all existing file-by-file copies. Therefore, when all the software components are reused, merged disk creation time is inevitably shortened compared to the integrated type.
도 15b를 참조하면, 총 가상 머신 수의 증가에 따른 가상 디스크 프로비저닝 전처리 과정 시간 비율의 그래프 (1520) 를 나타낸다. 실제 전처리 과정에서 발생되는 시간적 오버헤드 (Overhead) 에 비해 가상 디스크를 실제 생성하는 시간의 비율이 커짐에 따라 미미한 오버헤드를 일으킴을 확인할 수 있다. 물론 총 가상 머신의 수가 14대 (1521) 일 때 가장 높은 전처리 과정의 시간적 비율 (0.55%) 을 보임을 확인할 수 있다. 그러나 총 가상 머신의 수가 증가하면 증가할수록 전체 가상 디스크 프로비저닝 시간 대비 전처리 과정의 시간적 비율이 낮아짐을 확인할 수 있다. 이는 전처리 과정이 가상 클러스터 당 1회적으로만 발생되기 때문이며, 상대적으로 가상 디스크를 생성하는 시간이 전처리 과정에 비해 많은 시간을 소모하기 때문에 발생되는 결과라 할 수 있을 것이다. 물론 만약 가상 클러스터 가상머신 별 포함된 소프트웨어 구성 요소가 다양할 경우 총 가상 머신 수의 증가에 따른 가상 디스크 프로비저닝 전처리 과정 시간 비율의 그래프 (1520) 의 결과보다 많은 가상 디스크 프로비저닝 전처리 시간을 소모하게 될 것이다. 그러나 가상 클러스터의 소프트웨어 구성요소가 증가한다는 것은 그만큼 설치해야 할 소프트웨어도 증가한다는 것이다. 따라서 본 발명에서 수행하는 가상 디스크 프로비저닝 전처리 과정에서 발생 되는 시간은 실제 가상 디스크 생성 시간을 고려하였을 때 미미한 시간적 오버헤드를 야기한다고 해석할 수 있을 것이다.Referring to FIG. 15B, a graph 1520 of virtual disk provisioning preprocessing time ratio as the total number of virtual machines increases. As the ratio of time to actually create the virtual disk increases compared to the time overhead generated during the actual preprocessing, it can be seen that there is a slight overhead. Of course, when the total number of virtual machines is 14 (1521), the highest pre-processing time ratio (0.55%) can be seen. However, as the total number of virtual machines increases, the time ratio of preprocessing to total virtual disk provisioning time decreases. This is because the preprocessing occurs only once per virtual cluster, and the result is that the time to create the virtual disk takes much longer than the preprocessing. Of course, if the software components included per virtual cluster virtual machine vary, it will consume more virtual disk provisioning preprocessing time than the result of graph 1520 of virtual disk provisioning preprocessing time ratio as the total number of virtual machines increases. . But as the software components of the virtual cluster increase, so does the software that needs to be installed. Therefore, the time generated during the virtual disk provisioning preprocessing performed in the present invention may be interpreted as causing a slight temporal overhead in consideration of the actual virtual disk creation time.
도 15c를 참조하면, 하나의 가상 클러스터에 포함된 가상 머신이 증가함에 따른 가상 디스크 종류별 생성 시간 결과의 그래프 (1530) 를 나타낸다. 설명의 편의를 위해 도 15a를 참조하여 설명한다.Referring to FIG. 15C, a graph 1530 of a generation time result for each virtual disk type as a virtual machine included in one virtual cluster increases. For convenience of explanation, this will be described with reference to FIG. 15A.
도 15c를 참조하면, 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 재사용 기반의 통합형 가상 디스크 생성 시간은 가상 머신의 수에 지수적 (Exponential) 으로 급격한 생성 시간 증가 추세를 보여준다. 특히 가상 머신의 수가 8대 (1531) 에서 16대 (1532) 로 넘어가는 시점에서부터 생성 시간 증가율이 소폭 상승하는 것을 확인할 수 있다. 이와 같이 재사용 기반의 통합형 가상 디스크 생성 시간이 발생되는 이유는 가상 머신의 수만큼 생성된 디스크를 복제해야하기 때문에 발생된다. 즉, 통합형은 같은 가상 클러스터에 존재하는 가상 머신들이 생성된 가상 디스크를 공유하지 않기 때문에 필요한 시스템 및 응용 소프트웨어가 모두 설치된 디스크를 가상 머신의 개수만큼 복제해야만 한다. 그리고 복제 시, 사용자가 요청한 가상 디스크의 크기만큼 반복적으로 복제해야하기 때문에 이와 같은 결과를 얻을 수 있는 것이다.Referring to FIG. 15C, the reuse-based integrated virtual disk creation time on a virtual machine allocated four VCPUs and 4GB of memory shows an exponential increase in creation time exponentially with the number of virtual machines. In particular, it can be seen that the increase in generation time increases slightly from the time when the number of virtual machines goes from eight 1531 to sixteen 1532. The reason why the reuse-based integrated virtual disk creation time is generated is because the number of created disks must be duplicated. In other words, since the integrated machines do not share the created virtual disks of virtual machines in the same virtual cluster, the number of virtual machines must be duplicated as many disks on which all necessary systems and application software are installed. And when cloning, it is necessary to duplicate the size of the virtual disk requested by the user repeatedly.
도 15d를 참조하면, 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프 (1540) 를 포함한다. Referring to FIG. 15D, a graph 1540 of a merged virtual disk creation time reduction rate of 32 virtual machines included in a virtual cluster according to an increase in the maximum number of shared virtual machines per virtual disk is included.
도 15d를 참조하면, 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프 (1540) 를 표현한다. 또한, 가상 디스크 당 최대 공유 가상 머신의 수가 1대인 경우의 생성 시간 감소율을 기준으로 표현한다. 그 결과 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 재사용 기반의 병합형 디스크 생성 시간은 총 32대 (1546) 의 가상 머신을 기준으로 가상 디스크 당 최대 공유 가상 머신의 수가 1대에서 4대 (1541, 1542, 1543) 까지 급격한 생성 시간 감소율을 보여주었다. 그러나 최대 공유 가상 머신의 수가 4대 이상 (1543, 1544, 1545, 1546) 일 경우 감소되는 생성 시간 비율이 11% 이하로 감소되는 것을 알 수 있다. 즉, 본 발명의 병합형 가상 디스크 생성 방법을 이용하였을 경우 가장 높은 생성 시간 감소율을 기대할 수 있는 수치는 가상 디스크 당 최대 공유 가능한 가상 머신이 4대 (1543) 일 경우라는 것을 확인할 수 있다. 이는 가상 클러스터에 포함된 가상 머신의 수가 증가하더라도 최대 4대 (1541, 1542, 1543) 의 가상 머신이 하나의 가상 디스크를 공유하였을 때 가장 높은 생성 시간 절감을 얻을 수 있다는 것을 의미한다.Referring to FIG. 15D, a graph 1540 of a merged virtual disk creation time decrease rate of 32 virtual machines included in a virtual cluster according to an increase in the maximum number of shared virtual machines per virtual disk is shown. In addition, it is expressed based on the creation time reduction rate when the maximum number of shared virtual machines per virtual disk is one. As a result, on a virtual machine with 4 VCPUs and 4 GB of memory, reuse-based merged disk creation time is based on a total of 32 (1546) virtual machines, up to one to four shared virtual machines per virtual disk. (1541, 1542, 1543) showed a rapid decrease in production time. However, if the maximum number of shared virtual machines is four or more (1543, 1544, 1545, 1546), it can be seen that the rate of generation time reduced is reduced to 11% or less. That is, when the merged virtual disk creation method of the present invention is used, it can be seen that the maximum number of reductions in creation time is expected when the maximum shareable virtual machines per virtual disk is 4 units (1543). This means that even if the number of virtual machines included in the virtual cluster increases, the highest generation time reduction can be obtained when up to four (1541, 1542, 1543) virtual machines share one virtual disk.
도 15e를 참조하면, 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 유형 별 생성 시간 결과 그래프 (1550) 를 나타낸다. 실험 결과 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 통합형 가상 디스크 (1551) 는 가상 클러스터의 서브그룹 수의 증가에 따라 선형적인 디스크 생성 시간을 보여준다. 이는 서브그룹의 개수가 증가함에 따라 총 생성해야 하는 가상 디스크의 개수도 비례하여 증가하기 때문이다. 다시 말해, 서브그룹의 개수가 2인 경우 생성해야 할 가상 디스크의 개수는 총 16개이다. 그리고 서브그룹의 개수가 4인 경우 생성 할 디스크 개수는 32개이며, 8개의 서브그룹은 총 64개의 디스크를 생성해야 한다. 즉, 가상 클러스터 서브 그룹이 증가하는 수만큼 비례하여 디스크 생성시간이 증가 한다는 것을 확인할 수 있다. 병합형 가상 디스크 (1552, 1553, 1554, 1555) 는 가상 디스크 당 최대 공유하는 가상 머신의 수에 따라 생성 시간의 차이를 보였다. 그러나 공통적으로 가상 클러스터의 서브그룹의 수에 비례한 생성 시간을 보여준다. 그리고 최대 공유하는 가상 머신의 개수의 증가에 반비례하여 가상 디스크 생성 시간이 증가함을 보여준다. 즉, 가상 디스크 당 최대 공유하는 가상 머신이 2대 (1553) 인 경우 서브그룹이 2일 때와 4일 때 각각 8개, 16개의 가상 디스크를 생성해야 한다. 그리고 가상 디스크 당 최대 공유하는 가상 머신이 4대 (1554) 인 경우 서브그룹이 2, 4개일 때 각각 4개, 8개의 가상 디스크를 생성해야 한다. 최대 공유하는 가상 머신의 개수가 증가함에 따라 생성해야 할 가상 디스크의 수는 반비례적으로 줄게 되며 이에 따라 생성 시간 역시 감소되는 것이다. 통합형과 병합형 가상 디스크 (1551, 1552, 1553, 1554, 1555) 의 생성 시간은 최소 22.50%, 최대 86.99%의 생성 시간 차이가 발생되었다.Referring to FIG. 15E, there is shown a graph 1550 of creation time for each virtual disk type as the number of virtual cluster subgroups increases. Experimental results show that the integrated virtual disk 1551 shows linear disk creation time as the number of subgroups of the virtual cluster increases on a virtual machine that allocates 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 also increases in proportion. In other words, when the number of subgroups is 2, the total number of virtual disks to be created is 16. If the number of subgroups is 4, the number of disks to create is 32, and eight subgroups must create a total of 64 disks. That is, it can be seen that the disk creation time increases in proportion to the number of virtual cluster subgroups increasing. The merged virtual disks 1552, 1553, 1554, and 1555 showed a difference in creation time according to the maximum number of shared virtual machines per virtual disk. However, in general, the creation time is proportional to the number of subgroups of the virtual cluster. The virtual disk creation time increases in inverse proportion to the increase in the number of shared virtual machines. That is, if two virtual machines (1553) share the maximum number of virtual disks, eight and 16 virtual disks should be created when two and four subgroups are used. If there are four (1554) maximum shared virtual machines per virtual disk, four and eight virtual disks should be created for each of 2 and 4 subgroups. As the maximum number of shared virtual machines increases, the number of virtual disks to be created decreases in inverse proportion and the creation time also decreases. The creation time difference between the merged and merged virtual disks 1551, 1552, 1553, 1554, and 1555 was at least 22.50% and at most 86.99%.
도 15f를 참조하면, 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 종류 별 공유 저장소 사용 공간 비교 결과 그래프 (1560) 를 나타낸다. 통합형 가상 디스크 (1561) 는 가상 클러스터 서브그룹의 개수의 증가에 비례하여 선형적인 공유 저장소 사용 크기를 나타낸다. 이는 각 가상 클러스터 서브그룹에 존재하는 가상 머신의 개수에 비례하여 가상 디스크를 생성하기 때문에 나타난 결과라 해석할 수 있다. 또한, 각 서브그룹의 가상 머신들이 동질적 소프트웨어가 설치된 가상 디스크를 공유하지 않기 때문에 서브그룹 별 가상 머신 수에 따라 선형적으로 공유 저장소를 사용한다는 결론을 얻을 수 있다. 병합형 가상 디스크 (1562, 1563, 1564) 는 가상 디스크 당 최대 공유하는 가상 머신의 수에 따라 서로 다른 공유 저장소 사용 공간을 나타냈다. 첫 번째로 병합형 가상 디스크 당 공유하는 가상 머신이 1대 (1561) 일 경우 통합형 가상 디스크와 동일한 저장소 사용 공간을 나타냈다. 이는 가상 클러스터 서브그룹의 가상 머신들이 모두 개별적 가상 디스크를 제공받는 경우와 동일하기 때문이다. 그러나 최대 공유 가상 머신의 수가 2대 (1562), 4대 (1563), 8대 (1564) 로 증가할 때마다 각각 36.88%, 55.32%, 64.54%의 저장 공간 사용 감소율을 나타낸다. 이는 생성 시간 감소율과 유사하게 병합형 가상 디스크 당 최대 공유 가상 머신의 수가 4대 이상 (1563, 1564) 일 경우 공유 저장소 사용 공간의 감소율이 낮아지는 양상을 보여주는 것이다. 결론적으로 통합형 가상디스크 (1561) 에 비해 병합형 가상 디스크 (1562, 1563, 1564) 의 생성 시간은 가상 클러스터의 서브그룹이 증가하는 경우라 할지라도 빠른 생성 시간과 적은 공유 저장소 공간 사용을 보임을 확인할 수 있다. 또한, 가상 클러스터 서브그룹 개수의 증가에 비례하여 통합형 가상 디스크 (1561) 및 병합형 가상 디스크 (1562, 1563, 1564) 의 생성 시간을 나타냄을 알 수 있다. 공유 저장소의 사용 공간 역시 통합형 가상 디스크 (1561) 및 병합형 가상 디스크 (1562, 1563, 1564) 모두 서브그룹 개수에 비례하여 증가하는 결과를 나타냈다. 특히, 병합형 가상 디스크 중 최대 공유 가상 머신의 수가 1대 (1562) 인 경우는 통합형과 동일한 크기의 공유 저장소를 사용함을 확인하였다. 물론 총 가상 디스크 생성 시간의 측면에서 통합형 가상 디스크 (1561) 에 비해 빠른 디스크 생성이 가능하지만, 공유 저장소의 사용 공간을 고려한다면 4개의 VCPU와 4GB 메모리를 할당한 가상 머신 상에서는 최소 공유 하는 가상 머신을 2대 이상 (1562, 1563, 1564) 으로 설정한 뒤 가상 클러스터의 디스크 프로비저닝을 수행하는 것이 합리적이라는 결론을 도출할 수 있다.Referring to FIG. 15F, a graph 1560 of a comparison result of shared storage space used by virtual disk types according to an increase in the number of virtual cluster subgroups is shown. Unified virtual disk 1561 represents a linear shared storage usage size in proportion to an increase in the number of virtual cluster subgroups. This can be interpreted as a result of creating a virtual disk in proportion to the number of virtual machines in each virtual cluster subgroup. In addition, since the virtual machines in each subgroup do not share a virtual disk on which homogeneous software is installed, it can be concluded that the shared storage is linearly used according to the number of virtual machines in each subgroup. Merged virtual disks 1562, 1563, and 1564 represented different shared storage footprints depending on the maximum number of shared virtual machines per virtual disk. First, one shared machine (1561) per merged virtual disk represented the same storage footprint as the consolidated virtual disk. This is because the virtual machines in the virtual cluster subgroup are all the same as if they were provided with individual virtual disks. However, each time the maximum number of shared virtual machines increases to two (1562), four (1563), and eight (1564), they show 36.88%, 55.32%, and 64.54% reductions in storage space usage, respectively. Similar to the creation time reduction rate, the reduction rate of the shared storage space is lowered when the maximum number of shared virtual machines per merged virtual disk is four or more (1563, 1564). In conclusion, the creation time of the merged virtual disks 1562, 1563, and 1564 compared to the integrated virtual disk 1561 shows that the creation time and the use of shared storage space are reduced even if the subgroups of the virtual cluster increase. Can be. In addition, it can be seen that the creation time of the integrated virtual disk 1561 and the merged virtual disk 1562, 1563, 1564 is proportional to the increase in the number of virtual cluster subgroups. The usage space of the shared storage also increased in proportion to the number of subgroups of the integrated virtual disk 1561 and the merged virtual disks 1562, 1563, and 1564. In particular, when the maximum number of shared virtual machines in the merged virtual disk is 1 (1562), it is confirmed that the shared storage of the same size as the consolidated virtual disk is used. Of course, in terms of total virtual disk creation time, it is possible to create a disk faster than the integrated virtual disk 1561, but considering the space used for the shared storage, the virtual machine with the minimum share of virtual machines is allocated on a virtual machine allocated with 4 VCPUs and 4 GB of memory. It can be concluded that it is reasonable to set up two or more (1562, 1563, 1564) and then perform disk provisioning of the virtual cluster.
도 15g를 참조하면, 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 수에 따른 가상 디스크 종류 별 생성 시간 비교 결과 그래프 (1570) 를 나타낸다. 실험 결과 4개의 VCPU와 4GB 메모리를 할당한 가상 머신 상에서 가상 클러스터 내 서브그룹 간 중복되는 응용 소프트웨어를 분석하지 않고 반복적으로 설치하여 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (1571) 를 생성한 경우 서브그룹 개수가 증가함에 따라 지수적으로 증가하는 추세를 보였다. 특히 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 개수가 4개 이상일 때부터 급격한 디스크 생성 시간을 보여주었다. 이는 증가하는 가상 클러스터 서브그룹의 개수만큼 응용 소프트웨어를 설치해야하며, 설치 완료된 통합형 가상 디스크를 각 서브그룹에 포함된 가상 머신 수만큼 복제해야하기 때문에 나타나는 결과이다. 이와 유사하게 병합형 가상 디스크를 사용하는 가상 클러스터의 서브그룹에 중복되는 응용 소프트웨어의 중복적 설치 절차를 제거하지 않았을 경우 (1572), 지수적 생성 시간 증가 추세를 보여준다. 그러나, 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (1572) 의 생성은 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (1572) 의 생성에 비해 서브그룹 수의 증가에 따라 다소 적은 디스크 생성 시간 양상을 보인다. 이는 각 서브그룹에 존재하는 2대의 가상 머신이 중복되는 소프트웨어가 존재하는 가상 디스크를 공유하기 때문에 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (1571) 에 비해 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (1572) 의 각 가상 머신을 위한 디스크 복제 횟수가 감소하기 때문이다. 물론 각 가상 머신을 위한 Upper 디스크 생성 시간이 각 서브그룹의 가상 머신의 개수에 비례하여 소요된다. 그러나 중복되는 소프트웨어가 모두 설치된 가상 디스크를 복제하는 시간에 비해 전체 가상 디스크 생성시간에 큰 영향을 미치지 않는 결과를 얻을 수 있다. 이어서, 각 가상 클러스터 서브그룹 간 중복되는 응용 소프트웨어를 분석하고 반복적 설치 절차를 제거한 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크 (1573) 와 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (1574) 의 선형적으로 증가하는 디스크 생성 시간을 보여준다. 이는 중복되는 응용 소프트웨어가 반복적으로 존재하는 가상 클러스터 서브그룹의 개수를 미리 분석한 뒤 1회 설치 후 생성된 가상 디스크를 복제하는 방식으로 새로운 가상 디스크를 생성하기 때문에 발생되는 결과라고 할 수 있다. 즉, 중복되는 응용 소프트웨어의 분석이 이루어지지 않았을 경우에 해당 서브그룹의 개수만큼 설치 과정을 반복하였다면, 중복되는 소프트웨어 분석이 이루어졌을 경우는 해당 응용 소프트웨어를 한번만 설치한 뒤 필요한 서브그룹 내 가상 머신의 수만큼 복제만 하면 되는 것이다. 그리고 가상 클러스터 내 존재하는 모든 서브그룹의 개수 중복되는 응용 소프트웨어를 설치하지 않는 서브그룹의 경우, 존재하는 시스템 소프트웨어를 그대로 복제하면 된다. 결론적으로, 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 증가에 따라 복제하는 횟수가 “서브그룹 내 가상 머신 개수-1” 만큼 발생되기 때문에 이와 같은 결과를 나타낸 것이라 해석할 수 있다. 가상 클러스터의 서브그룹 간 중복되는 응용 소프트웨어를 분석하여 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (1574) 를 생성하였을 경우에 선형적 가상 디스크 생성 시간 증가 양상을 보였다. 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (1574) 는 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크 (1573) 와 유사한 가상 디스크 생성 시간 증가를 보여주고 있으나, 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (1574) 의 경우 각 서브그룹의 개수만큼 응용 소프트웨어가 설치된 디스크를 만들기 때문에 상대적으로 낮은 생성 시간 증가추세를 보였다. 병합형 가상 디스크는 각 가상 머신들에게 독립적인 Upper 디스크를 제공해야 하나 이는 전체 가상 디스크 생성시간에 큰 영향을 미치지 않는 다는 것을 확인할 수 있다. 각 가상 클러스터 서브그룹 간 중복되는 응용 소프트웨어를 분석함은 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크 (1571) 와 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크 (1573) 의 경우 최소 30.87%에서 최대 77.63%의 생성 시간 차이를 나타내었다. 그리고 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (1572) 와 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (1574) 는 최소 27.23%에서 최대 84.75%의 디스크 생성 시간 차이를 보였다. 다시 말해, 중복되는 응용 소프트웨어 분석이 이루어지지 않았을 경우 비율적으로 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크 (1572) 와 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크 (1574) 는 57.52%로 다소 큰 디스크 생성 시간의 차이를 보여줌을 확인할 수 있다. 이는 병합형 가상 디스크의 경우 중복되는 응용 소프트웨어를 지닌 서브그룹의 개수에 따라 복제하는 가상 디스크의 크기가 통합형 가상 디스크에 비해 작기 때문에 발생되는 생성 시간 차이라 해석할 수 있다. 즉, 통합형 가상 디스크의 경우 생성된 가상 디스크를 각 서브그룹의 가상 머신 개수에 맞게 복제하게 된다. 이때 가상 디스크의 크기는 사용자가 지정한 크기만큼 복제한다. 그러나 병합형 가상 디스크는 실제로 설치된 소프트웨어의 크기만큼의 가상 디스크를 필요한 서브그룹 개수만큼 복제하게 된다. 다시 말해, 설치된 가상 디스를를 복제하는 파일의 사이즈 단위가 통합형 가상 디스크에 비해 병합형 가상 디스크가 작기 때문에 중복적으로 소프트웨어를 설치함의 여부가 전체 디스크 생성 시간에 큰 차이를 부른다고 볼 수 있는 것이다. 중복되는 응용 소프트웨어가 2개의 서브그룹에 존재하였을 경우, 병합형 가상 디스크의 중복 소프트웨어 분석을 하지 않았을 때가 통합형 가상 디스크의 중복 소프트웨어 분석을 수행했을 때에 비해 다소 높은 생성 시간을 나타내었다. 이는 비록 서브그룹에 포함된 가상 머신이 가상 디스크를 공유하여 생성해야 할 가상 디스크의 개수가 줄어든다 하더라도 반복적인 소프트웨어 설치가 나타낼 수 있는 생성 시간 지연을 보여주는 것이다. 따라서, 보다 효율적인 가상 디스크의 생성을 위해서는 서브그룹간의 동질적 소프트웨어가 존재하는지 분석하여 설치 횟수를 최소화시키는 대신 설치된 디스크를 복제하는 것이 가상 클러스터 디스크 프로비저닝 시간을 줄일 수 있는 방법이라 결론지을 수 있다. 특히, 소프트웨어를 설치하는 작업은 외부 패키지 저장소를 활용하기 때문에 예측할 수 없는 디스크 생성 시간을 나타낼 수 있다. 왜냐하면 외부 패키지 저장소를 활용한 소프트웨어 설치는 해당 저장소의 네트워크 상황에 따라 다른 설치 시간을 나타내기 때문이다. 따라서, 반복적 소프트웨어 설치 절차를 방지하는 본 발명의 가상 디스크 프로비저닝 관리 방법은 생성된 가상 디스크 이미지의 복제 횟수의 최대화를 통해 전체 가상 디스크 생성 시간을 효율적으로 단축시킬 수 있을 것이다. 이는 가상 클러스터의 서브그룹 개수가 많고 설치해야 하는 소프트웨어의 종류가 다양할수록 더욱 높은 디스크 생성 시간 단축을 이루어 낼 수 있는 중요한 가상 디스크 프로비저닝 방법이 될 것이다.Referring to FIG. 15G, a graph 1570 of a generation time comparison result for each virtual disk type according to the number of virtual cluster subgroups in which overlapping application software exists is shown. As a result of the experiment, if an integrated virtual disk (1571) having duplicated application software is created by repeatedly installing the application software without analyzing the overlapping application software between the subgroups in the virtual cluster on the virtual machine allocated four VCPUs and 4GB memory, The number of groups increased exponentially. In particular, the disk creation time has been shown to increase rapidly when the number of virtual cluster subgroups in which overlapping application software exists is more than four. This is because the number of application software needs to be installed as the number of virtual cluster subgroups increases, and the installed integrated virtual disks must be replicated as many as the number of virtual machines included in each subgroup. Similarly, if the redundant installation procedure of overlapping application software is not removed in the subgroup of the virtual cluster using the merged virtual disk (1572), the exponential creation time increases. However, the creation of the merged virtual disk 1572 with redundant application software has a somewhat smaller disk creation time pattern as the number of subgroups increases as compared to the creation of the integrated virtual disk 1572 with redundant application software. see. Since two virtual machines in each subgroup share a virtual disk in which overlapping software exists, a merged virtual disk in which overlapping application software exists as compared to the integrated virtual disk 1571 in which overlapping application software exists. This is because the number of disk duplications for each virtual machine of 1157 decreases. Of course, the time required to create an upper disk for each virtual machine is proportional to the number of virtual machines in each subgroup. However, compared to the time of cloning a virtual disk where all the overlapping software is installed, the result does not affect the overall virtual disk creation time. Subsequently, an analysis of the overlapping application software between each virtual cluster subgroup and a linear combination of the integrated virtual disk 1573 that eliminated the redundant application software that eliminated the repetitive installation procedure and the merged virtual disk 1574 that removed the redundant application software were performed. Show increasing disk creation time. This is a result of creating a new virtual disk by analyzing the number of virtual cluster subgroups in which duplicate application software is repeatedly present and replicating the created virtual disk after one installation. In other words, if the analysis process is repeated as many as the number of subgroups when the analysis of overlapping application software is not performed, when the analysis of the overlapping software is performed, the application software is installed only once and then You just need to duplicate it. In the case of a subgroup in which the number of all subgroups existing in the virtual cluster does not have overlapping application software, the existing system software may be copied as it is. In conclusion, this result can be interpreted as the number of times of replication occurs as the number of virtual machines in a subgroup-1 decreases with the increase of the virtual cluster subgroup in which overlapping application software exists. When analyzing the overlapping application software between subgroups of the virtual cluster and creating the merged virtual disk 1574 from which the overlapping application software is removed, the linear virtual disk creation time increases. Merged virtual disk 1574 that eliminates redundant application software shows an increase in virtual disk creation time similar to that of consolidated virtual disk 1573 that removes redundant application software, but the merged virtual disk 1574 eliminates redundant application software. In the case of), as the number of subgroups creates application disks, the creation time is relatively low. Merged virtual disks should provide independent upper disks for each virtual machine, but it can be seen that this does not affect the overall virtual disk creation time. Analyzing overlapping application software between each virtual cluster subgroup shows that the combined virtual disk (1571) with overlapping application software and the integrated virtual disk (1573) with duplicate application software removed have a minimum of 30.87% and a maximum of 77.63%. The production time difference is shown. The merged virtual disk 1574 with the duplicated application software and the merged virtual disk 1574 with the duplicated application software removed showed a disc creation time difference of at least 27.23% to 84.75%. In other words, if there is no overlapping application software analysis, the merged virtual disk 1574 with proportionally overlapped application software and the merged virtual disk 1574 from which the duplicated application software is removed are slightly larger at 57.52%. You can see the difference in disk creation time. This can be interpreted as a generation time difference that occurs because the size of the virtual disk to be replicated is smaller than that of the integrated virtual disk according to the number of subgroups having overlapping application software in the case of the merged virtual disk. That is, in the case of the integrated virtual disk, the created virtual disk is replicated 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, the merged virtual disk duplicates the virtual disk as many as the number of subgroups required by the size of the software actually installed. In other words, since the size of the file that duplicates the installed virtual disk is smaller than that of the integrated virtual disk, the merged virtual disk is smaller, and thus, whether or not the software is installed redundantly makes a big difference in the overall disk creation time. When the redundant application software existed in two subgroups, the time when the redundant software analysis of the merged virtual disk was not performed was higher than that when the redundant software analysis of the integrated virtual disk was performed. This shows the creation time delay that can be seen by repeated software installations, although the number of virtual disks that must be created by sharing virtual disks among the virtual machines in the subgroup is reduced. Therefore, in order to create more efficient virtual disks, it can be concluded that cloning the installed disks can reduce the virtual cluster disk provisioning time instead of minimizing the number of installations by analyzing whether homogeneous software exists between subgroups. In particular, installing software can leverage unpredictable disk creation times because of the use of external package repositories. This is because software installations using external package repositories represent different installation times, depending on the network conditions of the repository. Therefore, the virtual disk provisioning management method of the present invention, which prevents a repetitive software installation procedure, can efficiently shorten the entire virtual disk creation time by maximizing the number of times of replication of the created virtual disk image. This will be an important virtual disk provisioning method that can achieve higher disk creation time reduction as the number of subgroups of virtual clusters and the type of software to be installed vary.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In this specification, each block or each step may represent a portion of a module, segment or code containing one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 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 implemented directly in hardware, a software module or a combination of the two executed by a processor. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, which can read information from and write information to the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside within an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. In the alternative, 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 more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention. . Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe 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 embodiments described above are exemplary in all respects and not restrictive. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
[부호의 설명][Description of the code]
110 가상 머신110 virtual machines
120, 140, 710 가상 디스크120, 140, 710 virtual disks
130, 330, 360 소프트웨어130, 330, 360 software
131, 331, 361 시스템 소프트웨어131, 331, 361 system software
132, 332, 362 제1 응용 소프트웨어132, 332, 362 First application software
133, 333, 363 제2 응용 소프트웨어133, 333, 363 Second Application Software
200 가상 디스크 프로비저닝 관리 장치200 Virtual Disk Provisioning Managed Devices
210 가상 디스크 프로비저닝 프로세스 수신부210 Virtual Disk Provisioning Process Receiver
211 가상 디스크 프로비저닝 프로세스 수행부211 Performing Virtual Disk Provisioning Processes
212 가상 디스크 프로비저닝 개시부212 Virtual Disk Provisioning Initiation
213 가상 디스크 프로비저닝 프로세서 관찰부213 Virtual Disk Provisioning Processor Observer
220 특징모델 생성부220 feature model generator
221 가상 클러스터 서브그룹 생성부221 Virtual Cluster Subgroup Generator
222 가상 클러스터 특징모델 생성부222 Virtual Cluster Feature Model Generator
230 재사용 가상 디스크 검색부230 Reuse Virtual Disk Search Section
231 중복 소프트웨어 검색부231 Duplicate Software Finder
232 중복되지 않는 소프트웨어 검색부232 Non-Duplicate Software Search Section
240 가상 디스크 프로비저닝 절차 결정부Determining Virtual Disk Provisioning Procedures
241 가상 디스크 프로비저닝 절차 생성부Creating a Virtual Disk Provisioning Procedure
242 재사용 가상 디스크 프로비저닝 절차 생성부Creating a Reuse Virtual Disk Provisioning Procedure
250 가상 디스크 생성 태스크 수행부Performing the Create Virtual Disk Tasks 250
251 가상 디스크 생성부251 Virtual Disk Generator
252 재사용 메타 데이터 생성부252 Reuse Meta Data Generator
310 제1 가상 클러스터 서브그룹310 first virtual cluster subgroup
320 복수의 가상 머신320 multiple virtual machines
340 제2 가상 클러스터 서브그룹340 Second Virtual Cluster Subgroup
400 가상 클러스터 디스크 프로비저닝 장치400 Virtual Cluster Disk Provisioning Unit
410 가상 클러스터 디스크 프로비저닝 프로세서 생성부410 Virtual cluster disk provisioning processor generator
420 가상 클러스터 디스크 프로비저닝 태스크 전달부420 Virtual Cluster Disk Provisioning Task Delivery
430 가상 클러스터 분석부430 Virtual Cluster Analyzer
431 가상 디스크 프로비저닝 태스크 수행부Performing Virtual Disk Provisioning Tasks
432 가상 클러스터 중복 어플리케이션 분석 태스크 수행부Performing Tasks for Analyzing Redundant Virtual Cluster Applications
433 가상 클러스터 서브그룹 피처모델 생성부433 Virtual cluster subgroup feature model generator
434 가상 클러스터 피처모델 생성부434 Virtual cluster feature model generator
435 메타 데이터 생성부435 Meta Data Generator
510 제1 가상 클러스터 서브그룹 피처모델510 First virtual cluster subgroup feature model
511, 521, 531, 611, 621, 631, 641 시스템 소프트웨어511, 521, 531, 611, 621, 631, 641 system software
512, 513, 522, 523, 532, 533, 622, 632, 642 응용 소프트웨어512, 513, 522, 523, 532, 533, 622, 632, 642 application software
520 제2 가상 클러스터 서브그룹 피처모델520 Second virtual cluster subgroup feature model
530 가상 클러스터 피처모델530 Virtual Cluster Feature Model
610 제1 중복되는 소프트웨어 피처모델 610 First redundant software feature model
620 제2 중복되는 소프트웨어 피처모델620 Second redundant software feature model
630 제1 중복되지 않는 소프트웨어 피처모델 630 First Non-Duplicate Software Feature Model
640 제2 중복되지 않는 소프트웨어 피처모델 640 Second, non-redundant software feature model
700 재사용 기반의 가상 클러스터 구축 장치700 virtual cluster building device based on reuse
710 프로비저닝 요청 수신부710 provisioning request receiver
720 재사용 자산 저장소 드라이버 관리부720 Reusable Asset Store Driver Management
721 재사용 자산 검색부721 Reuse Asset Finder
721a 재사용 자산 검색 태스크 수행부721a Reuse Asset Retrieval Task Performer
721b 가상 디스크 자산 검색부721b Virtual Disk Asset Finder
721c 자산 검색 결과 생성부721c asset search result generator
721d 접근 드라이버 관리부721d access driver management unit
730 명세서 작성부730 Specification
740 가상 디스크 생성부740 Virtual Disk Generator
750 가상 디스크 프로비저닝 개시부750 Virtual Disk Provisioning Initiation
760 가상 디스크 프로비저닝 프로세스 실행부760 Virtual Disk Provisioning Process Execution Unit
770 가상 디스크 프로비저닝 태스크 전달부770 Virtual Disk Provisioning Task Delivery
780 가상 디스크 프로비저닝 태스크 실행부780 Virtual Disk Provisioning Task Execution Unit
800 재사용 자산 저장소800 Reusable Asset Repository
810 재사용 자산 저장소 요청 수신부810 Reuse Asset Repository Request Receiver
820 재사용 자산 저장소 관리부820 Reusable Asset Repository Management
821 재사용 자산 등록부821 Reusable Asset Register
822 재사용 자산 업데이트부822 Reuse Asset Update
823 재사용 자산 삭제부823 Delete Reusable Assets
824 재사용 자산 탐색부824 Reuse Asset Finder
900 재사용 자산 메타 데이터베이스900 reusable asset meta database
1010 가상 클러스터 특징모델1010 Virtual Cluster Feature Model
1011, 1111 시스템 소프트웨어1011, 1111 system software
1012, 1112 제1 응용 소프트웨어 1012, 1112 First Application Software
1013, 1113 제2 응용 소프트웨어1013, 1113 Second Application Software
1020 가상 클러스터 특징모델 문서1020 Virtual Cluster Feature Model Document
1030, 1120 정수형 ID값1030, 1120 Integer ID Value
1110 가상 디스크1110 virtual disk
1130 재사용 자산 저장소1130 Reusable Asset Repository
1140 명세서1140 Specification
*1210 비재사용 및 재사용 기반의 가상 디스크 유형 별 단일 가상 디스크 생성 시간 측정 결과 그래프* 1210 Graph of measurement results of single virtual disk creation time for each type of virtual disk based on non-reuse and reuse
1211 비재사용 통합형 가상 디스크1211 non-reuse integrated virtual disk
1212 비재사용 병합형 가상 디스크1212 Non-Reusable Merge Virtual Disks
1213 시스템 소프트웨어 재사용 통합형 가상 디스크1213 System Software Reuse Integrated Virtual Disks
1214 시스템 소프트웨어 재사용 병합형 가상 디스크1214 System Software Reusable Merged Virtual Disks
1215 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크1215 System and Application Software Reuse Integrated Virtual Disks
1216 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크1216 System and Application Software Reuse Merged Virtual Disks
1220 총 가상 머신 수의 증가에 따른 가상 클러스터 디스크 프로비저닝 전처리 과정 시간 비율의 그래프1220 Graph of Virtual Cluster Disk Provisioning Preprocessing Time Percentage as Total Virtual Machines Increase
1221 가상 머신 수 14대1221 virtual machines
1230 클러스터 서브그룹에 포함된 가상 머신이 증가함에 따른 가상 디스크 종류별 생성 시간 결과의 그래프1230 Graph of creation time results by virtual disk type as virtual machines in a cluster subgroup increase
1231 가상 머신 수 8대1231 virtual machines
1232 가상 머신수 16대16 3232 virtual machines
1240 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터 서브그룹에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프The rate of decrease of merged virtual disk creation time for 32 virtual machines in a virtual cluster subgroup as the maximum number of shared virtual machines per 1240 virtual disks increases
1241 가상 디스크 당 최대 공유 가상 머신의 수 1대Maximum number of shared virtual machines per 1241 virtual disk
1242 가상 디스크 당 최대 공유 가상 머신의 수 2대Maximum number of shared virtual machines per 1242 virtual disk
1243 가상 디스크 당 최대 공유 가상 머신의 수 4대Maximum number of shared virtual machines per 1243 virtual disk
1244 가상 디스크 당 최대 공유 가상 머신의 수 8대Maximum number of shared virtual machines per 1244 virtual disk
1245 가상 디스크 당 최대 공유 가상 머신의 수 16대Maximum number of shared virtual machines per 1245 virtual disk 16
1246 가상 디스크 당 최대 공유 가상 머신의 수 32대Maximum number of shared virtual machines per virtual disk 1246
1250 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 유형 별 생성 시간 결과 그래프Result time graph by virtual disk type with increasing number of 1250 virtual cluster subgroups
1251 통합형 가상 디스크1251 Integrated Virtual Disk
1252, 1253, 1254, 1255 병합형 가상 디스크1252, 1253, 1254, 1255 Merged Virtual Disks
1260 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 종류 별 공유 저장소 사용 공간 비교 결과 그래프Graph of shared storage space usage by virtual disk type as the number of virtual cluster subgroups increased
1261 통합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 1대1 shared virtual machine per 1261 integrated virtual disk and merged virtual disk
1262 통합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 2대2 shared virtual machines per 1262 consolidated and merged virtual disks
1263 병합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 4대1263 shared virtual disks and four shared virtual machines per merged virtual disk
1264 병합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 8대8 shared virtual machines per 1264 merged virtual disk and merged virtual disk
1270 중복되는 응용 소프트웨어가 존재하는 가상 클러스터 서브그룹의 수에 따른 가상 디스크 종류 별 생성 시간 비교 결과 그래프1270 Result of comparison of creation time by virtual disk type according to the number of virtual cluster subgroups with overlapping application software
1271 중복되는 응용 소프트웨어가 존재하는 통합형 가상 디스크1271 Integrated virtual disk with redundant application software
1272 중복되는 응용 소프트웨어가 존재하는 병합형 가상 디스크1272 Merged virtual disk with redundant application software
1273 중복되는 응용 소프트웨어를 제거한 통합형 가상 디스크1273 Integrated Virtual Disk Eliminates Redundant Application Software
1274 중복되는 응용 소프트웨어를 제거한 병합형 가상 디스크1274 Merged virtual disk with duplicate application software removed
본 출원은 이하의 과제의 결과물이다.This application is the result of the following subjects.
과제고유번호: IITP-2016-R2720-16-0004Assignment Number: IITP-2016-R2720-16-0004
부처명: 미래창조과학부Department name: Ministry of Science, ICT and Future Planning
연구관리전문기관: 정보통신기술진흥센터 (IITP)Specialized Research and Management Institution: Information and Communication Technology Promotion Center (IITP)
연구사업명: 대학ICT연구센터육성지원사업Project name: University ICT Research Center Promotion Support Project
연구과제명: 지능정보서비스를 위한 고성능 하이브리드 클라우드 컴퓨팅 기술 개발 및 인력양성Project Title: Development of High Performance Hybrid Cloud Computing Technology for Intelligent Information Service
기여율: 1/1Contribution rate: 1/1
주관기관: 건국대학교 산학협력단Organizer: Konkuk University Industry-Academic Cooperation Foundation
연구기간: 2016.07.01~2019.12.31Period: 2016.07.01 ~ 2019.12.31

Claims (28)

  1. 복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 가상 디스크 프로비저닝 프로세서 수신부;A virtual disk provisioning processor receiving unit which receives a provisioning request for a plurality of virtual machines;
    상기 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 특징모델 생성부;A feature model generator for generating at least one feature model for the plurality of virtual machines;
    상기 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하도록 구성된 재사용 가상 디스크 검색부;A reused 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 according to a search result of the reused virtual disk search unit; And
    결정된 상기 가상 디스크의 프로비저닝 절차에 따라 상기 기존의 가상 디스크를 복제함으로써 상기 가상 디스크를 생성하는 가상 디스크 생성부를 포함하는, 가상 디스크 프로비저닝 관리 장치.And a virtual disk generator for generating the virtual disk by cloning the existing virtual disk according to the determined provisioning procedure of the virtual disk.
  2. 제1항에 있어서,The method of claim 1,
    상기 특징모델은 응용 소프트웨어 및 운영 체제 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함하는, 가상 디스크 프로비저닝 관리 장치.And the feature model comprises at least one of a name, a version information package, a module, and an association of software, including application software and operating system software.
  3. 제1항에 있어서,The method of claim 1,
    상기 특징모델 생성부는,The feature model generator,
    상기 복수의 가상 머신이 포함된 서브 그룹 각각에 대한 특징모델을 생성하고, 상기 특징모델을 기초로 적어도 하나의 동질성 또는 이질성과 연관된 특징모델을 생성하는, 가상 디스크 프로비저닝 관리 장치.And generating a feature model for each subgroup including the plurality of virtual machines and generating a feature model associated with at least one homogeneity or heterogeneity based on the feature model.
  4. 제2항 또는 제3항에 있어서,The method according to claim 2 or 3,
    상기 동질성 또는 이질성과 연관된 특징모델은,The feature model associated with the homogeneity or heterogeneity,
    상기 서브 그룹 각각에 대한 특징모델에 중복되는 소프트웨어에 대한 특징모델일 수도 있고, 중복되지 않은 소프트웨어에 대한 특징모델일 수도 있는, 가상 디스크 프로비저닝 관리 장치.And a feature model for software overlapping the feature model for each of the subgroups, or a feature model for non-overlapping software.
  5. 제1항에 있어서,The method of claim 1,
    상기 복수의 가상 머신이 적어도 하나의 중복되는 소프트웨어를 포함하는 경우,If the plurality of virtual machines includes at least one overlapping software,
    적어도 두 개의 가상 머신은 중복되는 소프트웨어를 포함한 제1 디스크를 공유하고, 공유되는 상기 제1 디스크는 읽기만 가능하며, 쓰기가 요구되는 파일들은 가상 머신 각각의 별도의 제2 디스크에 저장되는, 가상 디스크 프로비저닝 관리 장치.At least two virtual machines share a first disk containing redundant software, the shared first disk is read only, and files that are required to be written are stored on separate second disks of each of the virtual machines. Provisioning management device.
  6. 제1항에 있어서,The method of claim 1,
    상기 재사용 가상 디스크 검색부는,The reuse virtual disk search unit,
    생성할 상기 가상 디스크의 특징모델에 해시 함수를 적용한 식별자를 통해 상기 기존의 가상 디스크를 검색하는, 가상 디스크 프로비저닝 관리 장치.And searching the existing virtual disk through an identifier applying a hash function to the feature model of the virtual disk to be created.
  7. 제1항에 있어서,The method of claim 1,
    상기 가상 디스크 절차 결정부는,The virtual disk procedure determination unit,
    상기 기존의 가상 디스크가 존재하는 경우, 상기 기존의 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 상기 가상 디스크의 프로비저닝 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.And, when the existing virtual disk exists, determine a provisioning procedure of the virtual disk to be generated based on an asset to be set by searching and replicating a location where the existing virtual disk is stored.
  8. 제1항에 있어서,The method of claim 1,
    상기 가상 디스크 절차 결정부는,The virtual disk procedure determination unit,
    설치될 소프트웨어의 설치자 (Installer) 를 검색하고, 검색한 상기 소프트웨어의 설치자를 기초로 상기 가상 디스크의 프로비저닝 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.And searching for an installer of the software to be installed and determining a provisioning procedure of the virtual disk based on the found installer of the software.
  9. 제1항에 있어서,The method of claim 1,
    상기 가상 디스크 절차 결정부는,The virtual disk procedure determination unit,
    운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 상기 가상 디스크를 생성하는 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.And determining a procedure of creating the virtual disk including each of an operating system virtual disk corresponding to operating system software and an application software virtual disk corresponding to application software.
  10. 제9항에 있어서,The method of claim 9,
    상기 절차는 운영체제 소프트웨어의 명칭 및 버전 정보를 포함하는, 가상 디스크 프로비저닝 관리 장치.And the procedure includes name and version information of the operating system software.
  11. 제1항에 있어서,The method of claim 1,
    상기 가상 디스크 절차 결정부는,The virtual disk procedure determination unit,
    운영체제 소프트웨어 및 응용 소프트웨어에 대응하는 하나의 상기 가상 디스크를 생성하는 절차를 결정하는, 가상 디스크 프로비저닝 관리 장치.And determining a procedure of creating one said virtual disk corresponding to an operating system software and an application software.
  12. 복수의 가상 머신에 대한 프로비저닝 요청을 수신하는 단계;Receiving a provisioning request for a plurality of virtual machines;
    상기 복수의 가상 머신에 대한 적어도 하나의 특징모델을 생성하는 단계;Generating at least one feature model for the plurality of virtual machines;
    상기 특징모델을 기초로 가상 디스크를 생성하기 위해 동일한 특징모델을 갖는 기존의 가상 디스크를 검색하는 단계;Searching for 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
    결정된 상기 가상 디스크의 프로비저닝 절차에 따라 상기 기존의 가상 디스크를 복제함으로써 상기 가상 디스크를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.And creating the virtual disk by duplicating the existing virtual disk according to the determined provisioning procedure of the virtual disk.
  13. 복수의 가상 클러스터 서브 그룹을 포함한 가상 클러스터에 대한 프로비저닝 요청을 수신하는 단계; Receiving a provisioning request for a virtual cluster comprising a plurality of virtual cluster subgroups;
    상기 요청에 대응하여 상기 복수의 가상 클러스터 서브 그룹 각각에 대한 피처모델 (Feature Model) 을 생성하는 단계;Generating a feature model for each of the plurality of virtual cluster subgroups in response to the request;
    상기 서브 그룹 각각의 피처모델을 통합하여 가상 클러스터 피처모델을 생성하는 단계; 및Generating a virtual cluster feature model by integrating the feature models of each of the subgroups; And
    상기 가상 클러스터 피처모델을 기초로 복수의 가상 디스크를 생성하기 위한 메타 데이터를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.And generating metadata for creating a plurality of virtual disks based on the virtual cluster feature model.
  14. 제13항에 있어서,The method of claim 13,
    상기 요청은 응용 소프트웨어 및 시스템 소프트웨어를 포함하는 소프트웨어의 명칭, 버전 정보 패키지, 모듈 및 연관관계 중 적어도 하나를 포함하는, 가상 디스크 프로비저닝 관리 방법.Wherein the request comprises at least one of a name, a version information package, a module, and an association of software, including application software and system software.
  15. 제14항에 있어서,The method of claim 14,
    상기 가상 클러스터 피처모델은,The virtual cluster feature model,
    상기 서브 그룹 피처모델에 중복되는 상기 소프트웨어에 대한 정보는 하나씩만 포함하고, 중복되지 않은 상기 소프트웨어에 대한 정보는 모두 포함하는, 가상 디스크 프로비저닝 관리 방법.And only one information about the software overlapping the subgroup feature model, and all information about the non-overlapping software.
  16. 제14항에 있어서,The method of claim 14,
    상기 메타 데이터를 생성하는 단계는,Generating the metadata,
    상기 시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 상기 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성하는 단계; 및Generating first merged metadata corresponding to the system software and second merged metadata corresponding to the application software; And
    상기 제1 병합형 메타 데이터 및 상기 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.Creating each virtual disk based on the first merged metadata and the second merged metadata.
  17. 제16항에 있어서,The method of claim 16,
    상기 제2 병합형 메타 데이터는 상기 시스템 소프트웨어의 명칭 및 버전 정보를 포함하는, 가상 디스크 프로비저닝 관리 방법.And the second merged metadata includes name and version information of the system software.
  18. 제14항에 있어서,The method of claim 14,
    상기 메타 데이터를 생성하는 단계는,Generating the metadata,
    상기 시스템 소프트웨어 및 상기 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성하는 단계; 및Generating integrated metadata that is one metadata for the system software and the application software; And
    상기 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.Creating a virtual disk based on the unified metadata.
  19. 제13항에 있어서,The method of claim 13,
    상기 각각의 서브 그룹 피처모델을 통합하여 가상 클러스터 피처모델을 생성하는 단계는,Integrating each of the subgroup feature models to generate a virtual cluster feature model,
    상기 서브그룹 각각의 피처모델을 비교하여 연관관계로 표현되는 상기 가상 클러스터 피처모델을 생성하는 단계인, 가상 디스크 프로비저닝 관리 방법.And comparing the feature models of each of the subgroups to generate the virtual cluster feature model represented by an associative relationship.
  20. 복수의 가상 클러스터 서브 그룹을 포함한 가상 클러스터에 대한 프로비저닝 요청을 수신하는 가상 클러스터 디스크 프로비저닝 프로세서 생성부;A virtual cluster disk provisioning processor generation unit that receives a provisioning request for a virtual cluster including a plurality of virtual cluster subgroups;
    상기 프로비저닝 수행부로부터 수신한 상기 요청에 대응하여 상기 복수의 가상 클러스터 서브 그룹 각각에 대한 피처모델을 생성하는 서브그룹 피처모델 생성부;A subgroup feature model generator for generating a feature model for each of the plurality of virtual cluster subgroups in response to the request received from the provisioning performer;
    상기 서브 그룹 피처모델 생성부로부터 생성된 상기 가상 클러스터 서브 그룹 각각의 피처모델을 통합하여 가상 클러스터 피처모델을 생성하는 가상 클러스터 피처모델 생성부; 및 A virtual cluster feature model generator for generating a virtual cluster feature model by integrating feature models of each of the virtual cluster subgroups generated from the subgroup feature model generator; And
    상기 가상 클러스터 피처모델 생성부로부터 생성된 상기 가상 클러스터 피처모델을 기초로 복수의 가상 클러스터 디스크를 생성하기 위한 메타 데이터를 생성하는 메타 데이터 생성부를 포함하는, 가상 디스크 프로비저닝 관리 장치.And a metadata generator configured to generate metadata for generating a plurality of virtual cluster disks based on the virtual cluster feature model generated from the virtual cluster feature model generator.
  21. 하나 이상의 가상 머신에 대한 프로비저닝 요청을 수신하는 단계;Receiving a provisioning request for one or more virtual machines;
    상기 프로비저닝 요청에 대응하여 재사용 자산 저장소에 저장된 자산 중 재사용 가능한 자산을 검색하는 단계; Retrieving a reusable asset among the assets stored in the reusable asset repository in response to the provisioning request;
    상기 재사용 가능한 자산이 검색될 경우, 검색된 상기 재사용 가능한 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성하는 단계; 및 Creating a specification for creating a virtual disk using the retrieved reusable asset when the reusable asset is retrieved; And
    상기 명세서를 기초하여, 상기 가상 디스크를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.Based on the specification, creating the virtual disk.
  22. 제21항에 있어서, The method of claim 21,
    상기 재사용 가능한 자산을 검색하는 단계는, Searching for the reusable asset,
    상기 프로비저닝 요청이 상기 재사용 가능한 자산 중 가상 디스크에 대한 검색을 포함하는 경우, 상기 가상 디스크의 메타 정보와 연관된 해시 함수 (Hash Function) 에 기초하여 생성된 식별자 (Identification) 값으로 상기 재사용 가능한 자산 중 매칭하는 가상 디스크를 검색하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.If the provisioning request includes a search for a virtual disk among the reusable assets, matching among the reusable assets with an identifier value generated based on a hash function associated with meta information of the virtual disk. And virtual server provisioning.
  23. 제21항에 있어서, The method of claim 21,
    상기 재사용 가능한 자산을 검색하는 단계는, Searching for the reusable asset,
    상기 프로비저닝 요청이 상기 재사용 가능한 자산 중 소프트웨어의 설치 프로그램 또는 설정 프로그램에 대한 검색을 포함하는 경우, 설치를 요청받은 소프트웨어의 이름 정보, 버전 정보, 아키텍처 정보, 설치자 정보 및 설정자 정보 중 적어도 하나의 정보로 상기 설치 프로그램 또는 상기 설정 프로그램을 검색하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.If the provisioning request includes a search for an installation program or a configuration program of the software among the reusable assets, the information may include at least one of name information, version information, architecture information, installer information, and configurator information of the software requested to be installed. Searching for the installation program or the configuration program.
  24. 제21항에 있어서, The method of claim 21,
    상기 가상 디스크를 생성하기 위한 명세서를 작성하는 단계는,Creating a specification for creating the virtual disk,
    생성할 상기 가상 디스크의 생성 절차 및 사용하는 자산을 명세하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.Specifying a process of creating the virtual disk to be created and an asset to use.
  25. 제21항에 있어서, The method of claim 21,
    생성된 상기 가상 디스크 중에서 복제가 아닌 설치된 가상 디스크의 식별자 값, 이름, 종류 및 상기 명세서 중 적어도 하나를 상기 재사용 자산 저장소에 저장하는 단계를 더 포함하는, 가상 디스크 프로비저닝 관리 방법.And storing at least one of an identifier value, a name, a type, and the specification of the installed virtual disk among the created virtual disks, which are not duplicates, in the reuse asset store.
  26. 제21항에 있어서, The method of claim 21,
    상기 가상 디스크를 생성하기 위한 명세서를 작성하는 단계는,Creating a specification for creating the virtual disk,
    시스템 소프트웨어에 대응하는 제1 병합형 메타 데이터 및 응용 소프트웨어에 대응하는 제2 병합형 메타 데이터를 생성하는 단계를 포함하고,Generating first merged metadata corresponding to the system software and second merged metadata corresponding to the application software,
    상기 명세서를 기초하여, 상기 가상 디스크를 생성하는 단계는,Based on the specification, the step of creating the virtual disk,
    상기 제1 병합형 메타 데이터 및 상기 제2 병합형 메타 데이터를 기초로 각각의 가상 디스크를 생성하는 단계를 포함하고,Generating each virtual disk based on the first merged metadata and the second merged metadata;
    상기 제2 병합형 메타 데이터는 상기 시스템 소프트웨어의 명칭 및 버전 정보를 포함하는, 가상 디스크 프로비저닝 관리 방법.And the second merged metadata includes name and version information of the system software.
  27. 제21항에 있어서,The method of claim 21,
    상기 가상 디스크를 생성하기 위한 명세서를 작성하는 단계는,Creating a specification for creating the virtual disk,
    시스템 소프트웨어 및 응용 소프트웨어에 대한 하나의 메타 데이터인 통합형 메타 데이터를 생성하는 단계를 포함하고,Generating integrated metadata, one metadata for system software and application software,
    상기 명세서를 기초하여, 상기 가상 디스크를 생성하는 단계는,Based on the specification, the step of creating the virtual disk,
    상기 통합형 메타 데이터를 기초로 하나의 가상 디스크를 생성하는 단계를 포함하는, 가상 디스크 프로비저닝 관리 방법.Creating a virtual disk based on the unified metadata.
  28. 하나 이상의 가상 머신에 대한 프로비저닝 요청을 수신하는 프로비저닝 요청 수신부;A provisioning request receiver for receiving a provisioning request for at least one virtual machine;
    상기 프로비저닝 요청에 대응하여 재사용 자산 저장소에 저장된 자산 중 재사용 가능한 자산을 검색하는 자산 검색부; An asset retrieval unit for retrieving a reusable asset among assets stored in a reusable asset storage in response to the provisioning request;
    상기 자산 검색부로부터 상기 재사용 가능한 자산이 검색될 경우, 검색된 상기 재사용 가능한 자산을 사용하여 가상 디스크를 생성하기 위한 명세서를 작성하는 명세서 작성부; 및 A specification creation unit for creating a specification for creating a virtual disk using the retrieved reusable asset when the reusable asset is retrieved from the asset search unit; And
    상기 명세서를 기초하여, 상기 가상 디스크를 생성하는 가상 디스크 생성부를 포함하는, 가상 디스크 프로비저닝 관리 장치.And a virtual disk generator configured to generate the virtual disk based on the specification.
PCT/KR2016/015573 2016-01-22 2016-12-30 Method and apparatus for managing virtual disk provisioning WO2017126819A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR1020160008361A KR101735994B1 (en) 2016-01-22 2016-01-22 Method and apparatus for provisioning virtual cluster disk
KR10-2016-0008361 2016-01-22
KR1020160148661A KR101866086B1 (en) 2016-11-09 2016-11-09 Method and apparatus for producing virtual cluster based reuseable asset
KR10-2016-0148661 2016-11-09
KR10-2016-0148659 2016-11-09
KR1020160148659A KR101841847B1 (en) 2016-11-09 2016-11-09 Method and apparatus for managing provisioning virtual disk

Publications (1)

Publication Number Publication Date
WO2017126819A1 true WO2017126819A1 (en) 2017-07-27

Family

ID=59361911

Family Applications (1)

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

Country Status (1)

Country Link
WO (1) WO2017126819A1 (en)

Citations (5)

* 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
KR101007279B1 (en) * 2007-12-17 2011-01-13 한국전자통신연구원 Method and system for provisioning of virtual machine using virtual machine disk pool
KR20130131963A (en) * 2012-05-25 2013-12-04 삼성에스디에스 주식회사 System and method for constructing on-demand virtual cluster
KR101352699B1 (en) * 2011-11-30 2014-01-17 삼성에스디에스 주식회사 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System
KR20150108682A (en) * 2014-03-18 2015-09-30 주식회사 틸론 Method for installing software for VDI server which includes plurality of virtual machine and VDI server using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101007279B1 (en) * 2007-12-17 2011-01-13 한국전자통신연구원 Method and system for provisioning of virtual machine using virtual machine disk pool
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
KR20130131963A (en) * 2012-05-25 2013-12-04 삼성에스디에스 주식회사 System and method for constructing on-demand virtual cluster
KR20150108682A (en) * 2014-03-18 2015-09-30 주식회사 틸론 Method for installing software for VDI server which includes plurality of virtual machine and VDI server using the same

Similar Documents

Publication Publication Date Title
WO2018159997A1 (en) Method and apparatus for performing test by using test case
WO2020017843A1 (en) Method for allocating and managing cluster resource on cloud platform
WO2019100638A1 (en) Data synchronization method, device and equipment, and storage medium
WO2020101108A1 (en) Artificial-intelligence model platform and method for operating artificial-intelligence model platform
WO2014032262A1 (en) Implementation method and system for migrating application among platforms<0}
WO2019024219A1 (en) Automatic document generation method and apparatus, automatic document generator and medium
WO2018120429A1 (en) Resource update method, terminal, computer readable storage medium and resource update device
WO2019177182A1 (en) Multimedia content search apparatus and search method using attribute information analysis
EP3935578A1 (en) Neural network model apparatus and compressing method of neural network model
WO2020231049A1 (en) Neural network model apparatus and compressing method of neural network model
WO2019088334A1 (en) System for storing and searching big data in real-time
WO2017082520A1 (en) Database management system, and data modification and recovery method thereof
WO2018076875A1 (en) Backup data synchronisation method, apparatus, storage medium, electronic device, and server
WO2015190755A1 (en) Method and system for providing map data of navigation device
WO2017034180A1 (en) System for providing application list and method therefor
WO2019000800A1 (en) Credential preparation method, apparatus, and device and computer readable storage medium
WO2018188196A1 (en) Data version control method, data version controller, device and computer-readable storage medium
WO2018188342A1 (en) Method, apparatus and device for generating script file, and computer-readable storage medium
WO2019004503A1 (en) Application vulnerability detection method and system
WO2019024543A1 (en) Code generation method and apparatus, code generator and readable storage medium
WO2018201697A1 (en) Method, device and equipment for generating a file and computer readable storage medium
WO2018076871A1 (en) Method for synchronizing contact information, apparatus, medium, electronic device and system
WO2017126819A1 (en) Method and apparatus for managing virtual disk provisioning
WO2021141441A1 (en) Method for providing scraping-based service and application for performing same
WO2017094967A1 (en) Natural language processing schema and method and system for establishing knowledge database therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16886662

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16886662

Country of ref document: EP

Kind code of ref document: A1