[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2018088629A1 - Method and apparatus for constructing virtual cluster by union-mounting readable and writable virtual disks - Google Patents

Method and apparatus for constructing virtual cluster by union-mounting readable and writable virtual disks Download PDF

Info

Publication number
WO2018088629A1
WO2018088629A1 PCT/KR2016/015574 KR2016015574W WO2018088629A1 WO 2018088629 A1 WO2018088629 A1 WO 2018088629A1 KR 2016015574 W KR2016015574 W KR 2016015574W WO 2018088629 A1 WO2018088629 A1 WO 2018088629A1
Authority
WO
WIPO (PCT)
Prior art keywords
disk
virtual
software
mounting
cluster
Prior art date
Application number
PCT/KR2016/015574
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
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Publication of WO2018088629A1 publication Critical patent/WO2018088629A1/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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Definitions

  • the present invention relates to a method and apparatus for constructing a virtual cluster through merge mounting of a read and write virtual disk, and more specifically, to a virtual cluster by merging each virtual disk in a read and write form including different software.
  • the present invention relates to a method and apparatus for building a virtual cluster through merge mounting of a read and write virtual disk capable of building a virtual disk.
  • 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 shared virtual disk may be provided to the virtual machine as read-only. If you do not provide a virtual disk as read-only, the file system of the shared virtual disk may change when each virtual machine writes.
  • the inventors of the present invention provide a separate merged virtual disk capable of performing a write operation and merge mounting with a read-only virtual disk, so that each virtual machine can share a virtual disk to drive a program. Invented a method and apparatus for construction.
  • Another problem to be solved by the present invention is to efficiently use the storage space of the virtual disk by merging and mounting the virtual disk capable of writing to the shared virtual disk by sharing the already created read-only virtual disk This will reduce the time it takes to provision.
  • a virtual cluster construction method through merging mounting of a read and write virtual disk is a step of receiving a provisioning request for a virtual cluster having a plurality of virtual machines Creating a first disk having software commonly required for the plurality of virtual machines, the plurality of virtual machines being shared and accessible in response to a provisioning request for the virtual cluster, associated with the software in each of the plurality of virtual machines Generating a second disk capable of writing and merging and mounting the first disk and the second disk.
  • the virtual cluster construction method through the merge mounting of the read and write virtual disk further comprises the step of storing data in which the location path of the second disk is recorded on the first disk,
  • the disk can be set to allow only read operations.
  • a virtual cluster construction method through merge mounting of a read and write virtual disk may include receiving a back-up request of a virtual machine and a write operation stored on a second disk.
  • the method may further include storing a file, wherein the file capable of writing may include a file copied from the first disk, which was conventionally read-only.
  • files associated with software may be stored on a second disk.
  • the merging and mounting of the first disk and the second disk may include generating the merged first disk and the second disk to appear as a tree.
  • the step of merging and mounting the first disk and the second disk, if the same file or folder exists on the first disk and the second disk, the same file or folder on the second disk Can be configured to be accessed.
  • the software exists in a plurality of versions
  • the step of creating the first disk comprises the step of creating a plurality of first disks on which the respective software of the plurality of versions is installed
  • the step of merging may be a step of merging and mounting the plurality of first and second disks.
  • the mounting may comprise merging and mounting the plurality of first disks such that different files are accessible in each of the plurality of versions of the software.
  • a virtual cluster construction method through merge mounting of a read and write virtual disk, when a write operation is requested for a file stored on the first disk, the file stored on the first disk is second;
  • the method may further include copying to a disk and performing a write operation on the file copied to the second disk.
  • a virtual cluster building apparatus through merge mounting of a read and write virtual disk is a device for building a virtual cluster having a plurality of virtual machines
  • the virtual disk provisioning process receiving unit that receives a provisioning request for a virtual cluster having a virtual machine and software commonly installed in a plurality of virtual machines that are shared and accessible by a plurality of virtual machines in response to the provisioning request for the virtual cluster are installed.
  • a virtual disk generating unit for generating a first disk, creating a second disk capable of writing in association with software in each of the plurality of virtual machines, and merging and mounting the first disk and the second disk.
  • the virtual disk generating unit may store data in which the location path of the second disk is recorded on the first disk, and the first disk may be configured to only read.
  • the virtual disk provisioning process receiving unit receives a backup request of the virtual machine
  • the virtual disk generating unit stores a file capable of write operations stored in the second disk, It may include a file copied from the first disk, which was conventionally read-only.
  • files associated with software may be stored on a second disk.
  • the virtual disk generating unit may generate the merged first disk and the second disk to appear as a tree.
  • the virtual disk generating unit may be configured to access the same file or folder of the second disk when the same file or folder exists on the first disk and the second disk.
  • the software is present in a plurality of versions
  • the virtual disk generating unit generates a plurality of first disks, each of which is installed a plurality of versions of the software, a plurality of first disk and the second disk Can be mounted by merging
  • the virtual disk generating unit may merge and mount the plurality of first disks so that different files are accessible in each of the plurality of versions of the software.
  • the virtual disk generating unit copies the file stored in the first disk to the second disk, and the file copied to the second disk.
  • the write operation can be performed on.
  • the present invention provides a virtual cluster capable of performing a write operation on a shared virtual disk by providing a separate merged virtual disk capable of performing a write operation in a virtual cluster and merging mounting with a read-only virtual disk. There is an effect that can provide a construction method and apparatus.
  • the present invention can efficiently use the storage space of the virtual disk and reduce the time required for provisioning the virtual disk by sharing a read-only virtual disk already created and merging it with a virtual disk capable of writing to the shared virtual disk. It can be effective.
  • 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 cluster building apparatus through merge mounting of a read and write virtual disk according to an embodiment of the present invention.
  • FIG 3 illustrates a virtual cluster construction procedure according to a virtual cluster construction method through merge mounting of a read and write virtual disk according to an embodiment of the present invention.
  • FIG. 4 illustrates a virtual disk sharing method of a virtual machine using a merged virtual disk according to an embodiment of the present invention.
  • FIG. 5 illustrates a virtual disk file structure of a virtual machine in which a plurality of directories are merged through merge mounting according to another embodiment of the present invention.
  • FIG. 6 illustrates a file system hierarchy of merged virtual disks when the virtual machine uses various application software according to another embodiment of the present invention.
  • 7 (a) to 7 (d) illustrate the effects of virtual disk provisioning for building a virtual cluster according to another embodiment of the present invention.
  • Shapes, sizes, ratios, angles, numbers, and the like disclosed in the drawings for describing the embodiments of the present invention are exemplary, and the present invention is not limited to the illustrated items.
  • the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
  • 'comprises', 'haves', 'consists of' and the like mentioned in the present specification are used, other parts may be added unless 'only' is used.
  • the plural number includes the plural unless specifically stated otherwise.
  • first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Therefore, the first component mentioned below may be a second component within the technical spirit of the present invention.
  • each of the features of the various embodiments of the present invention may be combined or combined with each other in part or in whole, various technically interlocking and driving as can be understood by those skilled in the art, each of the embodiments may be implemented independently of each other It may be possible to carry out together in an association.
  • provisioning refers to a procedure of allocating, deploying, and distributing resources according to a user's request.
  • the resource may mean a memory of the server, a CPU, or the like.
  • provisioning refers to a procedure of creating a virtual disk in which software is installed in storage of a server according to a user's request, and placing the virtual disk in a virtual machine so that the software can be run.
  • 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 cluster building apparatus provisions the virtual disk 120 by installing software 130 on the virtual disk 120.
  • the virtual cluster building device creates an empty virtual disk 120 to create the virtual disk 120 on which the software 130 is installed.
  • the virtual cluster building device 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 the empty virtual disk 120. .
  • the virtual cluster building device sets up the software 130 installed in the virtual disk 120. Specifically, the virtual cluster building device performs the necessary settings to execute the system software 131 Debian 8.0, the first application software 132 Open JDK 7.0, and the second application software 133 Hadoop 2.6.0.
  • the virtual disk 120 may be an integrated virtual disk, but is not limited thereto.
  • the virtual disk may be implemented as a merged virtual disk in which each of the plurality of virtual disks has one software and can be combined with each other. have.
  • the virtual cluster building apparatus may generate a virtual disk 140 including the same software by duplicating the virtual disk 120 previously generated.
  • the virtual cluster building apparatus includes Debian 8.0, the system software 131, Open JDK 7.0, and the first application software 132, according to the virtual disk creation procedure of FIG. 1 (b). 2
  • the virtual disk 120 is created by copying the virtual disk 120 including the software 130 including Hadoop 2.6.0, which is the application software 133, as it is.
  • 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.
  • the virtual disk creation through cloning is only time consuming to duplicate the software installed in the pre-created virtual disk, and thus can be created more quickly than the 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. Therefore, the virtual cluster building apparatus stores the assets necessary for the replication of the virtual disk in the reuse asset storage, and creates the virtual disk faster based on the stored assets.
  • the virtual cluster building device generates a virtual disk on which software is installed according to a user's request, and builds a virtual cluster including a plurality of virtual machines on which the generated virtual disk is installed.
  • FIG. 2 is an exemplary block diagram illustrating a virtual cluster building apparatus through merge mounting of a read and write virtual disk according to an embodiment of the present invention.
  • the virtual cluster building apparatus 200 includes a virtual cluster provisioning process receiving unit 210, a reused virtual disk search unit 220, a virtual cluster provisioning process performing unit 211, and a virtual cluster provisioning initiation unit 212. , A virtual cluster provisioning process observer 213, a virtual disk provisioning procedure generator 230, and a virtual disk generator 240.
  • the virtual cluster provisioning process receiving unit 210 receives a provisioning request for a virtual cluster using an XML Remote Procedure Call (RPC).
  • 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 received provisioning request is a provisioning request for building a virtual cluster by merging virtual disks capable of read and write operations.
  • the virtual cluster provisioning process receiver 210 may determine a virtual cluster provisioning request through the merged virtual disk when two or more virtual machines among the received provisioning requests include the same software.
  • the virtual cluster provisioning process receiving unit 210 runs the XML RPC server and transmits the received virtual cluster provisioning request to the virtual cluster provisioning process performing unit 211.
  • the provisioning request for the virtual cluster received by the virtual cluster provisioning process receiving unit 210 includes a software requirement installed in the virtual machines of the virtual cluster requested by the user.
  • the virtual cluster provisioning process execution unit 211 parses the received virtual cluster provisioning request.
  • the virtual cluster provisioning process execution unit 211 stores the parsed work object in an internal buffer to manage the progress state of the virtual cluster provisioning job. All virtual cluster provisioning processes of the present invention are performed by calling a subcomponent by the virtual cluster provisioning process execution unit 211.
  • the subcomponent is a virtual cluster building apparatus 200 such as a reused virtual disk searching unit 220 which is a component of the virtual cluster building apparatus 200, a virtual disk provisioning procedure generating unit 230, and a virtual disk generating unit 240.
  • a virtual cluster building apparatus 200 such as a reused virtual disk searching unit 220 which is a component of the virtual cluster building apparatus 200, a virtual disk provisioning procedure generating unit 230, and a virtual disk generating unit 240.
  • Each subcomponent receives, processes, and returns a task to be performed by the virtual cluster 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 cluster provisioning initiation unit 212 is a component for driving and terminating subcomponents present in the virtual cluster building apparatus 200.
  • the subcomponents of the virtual cluster building apparatus 200 are operated and managed by the virtual cluster provisioning initiator 212.
  • the virtual cluster provisioning process observer 213 periodically monitors the progress of the work managed by the virtual cluster provisioning process performer 211 and transmits the progress status to the external system.
  • the external system may be a web-based system that provides a virtual cluster provisioning service.
  • the external system may include the number of virtual machines in the virtual cluster desired by the user, a specification of virtual resources such as VCPU, memory, and virtual disk space that the virtual machines will have, system and application software and configuration information of the virtual machine, and the like. You will receive a request to create a virtual cluster provisioning, including time and space constraints. That is, the external system may transmit a virtual cluster provisioning generation request to the virtual cluster provisioning process receiver 210.
  • the reuse virtual disk search unit 220 searches a virtual disk stored in the reuse asset storage 300 to search whether the virtual disk to be created is reusable in response to a provisioning request for the virtual cluster.
  • the reuse virtual disk search unit 220 searches for a merged virtual disk that can be reused in the reuse asset storage 300.
  • the merged virtual disk refers to a virtual disk that can be merged with a plurality of virtual disks each having different software installed thereon.
  • the reuse asset store 300 stores the outputs of all the software generated in the virtual disk provisioning management apparatus 200.
  • Deliverables can be stored in a virtual disk provisioning request received from an external system, a feature model of a virtual cluster, a virtual cluster provisioning procedure and reuse created by the virtual disk provisioning procedure generator 230, a virtual cluster provisioning procedure, a reusable virtual disk, Software installation and configuration program.
  • 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 storage, and search for the existing virtual disk in the reuse asset storage 300.
  • 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 specifies a virtual disk provisioning procedure and method for specifying whether to create a merged virtual disk for a virtual cluster having a plurality of virtual machines through a new installation or a replication. Determine.
  • the virtual disk provisioning procedure generation unit 240 searches the reuse asset repository 300 for a software installer required for the installation and provisions the virtual disk based on the installer of the retrieved software. Create a procedure.
  • the virtual disk provisioning procedure generation unit 240 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 generator 240 may also generate a procedure for creating a virtual disk to be reused later. If a reusable virtual disk exists, the virtual disk provisioning procedure generation unit 240 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 virtual disk provisioning procedure generation unit 240 generates a reused virtual disk provisioning procedure for copying as it is based on the reusable virtual disk or installing additional application software. Therefore, the virtual disk provisioning procedure generation unit 240 should generate a procedure of duplicating the virtual disk to be reused, installing the necessary application software, and setting it 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 virtual disk provisioning procedure generation unit 240 parses the reused asset statement of the retrieved reusable virtual disk and generates a reused virtual disk provisioning procedure.
  • the virtual disk generating unit 240 generates a virtual disk according to the generated virtual disk provisioning procedure.
  • the virtual disk generating unit 240 associates the software with each of the first disk and the plurality of virtual machines, each of which may be shared and accessible by a plurality of virtual machines, and having a read operation installed only with software required for the plurality of virtual machines.
  • the virtual disk generating unit 240 stores data in which the location path of the second disk is recorded on the first disk.
  • the virtual disk generator 240 copies the file stored on the first disk to the second disk and performs a write operation on the file copied to the second disk. do.
  • the virtual cluster building apparatus 200 merges a read-only virtual disk having necessary software installed therewith with a virtual disk capable of writing, thereby unlike an integrated virtual cluster construction in which only a virtual disk containing necessary software cannot be created.
  • the storage space of the virtual disk can be used efficiently.
  • 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 virtual cluster having a plurality of virtual machines (S310).
  • the virtual cluster provisioning process performing unit 211 included in the virtual cluster provisioning process receiving unit 210 may provide the virtual cluster provisioning included in the virtual cluster provisioning request for merging a plurality of virtual disks each including different software. Parse the specification.
  • the virtual cluster provisioning specification can be parsed only when the virtual machine of the virtual cluster can be deployed to a specific physical host.
  • the virtual cluster 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 cluster building apparatus 200.
  • the virtual cluster provisioning process execution unit 211 determines whether a virtual disk of a virtual cluster existing in the parsed specification can be created.
  • 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. The result of the determination is whether virtual disk provisioning is possible.
  • the virtual disk generating unit 240 generates a first disk on which software required in common for the plurality of virtual machines is installed, which can be shared and accessed by the plurality of virtual machines (S320).
  • the virtual disk generating unit 240 first generates an empty first disk named Vdisk_01. The name and size of the created first disk is determined based on the virtual disk provisioning procedure specified by the virtual disk provisioning procedure generation unit 230.
  • the virtual disk generating unit 240 creates a file system specified by the user on the first disk, creates an empty directory whose name is vdisk_01, and mounts the first disk in the form of a loopback device. If the created first disk is mounted, the virtual disk generator 240 replicates or newly installs the virtual disk first disk on which the system software specified in the virtual disk provisioning procedure is installed.
  • the virtual disk generator 240 replicates the reusable merged virtual disk on the first disk.
  • the virtual disk generating unit 240 copies the file and provisions the virtual disk even if the size of the virtual disk requested by the user does not match the size of the virtual disk to be reused. This is because, in the case of the merged virtual disk, the space of the virtual disk requested by the user may be created on the second disk, merged, and then provided.
  • the second disk refers to a virtual disk associated with software and capable of writing to each of the plurality of virtual machines.
  • the virtual disk generator 240 generates the first disk on which the system software is installed, the virtual disk provisioning procedure generator 230 Creates a virtual disk provisioning procedure that is meta-information based on the name, version, and architecture information of the system software you installed to register as an asset for reuse.
  • the virtual disk generator 240 creates a first disk for the application software named Vdisk_01_app. do.
  • the virtual disk generating unit 240 generates a separate first disk without additionally installing application software on the first disk, which is Vdisk_01 on which system software is installed, to increase reusability of the virtual disk on which each software is installed.
  • the virtual disk generating unit 240 installs a second disk Vdisk_01_app first disk also created a file system, and creates an empty directory named app01 and mounts it as a loopback device.
  • the virtual disk generating unit 240 generates an empty directory for the application software and an empty directory named vdisk_01 / app01 under the directory on which the first disk mounted with the Vdisk_01 is mounted. Subsequently, the virtual disk generating unit 240 binds the first directory, vdisk_01 / app01, and the second directory, app01, to the vdisk_01 / app01 directory, which is created by binding each other. It will be installed in the app01 directory where you mounted the disk. The reason why the virtual disk generator 240 installs the application software through the bind mount is because the application software is dependent on the system software.
  • the virtual disk generator 240 installs the application software in the app01 directory on which the first disk mounted as the Vdisk_01_app is mounted, the application software dependent on the system software of the virtual machine is installed.
  • the user requested that the application software OpenJDK7 be created in the form of a virtual disk that can run on Linux Debian 8.0 of the AMD64 architecture. to be.
  • the virtual disk generating unit 240 changes the root file system to the vdisk_01 directory in which the system software is installed and downloads and installs the vdisk_01 / app01 directory in which the application software is created.
  • the virtual disk provisioning procedure generation unit 230 When the installation of the application software is completed, the virtual disk provisioning procedure generation unit 230 generates a virtual disk provisioning procedure for the virtual disk on which the system software is installed, and the generated virtual disk provisioning procedure and the asset ID are stored in the reuse asset repository 300. Stored. Thereafter, the virtual disk generating unit 240 unmounts the bind-mounted application software directory under the directory in which the system software is installed. In addition, the vdisk_01 directory on which the first virtual disk of Vdisk_01 is mounted and the app01 directory on which the first disk of Vdisk_01_app are mounted are also unmounted. Finally, the virtual disk generator 240 duplicates the generated first disk as many times as necessary. The system software and application software settings installed on the first disk are performed on the second disk assigned to the virtual machine.
  • the virtual disk generating unit 240 generates a second disk capable of a write operation in association with software in each of the plurality of virtual machines (S330).
  • the virtual disk generating unit 240 generates a second disk capable of writing in association with software installed on the first disk in each of the plurality of virtual machines.
  • the second disk is a virtual disk capable of storing data written by each virtual machine when the virtual disk shared by a plurality of virtual machines is used.
  • the second disk applies system settings, such as hostname and IP address, to each virtual machine and provides space to store data that is modified and created while the user is using the virtual machine.
  • the first disk shared by the virtual machines is generally a virtual disk where system software or application software exists, and if the system configuration does not exist for each virtual machine on the second disk, the first disk is recognized as a virtual machine having the same hostname and IP address. do.
  • the virtual disk generator 240 Since the virtual disk generator 240 generates a second disk based on the system software information of the virtual machine, the system software information of the virtual machine to be generated in the virtual disk provisioning procedure is required. First, the virtual disk generating unit 240 generates an empty second disk for each virtual machine, and installs the same file system as the file system of the first disk shared by the plurality of virtual machines in the generated virtual disk. The virtual disk generator 240 mounts the generated second disk as a loopback device in empty directories named vdisk_01 and vdisk_02, and then creates directories existing in the root directory of the system software to be used by the virtual machine.
  • the virtual disk generator 240 creates an empty directory having the same name in a directory mounted on the second disk.
  • the reason for creating a directory with the same name as the directory on top of the root file system of the system software is to store data that the virtual machine modifies or writes.
  • the virtual disk generating unit 240 replicates the directory and files in which all write operations that can occur during the booting process of the system software and application software are generated.
  • merged virtual disks provide read-only virtual disks with system software and application software, which prevents the virtual machine from writing to it at boot time. Accordingly, the virtual disk generator 240 removes an error in the booting process by moving a directory and a file where a write operation is performed to the second disk among the merged virtual disks provided for each virtual machine.
  • merge mounting is a technology in which all software components merge and provide one or more files rather than being integrated in one file or a directory existing in a file system of a physical host.
  • the virtual disk generating unit 240 merges all files and directories existing in the lowerdir and the upperdir through merge mounting, and thus appears as one logical file structure. If the virtual disk generator 240 performs merge mounting with the directories of the first disk and the same name created on the second disk and the lowerdir and the upperdir, respectively, the directory of upperdir is associated with the actual system software. Even if the file does not exist, the directories of the first disk and the second disk are merged and exposed in the virtual machine. In other words, the virtual machine is logically exposed as a logical file structure, but all data written by the user are created under the directory designated by upperdir, which is stored in a directory on the second disk.
  • the virtual disk generator 240 assigns the first disk shared with a plurality of virtual machines to lowerdir, assigns the second disk to upperdir, and then performs merge mounting, all data generated by the virtual machine is transferred to upperdir. It is stored in the directory of the merged second disk to increase the reusability of the shared virtual disk.
  • the virtual disk generator 240 stores the system settings of each virtual machine on the second disk and merges them, so that different hostnames and IP addresses are applied when the virtual machines are driven, thereby reusing the shared first disk. It can be maximized.
  • the virtual disk generating unit 240 generates the second disk, system settings are generated and stored in different directories and files according to the system software.
  • the virtual disk generator 240 creates a hosts file including hostnames and IP addresses of virtual machines such as hostname under the etc directory. In addition, the virtual disk generating unit 240 generates an IP address of each virtual machine as a file name of interfaces in the network directory under the etc directory. In addition to the system software settings, when there is a first disk on which application software is installed among the shared first disks, the virtual disk generating unit 240 stores the application software setting information on the second disk. In addition, the virtual disk generator 240 creates and stores a directory in which application software settings are to be stored on the second disk similarly to the system software settings, and in the case of Hadoop 2.6.0, creates a hadoop / conf directory under the opt directory.
  • the virtual disk generator 240 creates a work directory. In the merge mounting, the work directory is used as a directory for temporarily storing data used in the upperdir during merging, so the virtual disk generator 240 must create a work directory on the second disk.
  • the virtual disk generating unit 240 terminates the operation after unmounting the second disk of the created virtual machine if all the configuration file creation tasks are completed.
  • the virtual disk generating unit 240 when receiving a back-up request of the virtual machine, stores a file capable of a write operation stored in the second disk. In addition, the virtual disk generating unit 240 stores data in which the location path of the second disk is recorded on the first disk. At this time, the first disk is set such that only read operations are possible. Files that are writable include files copied from the first disk, which were previously read only.
  • the virtual disk generating unit 240 merges and mounts the first disk and the second disk (S340).
  • the virtual disk generating unit 240 merges and mounts the first disk and the second disk to be seen as a tree. In this case, when the same file or folder exists on the first disk and the second disk, the virtual disk generating unit 240 allows the same file or folder of the second disk to be accessed.
  • the virtual disk generating unit 240 merges and mounts the plurality of first disks and the second disk. That is, the virtual disk generating unit 240 merges and mounts the plurality of second disks so that different files can be accessed in each of the plurality of versions of the software.
  • the plurality of first disks are generated by the virtual disk generating unit 240 in which the respective softwares of the plurality of versions are installed.
  • the virtual disk generating unit 240 copies the file stored in the first disk to the second disk and then copies the file to the second disk. Write to the file.
  • the virtual cluster building apparatus 200 may shorten the provisioning process of the virtual disk by separately creating a writeable virtual disk and sharing and using the virtual disk already created without creating a virtual disk on which software to be used is installed. Can be.
  • FIG. 4 illustrates a virtual disk sharing method of a virtual machine using a merged virtual disk according to an embodiment of the present invention.
  • the virtual cluster 410 may include a plurality of virtual machines, that is, a first virtual machine 411, a second virtual machine 412, a third virtual machine 413, and a fourth virtual machine 414.
  • the first disk 421 is a virtual disk including system software and includes system software of Debian 8.0.
  • the first disk 422 is a virtual disk including application software, and includes OpenJDK and Hbase 1.1.1. In this case, the first disks 421 and 422 may be read only, and may be shared among a plurality of other virtual machines.
  • Each second disk 431, 432, 433, 434 is a first disk in the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414.
  • the first virtual machine 411 shares first disks 421, 422 including Debian 8.0, OpenJDK, and Hbase 1.1.1, and displays data for Debian 8.0, OpenJDK, and Hbase 1.1.1.
  • a second disk 431 capable of writing in case of creation and modification is included.
  • the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 likewise share the first disks 421, 422 including Debian 8.0, OpenJDK, and Hbase 1.1.1, and Debian 8.0
  • the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 are configured with Debian 8.0, OpenJDK, and the first disk 421, 422.
  • Data for Debian 8.0, OpenJDK, and Hbase 1.1.1 via second disks 431, 432, 433, 434 that share Hbase 1.1.1 and correspond to the respective virtual machines 411, 412, 413, 414. Can be created and modified.
  • the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 are application software included in the first disks 421, 422.
  • application software or system software of a different version from the system software can be used through a write operation on the second disks 431, 432, 433, 434.
  • the first virtual machine 411 may use Hbase1.1.2, which is an upgraded version of Hbase1.1.1, via the second disk 421 capable of writing.
  • the virtual cluster building apparatus 200 copies and upgrades the configuration file changed to be upgraded to Hbase1.1.2 among the configuration files of Hbase1.1.1 stored in the first disk 422, onto the second disk 421, Mounting by merging the second disk 431 containing the changed configuration file and the first disk 421 containing the same configuration file of Hbase1.1.1 as the configuration file of Hbase1.1.2 to be upgraded from Hbase1.1.1 to Hbase1.1.2. do. That is, even if the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 share the same first disks 421 and 422, the second virtual machine 411, the second virtual machine 412, and the fourth virtual machine 414 share the same first disks 421 and 422.
  • a write operation on the virtual disks 431, 432, 433, and 434 may include a version of software different from the software installed on the first disks 421 and 422.
  • the virtual cluster building apparatus 200 can efficiently use the storage space of the virtual disk by providing a different version of software than the software included in the virtual disk that can be shared without a separate provisioning through the writeable virtual disk. And reduce virtual disk provisioning steps.
  • FIG. 5 illustrates a virtual disk file structure of a virtual machine in which a plurality of directories are merged through merge mounting according to another embodiment of the present invention.
  • two or more directories are merged into one merged directory, that is, a mounting point.
  • the directories to be merged can be included on the first and second disks, where all directories on the first disk, LowerDir, are read-only, and directories on the second disk, UpperDir, are read and write-only. Write). If a file or directory of the same name exists among the merged directories, the directory on the second disk, that is, the file in Upper Dir, has the highest read priority. In addition, the directory of the first disk, that is, Lower Dir, is configured as read only. All writes are then applied to directories on the second disk.
  • File1.txt and File3.txt exist in the directory 3 to be merged and the directory 2 to be merged, respectively, but the directory 3 to be merged and the directory 2 to be merged are all merge-mounted as read-only directories. Can not. Accordingly, when the user performs a write operation on the corresponding file in the merge-mounted directory, the virtual cluster building apparatus 200 of the second disk capable of writing the file existing in the directory 2 to be merged with the directory 2 to be merged is created. Reflects write after replication to directory1 to be merged. As a result, File1.txt and File3.txt are stored in the directory 1 to be merged.
  • the virtual cluster building apparatus 200 merges and mounts the first disk capable of reading only and the second disk capable of writing, thereby enabling writing of software included in the virtual disk.
  • FIG. 6 illustrates a file system hierarchy of merged virtual disks when the virtual machine uses various application software according to another embodiment of the present invention.
  • file system hierarchy 600 is a hierarchy of merged file systems where one or more application software references different libraries of the same name.
  • the application software 'A' and 'B' use the same library 'liba'. If the application software 'A' uses the library version '1.9' and the application software 'B' uses the library version '2.1', the virtual disk with the application software 'A' is installed when the merged virtual disk is created. 1.9 'version is installed, and' 2.1 'version library is installed on the virtual disk where application software' B 'is installed.
  • due to software dependency issues there are standardized rules for naming software and libraries by name, major version, and minor version.
  • the library name required by the application software 'A' is 'liba.1.9'
  • the application software 'B' has the 'liba.2.1' library. Since the virtual cluster building apparatus 200 merges the file systems installed in the respective merged virtual disks when the virtual machine is driven, the user has a 'liba.1.9' library file existing in the virtual disk where the application software 'A' is installed. The library files 'liba.2.1' of the virtual disk where the application software 'B' exists are all displayed at the same time. Therefore, even if the virtual cluster building apparatus 200 generates a merged virtual disk for each software element, the virtual cluster building apparatus 200 does not cause a software conflict problem.
  • 7 (a) to 7 (d) illustrate the effects of virtual disk provisioning for building a virtual cluster according to another embodiment of the present invention.
  • FIG. 7A a graph 710 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 711 on the virtual machine allocated four VCPUs and 4 GB of memory has a creation time of 1273.85 seconds
  • the non-reusable merge virtual disk 7812 has a creation time of 1217.69 seconds. It was.
  • the creation time difference of the non-reusable integrated and merged virtual disks 711 and 712 can be regarded as a difference that can occur due to the use of external storage in which each software package exists.
  • the creation time difference of the non-reuse integrated and merged virtual disks 711 and 712 may be regarded as a slight difference in installation time depending on the network environment of the external storage where the software package exists. Accordingly, it can be seen that the creation times of the non-reuse integrated and merged virtual disks 711 and 712 are similar regardless of the virtual disk type.
  • the total creation time of the integrated and merged virtual disks 713 and 714 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 711 and 712, the difference in system software reuse integrated and merged virtual disk 713 and 714 creation time differences 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 713 and 714 may be confirmed to be similar.
  • the creation time of the integrated and merged virtual disks 715 and 716 represents 356.17 seconds and 233.87 seconds, respectively.
  • the reason why the creation time of the system and application software reuse merged virtual disk 716 is shortened compared to the system and application software reuse integrated virtual disk 715 may be seen as a result of the method difference of reusable virtual disk replication.
  • System and application software reuse The integrated virtual disk 715 creates a blank 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 716 may create and merge an upper disk to duplicate a virtual disk on which reusable software is installed.
  • 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. Replicating the contents of a reusable virtual disk repeatedly takes all the file-by-file copy operations, which consumes much more time than duplicating a single virtual disk file. Therefore, when all the software components are reused, merged disk creation time is inevitably shortened compared to the integrated type.
  • a graph 720 of a creation time result for each virtual disk type as the virtual machines included in one virtual cluster increases. For convenience of explanation, it will be described with reference to FIG. 7A.
  • an integrated virtual disk creation time based on reuse on a virtual machine allocated with 4 VCPUs and 4 GB 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 point when the number of virtual machines goes from eight (721) to sixteen (722).
  • the reason why the reuse-based integrated virtual disk creation time is generated is because the number of created disks must be duplicated. That is, since the integrated type does not share the created virtual disks of virtual machines in the same virtual cluster, the number of virtual machines must be duplicated with the disks on which all necessary system software 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 730 of a reduction rate of merged virtual disk creation time 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 730 of a rate of decrease in merged virtual disk creation time 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.
  • it is expressed based on the creation time reduction rate when the maximum number of shared virtual machines per virtual disk is one.
  • the reuse-based merged disk creation time is based on a total of 32 (736) virtual machines, up to one to four shared virtual machines per virtual disk. (731, 732, 733) showed a rapid decrease in production time.
  • the maximum number of shared virtual machines is four or more (733, 734, 735, 736), it can be seen that the reduced generation time ratio 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 expectation reduction rate can be expected if the maximum shareable virtual machines per virtual disk is 4 (733). 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 (731, 732, 733) virtual machines share one virtual disk.
  • Unified virtual disk 741 represents a linear shared storage usage size in proportion to the increase in the number of virtual machines present in the virtual cluster. This can be interpreted as a result of creating a virtual disk in proportion to the number of virtual machines in each virtual cluster.
  • Merged virtual disks 742, 743, and 744 represented different shared storage footprints depending on the maximum number of shared virtual machines per virtual disk.
  • the creation time of the integrated virtual disk 741 and the merged virtual disk 742, 743, 744 in proportion to the increase in the number of virtual machines in the virtual cluster.
  • the used storage space of the shared storage also increased in proportion to the number of virtual machines shared by the integrated virtual disk 741 and the merged virtual disk 742, 743, and 744.
  • the maximum number of shared virtual machines among the merged virtual disks is one (742), it is confirmed that the shared storage of the same size as the integrated type is used.
  • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a method and apparatus for constructing a virtual cluster by union-mounting readable and writable virtual disks. A method for constructing a virtual cluster having a plurality of virtual machines according to an embodiment of the present invention comprises the steps of: receiving a provisioning request for a virtual cluster having a plurality of virtual machines; in response to the provisioning request for the virtual cluster, generating a first disk in which software commonly required for the plurality of virtual machines is installed, the first disk being shared and accessible by the plurality of virtual machines; generating, in each of the plurality of virtual machines, a second disk in which a write operation can be performed in association with the software; and union-mounting the first disk and the second disk. Accordingly, the present invention can provide a method and apparatus for constructing a virtual cluster by union-mounting readable and writable virtual disks, wherein a separate united virtual disk in which a write operation can be performed is provided and union-mounted with a read-only virtual disk, so that each of the virtual machines can perform a write operation on the shared virtual disk.

Description

읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법 및 장치Method and device for building virtual cluster through merge mounting of read and write virtual disks
본 발명은 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법 및 장치에 관한 것으로서, 보다 상세하게는 서로 다른 소프트웨어를 포함한 읽기 및 쓰기가 가능한 형태인 각각의 가상 디스크를 병합하여 가상 클러스터를 구축할 수 있는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for constructing a virtual cluster through merge mounting of a read and write virtual disk, and more specifically, to a virtual cluster by merging each virtual disk in a read and write form including different software. The present invention relates to a method and apparatus for building a virtual cluster through merge mounting of a read and write virtual disk capable of building a virtual disk.
네트워크 기술과 저장소 기술이 발전함에 따라 공유 가능한 저장소에 저장된 대용량 데이터의 분석 처리 기술을 적용하기 위한 플랫폼 기술 즉, 가상화 기술이 활발히 연구되고 있다. 특히, 대용량 데이터를 효과적으로 분석하기 위해서 분산 및 저장된 데이터를 병렬적으로 처리하는 기술이 중요시되고 있다. 그러나 병렬적으로 분산된 대용량 데이터를 처리하기 위해서는 하나 이상의 처리용 컴퓨팅 노드를 클러스터로 묶어 활용하는 가상 클러스터 기술이 반드시 필요하다.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)
하나 이상의 가상 머신이 가상 디스크를 공유하기 위해서 공유된 가상 디스크를 읽기 전용으로 가상 머신에 제공될 수 있다. 읽기 전용으로 가상 디스크를 제공하지 않는다면 각각의 가상 머신이 쓰기 작업을 수행할 때 공유된 가상 디스크의 파일 시스템이 변동되는 문제점이 발생할 수 있다. In order for one or more virtual machines to share a virtual disk, the shared virtual disk may be provided to the virtual machine as read-only. If you do not provide a virtual disk as read-only, the file system of the shared virtual disk may change when each virtual machine writes.
이에, 본 발명의 발명자들은 쓰기 작업을 수행할 수 있는 별도의 병합형 가상 디스크를 제공하여 읽기 전용 가상 디스크와 병합 마운팅함으로써, 각각의 가상 머신이 가상 디스크를 공유하여 프로그램을 구동할 수 있는 가상 클러스터의 구축 방법 및 장치를 발명하였다.Therefore, the inventors of the present invention provide a separate merged virtual disk capable of performing a write operation and merge mounting with a read-only virtual disk, so that each virtual machine can share a virtual disk to drive a program. Invented a method and apparatus for construction.
본 발명이 해결하고자 하는 다른 과제는 이미 생성된 읽기 전용의 가상 디스크를 공유하여 공유한 가상 디스크에 대한 쓰기 작업이 가능한 가상 디스크와 병합 마운팅함으로써, 가상 디스크의 저장 공간을 효율적으로 사용하고, 가상 디스크 프로비저닝 소요 시간을 단축할 수 있도록 하는 것이다.Another problem to be solved by the present invention is to efficiently use the storage space of the virtual disk by merging and mounting the virtual disk capable of writing to the shared virtual disk by sharing the already created read-only virtual disk This will reduce the time it takes to provision.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.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.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법은 복수의 가상 머신을 갖는 가상 클러스터에 대한 프로비저닝 요청을 수신하는 단계, 가상 클러스터에 대한 프로비저닝 요청에 대응하여 복수의 가상 머신이 공유하여 엑세스 가능한, 복수의 가상 머신에 공통으로 요구되는 소프트웨어가 설치된 제1 디스크를 생성하는 단계, 복수의 가상 머신 각각에 소프트웨어와 연관되어 쓰기 작업이 가능한 제2 디스크를 생성하는 단계 및 제1 디스크와 제2 디스크를 병합하여 마운팅하는 단계를 포함한다.In order to solve the above problems, a virtual cluster construction method through merging mounting of a read and write virtual disk according to an embodiment of the present invention is a step of receiving a provisioning request for a virtual cluster having a plurality of virtual machines Creating a first disk having software commonly required for the plurality of virtual machines, the plurality of virtual machines being shared and accessible in response to a provisioning request for the virtual cluster, associated with the software in each of the plurality of virtual machines Generating a second disk capable of writing and merging and mounting the first disk and the second disk.
본 발명의 다른 특징에 따르면, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법은 제1 디스크에 제2 디스크의 위치 경로가 기록된 데이터를 저장하는 단계를 더 포함하고, 제1 디스크는 읽기 작업만이 가능하도록 설정될 수 있다.According to another feature of the invention, the virtual cluster construction method through the merge mounting of the read and write virtual disk further comprises the step of storing data in which the location path of the second disk is recorded on the first disk, The disk can be set to allow only read operations.
본 발명의 또 다른 특징에 따르면, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법은 가상 머신의 백업 (back-up) 요청을 수신하는 단계 및 제2 디스크에 저장된 쓰기 작업이 가능한 파일을 저장하는 단계를 더 포함하고, 쓰기 작업이 가능한 파일은 종래 읽기전용이었던 제1 디스크로부터 복사된 파일을 포함할 수 있다.According to still another aspect of the present invention, a virtual cluster construction method through merge mounting of a read and write virtual disk may include receiving a back-up request of a virtual machine and a write operation stored on a second disk. The method may further include storing a file, wherein the file capable of writing may include a file copied from the first disk, which was conventionally read-only.
본 발명의 또 다른 특징에 따르면, 제2 디스크에 소프트웨어와 연관되는 파일들이 저장될 수 있다.According to another feature of the invention, files associated with software may be stored on a second disk.
본 발명의 또 다른 특징에 따르면, 제1 디스크와 제2 디스크를 병합하여 마운팅하는 단계는, 병합된 제1 디스크와 제2 디스크를 하나의 트리로 보이도록 생성하는 단계를 포함할 수 있다.According to another feature of the present invention, the merging and mounting of the first disk and the second disk may include generating the merged first disk and the second disk to appear as a tree.
본 발명의 또 다른 특징에 따르면, 제1 디스크와 제2 디스크를 병합하여 마운팅하는 단계는, 제1 디스크 및 제2 디스크에 동일한 파일 또는 폴더가 존재하는 경우, 제2 디스크의 동일한 파일 또는 폴더가 엑세스되도록 구성될 수 있다.According to another feature of the invention, the step of merging and mounting the first disk and the second disk, if the same file or folder exists on the first disk and the second disk, the same file or folder on the second disk Can be configured to be accessed.
본 발명의 또 다른 특징에 따르면, 소프트웨어는 복수의 버전으로 존재하며, 제1 디스크를 생성하는 단계는, 복수의 버전의 각각의 소프트웨어가 설치된 복수의 제1 디스크를 생성하는 단계를 포함하며, 마운팅하는 단계는, 복수의 제1 디스크와 제2 디스크를 병합하여 마운팅하는 단계일 수 있다.According to another feature of the invention, the software exists in a plurality of versions, and the step of creating the first disk comprises the step of creating a plurality of first disks on which the respective software of the plurality of versions is installed, The step of merging may be a step of merging and mounting the plurality of first and second disks.
본 발명의 또 다른 특징에 따르면, 마운팅하는 단계는, 소프트웨어의 복수의 버전 각각에서 서로 다른 파일이 엑세스 가능하도록 복수의 제1 디스크를 병합하여 마운팅하는 단계를 포함할 수 있다.According to another feature of the invention, the mounting may comprise merging and mounting the plurality of first disks such that different files are accessible in each of the plurality of versions of the software.
본 발명의 또 다른 특징에 따르면, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법은 제1 디스크에 저장된 파일에 대하여 쓰기 동작을 요청받은 경우, 제1 디스크에 저장된 파일을 제2 디스크로 복사하는 단계 및 제2 디스크로 복사된 파일에 대하여 쓰기 동작을 수행하는 단계를 더 포함할 수 있다.According to another feature of the present invention, a virtual cluster construction method through merge mounting of a read and write virtual disk, when a write operation is requested for a file stored on the first disk, the file stored on the first disk is second; The method may further include copying to a disk and performing a write operation on the file copied to the second disk.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치는 복수의 가상 머신을 갖는 가상 클러스터를 구축하는 장치로서, 복수의 가상 머신을 갖는 가상 클러스터에 대한 프로비저닝 요청을 수신하는 가상 디스크 프로비저닝 프로세스 수신부 및 가상 클러스터에 대한 프로비저닝 요청에 대응하여 복수의 가상 머신이 공유하여 엑세스 가능한, 복수의 가상 머신에 공통으로 요구되는 소프트웨어가 설치된 제1 디스크를 생성하고, 복수의 가상 머신 각각에 소프트웨어와 연관되어 쓰기 작업이 가능한 제2 디스크를 생성하고, 제1 디스크와 제2 디스크를 병합하여 마운팅하는 가상 디스크 생성부를 포함한다.In order to solve the above problems, a virtual cluster building apparatus through merge mounting of a read and write virtual disk according to an embodiment of the present invention is a device for building a virtual cluster having a plurality of virtual machines, The virtual disk provisioning process receiving unit that receives a provisioning request for a virtual cluster having a virtual machine and software commonly installed in a plurality of virtual machines that are shared and accessible by a plurality of virtual machines in response to the provisioning request for the virtual cluster are installed. And a virtual disk generating unit for generating a first disk, creating a second disk capable of writing in association with software in each of the plurality of virtual machines, and merging and mounting the first disk and the second disk.
본 발명의 다른 특징에 따르면, 가상 디스크 생성부는, 제1 디스크에 제2 디스크의 위치 경로가 기록된 데이터를 저장하고, 제1 디스크는 읽기 작업만이 가능하도록 설정될 수 있다.According to another feature of the present invention, the virtual disk generating unit may store data in which the location path of the second disk is recorded on the first disk, and the first disk may be configured to only read.
본 발명의 또 다른 특징에 따르면, 가상 디스크 프로비저닝 프로세스 수신부는, 가상 머신의 백업 요청을 수신하고, 가상 디스크 생성부는, 제2 디스크에 저장된 쓰기 작업이 가능한 파일을 저장하고, 쓰기 작업이 가능한 파일은 종래 읽기 전용이었던 제1 디스크로부터 복사된 파일을 포함할 수 있다.According to another feature of the present invention, the virtual disk provisioning process receiving unit receives a backup request of the virtual machine, the virtual disk generating unit stores a file capable of write operations stored in the second disk, It may include a file copied from the first disk, which was conventionally read-only.
본 발명의 또 다른 특징에 따르면, 제2 디스크에 소프트웨어와 연관되는 파일들이 저장될 수 있다.According to another feature of the invention, files associated with software may be stored on a second disk.
본 발명의 또 다른 특징에 따르면, 가상 디스크 생성부는, 병합된 제1 디스크와 제2 디스크를 하나의 트리로 보이도록 생성할 수 있다.According to another feature of the present invention, the virtual disk generating unit may generate the merged first disk and the second disk to appear as a tree.
본 발명의 또 다른 특징에 따르면, 가상 디스크 생성부는, 제1 디스크 및 제2 디스크에 동일한 파일 또는 폴더가 존재하는 경우, 제2 디스크의 동일한 파일 또는 폴더가 엑세스되도록 구성될 수 있다.According to another feature of the present invention, the virtual disk generating unit may be configured to access the same file or folder of the second disk when the same file or folder exists on the first disk and the second disk.
본 발명의 또 다른 특징에 따르면, 소프트웨어는 복수의 버전으로 존재하며, 가상 디스크 생성부는, 복수의 버전의 각각의 소프트웨어가 설치된 복수의 제1 디스크를 생성하고, 복수의 제1 디스크와 제2 디스크를 병합하여 마운팅할 수 있다.According to another feature of the invention, the software is present in a plurality of versions, the virtual disk generating unit generates a plurality of first disks, each of which is installed a plurality of versions of the software, a plurality of first disk and the second disk Can be mounted by merging
본 발명의 또 다른 특징에 따르면, 가상 디스크 생성부는, 소프트웨어의 복수의 버전 각각에서 서로 다른 파일이 엑세스 가능하도록 복수의 제1 디스크를 병합하여 마운팅할 수 있다.According to another feature of the present invention, the virtual disk generating unit may merge and mount the plurality of first disks so that different files are accessible in each of the plurality of versions of the software.
본 발명의 또 다른 특징에 따르면, 제1 디스크에 저장된 파일에 대하여 쓰기 동작을 요청받은 경우, 가상 디스크 생성부는, 제1 디스크에 저장된 파일을 제2 디스크로 복사하고, 제2 디스크로 복사된 파일에 대하여 쓰기 동작을 수행할 수 있다.According to another feature of the present invention, when a write operation is requested for a file stored in a first disk, the virtual disk generating unit copies the file stored in the first disk to the second disk, and the file copied to the second disk. The write operation can be performed on.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.
본 발명은 가상 클러스터에서 쓰기 작업을 수행할 수 있는 별도의 병합형 가상 디스크를 제공하여 읽기 전용 가상 디스크와 병합 마운팅함으로써, 각각의 가상 머신이 공유된 가상 디스크에 쓰기 작업을 수행할 수 있는 가상 클러스터 구축 방법 및 장치를 제공할 수 있는 효과가 있다.The present invention provides a virtual cluster capable of performing a write operation on a shared virtual disk by providing a separate merged virtual disk capable of performing a write operation in a virtual cluster and merging mounting with a read-only virtual disk. There is an effect that can provide a construction method and apparatus.
본 발명은 이미 생성된 읽기 전용의 가상 디스크를 공유하여 공유한 가상 디스크에 대한 쓰기 작업이 가능한 가상 디스크와 병합 마운팅함으로써, 가상 디스크의 저장 공간을 효율적으로 사용하고, 가상 디스크 프로비저닝 소요 시간을 단축할 수 있는 효과가 있다.The present invention can efficiently use the storage space of the virtual disk and reduce the time required for provisioning the virtual disk by sharing a read-only virtual disk already created and merging it with a virtual disk capable of writing to the shared virtual disk. It can be effective.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.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 cluster building apparatus through merge mounting of a read and write virtual disk according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따라 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법에 따른 가상 클러스터 구축 절차를 도시한 것이다.3 illustrates a virtual cluster construction procedure according to a virtual cluster construction method through merge mounting of a read and write virtual disk according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 병합형 가상 디스크를 활용한 가상 머신의 가상 디스크 공유 방법을 도시한 것이다.4 illustrates a virtual disk sharing method of a virtual machine using a merged virtual disk according to an embodiment of the present invention.
도 5는 본 발명의 다른 실시예에 따라 병합 마운팅을 통해 복수 개의 디렉터리를 병합한 가상 머신의 가상 디스크 파일 구조를 도시한 것이다.FIG. 5 illustrates a virtual disk file structure of a virtual machine in which a plurality of directories are merged through merge mounting according to another embodiment of the present invention.
도 6은 본 발명의 다른 실시예에 따라 가상 머신이 다양한 응용 소프트웨어를 사용할 경우 병합된 가상 디스크의 파일 시스템 계층 구조를 도시한 것이다.FIG. 6 illustrates a file system hierarchy of merged virtual disks when the virtual machine uses various application software according to another embodiment of the present invention.
도 7의 (a) 내지 도 7의 (d) 는 본 발명의 다른 실시예에 따라 가상 클러스터의 구축을 위한 가상 디스크 프로비저닝의 효과를 도시한 것이다.7 (a) to 7 (d) illustrate the effects of virtual disk provisioning for building a virtual cluster according to another embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.Shapes, sizes, ratios, angles, numbers, and the like disclosed in the drawings for describing the embodiments of the present invention are exemplary, and the present invention is not limited to the illustrated items. In addition, in describing the present invention, if it is determined that the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. When 'comprises', 'haves', 'consists of' and the like mentioned in the present specification are used, other parts may be added unless 'only' is used. In case of singular reference, the plural number includes the plural unless specifically stated otherwise.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting a component, it is interpreted to include an error range even if there is no separate description.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Therefore, the first component mentioned below may be a second component within the technical spirit of the present invention.
별도로 명시하지 않는 한 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numerals refer to like elements throughout the specification unless otherwise specified.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each of the features of the various embodiments of the present invention may be combined or combined with each other in part or in whole, various technically interlocking and driving as can be understood by those skilled in the art, each of the embodiments may be implemented independently of each other It may be possible to carry out together in an association.
이하, 본 명세서에서 사용되는 용어에 대해 정의한다.Hereinafter, the terms used in the present specification are defined.
본 명세서에서 “프로비저닝”이란, 사용자의 요구에 따라 자원을 할당, 배치 및 배포하는 절차를 의미한다. 여기서, 자원이란 서버의 메모리, CPU 등을 의미할 수 있다. 구체적으로, 프로비저닝은 사용자의 요구에 따라 서버의 스토리지에 소프트웨어를 설치한 가상 디스크를 생성하고, 가상 디스크를 가상 머신에 배치하여 소프트웨어가 구동될 수 있도록하는 절차를 의미한다. As used herein, “provisioning” refers to a procedure of allocating, deploying, and distributing resources according to a user's request. Here, the resource may mean a memory of the server, a CPU, or the like. Specifically, provisioning refers to a procedure of creating a virtual disk in which software is installed in storage of a server according to a user's request, and placing the virtual disk in a virtual machine so that the software can be run.
도 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 cluster building apparatus provisions the virtual disk 120 by installing software 130 on the virtual disk 120. The virtual cluster building device creates an empty virtual disk 120 to create the virtual disk 120 on which the software 130 is installed. The virtual cluster building device 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 the empty virtual disk 120. . Finally, the virtual cluster building device sets up the software 130 installed in the virtual disk 120. Specifically, the virtual cluster building device performs the necessary settings to execute the system software 131 Debian 8.0, the first application software 132 Open JDK 7.0, and the second application software 133 Hadoop 2.6.0. . In FIG. 1A, the virtual disk 120 may be an integrated virtual disk, but is not limited thereto. The virtual disk may be implemented as a merged virtual disk in which each of the plurality of virtual disks has one software and can be combined with each other. have.
도 1의 (b)를 참조하면, 가상 클러스터 구축 장치는 미리 생성된 가상 디스크 (120) 를 복제하여 동일한 소프트웨어를 포함한 가상 디스크 (140) 를 생성할 수 있다.Referring to FIG. 1B, the virtual cluster building apparatus may generate 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. 1 (b), the virtual cluster building apparatus includes Debian 8.0, the system software 131, Open JDK 7.0, and the first application software 132, according to the virtual disk creation procedure of FIG. 1 (b). 2 The virtual disk 120 is created by copying the virtual disk 120 including the software 130 including Hadoop 2.6.0, which is the application software 133, as it is. 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, the virtual disk creation through cloning is only time consuming to duplicate the software installed in the pre-created virtual disk, and thus can be created more quickly than the 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. Therefore, the virtual cluster building apparatus stores the assets necessary for the replication of the virtual disk in the reuse asset storage, and creates the virtual disk faster based on the stored assets.
이에 따라, 가상 클러스터 구축 장치는 사용자의 요청에 따라 소프트웨어를 설치한 가상 디스크를 생성하고, 생성한 가상 디스크가 설치된 복수의 가상 머신을 포함하는 가상 클러스터를 구축한다. Accordingly, the virtual cluster building device generates a virtual disk on which software is installed according to a user's request, and builds a virtual cluster including a plurality of virtual machines on which the generated virtual disk is installed.
도 2는 본 발명의 실시예에 따른 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치를 설명하기 위한 예시적인 블록도이다.2 is an exemplary block diagram illustrating a virtual cluster building apparatus through merge mounting of a read and write virtual disk according to an embodiment of the present invention.
도 2를 참조하면, 가상 클러스터 구축 장치 (200) 는 가상 클러스터 프로비저닝 프로세스 수신부 (210), 재사용 가상 디스크 검색부 (220), 가상 클러스터 프로비저닝 프로세스 수행부 (211), 가상 클러스터 프로비저닝 개시부 (212), 가상 클러스터 프로비저닝 프로세스 관찰부 (213), 가상 디스크 프로비저닝 절차 생성부 (230) 및 가상 디스크 생성부 (240) 를 포함한다. 2, the virtual cluster building apparatus 200 includes a virtual cluster provisioning process receiving unit 210, a reused virtual disk search unit 220, a virtual cluster provisioning process performing unit 211, and a virtual cluster provisioning initiation unit 212. , A virtual cluster provisioning process observer 213, a virtual disk provisioning procedure generator 230, and a virtual disk generator 240.
도 2를 참조하면, 가상 클러스터 프로비저닝 프로세스 수신부 (210) 는 XML RPC (Remote Procedure Call) 을 이용하여 가상 클러스터에 대한 프로비저닝 요청을 수신한다. 가상 클러스터는 서로 다른 복수의 가상 머신들의 집합체일 수 있다. 여기서, 가상 머신은 소프트웨어가 설치된 가상 디스크를 포함할 수 있다. 이 때, 수신한 프로비저닝 요청은 읽기 및 쓰기 작업이 가능한 가상 디스크를 병합하여 가상 클러스터를 구축하기 위한 프로비저닝 요청이다. 또한, 가상 클러스터 프로비저닝 프로세스 수신부 (210) 는 수신한 프로비저닝 요청 중 두 개 이상의 가상 머신이 동일한 소프트웨어를 포함할 경우, 병합형 가상 디스크를 통한 가상 클러스터 프로비저닝 요청으로 결정할 수도 있다. 가상 클러스터 프로비저닝 프로세스 수신부 (210) 는 XML 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 cluster provisioning process receiving unit 210 receives a provisioning request for a virtual cluster using an XML Remote Procedure Call (RPC). 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. In this case, the received provisioning request is a provisioning request for building a virtual cluster by merging virtual disks capable of read and write operations. In addition, the virtual cluster provisioning process receiver 210 may determine a virtual cluster provisioning request through the merged virtual disk when two or more virtual machines among the received provisioning requests include the same software. The virtual cluster provisioning process receiving unit 210 runs the XML RPC server and transmits the received virtual cluster provisioning request to the virtual cluster provisioning process performing unit 211. The provisioning request for the virtual cluster received by the virtual cluster provisioning process receiving unit 210 includes a software requirement installed in the virtual machines of the virtual cluster requested by the user. The virtual cluster provisioning process execution unit 211 parses the received virtual cluster provisioning request. In addition, the virtual cluster provisioning process execution unit 211 stores the parsed work object in an internal buffer to manage the progress state of the virtual cluster provisioning job. All virtual cluster provisioning processes of the present invention are performed by calling a subcomponent by the virtual cluster provisioning process execution unit 211. Here, the subcomponent is a virtual cluster building apparatus 200 such as a reused virtual disk searching unit 220 which is a component of the virtual cluster building apparatus 200, a virtual disk provisioning procedure generating unit 230, and a virtual disk generating unit 240. ) Means all modules. Each subcomponent receives, processes, and returns a task to be performed by the virtual cluster 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 cluster provisioning initiation unit 212 is a component for driving and terminating subcomponents present in the virtual cluster building apparatus 200. The subcomponents of the virtual cluster building apparatus 200 are operated and managed by the virtual cluster provisioning initiator 212. The virtual cluster provisioning process observer 213 periodically monitors the progress of the work managed by the virtual cluster provisioning process performer 211 and transmits the progress status to the external system. Here, the external system may be a web-based system that provides a virtual cluster provisioning service. Specifically, the external system may include the number of virtual machines in the virtual cluster desired by the user, a specification of virtual resources such as VCPU, memory, and virtual disk space that the virtual machines will have, system and application software and configuration information of the virtual machine, and the like. You will receive a request to create a virtual cluster provisioning, including time and space constraints. That is, the external system may transmit a virtual cluster provisioning generation request to the virtual cluster provisioning process receiver 210.
재사용 가상 디스크 검색부 (220) 는 가상 클러스터에 대한 프로비저닝 요청에 대응하여 생성할 가상 디스크의 재사용 가능 여부를 검색하기 위해 재사용 자산 저장소 (300) 에 저장된 가상 디스크를 검색한다. 구체적으로, 재사용 가상 디스크 검색부 (220) 는 재사용 자산 저장소 (300) 에서 재사용 가능한 병합형 가상 디스크를 검색한다. 여기서, 병합형 가상 디스크란, 각각 다른 소프트웨어가 설치되어 있는 복수의 가상 디스크와 병합될 수 있는 형태의 가상 디스크를 의미한다. 재사용 자산 저장소 (300) 는 가상 디스크 프로비저닝 관리 장치 (200) 에서 생성된 모든 소프트웨어의 산출물을 저장한다. 저장될 수 있는 산출물은 외부 시스템으로부터 수신된 가상 디스크 프로비저닝 요청, 가상 클러스터의 특징 모델, 가상 디스크 프로비저닝 절차 생성부 (230) 가 생성한 가상 클러스터 프로비저닝 절차 및 재사용 가상 클러스터 프로비저닝 절차, 재사용 가능한 가상 디스크, 소프트웨어 설치 및 설정 프로그램이다. 재사용 가상 디스크 검색부 (230) 는 재사용 자산 저장소에 저장할 가상 디스크의 특징모델에 해시 함수 (Hash Fuction) 를 적용한 정수형 식별자를 부여하여, 기존의 가상 디스크를 재사용 자산 저장소 (300) 에서 검색할 수 있다.The reuse virtual disk search unit 220 searches a virtual disk stored in the reuse asset storage 300 to search whether the virtual disk to be created is reusable in response to a provisioning request for the virtual cluster. In detail, the reuse virtual disk search unit 220 searches for a merged virtual disk that can be reused in the reuse asset storage 300. Here, the merged virtual disk refers to a virtual disk that can be merged with a plurality of virtual disks each having different software installed thereon. The reuse asset store 300 stores the outputs of all the software generated in the virtual disk provisioning management apparatus 200. Deliverables can be stored in a virtual disk provisioning request received from an external system, a feature model of a virtual cluster, a virtual cluster provisioning procedure and reuse created by the virtual disk provisioning procedure generator 230, a virtual cluster provisioning procedure, a reusable virtual disk, Software installation and configuration program. 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 storage, and search for the existing virtual disk in the reuse asset storage 300. .
가상 디스크 프로비저닝 절차 결정부 (240) 는 재사용 가상 디스크 검색부 (230) 의 검색 결과에 따라 가상 디스크의 프로비저닝 절차를 결정한다. 구체적으로, 가상 디스크 프로비저닝 절차 결정부 (240) 는 복수의 가상 머신을 갖는 가상 클러스터에 대한 병합형 가상 디스크의 생성을 새롭게 설치를 통하여 할 것인지 복제를 통해 할 것인지가 명세된 가상 디스크 프로비저닝 절차 및 방법을 결정한다. 새롭게 설치하여 가상 디스크를 프로비저닝할 경우, 가상 디스크 프로비저닝 절차 생성부 (240) 는 설치에 필요한 소프트웨어 설치자 (Installer) 를 재사용 자산 저장소 (300) 에서 검색하여, 검색한 소프트웨어의 설치자를 기초로 가상 디스크 프로비저닝 절차를 생성한다. 이 때, 가상 디스크 프로비저닝 절차 생성부 (240) 는 운영체제 소프트웨어에 대응하는 운영체제 가상 디스크 및 응용 소프트웨어에 대응하는 응용 소프트웨어 가상 디스크 각각을 포함하는 가상 디스크를 설치하는 절차를 생성한다. 생성된 절차에는 운영체제 소프트웨어의 명칭 및 버전 정보가 포함된다. 가상 디스크 프로비저닝 절차 생성부 (240) 는 후에 재사용 가능하도록 가상 디스크를 생성하는 절차도 생성할 수 있다. 재사용 가능한 가상 디스크가 존재하는 경우, 가상 디스크 프로비저닝 절차 생성부 (240) 는 재사용 가능한 가상 디스크가 저장된 위치를 검색하고 복제하여 설정할 자산을 기초로 생성할 가상 디스크의 프로비저닝 절차를 생성한다. 즉, 가상 디스크 프로비저닝 절차 생성부 (240) 는 재사용 가능한 가상 디스크를 기반으로 그대로 복제하거나 추가적인 응용 소프트웨어를 설치하여 생성하는 재사용 가상 디스크 프로비저닝 절차를 생성한다. 따라서, 가상 디스크 프로비저닝 절차 생성부 (240) 는 재사용할 가상 디스크를 복제하고, 필요한 응용 소프트웨어를 설치한 뒤 설정하는 절차를 재사용 가상 디스크 프로비저닝 절차에 포함하여 생성해야 한다. 복제해야할 가상 디스크는 재사용 가상 디스크 검색부 (230) 에 의해 분석되어 해시 함수를 이용해 획득한 정수형 식별자로 검색된다. 가상 디스크 프로비저닝 절차 생성부 (240) 는 검색된 재사용 가능한 가상 디스크의 재사용 자산 명세서를 파싱하여 재사용 가상 디스크 프로비저닝 절차를 생성한다. 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 specifies a virtual disk provisioning procedure and method for specifying whether to create a merged virtual disk for a virtual cluster having a plurality of virtual machines through a new installation or a replication. Determine. When provisioning a virtual disk with a new installation, the virtual disk provisioning procedure generation unit 240 searches the reuse asset repository 300 for a software installer required for the installation and provisions the virtual disk based on the installer of the retrieved software. Create a procedure. At this time, the virtual disk provisioning procedure generation unit 240 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 generator 240 may also generate a procedure for creating a virtual disk to be reused later. If a reusable virtual disk exists, the virtual disk provisioning procedure generation unit 240 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 virtual disk provisioning procedure generation unit 240 generates a reused virtual disk provisioning procedure for copying as it is based on the reusable virtual disk or installing additional application software. Therefore, the virtual disk provisioning procedure generation unit 240 should generate a procedure of duplicating the virtual disk to be reused, installing the necessary application software, and setting it 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 virtual disk provisioning procedure generation unit 240 parses the reused asset statement of the retrieved reusable virtual disk and generates a reused virtual disk provisioning procedure.
가상 디스크 생성부 (240) 는 생성된 가상 디스크 프로비저닝 절차에 따라 가상 디스크를 생성한다. 구체적으로, 가상 디스크 생성부 (240) 는 복수의 가상 머신이 공유하여 엑세스 가능한, 복수의 가상 머신에 공통으로 요구되는 소프트웨어가 설치된 읽기 작업만 가능한 제1 디스크 및 복수의 가상 머신 각각에 소프트웨어와 연관되며 쓰기 작업이 가능한 제2 디스크를 생성한다. 이 때, 가상 디스크 생성부 (240) 는 제1 디스크에 제2 디스크의 위치 경로가 기록된 데이터를 저장한다. 제1 디스크에 저장된 파일에 대하여 쓰기 동작을 요청받은 경우, 가상 디스크 생성부 (240) 는 제1 디스크에 저장된 파일을 제2 디스크로 복사하고, 제2 디스크로 복사된 파일에 대하여 쓰기 동작을 수행한다.The virtual disk generating unit 240 generates a virtual disk according to the generated virtual disk provisioning procedure. In detail, the virtual disk generating unit 240 associates the software with each of the first disk and the plurality of virtual machines, each of which may be shared and accessible by a plurality of virtual machines, and having a read operation installed only with software required for the plurality of virtual machines. A second disk capable of being written to. At this time, the virtual disk generating unit 240 stores data in which the location path of the second disk is recorded on the first disk. When a write operation is requested for a file stored on the first disk, the virtual disk generator 240 copies the file stored on the first disk to the second disk and performs a write operation on the file copied to the second disk. do.
이에 따라, 가상 클러스터 구축 장치 (200) 는 필요한 소프트웨어가 설치된 읽기 전용의 가상 디스크와 쓰기 작업이 가능한 가상 디스크를 병합함으로써, 필요한 소프트웨어가 포함된 가상 디스크만은 생성할 수 없는 통합형 가상 클러스터 구축과 달리 가상 디스크의 저장 공간을 효율적으로 사용할 수 있다. Accordingly, the virtual cluster building apparatus 200 merges a read-only virtual disk having necessary software installed therewith with a virtual disk capable of writing, thereby unlike an integrated virtual cluster construction in which only a virtual disk containing necessary software cannot be created. The storage space of the virtual disk can be used efficiently.
도 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 virtual cluster having a plurality of virtual machines (S310).
구체적으로, 가상 클러스터 프로비저닝 프로세스 수신부 (210) 에 포함된 가상 클러스터 프로비저닝 프로세스 수행부 (211) 는 수신한 각각 서로 다른 소프트웨어를 포함하는 복수의 가상 디스크를 병합하는 가상 클러스터 프로비저닝 요청에 포함된 가상 클러스터 프로비저닝 명세서를 파싱 (Parsing) 한다. 이 때, 가상 클러스터의 가상 머신이 특정 물리 호스트에 배치가 가능한 상태여야 가상 클러스터 프로비저닝 명세서를 파싱할 수 있다. 가상 클러스터 프로비저닝 명세서는 OVF 표준을 따르는 XML 형태의 문서이며, 파싱된 결과는 가상 클러스터 구축 장치 (200) 에서 사용할 내부 자료구조로 생성된다. 또한, 가상 클러스터 프로비저닝 프로세스 수행부 (211) 는 파싱된 명세서에 존재하는 가상 클러스트의 가상 디스크를 생성할 수 있는지 판단한다. 판단할 수 있는 기준은 명세된 가상 클러스터의 가상 디스크 크기를 기반으로 저장할 수 있는 공간이 존재하는지와 사용자에 의해 정의된 가상 디스크 사용 시점까지 프로비저닝이 가능한지의 여부를 판단한다. 이 과정을 수행하기 위해서는 가상 디스크를 저장할 수 있는 공유 저장소가 존재해야하며, 판단 결과는 가상 디스크 프로비저닝 가능 여부이다.Specifically, the virtual cluster provisioning process performing unit 211 included in the virtual cluster provisioning process receiving unit 210 may provide the virtual cluster provisioning included in the virtual cluster provisioning request for merging a plurality of virtual disks each including different software. Parse the specification. In this case, the virtual cluster provisioning specification can be parsed only when the virtual machine of the virtual cluster can be deployed to a specific physical host. The virtual cluster 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 cluster building apparatus 200. In addition, the virtual cluster provisioning process execution unit 211 determines whether a virtual disk of a virtual cluster existing in the parsed specification can be created. 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. The result of the determination is whether virtual disk provisioning is possible.
이어서, 가상 디스크 생성부 (240) 는 요청에 대응하여 복수의 가상 머신이 공유하여 엑세스 가능한, 복수의 가상 머신에 공통으로 요구되는 소프트웨어가 설치된 제1 디스크를 생성한다 (S320).Subsequently, in response to the request, the virtual disk generating unit 240 generates a first disk on which software required in common for the plurality of virtual machines is installed, which can be shared and accessed by the plurality of virtual machines (S320).
구체적으로, 가상 디스크 생성부 (240) 는 이름이 Vdisk_01인 빈 제1 디스크를 먼저 생성한다. 생성된 제1 디스크의 이름과 크기는 가상 디스크 프로비저닝 절차 생성부 (230) 에 의해 명세된 가상 디스크 프로비저닝 절차를 기초로 결정된다. 가상 디스크 생성부 (240) 는 제1 디스크에 사용자가 명시한 파일 시스템을 생성하고, 이름이 vdisk_01인 빈 디렉터리를 생성하여 제1 디스크를 Loopback device 형태로 마운트한다. 생성한 제1 디스크를 마운트하였다면, 가상 디스크 생성부 (240) 는 가상 디스크 프로비저닝 절차에 명세된 시스템 소프트웨어가 설치된 가상 디스크 제1 디스크에 복제하거나 이를 새로 설치한다. 이 때, 재사용 가상 디스크 검색부 (220) 가 해당 시스템 소프트웨어가 설치된 재사용 가능한 병합형 가상 디스크를 찾은 경우, 가상 디스크 생성부 (240) 는 재사용 가능한 병합형 가상 디스크를 제1 디스크에 복제한다. 병합형 가상 디스크의 경우, 가상 디스크 생성부 (240) 는 사용자가 요청한 가상 디스크의 크기와 복제하여 재사용하는 가상 디스크의 크기가 부합하지 않더라도 파일을 복제하여 가상 디스크를 프로비저닝한다. 왜냐하면 병합형 가상 디스크의 경우, 사용자가 추가적으로 요청한 가상 디스크의 공간을 제2 디스크에 생성하여 병합한 후에 제공하면 되기 때문이다. 여기서, 제2 디스크란, 복수의 가상 머신 각각에 소프트웨어와 연관되며 쓰기 작업이 가능한 가상 디스크를 의미한다.In detail, the virtual disk generating unit 240 first generates an empty first disk named Vdisk_01. The name and size of the created first disk is determined based on the virtual disk provisioning procedure specified by the virtual disk provisioning procedure generation unit 230. The virtual disk generating unit 240 creates a file system specified by the user on the first disk, creates an empty directory whose name is vdisk_01, and mounts the first disk in the form of a loopback device. If the created first disk is mounted, the virtual disk generator 240 replicates or newly installs the virtual disk first disk on which the system software specified in the virtual disk provisioning procedure is installed. At this time, when the reuse virtual disk search unit 220 finds a reusable merged virtual disk on which the corresponding system software is installed, the virtual disk generator 240 replicates the reusable merged virtual disk on the first disk. In the case of the merged virtual disk, the virtual disk generating unit 240 copies the file and provisions the virtual disk even if the size of the virtual disk requested by the user does not match the size of the virtual disk to be reused. This is because, in the case of the merged virtual disk, the space of the virtual disk requested by the user may be created on the second disk, merged, and then provided. In this case, the second disk refers to a virtual disk associated with software and capable of writing to each of the plurality of virtual machines.
반면에, 제1 디스크에 설치할 시스템 소프트웨어가 재사용 자산 저장소 (300) 에 존재하지 않아 가상 디스크 생성부 (240) 가 시스템 소프트웨어가 설치된 제1 디스크를 생성할 경우, 가상 디스크 프로비저닝 절차 생성부 (230) 는 재사용할 자산으로 등록하기 위해 설치한 시스템 소프트웨어의 이름, 버전, 아키텍처 정보를 기반으로 메타 정보인 가상 디스크 프로비저닝 절차를 생성한다. On the other hand, if the system software to be installed on the first disk does not exist in the reuse asset storage 300, the virtual disk generator 240 generates the first disk on which the system software is installed, the virtual disk provisioning procedure generator 230 Creates a virtual disk provisioning procedure that is meta-information based on the name, version, and architecture information of the system software you installed to register as an asset for reuse.
가상 디스크 생성부 (240) 가 제1 디스크에 시스템 소프트웨어를 설치한 후에 추가적으로 설치해야 하는 응용 소프트웨어가 존재하는 경우, 가상 디스크 생성부 (240) 는 이름이 Vdisk_01_app인 응용 소프트웨어를 위한 제1 디스크를 생성한다. 가상 디스크 생성부 (240) 는 각각의 소프트웨어가 설치된 가상 디스크의 재사용성 증진을 위해 시스템 소프트웨어가 설치된 Vdisk_01인 제1 디스크에 추가적으로 응용 소프트웨어를 설치하지 않고 별도의 제1 디스크를 생성한다. 가상 디스크 생성부 (240) 는 두 번째로 생성한 Vdisk_01_app인 제1 디스크 또한 파일 시스템을 설치한 후, 이름이 app01인 빈 디렉터리를 생성하여 Loopback device로 마운트한다. 또한, 가상 디스크 생성부 (240) 는 Vdisk_01인 제1 디스크를 마운트한 디렉터리의 하위에 응용 소프트웨어에 대한 빈 디렉터리, 이름이 vdisk_01/app01인 빈 디렉터리를 생성한다. 이어서, 가상 디스크 생성부 (240) 는 첫 번째 디렉터리인 vdisk_01/app01와 두 번째 디렉터리인 app01를 서로 바인드 마운트 (Bind mount) 하여 생성한 vdisk_01/app01 디렉터리에 설치되는 응용 소프트웨어가 실제로는 Vdisk_01_app인 제1 디스크를 마운트한 app01 디렉터리에 설치될 수 있도록 한다. 가상 디스크 생성부 (240) 가 바인드 마운트를 통해 응용 소프트웨어를 설치하는 이유는 응용 소프트웨어가 시스템 소프트웨어에 종속적이기 때문이다. 만약 가상 디스크 생성부 (240) 가 Vdisk_01_app인 제1 디스크를 마운트한 app01 디렉토리에 응용 소프트웨어를 설치한다면, 가상 머신의 시스템 소프트웨어에 종속된 응용 소프트웨어가 설치되기 때문이다. 즉, 사용자는 응용 소프트웨어 OpenJDK7가 AMD64 아키텍처의 리눅스 데비안 8.0 버전 상에서 구동될 수 있는 가상 디스크 형태로 생성되기를 요청했으나, 바인드 마운트 과정을 거치지 않는다면 AMD64 아키텍처의 리눅스 데비안 7.0 버전 상에서 구동 가능한  OpenJDK7이 설치되기 때문이다. 바인드 마운트 과정이 정상적으로 수행되었다면, 가상 디스크 생성부 (240) 는 루트 파일 시스템을 시스템 소프트웨어가 설치된 vdisk_01 디렉터리로 변경하여 응용 소프트웨어를 생성한 vdisk_01/app01 디렉터리에 다운받고 설치한다. 응용 소프트웨어 설치가 끝난 경우, 가상 디스크 프로비저닝 절차 생성부 (230) 는 시스템 소프트웨어가 설치된 가상 디스크에 대한 가상 디스크 프로비저닝 절차를 생성하고, 생성된 가상 디스크 프로비저닝 절차와 자산 ID는 재사용 자산 저장소 (300) 에 저장된다. 그 후, 가상 디스크 생성부 (240) 는 시스템 소프트웨어가 설치된 디렉터리 하위의 바인드 마운트된 응용 소프트웨어 디렉터리의 마운트를 해제한다. 또한, Vdisk_01인 제1 가상 디스크를 마운트한 vdisk_01 디렉터리와 Vdisk_01_app인 제1 디스크를 마운트한 app01 디렉터리도 마운트를 해제한다. 마지막으로, 가상 디스크 생성부 (240) 는 생성된 제1 디스크를 필요한 개수만큼 복제한다. 제1 디스크에 설치한 시스템 소프트웨어 및 응용 소프트웨어 설정은 가상 머신에게 할당되는 제2 디스크에서 수행된다.If there is application software that needs to be additionally installed after the virtual disk generator 240 installs the system software on the first disk, the virtual disk generator 240 creates a first disk for the application software named Vdisk_01_app. do. The virtual disk generating unit 240 generates a separate first disk without additionally installing application software on the first disk, which is Vdisk_01 on which system software is installed, to increase reusability of the virtual disk on which each software is installed. The virtual disk generating unit 240 installs a second disk Vdisk_01_app first disk also created a file system, and creates an empty directory named app01 and mounts it as a loopback device. In addition, the virtual disk generating unit 240 generates an empty directory for the application software and an empty directory named vdisk_01 / app01 under the directory on which the first disk mounted with the Vdisk_01 is mounted. Subsequently, the virtual disk generating unit 240 binds the first directory, vdisk_01 / app01, and the second directory, app01, to the vdisk_01 / app01 directory, which is created by binding each other. It will be installed in the app01 directory where you mounted the disk. The reason why the virtual disk generator 240 installs the application software through the bind mount is because the application software is dependent on the system software. If the virtual disk generator 240 installs the application software in the app01 directory on which the first disk mounted as the Vdisk_01_app is mounted, the application software dependent on the system software of the virtual machine is installed. In other words, the user requested that the application software OpenJDK7 be created in the form of a virtual disk that can run on Linux Debian 8.0 of the AMD64 architecture. to be. If the bind mount process is normally performed, the virtual disk generating unit 240 changes the root file system to the vdisk_01 directory in which the system software is installed and downloads and installs the vdisk_01 / app01 directory in which the application software is created. When the installation of the application software is completed, the virtual disk provisioning procedure generation unit 230 generates a virtual disk provisioning procedure for the virtual disk on which the system software is installed, and the generated virtual disk provisioning procedure and the asset ID are stored in the reuse asset repository 300. Stored. Thereafter, the virtual disk generating unit 240 unmounts the bind-mounted application software directory under the directory in which the system software is installed. In addition, the vdisk_01 directory on which the first virtual disk of Vdisk_01 is mounted and the app01 directory on which the first disk of Vdisk_01_app are mounted are also unmounted. Finally, the virtual disk generator 240 duplicates the generated first disk as many times as necessary. The system software and application software settings installed on the first disk are performed on the second disk assigned to the virtual machine.
이어서, 가상 디스크 생성부 (240) 는 복수의 가상 머신 각각에 소프트웨어와 연관되어 쓰기 작업이 가능한 제2 디스크를 생성한다 (S330).Subsequently, the virtual disk generating unit 240 generates a second disk capable of a write operation in association with software in each of the plurality of virtual machines (S330).
구체적으로, 가상 디스크 생성부 (240) 는 복수의 가상 머신 각각에 제1 디스크에 설치된 소프트웨어와 연관되어 쓰기 작업이 가능한 제2 디스크를 생성한다. 여기서, 제2 디스크란, 복수의 가상 머신이 공유된 가상 디스크를 사용할 경우, 각각의 가상 머신이 쓰는 데이터를 저장할 수 있는 가상 디스크이다. 제2 디스크는 hostname 및 IP 주소와 같은 시스템 설정을 각각의 가상 머신에 적용시키고, 사용자가 가상 머신을 사용하는 중에 수정 및 생성되는 데이터를 저장할 공간을 제공한다. 가상 머신들이 공유하는 제1 디스크는 일반적으로 시스템 소프트웨어 또는 응용 소프트웨어가 존재하는 가상 디스크이며, 제2 디스크에 각각의 가상 머신 별로 시스템 설정이 존재하지 않는 다면 동일한 hostname과 IP 주소를 지닌 가상 머신으로 인식된다. 뿐만 아니라, 공유되는 제1 디스크를 여러 대의 가상 머신이 동시에 쓰기 요청을 하게 될 경우, 가상 디스크에 생성된 파일 시스템이 깨지는 문제점을 야기한다.  따라서, 반드시 공유된 제1 디스크는 읽기 전용으로 프로비저닝 되어야 하며, 쓰인 데이터를 저장할 수 있는 제2 디스크를 별도로 제공해야한다. 그러나 제2 디스크에는 별도의 시스템 소프트웨어 및 응용 소프트웨어를 설치할 필요가 없기 때문에 시스템 소프트웨어 및 응용 소프트웨어를 설정하고, 수정 및 생성되는 데이터를 저장하기 위해 파일 및 디렉터리 구조가 필요하다. In detail, the virtual disk generating unit 240 generates a second disk capable of writing in association with software installed on the first disk in each of the plurality of virtual machines. Here, the second disk is a virtual disk capable of storing data written by each virtual machine when the virtual disk shared by a plurality of virtual machines is used. The second disk applies system settings, such as hostname and IP address, to each virtual machine and provides space to store data that is modified and created while the user is using the virtual machine. The first disk shared by the virtual machines is generally a virtual disk where system software or application software exists, and if the system configuration does not exist for each virtual machine on the second disk, the first disk is recognized as a virtual machine having the same hostname and IP address. do. In addition, when a plurality of virtual machines write to the shared first disk at the same time, a file system created in the virtual disk is broken. Therefore, the shared first disk must be provisioned read-only and a separate second disk capable of storing the written data must be provided separately. However, since there is no need to install separate system software and application software on the second disk, a file and directory structure is required to set up the system software and application software and to store data that is modified and generated.
가상 디스크 생성부 (240) 는 가상 머신의 시스템 소프트웨어 정보를 바탕으로 제2 디스크를 생성하므로 가상 디스크 프로비저닝 절차에 생성할 가상 머신의 시스템 소프트웨어 정보가 필요하다. 첫 번째로, 가상 디스크 생성부 (240) 는 가상 머신 별로 빈 제2 디스크를 생성하고, 생성된 가상 디스크에 복수의 가상 머신이 공유하는 제1 디스크의 파일 시스템과 동일한 파일 시스템을 설치한다. 가상 디스크 생성부 (240) 는 생성된 제2 디스크는 이름이 vdisk_01, vdisk_02인 빈 디렉터리에 Loopback device로 마운트 후, 가상 머신이 사용할 시스템 소프트웨어의 root 디렉터리에 존재하는 디렉터리들을 생성한다. 예를 들어, 리눅스 데비안의 경우는 bin, dev, home, lib, media, opt, root, sbin, srv, usr, boot, etc, lib64, mnt, proc, run, selinux, sys, tmp, var의 디렉터리가 존재하며, 가상 디스크 생성부 (240) 는 동일한 이름의 빈 디렉터리를 제2 디스크에 마운트한 디렉터리에 생성한다. 디렉터리를 시스템 소프트웨어의 루트 파일 시스템 최상위에 존재하는 디렉터리와 동일한 이름으로 생성하는 이유는 가상 머신이 수정하거나 쓰는 데이터를 저장하기 위해서이다. 또한, 가상 디스크 생성부 (240) 는 시스템 소프트웨어 및 응용 소프트웨어가 부팅 (Booting) 과정에서 발생될 수 있는 모든 쓰기 작업이 발생되는 디렉터리 및 파일을 복제한다. 예를 들어, 데비안 8.0은 부팅과정에서 'var' 하위의 'log' 디렉터리 및 'tmp' 디렉터리 하위에 시스템의 상태, 파일 시스템 일관성 (Consistency) 검사 결과, 발생되는 에러 (Error) 정보, 임시저장 된 파일 삭제 등의 정보를 저장한다. 앞서 설명한 바와 같이 병합형 가상 디스크는 시스템 소프트웨어 및 응용 소프트웨어가 설치된 가상 디스크를 읽기 전용으로 제공하므로 가상 머신이 부팅 시 쓰기 작업을 수행할 수 없다. 따라서, 가상 디스크 생성부 (240) 는 각 가상 머신 별로 제공되는 병합형 가상 디스크 중 제2 디스크에 쓰기 작업이 수행되는 디렉터리 및 파일을 옮겨 부팅 과정에 에러를 제거한다. 여기서, 병합 마운팅이란, 모든 소프트웨어 구성 요소가 하나의 파일 또는 물리 호스트의 파일 시스템에 존재하는 디렉터리에 집적된 것이 아닌 하나 이상의 파일을 병합하여 제공하는 기술이다. 가상 디스크 생성부 (240) 는 병합 마운팅을 통해 lowerdir과 upperdir에 존재하는 모든 파일 및 디렉터리를 병합하여 하나의 논리적 파일 구조로서 보이게 된다.  가상 디스크 생성부 (240) 가 실제 공유된 시스템 소프트웨어가 설치된 제1 디스크의 디렉터리 및 제2 디스크에 생성한 동일한 명의 디렉터리와 각각 lowerdir과 upperdir로 병합 마운팅을 수행한다면 upperdir의 디렉터리에는 실제 시스템 소프트웨어와 관련된 파일이 존재하지 않더라도 가상 머신에서는 제1 디스크 및 제2 디스크의 디렉터리들이 병합되어 노출되는 것이다. 즉, 가상 머신에는 논리적으로 하나의 논리적인 파일 구조로서 노출되나, 사용자가 쓰는 모든 데이터는 upperdir로 지정한 디렉터리 하위에 생성되며, 이는 제2 디스크에 존재하는 디렉터리에 저장되는 것이다. 따라서, 가상 디스크 생성부 (240) 가 복수의 가상 머신이 공유된 제1 디스크를 lowerdir로 지정하고, 각각 제2 디스크를 upperdir로 지정 후 병합 마운팅을 수행하면 가상 머신이 생성하는 모든 데이터는 upperdir로 병합된 제2 디스크의 디렉터리에 저장되어 공유된 가상 디스크의 재사용성을 높일 수 있는 것이다. 뿐만 아니라, 가상 디스크 생성부 (240) 는 각 가상 머신의 시스템 설정을 제2 디스크에 저장하여 병합함으로써 가상 머신이 구동 될 때는 서로 다른 hostname과 IP 주소가 적용되어 공유된 제1 디스크의 재사용성을 극대화 시킬 수 있다. 가상 디스크 생성부 (240) 가 제2 디스크를 생성할 경우에 시스템 설정은 시스템 소프트웨어에 따라 서로 다른 디렉터리와 파일에 생성되어 저장된다. 리눅스 데비안의 경우, 가상 디스크 생성부 (240) 는 hostname과 같은 가상 머신들의 hostname과 IP 주소를 담은 hosts 파일은 etc 디렉터리 하위에 생성한다. 또한, 가상 디스크 생성부 (240) 는 각 가상 머신의 IP 주소를 etc 디렉터리 하위의 network 디렉터리에 interfaces 라는 파일명으로 생성한다. 시스템 소프트웨어 설정뿐만 아니라 공유되는 제1 디스크 중 응용 소프트웨어가 설치된 제1 디스크가 존재하는 경우, 가상 디스크 생성부 (240) 는 해당 응용 소프트웨어 설정 정보를 제2 디스크에 저장한다. 또한, 가상 디스크 생성부 (240) 는 시스템 소프트웨어 설정과 마찬가지로 응용 소프트웨어 설정이 저장되어야 할 디렉터리를 제2 디스크에 생성하여 저장하며, Hadoop 2.6.0의 경우 opt 디렉터리 하위의 hadoop/conf 디렉터리를 생성하고, core-site.xml, hdfs-site.xml, mapred-site.xml, master, slaves 등의 필요한 설정 파일을 생성하여 저장한다. 즉, 제2 디스크에는 제1 디스크에 설치된 소프트웨어와 연관되는 파일들이 저장된다. 시스템 소프트웨어 및 응용 소프트웨어를 위한 설정 파일을 모두 생성하였다면, 가상 디스크 생성부 (240) 는 마지막으로 work 디렉터리를 생성한다. 병합 마운팅에서 work 디렉터리는 병합중에 upperdir에 사용되는 데이터를 임시적으로 저장하는 디렉터리로서 활용되기 때문에 가상 디스크 생성부 (240) 는 work 디렉터리를 제2 디스크에 반드시 생성해야 한다. 가상 디스크 생성부 (240) 는 모든 설정 파일 생성 작업이 완료되었다면 생성한 가상 머신의 제2 디스크를 마운트 해제 후 작업을 종료한다.Since the virtual disk generator 240 generates a second disk based on the system software information of the virtual machine, the system software information of the virtual machine to be generated in the virtual disk provisioning procedure is required. First, the virtual disk generating unit 240 generates an empty second disk for each virtual machine, and installs the same file system as the file system of the first disk shared by the plurality of virtual machines in the generated virtual disk. The virtual disk generator 240 mounts the generated second disk as a loopback device in empty directories named vdisk_01 and vdisk_02, and then creates directories existing in the root directory of the system software to be used by the virtual machine. For example, for Linux Debian, bin, dev, home, lib, media, opt, root, sbin, srv, usr, boot, etc, lib64, mnt, proc, run, selinux, sys, tmp, var. The virtual disk generator 240 creates an empty directory having the same name in a directory mounted on the second disk. The reason for creating a directory with the same name as the directory on top of the root file system of the system software is to store data that the virtual machine modifies or writes. In addition, the virtual disk generating unit 240 replicates the directory and files in which all write operations that can occur during the booting process of the system software and application software are generated. For example, in Debian 8.0, the system's status, file system consistency checks, error information, and temporary storage are stored in the 'log' and 'tmp' subdirectories under 'var'. Stores information such as file deletion. As mentioned earlier, merged virtual disks provide read-only virtual disks with system software and application software, which prevents the virtual machine from writing to it at boot time. Accordingly, the virtual disk generator 240 removes an error in the booting process by moving a directory and a file where a write operation is performed to the second disk among the merged virtual disks provided for each virtual machine. Here, merge mounting is a technology in which all software components merge and provide one or more files rather than being integrated in one file or a directory existing in a file system of a physical host. The virtual disk generating unit 240 merges all files and directories existing in the lowerdir and the upperdir through merge mounting, and thus appears as one logical file structure. If the virtual disk generator 240 performs merge mounting with the directories of the first disk and the same name created on the second disk and the lowerdir and the upperdir, respectively, the directory of upperdir is associated with the actual system software. Even if the file does not exist, the directories of the first disk and the second disk are merged and exposed in the virtual machine. In other words, the virtual machine is logically exposed as a logical file structure, but all data written by the user are created under the directory designated by upperdir, which is stored in a directory on the second disk. Therefore, when the virtual disk generator 240 assigns the first disk shared with a plurality of virtual machines to lowerdir, assigns the second disk to upperdir, and then performs merge mounting, all data generated by the virtual machine is transferred to upperdir. It is stored in the directory of the merged second disk to increase the reusability of the shared virtual disk. In addition, the virtual disk generator 240 stores the system settings of each virtual machine on the second disk and merges them, so that different hostnames and IP addresses are applied when the virtual machines are driven, thereby reusing the shared first disk. It can be maximized. When the virtual disk generating unit 240 generates the second disk, system settings are generated and stored in different directories and files according to the system software. In the case of Linux Debian, the virtual disk generator 240 creates a hosts file including hostnames and IP addresses of virtual machines such as hostname under the etc directory. In addition, the virtual disk generating unit 240 generates an IP address of each virtual machine as a file name of interfaces in the network directory under the etc directory. In addition to the system software settings, when there is a first disk on which application software is installed among the shared first disks, the virtual disk generating unit 240 stores the application software setting information on the second disk. In addition, the virtual disk generator 240 creates and stores a directory in which application software settings are to be stored on the second disk similarly to the system software settings, and in the case of Hadoop 2.6.0, creates a hadoop / conf directory under the opt directory. Create and save the necessary configuration files such as core-site.xml, hdfs-site.xml, mapred-site.xml, master and slaves. That is, files associated with software installed on the first disk are stored in the second disk. If all the configuration files for the system software and the application software have been created, the virtual disk generator 240 finally creates a work directory. In the merge mounting, the work directory is used as a directory for temporarily storing data used in the upperdir during merging, so the virtual disk generator 240 must create a work directory on the second disk. The virtual disk generating unit 240 terminates the operation after unmounting the second disk of the created virtual machine if all the configuration file creation tasks are completed.
추가적으로, 가상 머신의 백업 (back-up) 요청을 수신하는 경우, 가상 디스크 생성부 (240) 는 제2 디스크에 저장된 쓰기 작업이 가능한 파일을 저장한다. 또한, 가상 디스크 생성부 (240) 는 제1 디스크에 제2 디스크의 위치 경로가 기록된 데이터를 저장한다. 이 때, 제1 디스크는 읽기 작업만이 가능하도록 설정된다. 쓰기 작업이 가능한 파일은 종래 읽기 전용이었던 제1 디스크로부터 복사된 파일을 포함한다. In addition, when receiving a back-up request of the virtual machine, the virtual disk generating unit 240 stores a file capable of a write operation stored in the second disk. In addition, the virtual disk generating unit 240 stores data in which the location path of the second disk is recorded on the first disk. At this time, the first disk is set such that only read operations are possible. Files that are writable include files copied from the first disk, which were previously read only.
이어서, 가상 디스크 생성부 (240) 는 제1 디스크와 제2 디스크를 병합하여 마운팅한다 (S340).Subsequently, the virtual disk generating unit 240 merges and mounts the first disk and the second disk (S340).
즉, 가상 디스크 생성부 (240) 는 제1 디스크와 제2 디스크를 하나의 트리로 보이도록 병합하여 마운팅한다. 이 때, 제1 디스크 및 제2 디스크에 동일한 파일 또는 폴더가 존재하는 경우, 가상 디스크 생성부 (240) 는 제2 디스크의 동일한 파일 또는 폴더가 엑세스되도록 한다. 또한, 복수의 버전의 소프트웨어가 설치된 복수의 제1 디스크가 존재하는 경우, 가상 디스크 생성부 (240) 는 복수의 제1 디스크와 제2 디스크를 병합하여 마운팅한다. 즉, 가상 디스크 생성부 (240) 는 소프트웨어의 복수의 버전 각각에서 서로 다른 파일이 엑세스 가능하도록 복수의 제2 디스크를 병합하여 마운팅한다. 이 때, 복수의 제1 디스크는 가상 디스크 생성부 (240) 에 의해 복수의 버전 각각의 소프트웨어가 설치되어 생성된다.That is, the virtual disk generating unit 240 merges and mounts the first disk and the second disk to be seen as a tree. In this case, when the same file or folder exists on the first disk and the second disk, the virtual disk generating unit 240 allows the same file or folder of the second disk to be accessed. In addition, when there are a plurality of first disks having a plurality of versions of software installed thereon, the virtual disk generating unit 240 merges and mounts the plurality of first disks and the second disk. That is, the virtual disk generating unit 240 merges and mounts the plurality of second disks so that different files can be accessed in each of the plurality of versions of the software. At this time, the plurality of first disks are generated by the virtual disk generating unit 240 in which the respective softwares of the plurality of versions are installed.
몇몇 실시예에 따라, 제1 디스크에 저장된 파일에 대하여 쓰기 동작을 요청 받은 경우, 가상 디스크 생성부 (240) 는 제1 디스크에 저장된 파일을 제2 디스크로 복사한 후, 제2 디스크로 복사된 파일에 대하여 쓰기 동작을 수행한다.According to some embodiments, when a write operation is requested for a file stored in the first disk, the virtual disk generating unit 240 copies the file stored in the first disk to the second disk and then copies the file to the second disk. Write to the file.
이에 따라, 가상 클러스터 구축 장치 (200) 는 쓰기가 가능한 가상 디스크를 별도로 생성하여, 사용할 소프트웨어가 설치된 가상 디스크를 생성하는 과정없이 이미 생성된 가상 디스크를 공유하여 사용함으로써 가상 디스크의 프로비저닝 절차를 단축시킬 수 있다.Accordingly, the virtual cluster building apparatus 200 may shorten the provisioning process of the virtual disk by separately creating a writeable virtual disk and sharing and using the virtual disk already created without creating a virtual disk on which software to be used is installed. Can be.
도 4는 본 발명의 일 실시예에 따른 병합형 가상 디스크를 활용한 가상 머신의 가상 디스크 공유 방법을 도시한 것이다.4 illustrates a virtual disk sharing method of a virtual machine using a merged virtual disk according to an embodiment of the present invention.
도 4를 참조하면, 가상 클러스터 (410) 는 복수의 가상 머신 즉, 제1 가상 머신 (411), 제2 가상 머신 (412), 제3 가상 머신 (413) 및 제4 가상 머신 (414) 을 갖는다. 제1 디스크 (421) 는 시스템 소프트웨어를 포함하는 가상 디스크로, Debian 8.0인 시스템 소프트웨어를 포함한다. 또한, 제1 디스크 (422) 는 응용 소프트웨어를 포함하는 가상 디스크로, OpenJDK 및 Hbase 1.1.1을 포함한다. 이 때, 제1 디스크 (421, 422) 는 읽기 작업만 가능하며, 다른 복수의 가상 머신끼리 공유가 가능한 형태이다. 각각의 제2 디스크 (431, 432, 433, 434) 는 제1 가상 머신 (411), 제2 가상 머신 (412), 제3 가상 머신 (413) 및 제4 가상 머신 (414) 에서 제1 디스크 (421, 422) 에 포함된 시스템 소프트웨어 및 응용 소프트웨어와 연관되어 쓰기 작업을 수행하는 가상 디스크이다.Referring to FIG. 4, the virtual cluster 410 may include a plurality of virtual machines, that is, a first virtual machine 411, a second virtual machine 412, a third virtual machine 413, and a fourth virtual machine 414. Have The first disk 421 is a virtual disk including system software and includes system software of Debian 8.0. In addition, the first disk 422 is a virtual disk including application software, and includes OpenJDK and Hbase 1.1.1. In this case, the first disks 421 and 422 may be read only, and may be shared among a plurality of other virtual machines. Each second disk 431, 432, 433, 434 is a first disk in the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414. A virtual disk that performs write operations in association with system software and application software included in 421 and 422.
도 4를 참조하면, 제1 가상 머신 (411) 은 Debian 8.0, OpenJDK 및 Hbase 1.1.1을 포함한 제1 디스크 (421, 422) 를 공유하며, Debian 8.0, OpenJDK 및 Hbase 1.1.1에 대한 데이터를 생성 및 수정할 경우 쓰기 작업이 가능한 제2 디스크 (431) 를 포함한다. 제2 가상 머신 (412), 제3 가상 머신 (413) 및 제4 가상 머신 (414) 도 마찬가지로 Debian 8.0, OpenJDK 및 Hbase 1.1.1을 포함한 제1 디스크 (421, 422) 를 공유하며, Debian 8.0, OpenJDK 및 Hbase 1.1.1에 대한 데이터를 생성 및 수정할 경우에는 쓰기 작업이 가능한 제2 가상 머신 (412) 에 할당된 제2 디스크 (432), 제3 가상 머신 (413) 에 할당된 제2 디스크 (433), 제4 가상 머신 (414) 에 할당된 제2 디스크 (434) 를 각각 포함한다. 따라서, 제1 가상 머신 (411), 제2 가상 머신 (412), 제3 가상 머신 (413) 및 제4 가상 머신 (414) 은 제1 디스크 (421, 422) 에 포함된 Debian 8.0, OpenJDK 및 Hbase 1.1.1을 공유하고, 각각의 가상 머신(411, 412, 413, 414) 에 대응하는 제2 디스크 (431, 432, 433, 434) 를 통해 Debian 8.0, OpenJDK 및 Hbase 1.1.1에 대한 데이터를 생성 및 수정할 수 있다.Referring to FIG. 4, the first virtual machine 411 shares first disks 421, 422 including Debian 8.0, OpenJDK, and Hbase 1.1.1, and displays data for Debian 8.0, OpenJDK, and Hbase 1.1.1. A second disk 431 capable of writing in case of creation and modification is included. The second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 likewise share the first disks 421, 422 including Debian 8.0, OpenJDK, and Hbase 1.1.1, and Debian 8.0 The second disk 432 assigned to the second virtual machine 412 capable of writing, and the second disk assigned to the third virtual machine 413 when creating and modifying data for the OpenJDK and Hbase 1.1.1. 433 and second disk 434 allocated to fourth virtual machine 414, respectively. Accordingly, the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 are configured with Debian 8.0, OpenJDK, and the first disk 421, 422. Data for Debian 8.0, OpenJDK, and Hbase 1.1.1 via second disks 431, 432, 433, 434 that share Hbase 1.1.1 and correspond to the respective virtual machines 411, 412, 413, 414. Can be created and modified.
몇몇 실시예에서, 제1 가상 머신 (411), 제2 가상 머신 (412), 제3 가상 머신 (413) 및 제4 가상 머신 (414) 은 제1 디스크 (421, 422) 에 포함된 응용 소프트웨어 또는 시스템 소프트웨어와 다른 버전의 응용 소프트웨어 또는 시스템 소프트웨어를 제2 디스크 (431, 432, 433, 434) 에서의 쓰기 작업을 통해 사용할 수 있다. 예를 들어, 제1 가상 머신 (411) 은 Hbase1.1.1의 업그레이드된 버전인 Hbase1.1.2를 쓰기 작업이 가능한 제2 디스크 (421) 를 통해 사용할 수 있다. 구체적으로, 가상 클러스터 구축 장치 (200) 는 제1 디스크 (422) 에 저장된 Hbase1.1.1의 구성 파일 중 Hbase1.1.2로 업그레이드 되기위해 변경되는 구성 파일을 제2 디스크 (421) 에 복사하여 업그레이드하고, Hbase1.1.1에서 Hbase1.1.2로 업그레이드 되기위해 변경된 구성 파일을 포함한 제2 디스크 (431) 와 Hbase1.1.2의 구성 파일과 동일한 Hbase1.1.1의 구성 파일을 포함된 제1 디스크 (421) 를 병합하여 마운팅한다. 즉, 제1 가상 머신 (411), 제2 가상 머신 (412), 제3 가상 머신 (413) 및 제4 가상 머신 (414) 은 동일한 제1 디스크 (421, 422) 를 공유하고 있어도, 제2 가상 디스크 (431, 432, 433, 434) 에서의 쓰기 작업을 통해 제1 디스크 (421, 422) 에 설치된 소프트웨어와 다른 버전의 소프트웨어를 포함할 수 있다.In some embodiments, the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 are application software included in the first disks 421, 422. Alternatively, application software or system software of a different version from the system software can be used through a write operation on the second disks 431, 432, 433, 434. For example, the first virtual machine 411 may use Hbase1.1.2, which is an upgraded version of Hbase1.1.1, via the second disk 421 capable of writing. In detail, the virtual cluster building apparatus 200 copies and upgrades the configuration file changed to be upgraded to Hbase1.1.2 among the configuration files of Hbase1.1.1 stored in the first disk 422, onto the second disk 421, Mounting by merging the second disk 431 containing the changed configuration file and the first disk 421 containing the same configuration file of Hbase1.1.1 as the configuration file of Hbase1.1.2 to be upgraded from Hbase1.1.1 to Hbase1.1.2. do. That is, even if the first virtual machine 411, the second virtual machine 412, the third virtual machine 413, and the fourth virtual machine 414 share the same first disks 421 and 422, the second virtual machine 411, the second virtual machine 412, and the fourth virtual machine 414 share the same first disks 421 and 422. A write operation on the virtual disks 431, 432, 433, and 434 may include a version of software different from the software installed on the first disks 421 and 422.
이에 따라, 가상 클러스터 구축 장치 (200) 는 쓰기가 가능한 가상 디스크를 통해 별도의 프로비저닝없이 공유가 가능한 가상 디스크에 포함된 소프트웨어와 다른 버전의 소프트웨어를 제공함으로써, 가상 디스크의 저장 공간을 효율적으로 사용할 수 있고, 가상 디스크 프로비저닝 단계를 축소시킬 수 있다.Accordingly, the virtual cluster building apparatus 200 can efficiently use the storage space of the virtual disk by providing a different version of software than the software included in the virtual disk that can be shared without a separate provisioning through the writeable virtual disk. And reduce virtual disk provisioning steps.
도 5는 본 발명의 다른 실시예에 따라 병합 마운팅을 통해 복수 개의 디렉터리를 병합한 가상 머신의 가상 디스크 파일 구조를 도시한 것이다.FIG. 5 illustrates a virtual disk file structure of a virtual machine in which a plurality of directories are merged through merge mounting according to another embodiment of the present invention.
도 5를 참조하면, 병합 마운팅된 디렉터리 즉, 마운팅 포인트에는 2개 이상의 디렉터리를 하나의 파일 시스템과 같이 병합된다. 병합되는 디렉터리는 제1 디스크와 제2 디스크에 포함될 수 있으며, 제1 디스크의 모든 디렉터리 즉, LowerDir는 읽기 전용 (Read-Only), 제2 디스크의 디렉터리 즉, UpperDir은 읽기 및 쓰기 전용 (Read-Write) 으로 병합된다. 만약 병합된 디렉터리 중 동일한 이름의 파일 또는 디렉터리가 존재한다면, 제2 디스크의 디렉터리 즉, Upper Dir에 존재하는 파일이 가장 높은 읽기 우선순위를 지닌다. 또한, 제1 디스크의 디렉터리 즉, Lower Dir은 읽기 전용으로 구성된다. 그리고 모든 쓰기 작업은 제2 디스크의 디렉터리에 적용된다. 따라서, File1.txt와 File3.txt는 실제로 병합될 디렉터리3과 병합될 디렉터리 2에 각각 존재하고 있으나, 병합될 디렉터리3과 병합될 디렉터리2는 모두 읽기 전용 디렉터리로 병합 마운팅 되었기 때문에 쓰기 작업을 적용할 수 없다. 이에 따라, 사용자가 병합 마운팅된 디렉터리에서 해당 파일에 쓰기 작업을 수행하는 경우, 가상 클러스터 구축 장치 (200) 는 병합될 디렉터리3과 병합 될 디렉터리 2에 존재하는 파일을 쓰기 작업이 가능한 제2 디스크의 병합될 디렉터리1로 복제 후 쓰기 작업을 반영한다. 결과적으로, 병합될 디렉터리1에는 File1.txt과 File3.txt이 저장된다.Referring to FIG. 5, two or more directories are merged into one merged directory, that is, a mounting point. The directories to be merged can be included on the first and second disks, where all directories on the first disk, LowerDir, are read-only, and directories on the second disk, UpperDir, are read and write-only. Write). If a file or directory of the same name exists among the merged directories, the directory on the second disk, that is, the file in Upper Dir, has the highest read priority. In addition, the directory of the first disk, that is, Lower Dir, is configured as read only. All writes are then applied to directories on the second disk. Therefore, File1.txt and File3.txt exist in the directory 3 to be merged and the directory 2 to be merged, respectively, but the directory 3 to be merged and the directory 2 to be merged are all merge-mounted as read-only directories. Can not. Accordingly, when the user performs a write operation on the corresponding file in the merge-mounted directory, the virtual cluster building apparatus 200 of the second disk capable of writing the file existing in the directory 2 to be merged with the directory 2 to be merged is created. Reflects write after replication to directory1 to be merged. As a result, File1.txt and File3.txt are stored in the directory 1 to be merged.
이에 따라, 가상 클러스터 구축 장치 (200) 는 읽기 작업만 가능한 제1 디스크와 쓰기 작업이 가능한 제2 디스크를 병합 마운팅함으로써, 가상 디스크에 포함된 소프트웨어에 대한 쓰기 작업이 가능하도록 한다. Accordingly, the virtual cluster building apparatus 200 merges and mounts the first disk capable of reading only and the second disk capable of writing, thereby enabling writing of software included in the virtual disk.
도 6은 본 발명의 다른 실시예에 따라 가상 머신이 다양한 응용 소프트웨어를 사용할 경우 병합된 가상 디스크의 파일 시스템 계층 구조를 도시한 것이다.FIG. 6 illustrates a file system hierarchy of merged virtual disks when the virtual machine uses various application software according to another embodiment of the present invention.
도 6을 참조하면, 파일 시스템 계층 구조 (600) 는 하나 이상의 응용 소프트웨어가 동일한 이름의 서로 다른 라이브러리를 참조할 경우의 병합된 파일 시스템의 계층 구조이다. 예를 들어, 응용 소프트웨어 'A' 와 'B' 가 동일한 라이브러리 'liba' 를 사용하고. 응용 소프트웨어 'A' 가 라이브러리 버전 '1.9' 를 사용하고, 응용 소프트웨어 'B' 가 라이브러리 버전 '2.1' 을 사용하는 경우, 병합형 가상 디스크 생성 시 응용 소프트웨어 'A' 가 설치된 가상 디스크에는 해당 라이브러리 '1.9' 버전이 설치되며, 응용 소프트웨어 'B' 가 설치된 가상 디스크에는 '2.1' 버전의 라이브러리가 설치된다. 일반적으로 소프트웨어 의존성 (Dependency) 문제로 인해 소프트웨어 및 라이브러리들은 이름, Major 버전, Minor 버전으로 명명하는 표준화된 규칙이 존재한다. 따라서, 응용 소프트웨어 'A' 가 필요로 하는 라이브러리 명은 'liba.1.9' 가 되며, 응용 소프트웨어 'B' 는 'liba.2.1' 라이브러리를 지니게 된다. 가상 클러스터 구축 장치 (200) 는 가상 머신을 구동할 때 각각의 병합형 가상 디스크에 설치된 파일 시스템을 병합하기 때문에 사용자에게는 응용 소프트웨어 'A' 가 설치된 가상 디스크에 존재하는 'liba.1.9' 라이브러리 파일과 응용 소프트웨어 'B' 가 존재하는 가상 디스크의 'liba.2.1' 라이브러리 파일이 모두 동시에 보여진다. 따라서, 가상 클러스터 구축 장치 (200) 는 소프트웨어 요소 별 병합형 가상 디스크를 생성한다 하더라도 소프트웨어 충돌 (Software Conflict) 문제를 야기하지 않는다.Referring to FIG. 6, file system hierarchy 600 is a hierarchy of merged file systems where one or more application software references different libraries of the same name. For example, the application software 'A' and 'B' use the same library 'liba'. If the application software 'A' uses the library version '1.9' and the application software 'B' uses the library version '2.1', the virtual disk with the application software 'A' is installed when the merged virtual disk is created. 1.9 'version is installed, and' 2.1 'version library is installed on the virtual disk where application software' B 'is installed. In general, due to software dependency issues, there are standardized rules for naming software and libraries by name, major version, and minor version. Therefore, the library name required by the application software 'A' is 'liba.1.9', and the application software 'B' has the 'liba.2.1' library. Since the virtual cluster building apparatus 200 merges the file systems installed in the respective merged virtual disks when the virtual machine is driven, the user has a 'liba.1.9' library file existing in the virtual disk where the application software 'A' is installed. The library files 'liba.2.1' of the virtual disk where the application software 'B' exists are all displayed at the same time. Therefore, even if the virtual cluster building apparatus 200 generates a merged virtual disk for each software element, the virtual cluster building apparatus 200 does not cause a software conflict problem.
도 7의 (a) 내지 도 7의 (d)는 본 발명의 다른 실시예에 따라 가상 클러스터의 구축을 위한 가상 디스크 프로비저닝의 효과를 도시한 것이다.7 (a) to 7 (d) illustrate the effects of virtual disk provisioning for building a virtual cluster according to another embodiment of the present invention.
도 7의 (a)를 참조하면, 비재사용 및 재사용 기반의 가상 디스크 유형 별 단일 가상 디스크 생성 시간 측정 결과 그래프 (710) 를 나타낸다. 여기서, 재사용이란, 미리 생성한 가상 디스크에 설치된 소프트웨어를 동일하게 포함하여 새로운 가상 디스크를 생성할 경우, 미리 생성한 가상 디스크를 복제하여 새로운 가상 디스크를 생성하는 것을 의미한다. Referring to FIG. 7A, a graph 710 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.
도 7의 (a)를 참조하면, 가상 디스크 프로비저닝의 효과를 확인하기 위해서 사용한 가상 디스크의 크기는 3GB 이며, 시스템 소프트웨어는 데비안 (Debian) 7.0, 응용 소프트웨어는 OpenJDK 7.0, Hadoop 2.6.0, 그리고 HBase 1.1.1을 사용하였다. 효과를 확인한 결과, 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서의 비재사용 통합형 가상 디스크 (711) 는 1273.85초의 생성시간을 나타내고, 비재사용 병합형 가상 디스크 7812) 는 1217.69초의 생성 시간을 나타내었다. 비재사용 통합형 및 병합형 가상 디스크 (711, 712) 의 생성 시간 차이는 시스템 및 응용 소프트웨어를 설치하는 시간이 각 소프트웨어 패키지들이 존재하는 외부 저장소를 사용하기 때문에 발생될 수 있는 차이라고 볼 수 있다. 비 재사용 통합형 및 병합형 가상 디스크 (711, 712) 의 생성 시간 차이는 소프트웨어 패키지가 존재하는 외부 저장소의 네트워크 환경에 따라서 설치 시간의 미미한 차이를 내는 것이라고 볼 수 있다. 따라서, 비재사용 통합형 및 병합형 가상 디스크 (711, 712) 의 생성 시간은 가상 디스크 유형에 상관없이 유사함을 알 수 있다.Referring to (a) of FIG. 7, 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 711 on the virtual machine allocated four VCPUs and 4 GB of memory has a creation time of 1273.85 seconds, and the non-reusable merge virtual disk 7812 has a creation time of 1217.69 seconds. It was. The creation time difference of the non-reusable integrated and merged virtual disks 711 and 712 can be regarded as a difference that can occur due to the use of external storage in which each software package exists. The creation time difference of the non-reuse integrated and merged virtual disks 711 and 712 may be regarded as a slight difference in installation time depending on the network environment of the external storage where the software package exists. Accordingly, it can be seen that the creation times of the non-reuse integrated and merged virtual disks 711 and 712 are similar regardless of the virtual disk type.
시스템 소프트웨어가 설치된 가상 디스크를 재사용할 경우 통합형 및 병합형 가상 디스크 (713, 714) 의 총 생성 시간은 각각 629.16초와 608.96초를 나타낸다. 시스템 소프트웨어만을 재사용할 경우 응용 소프트웨어는 설치해야하기 때문에 이와 같은 결과가 나타났음을 확인할 수 있다. 비재사용 가상 디스크 (711, 712) 의 생성과 마찬가지로 시스템 소프트웨어 재사용 통합형 및 병합형 가상 디스크 (713, 714) 생성 시간의 차이는 설치할 응용 소프트웨어의 패키지가 외부 저장소에 저장되어있기 때문에 발생될 수 있는 차이라 해석할 수 있다. 결과적으로 시스템 소프트웨어를 재사용하더라도 추가적으로 설치해야 하는 응용 소프트웨어가 존재하였을 경우, 시스템 소프트웨어 재사용 통합형 및 병합형 가상 디스크 (713, 714) 의 생성 시간은 유사함을 확인할 수 있다. 시스템 및 응용 소프트웨어가 설치된 가상 디스크를 모두 재사용할 경우 통합형과 병합형 가상 디스크 (715, 716) 의 생성 시간은 각각 356.17초와 233.87초를 나타낸다. 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크 (715) 에 비해 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크 (716) 의 생성 시간이 단축된 이유는 재사용 가능한 가상 디스크 복제의 방법 차이에서 발생되는 것이라고 볼 수 있다. 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크 (715) 는 사용자가 요청한 가상 디스크의 크기만큼 빈 디스크 이미지를 생성한 후에 재사용 가능한 가상 디스크의 내용물을 복제한다. 재사용 가능한 가상 디스크의 크기가 2.2GB일 경우 사용자가 요청한 가상 디스크 크기인 3GB를 제공할 수 없기 때문이다. 이에 비해 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크 (716) 는 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 713 and 714 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 711 and 712, the difference in system software reuse integrated and merged virtual disk 713 and 714 creation time differences 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 713 and 714 may be confirmed to be similar. When both the system and the application software are reused, the creation time of the integrated and merged virtual disks 715 and 716 represents 356.17 seconds and 233.87 seconds, respectively. The reason why the creation time of the system and application software reuse merged virtual disk 716 is shortened compared to the system and application software reuse integrated virtual disk 715 may be seen as a result of the method difference of reusable virtual disk replication. System and application software reuse The integrated virtual disk 715 creates a blank 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 716 may create and merge an upper disk to duplicate a virtual disk on which reusable software is installed. 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. Replicating the contents of a reusable virtual disk repeatedly takes all the file-by-file copy operations, which consumes much more time than duplicating a single virtual disk file. Therefore, when all the software components are reused, merged disk creation time is inevitably shortened compared to the integrated type.
도 7의 (b)를 참조하면, 하나의 가상 클러스터에 포함된 가상 머신이 증가함에 따른 가상 디스크 종류별 생성 시간 결과의 그래프 (720) 를 나타낸다. 설명의 편의를 위해 도 7의 (a)를 참조하여 설명한다.Referring to FIG. 7B, a graph 720 of a creation time result for each virtual disk type as the virtual machines included in one virtual cluster increases. For convenience of explanation, it will be described with reference to FIG. 7A.
도 7의 (b)를 참조하면, 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 재사용 기반의 통합형 가상 디스크 생성 시간은 가상 머신의 수에 지수적 (Exponential) 으로 급격한 생성 시간 증가 추세를 보여준다. 특히 가상 머신의 수가 8대 (721) 에서 16대 (722) 로 넘어가는 시점에서부터 생성 시간 증가율이 소폭 상승하는 것을 확인할 수 있다. 이와 같이 재사용 기반의 통합형 가상 디스크 생성 시간이 발생되는 이유는 가상 머신의 수만큼 생성된 디스크를 복제해야하기 때문에 발생된다. 즉, 통합형은 같은 가상 클러스터에 존재하는 가상 머신들이 생성된 가상 디스크를 공유하지 않기 때문에 필요한 시스템 소프트웨어 및 응용 소프트웨어가 모두 설치된 디스크를 가상 머신의 개수만큼 복제해야만 한다. 그리고 복제 시, 사용자가 요청한 가상 디스크의 크기만큼 반복적으로 복제해야하기 때문에 이와 같은 결과를 얻을 수 있는 것이다.Referring to (b) of FIG. 7, an integrated virtual disk creation time based on reuse on a virtual machine allocated with 4 VCPUs and 4 GB 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 point when the number of virtual machines goes from eight (721) to sixteen (722). The reason why the reuse-based integrated virtual disk creation time is generated is because the number of created disks must be duplicated. That is, since the integrated type does not share the created virtual disks of virtual machines in the same virtual cluster, the number of virtual machines must be duplicated with the disks on which all necessary system software and application software are installed. And when cloning, it is necessary to duplicate the size of the virtual disk requested by the user repeatedly.
도 7의 (c)를 참조하면, 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프 (730) 를 포함한다. Referring to FIG. 7C, a graph 730 of a reduction rate of merged virtual disk creation time 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.
도 7의 (c)를 참조하면, 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프 (730) 를 표현한다. 또한, 가상 디스크 당 최대 공유 가상 머신의 수가 1대인 경우의 생성 시간 감소율을 기준으로 표현한다. 그 결과 4개의 VCPU와 4GB의 메모리를 할당한 가상 머신 상에서 재사용 기반의 병합형 디스크 생성 시간은 총 32대 (736) 의 가상 머신을 기준으로 가상 디스크 당 최대 공유 가상 머신의 수가 1대에서 4대 (731, 732, 733) 까지 급격한 생성 시간 감소율을 보여주었다. 그러나 최대 공유 가상 머신의 수가 4대 이상 (733, 734, 735, 736) 일 경우 감소되는 생성 시간 비율이 11% 이하로 감소되는 것을 알 수 있다. 즉, 본 발명의 병합형 가상 디스크 생성 방법을 이용하였을 경우 가장 높은 생성 시간 감소율을 기대할 수 있는 수치는 가상 디스크 당 최대 공유 가능한 가상 머신이 4대 (733) 일 경우라는 것을 확인할 수 있다. 이는 가상 클러스터에 포함된 가상 머신의 수가 증가하더라도 최대 4대 (731, 732, 733)의 가상 머신이 하나의 가상 디스크를 공유하였을 때 가장 높은 생성 시간 절감을 얻을 수 있다는 것을 의미한다.Referring to FIG. 7C, a graph 730 of a rate of decrease in merged virtual disk creation time 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 four VCPUs and 4 GB of memory, the reuse-based merged disk creation time is based on a total of 32 (736) virtual machines, up to one to four shared virtual machines per virtual disk. (731, 732, 733) showed a rapid decrease in production time. However, if the maximum number of shared virtual machines is four or more (733, 734, 735, 736), it can be seen that the reduced generation time ratio 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 expectation reduction rate can be expected if the maximum shareable virtual machines per virtual disk is 4 (733). 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 (731, 732, 733) virtual machines share one virtual disk.
도 7의 (d)를 참조하면, 가상 클러스터에 존재하는 가상 머신의 개수의 증가에 따른 가상 디스크 종류 별 공유 저장소 사용 공간 비교 결과 그래프 (740) 를 나타낸다. 통합형 가상 디스크 (741) 는 가상 클러스터에 존재하는 가상 머신의 개수의 증가에 비례하여 선형적인 공유 저장소 사용 크기를 나타낸다. 이는 각 가상 클러스터에 존재하는 가상 머신의 개수에 비례하여 가상 디스크를 생성하기 때문에 나타난 결과라 해석할 수 있다. 또한, 가상 클러스터의 가상 머신들이 동질적 소프트웨어가 설치된 가상 디스크를 공유하지 않기 때문에 가상 머신 수에 따라 선형적으로 공유 저장소를 사용한다는 결론을 얻을 수 있다. 병합형 가상 디스크 (742, 743, 744) 는 가상 디스크 당 최대 공유하는 가상 머신의 수에 따라 서로 다른 공유 저장소 사용 공간을 나타냈다. 첫 번째로 병합형 가상 디스크 당 공유하는 가상 머신이 1대 (741) 일 경우 통합형 가상 디스크와 동일한 저장소 사용 공간을 나타냈다. 이는 가상 클러스터의 가상 머신들이 모두 개별적 가상 디스크를 제공받는 경우와 동일하기 때문이다. 그러나 최대 공유 가상 머신의 수가 2대 (742), 4대 (743), 8대 (744) 로 증가할 때마다 각각 36.88%, 55.32%, 64.54%의 저장 공간 사용 감소율을 나타낸다. 이는 생성 시간 감소율과 유사하게 병합형 가상 디스크 당 최대 공유 가상 머신의 수가 4대 이상 (743, 744) 일 경우 공유 저장소 사용 공간의 감소율이 낮아지는 양상을 보여주는 것이다. 결론적으로, 통합형 가상디스크 (741) 에 비해 병합형 가상 디스크 (742, 743, 744) 의 생성 시간은 공유하는 가상 머신의 개수가 증가하는 경우라 할지라도 빠른 생성 시간과 적은 공유 저장소 공간 사용을 보임을 확인할 수 있다. 또한, 가상 클러스터에 존재하는 가상 머신의 개수의 증가에 비례하여 통합형 가상 디스크 (741) 및 병합형 가상 디스크 (742, 743, 744) 의 생성 시간을 나타냄을 알 수 있다. 공유 저장소의 사용 공간 역시 통합형 가상 디스크 (741) 및 병합형 가상 디스크 (742, 743, 744) 모두 공유하는 가상 머신의 개수에 비례하여 증가하는 결과를 나타냈다. 특히, 병합형 가상 디스크 중 최대 공유 가상 머신의 수가 1대 (742) 인 경우는 통합형과 동일한 크기의 공유 저장소를 사용함을 확인하였다. 물론 총 가상 디스크 생성 시간의 측면에서 통합형 가상 디스크 (741) 에 비해 빠른 디스크 생성이 가능하지만, 공유 저장소의 사용 공간을 고려한다면 4개의 VCPU와 4GB 메모리를 할당한 가상 머신 상에서는 최소 공유 하는 가상 머신을 2대 이상 (742, 743, 744) 으로 설정한 뒤 가상 디스크 프로비저닝을 수행하는 것이 합리적이라는 결론을 도출할 수 있다.Referring to FIG. 7D, a graph 740 of a result of comparing the shared storage space used by virtual disk types according to the increase in the number of virtual machines in the virtual cluster is shown. Unified virtual disk 741 represents a linear shared storage usage size in proportion to the increase in the number of virtual machines present in the virtual cluster. This can be interpreted as a result of creating a virtual disk in proportion to the number of virtual machines in each virtual cluster. In addition, since the virtual machines in the virtual cluster do not share a virtual disk with homogeneous software, it can be concluded that the shared storage is used linearly according to the number of virtual machines. Merged virtual disks 742, 743, and 744 represented different shared storage footprints depending on the maximum number of shared virtual machines per virtual disk. First, if there were one (741) shared virtual machines per merged virtual disk, it represented the same storage footprint as the consolidated virtual disk. This is because the virtual machines of the virtual cluster are the same as when all the individual virtual disks are provided. However, each time the maximum number of shared virtual machines increases to two (742), four (743), and eight (744), 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 (743, 744). In conclusion, the creation time of the merged virtual disks 742, 743, and 744 is faster than the integrated virtual disk 741, even though the number of shared virtual machines increases. can confirm. In addition, it can be seen that the creation time of the integrated virtual disk 741 and the merged virtual disk 742, 743, 744 in proportion to the increase in the number of virtual machines in the virtual cluster. The used storage space of the shared storage also increased in proportion to the number of virtual machines shared by the integrated virtual disk 741 and the merged virtual disk 742, 743, and 744. In particular, when the maximum number of shared virtual machines among the merged virtual disks is one (742), it is confirmed that the shared storage of the same size as the integrated type 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 741, but considering the space used for the shared storage, the virtual machine with the minimum shared virtual machine should be installed 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 (742, 743, 744) and then perform virtual disk provisioning.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.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 가상 디스크120, 140 virtual disks
130 소프트웨어130 software
131 시스템 소프트웨어131 system software
132 제1 응용 소프트웨어132 First Application Software
133 제2 응용 소프트웨어133 Second application software
200 가상 클러스터 구축 장치200 Virtual Cluster Deployment Device
210 가상 클러스터 프로비저닝 프로세스 수신부210 Virtual cluster provisioning process receiver
211 가상 클러스터 프로비저닝 프로세스 수행부211 Virtual cluster provisioning process implementation
212 가상 클러스터 프로비저닝 개시부 212 Virtual Cluster Provisioning Initiation
213 가상 클러스터 프로비저닝 프로세스 관찰부213 Virtual Cluster Provisioning Process Observer
220 재사용 가상 디스크 검색부220 Reuse Virtual Disk Finder
230 가상 디스크 프로비저닝 절차 생성부Creating Virtual Disk Provisioning Procedures
240 가상 디스크 생성부240 Virtual disk creation unit
300 재사용 자산 저장소300 reusable asset repository
410 가상 클러스터410 virtual cluster
411 제1 가상 머신411 First virtual machine
412 제2 가상 머신412 Second virtual machine
413 제3 가상 머신413 Third Virtual Machine
414 제4 가상 머신414th virtual machine
421, 422 제1 디스크421, 422 first disc
431, 432, 433, 434 제2 디스크431, 432, 433, 434 2nd disc
600 파일 시스템 계층 구조600 file system hierarchy
710 비재사용 및 재사용 기반의 가상 디스크 유형 별 단일 가상 디스크 생성 시간 측정 결과 그래프710 Graph of measurement results of single virtual disk creation time by virtual disk type based on non-reuse and reuse
711 비재사용 통합형 가상 디스크711 Non-Reuse Integrated Virtual Disks
712 비재사용 병합형 가상 디스크712 Non-Reusable Merge Virtual Disks
713 시스템 소프트웨어 재사용 통합형 가상 디스크713 Reusing System Software Integrated Virtual Disk
714 시스템 소프트웨어 재사용 병합형 가상 디스크714 System Software Reuse Merged Virtual Disks
715 시스템 및 응용 소프트웨어 재사용 통합형 가상 디스크715 System and Application Software Reuse Integrated Virtual Disks
716 시스템 및 응용 소프트웨어 재사용 병합형 가상 디스크716 System and Application Software Reuse Merged Virtual Disks
720 클러스터 서브그룹에 포함된 가상 머신이 증가함에 따른 가상 디스크 종류별 생성 시간 결과의 그래프720 Graph of Creation Time Result by Virtual Disk Type as Virtual Machines in a Cluster Subgroup Increase
721 가상 머신 수 8대721 virtual machines
722 가상 머신수 16대16 virtual machines
730 가상 디스크 당 최대 공유 가상 머신 수의 증가에 따른 가상 클러스터 서브그룹에 포함된 32대인 가상 머신의 병합형 가상 디스크 생성 시간 감소율 그래프The rate of decrease in the merged virtual disk creation time of 32 virtual machines in a virtual cluster subgroup as the maximum number of shared virtual machines per virtual disk increases.
731 가상 디스크 당 최대 공유 가상 머신의 수 1대Maximum number of shared virtual machines per 731 virtual disk
732 가상 디스크 당 최대 공유 가상 머신의 수 2대Maximum number of shared virtual machines per 732 virtual disk
733 가상 디스크 당 최대 공유 가상 머신의 수 4대Maximum number of shared virtual machines per 733 virtual disk
734 가상 디스크 당 최대 공유 가상 머신의 수 8대Maximum number of shared virtual machines per 734 virtual disk
735 가상 디스크 당 최대 공유 가상 머신의 수 16대Maximum number of shared virtual machines per 735 virtual disk 16
736 가상 디스크 당 최대 공유 가상 머신의 수 32대Maximum number of shared virtual machines per 736 virtual disk
740 가상 클러스터 서브그룹 개수 증가에 따른 가상 디스크 종류 별 공유 저장소 사용 공간 비교 결과 그래프740 Graph showing shared storage space usage by virtual disk type with increasing number of virtual cluster subgroups
741 통합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 1대1 shared virtual machine per 741 consolidated and merged virtual disks
742 통합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 2대2 shared virtual machines per integrated virtual disk and merged virtual disk
743 병합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 4대743 merged virtual disks and 4 shared virtual machines per merged virtual disk
744 병합형 가상 디스크 및 병합형 가상 디스크 당 공유하는 가상 머신 8대8 shared virtual machines per 744 merged virtual disks and merged virtual disks
본 출원은 이하의 과제의 결과물이다.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 (18)

  1. 복수의 가상 머신을 갖는 가상 클러스터를 구축하는 방법으로서, A method of building a virtual cluster having a plurality of virtual machines,
    상기 복수의 가상 머신을 갖는 상기 가상 클러스터에 대한 프로비저닝 요청을 수신하는 단계;Receiving a provisioning request for the virtual cluster having the plurality of virtual machines;
    상기 가상 클러스터에 대한 프로비저닝 요청에 대응하여 상기 복수의 가상 머신이 공유하여 엑세스 가능한, 상기 복수의 가상 머신에 공통으로 요구되는 소프트웨어가 설치된 제1 디스크를 생성하는 단계;Creating a first disk on which software required in common for the plurality of virtual machines is installed that is shared and accessible by the plurality of virtual machines in response to a provisioning request for the virtual cluster;
    상기 복수의 가상 머신 각각에 상기 소프트웨어와 연관되어 쓰기작업이 가능한 제2 디스크를 생성하는 단계; 및Creating a second disk in each of the plurality of virtual machines, the second disk being writeable associated with the software; And
    상기 제1 디스크와 상기 제2 디스크를 병합하여 마운팅하는 단계를 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.And merging and mounting the first disk and the second disk, wherein the virtual cluster construction method comprises merging mounting of a read and write virtual disk.
  2. 제1항에 있어서,The method of claim 1,
    상기 제1 디스크에 상기 제2 디스크의 위치 경로가 기록된 데이터를 저장하는 단계를 더 포함하고,Storing the data on which the location path of the second disk is recorded on the first disk,
    상기 제1 디스크는 읽기 작업만이 가능하도록 설정된, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.The first disk is a virtual cluster building method through the merge mounting of the read and write virtual disk, the read operation is set to only.
  3. 제2항에 있어서,The method of claim 2,
    상기 가상 머신의 백업 (back-up) 요청을 수신하는 단계; 및 Receiving a back-up request of the virtual machine; And
    상기 제2 디스크에 저장된 쓰기 작업이 가능한 파일을 저장하는 단계를 더 포함하고,Storing a writeable file stored in the second disk;
    상기 쓰기 작업이 가능한 파일은 종래 읽기전용이었던 상기 제1 디스크로부터 복사된 파일을 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.And the write-enabled file includes a file copied from the first disk, which was previously read-only.
  4. 제1항에 있어서,The method of claim 1,
    상기 제2 디스크에 상기 소프트웨어와 연관되는 파일들이 저장되는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.The virtual cluster building method of claim 2, wherein the files associated with the software are stored in the second disk.
  5. 제1항에 있어서,The method of claim 1,
    상기 제1 디스크와 상기 제2 디스크를 병합하여 마운팅하는 단계는,Merging and mounting the first disk and the second disk,
    병합된 상기 제1 디스크와 상기 제2 디스크를 하나의 트리로 보이도록 생성하는 단계를 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.And generating the merged first disk and the second disk to be viewed as a tree.
  6. 제1항에 있어서,The method of claim 1,
    상기 제1 디스크와 상기 제2 디스크를 병합하여 마운팅하는 단계는, Merging and mounting the first disk and the second disk,
    상기 제1 디스크 및 상기 제2 디스크에 동일한 파일 또는 폴더가 존재하는 경우, 상기 제2 디스크의 상기 동일한 파일 또는 폴더가 엑세스되도록 구성되는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.When the same file or folder exists on the first disk and the second disk, the virtual cluster is established by merging mounting of a read and write virtual disk configured to access the same file or folder on the second disk Way.
  7. 제1항에 있어서,The method of claim 1,
    상기 소프트웨어는 복수의 버전으로 존재하며,The software exists in multiple versions,
    상기 제1 디스크를 생성하는 단계는,Generating the first disk,
    상기 복수의 버전 각각의 소프트웨어가 설치된 복수의 제1 디스크를 생성하는 단계를 포함하며,Creating a plurality of first disks on which software of each of the plurality of versions is installed,
    상기 마운팅하는 단계는,The mounting step,
    상기 복수의 제1 디스크와 상기 제2 디스크를 병합하여 마운팅하는 단계인, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.And a step of merging and mounting the plurality of first disks and the second disks.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 마운팅하는 단계는,The mounting step,
    상기 소프트웨어의 복수의 버전 각각에서 서로 다른 파일이 엑세스 가능하도록 상기 복수의 제1 디스크를 병합하여 마운팅하는 단계를 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.Merging and mounting the plurality of first disks such that different files are accessible in each of the plurality of versions of the software.
  9. 제1항에 있어서,The method of claim 1,
    상기 제1 디스크에 저장된 파일에 대하여 쓰기 동작을 요청받은 경우, When a write operation is requested for a file stored in the first disk,
    상기 제1 디스크에 저장된 파일을 상기 제2 디스크로 복사하는 단계; 및 Copying a file stored on the first disk to the second disk; And
    상기 제2 디스크로 복사된 파일에 대하여 상기 쓰기 동작을 수행하는 단계를 더 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법.And performing the write operation on the file copied to the second disk, wherein the virtual cluster is constructed by merging mounting of the read and write virtual disk.
  10. 복수의 가상 머신을 갖는 가상 클러스터를 구축하는 장치로서, An apparatus for building a virtual cluster having a plurality of virtual machines,
    상기 복수의 가상 머신을 갖는 상기 가상 클러스터에 대한 프로비저닝 요청을 수신하는 가상 디스크 프로비저닝 프로세스 수신부; 및A virtual disk provisioning process receiving unit which receives a provisioning request for the virtual cluster having the plurality of virtual machines; And
    상기 가상 클러스터에 대한 프로비저닝 요청에 대응하여 상기 복수의 가상 머신이 공유하여 엑세스 가능한, 상기 복수의 가상 머신에 공통으로 요구되는 소프트웨어가 설치된 제1 디스크를 생성하고,Create a first disk having software required in common for the plurality of virtual machines that are shared and accessible by the plurality of virtual machines in response to a provisioning request for the virtual cluster,
    상기 복수의 가상 머신 각각에 상기 소프트웨어와 연관되어 쓰기 작업이 가능한 제2 디스크를 생성하고,Create a second disk in each of the plurality of virtual machines in association with the software to enable writing;
    상기 제1 디스크와 상기 제2 디스크를 병합하여 마운팅하는 가상 디스크 생성부를 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.And a virtual disk generating unit for merging and mounting the first disk and the second disk, wherein the virtual cluster building apparatus includes merging mounting of a read and write virtual disk.
  11. 제10항에 있어서,The method of claim 10,
    상기 가상 디스크 생성부는,The virtual disk generation unit,
    상기 제1 디스크에 상기 제2 디스크의 위치 경로가 기록된 데이터를 저장하고,Storing data in which the location path of the second disk is recorded on the first disk,
    상기 제1 디스크는 읽기 작업만이 가능하도록 설정된, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.The first disk is a virtual cluster building apparatus through the merge mounting of the read and write virtual disk, which is configured to only read operations.
  12. 제11항에 있어서,The method of claim 11,
    상기 가상 디스크 프로비저닝 프로세스 수신부는,The virtual disk provisioning process receiver,
    상기 가상 머신의 백업 요청을 수신하고,Receiving a backup request of the virtual machine,
    상기 가상 디스크 생성부는, The virtual disk generation unit,
    상기 제2 디스크에 저장된 쓰기 작업이 가능한 파일을 저장하고,A file capable of a write operation stored in the second disk;
    상기 쓰기 작업이 가능한 파일은 종래 읽기 전용이었던 상기 제1 디스크로부터 복사된 파일을 포함하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.And the write-enabled file includes a file copied from the first disk, which was previously read-only.
  13. 제10항에 있어서,The method of claim 10,
    상기 제2 디스크에 상기 소프트웨어와 연관되는 파일들이 저장되는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.The virtual cluster construction apparatus of claim 2, wherein the files associated with the software are stored in the second disk.
  14. 제10항에 있어서,The method of claim 10,
    상기 가상 디스크 생성부는,The virtual disk generation unit,
    병합된 상기 제1 디스크와 상기 제2 디스크를 하나의 트리로 보이도록 생성하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.The virtual cluster building apparatus of claim 1, wherein the merged first disk and the second disk are viewed as a tree.
  15. 제10항에 있어서,The method of claim 10,
    상기 가상 디스크 생성부는,The virtual disk generation unit,
    상기 제1 디스크 및 상기 제2 디스크에 동일한 파일 또는 폴더가 존재하는 경우, If the same file or folder exists on the first disk and the second disk,
    상기 제2 디스크의 상기 동일한 파일 또는 폴더가 엑세스되도록 구성되는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.The virtual cluster building apparatus of claim 2, wherein the same file or folder of the second disk is configured to be accessed.
  16. 제10항에 있어서,The method of claim 10,
    상기 소프트웨어는 복수의 버전으로 존재하며,The software exists in multiple versions,
    상기 가상 디스크 생성부는,The virtual disk generation unit,
    상기 복수의 버전 각각의 소프트웨어가 설치된 복수의 제1 디스크를 생성하고,Create a plurality of first disks on which software of each of the plurality of versions is installed,
    상기 복수의 제1 디스크와 상기 제2 디스크를 병합하여 마운팅하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.And a virtual mounting apparatus for merging and mounting the read and write virtual disks by merging and mounting the plurality of first disks and the second disks.
  17. 제16항에 있어서,The method of claim 16,
    상기 가상 디스크 생성부는,The virtual disk generation unit,
    상기 소프트웨어의 복수의 버전 각각에서 서로 다른 파일이 엑세스 가능하도록 상기 복수의 제1 디스크를 병합하여 마운팅하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.And merging mounting of the read and write virtual disks to merge and mount the plurality of first disks so that different files are accessible in each of the plurality of versions of the software.
  18. 제10항에 있어서,The method of claim 10,
    상기 제1 디스크에 저장된 파일에 대하여 쓰기 동작을 요청받은 경우, When a write operation is requested for a file stored in the first disk,
    상기 가상 디스크 생성부는,The virtual disk generation unit,
    상기 제1 디스크에 저장된 파일을 상기 제2 디스크로 복사하고,Copy the file stored on the first disk to the second disk,
    상기 제2 디스크로 복사된 파일에 대하여 상기 쓰기 동작을 수행하는, 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 장치.And a virtual mounting apparatus configured to perform a write operation on a file copied to the second disk, through merge mounting of a read and write virtual disk.
PCT/KR2016/015574 2016-11-09 2016-12-30 Method and apparatus for constructing virtual cluster by union-mounting readable and writable virtual disks WO2018088629A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160148660A KR102019799B1 (en) 2016-11-09 2016-11-09 Method and apparatus for establishing virtual cluster by mounting of readable and writable virtual disks
KR10-2016-0148660 2016-11-09

Publications (1)

Publication Number Publication Date
WO2018088629A1 true WO2018088629A1 (en) 2018-05-17

Family

ID=62110411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/015574 WO2018088629A1 (en) 2016-11-09 2016-12-30 Method and apparatus for constructing virtual cluster by union-mounting readable and writable virtual disks

Country Status (2)

Country Link
KR (1) KR102019799B1 (en)
WO (1) WO2018088629A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557385B1 (en) * 2022-11-29 2023-07-20 쿤텍 주식회사 virtual machine system and vitual machine provisioning method using the same
US12099865B2 (en) 2022-11-29 2024-09-24 Coontec Co., Ltd. Virtual machine system and virtual machine provisioning method using the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084368A1 (en) * 2001-09-13 2003-05-01 International Business Machines Corporation Method and system for root filesystem replication
US20090249337A1 (en) * 2007-12-20 2009-10-01 Virtual Computer, Inc. Running Multiple Workspaces on a Single Computer with an Integrated Security Facility
US20100054156A1 (en) * 2008-08-29 2010-03-04 Dehaan Michael Paul Systems and methods for software provisioning in multiple network configuration environment
WO2013062352A1 (en) * 2011-10-27 2013-05-02 인텔렉추얼디스커버리 주식회사 Method and system for access control in cloud computing service
WO2015042605A1 (en) * 2013-09-23 2015-03-26 Xero Limited Systems for access control and system integration

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080085780A (en) * 2007-03-20 2008-09-24 이상규 Method for virtualizing operating system
KR101007279B1 (en) * 2007-12-17 2011-01-13 한국전자통신연구원 Method and system for provisioning of virtual machine using virtual machine disk pool
KR100983479B1 (en) * 2009-02-11 2010-09-27 엔에이치엔(주) Method, system and computer readable recording medium for providing a distributed programming environment using distributed space
KR20150108230A (en) * 2014-03-17 2015-09-25 한국전자통신연구원 Cluster construction method and apparatus thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084368A1 (en) * 2001-09-13 2003-05-01 International Business Machines Corporation Method and system for root filesystem replication
US20090249337A1 (en) * 2007-12-20 2009-10-01 Virtual Computer, Inc. Running Multiple Workspaces on a Single Computer with an Integrated Security Facility
US20100054156A1 (en) * 2008-08-29 2010-03-04 Dehaan Michael Paul Systems and methods for software provisioning in multiple network configuration environment
WO2013062352A1 (en) * 2011-10-27 2013-05-02 인텔렉추얼디스커버리 주식회사 Method and system for access control in cloud computing service
WO2015042605A1 (en) * 2013-09-23 2015-03-26 Xero Limited Systems for access control and system integration

Also Published As

Publication number Publication date
KR102019799B1 (en) 2019-09-09
KR20180051830A (en) 2018-05-17

Similar Documents

Publication Publication Date Title
US9940330B2 (en) System and method for converting a physical disk to a virtual disk
WO2020017843A1 (en) Method for allocating and managing cluster resource on cloud platform
WO2017030252A1 (en) Security check method for container image and device therefor
WO2020017847A1 (en) Method for provisioning and managing multi-cluster on cloud platform
US7496613B2 (en) Sharing files among different virtual machine images
JP7090657B2 (en) Methods, devices, devices and storage media for upgrading applications
US8302091B2 (en) Installation of a bootable image for modifying the operational environment of a computing system
US9996374B2 (en) Deployment and installation of updates in a virtual environment
WO2018203635A1 (en) Method for containerizing application on cloud platform
CN114207586A (en) Dynamic image composition for container deployment
US20120144391A1 (en) Provisioning a virtual machine
CN101847148B (en) Method and device for implementing high application availability
US8924930B2 (en) Virtual machine image lineage
US9690566B2 (en) System and method for virtual assembly patching in a cloud environment
KR20200106036A (en) Automatically distributed information technology (IT) systems and methods
US20060184931A1 (en) System Including Run-Time Software To Enable A Software Application To Execute On An Incompatible Computer Platform
US8327096B2 (en) Method and system for efficient image customization for mass deployment
US20030221094A1 (en) Method and system for configuring a computer
US20060282479A1 (en) Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system
WO2020017846A1 (en) Method for provisioning application container volume (storage) in cloud platform
CN110347483B (en) Method and device for migrating physical machine to virtual machine and storage medium
US9747091B1 (en) Isolated software installation
WO2018088629A1 (en) Method and apparatus for constructing virtual cluster by union-mounting readable and writable virtual disks
Cappos et al. Stork: Package Management for Distributed VM Environments.
CN117290059B (en) Cross-chip architecture linux virtual machine transfer method and system

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: 16921376

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: 16921376

Country of ref document: EP

Kind code of ref document: A1