KR101007279B1 - Method and system for provisioning of virtual machine using virtual machine disk pool - Google Patents
Method and system for provisioning of virtual machine using virtual machine disk pool Download PDFInfo
- Publication number
- KR101007279B1 KR101007279B1 KR1020070132578A KR20070132578A KR101007279B1 KR 101007279 B1 KR101007279 B1 KR 101007279B1 KR 1020070132578 A KR1020070132578 A KR 1020070132578A KR 20070132578 A KR20070132578 A KR 20070132578A KR 101007279 B1 KR101007279 B1 KR 101007279B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- image
- provisioning
- instance
- disk
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 가상 인프라 시스템에서 가상 머신을 효율적으로 프로비저닝 할 수 있는 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법에 관한 것이다. 이와 같은 본 발명은, 새로운 가상 머신의 생성이 필요할 경우, 가상 머신 디스크 풀에서 해당 가상 머신의 이미지를 검색하는 단계와, 상기 검색된 이미지를 이용하여 읽기 전용의 새로운 가상 머신 인스턴스를 생성하는 단계와,상기 가상 머신 인스턴스가 쓰기 작업을 수행할 데이터 영역을 상기 가상 머신 인스턴스에 마운트하는 단계를 포함하여 이루어져, 빠른 프로비저닝을 가능토록 하며, 안정적이고 낮은 비용으로 가상 머신 이미지를 관리할 수 있도록 한다.The present invention relates to a virtual machine provisioning method using a virtual machine disk pool that can efficiently provision a virtual machine in a virtual infrastructure system. As described above, when the creation of a new virtual machine is required, retrieving an image of the virtual machine from a virtual machine disk pool, creating a read-only new virtual machine instance using the retrieved image, And mounting a data area in which the virtual machine instance is to write to the virtual machine instance to enable fast provisioning and to manage the virtual machine image at a stable and low cost.
가상 머신, 가상화, 프로비저닝(provisioning), 가상머신 디스크 풀 Virtual Machine, Virtualization, Provisioning, Virtual Machine Disk Pools
Description
본 발명은 가상 머신에 관한 것으로, 특히 가상 인프라 시스템에서 가상 머신을 효율적으로 프로비저닝(provisioning) 할 수 있는 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법에 관한 것이다.The present invention relates to a virtual machine, and more particularly, to a virtual machine provisioning method using a virtual machine disk pool that can efficiently provision a virtual machine in a virtual infrastructure system.
가상화란 하나의 물리적 서버 위에 여러 개의 운영체제를 구동할 수 있는 기술을 말한다. 각각의 운영체제는 가상 머신(Virtual Machine)이라 하며, 가상화는 각 가상 머신 간 실행 환경의 분리, 서버의 활용률 증가, 편리한 가상 머신의 리소스 관리, 그리고 가상 머신의 오류와 상관없는 안정성과 같은 장점을 갖는다. 이와 같은 장점 때문에 많은 기업 환경에서 가상화를 채택하고 있으며, 특히 저가의 컴퓨터를 사용하여 클러스터를 구축하고 있는 인터넷 데이터 센터(Internet Data Center: IDC)나 각종 포털 업체들이 많은 관심을 보이고 있다. 이러한 업체들은 낮은 성능을 내는 수많은 컴퓨터들을 고성능 서버 위에서 동작하는 가상 머신으로 이용하려 하는데, 이와 같은 작업을 서버 통합(server consolidation)이라 한다.Virtualization refers to a technology that can run multiple operating systems on a single physical server. Each operating system is called a virtual machine, and virtualization has advantages such as separation of execution environments between each virtual machine, increased utilization of servers, convenient resource management of virtual machines, and reliability that is virtually error free. . Because of these advantages, virtualization is being adopted in many corporate environments, especially Internet data centers (IDCs) and portal companies that are building clusters using low-cost computers. These companies try to use a lot of low-performance computers as virtual machines running on high-performance servers. This is called server consolidation.
가상 머신들을 생성하고 서비스를 제공하여 기존의 여러 비 가상 서버가 하던 작업을 적은 수의 물리 서버 위에 탑재된 가상 서버로 대체하도록 하는 가상 인프라를 구축하기 위해서는 가상 머신을 생성할 물리 노드와 이 물리 노드 위에 생성될 가상 머신의 디스크가 요구된다. 각각의 물리 노드의 로컬 디스크에 가상 머신용 디스크 이미지를 구축하는 것은 가능하지만 이럴 경우 특정 가상 머신은 특정 물리 서버 상에서만 동작하게 되는 제한을 받게 된다. 또한 가상화 기술에서 중요한 장점 중의 하나인 구동 중인 가상 머신을 정지시키지 않고 구동 중인 상태로 다른 물리 노드로 이전 시키는 라이브 마이그레이션(live migration)과 같은 고기능적 특성을 사용할 수 없게 된다. 따라서 가상 인프라의 유연성과 가상화의 기능적 특성에 부합하기 위해 공용 스토리지(storage)를 구축하는 것이 일반적이다.To create a virtual infrastructure that creates and services virtual machines so that the work of many existing non-virtual servers can be replaced by a virtual server mounted on a small number of physical servers, the physical node on which the virtual machine will be created and this physical node The disk of the virtual machine to be created is required. It is possible to build a disk image for a virtual machine on the local disk of each physical node, but in that case certain virtual machines are limited to running on a particular physical server. In addition, one of the key benefits of virtualization technology is the inability to use high-performance features, such as live migration, which moves a running virtual machine to another physical node without stopping it. Therefore, it is common to establish common storage to meet the flexibility of the virtual infrastructure and the functional characteristics of virtualization.
공용 스토리지를 사용하는 가상 인프라 구조는 사용할 가상 머신의 디스크 이미지를 미리 공용 스토리지에 생성해 놓고 공용 스토리지를 공유하는 물리 노드에서 필요에 따라 해당 가상 머신 이미지를 사용하게 한다. 이 가상 머신 이미지들은 데이터베이스, 웹, 방화벽 등 특정한 목적에 따라 생성되며, 그 특성별로 최적화되어 공용 스토리지에 저장된다. 시스템의 전체적인 관점에서 이 가상 머신 디스크 이미지들은 하나의 파일일 수도 있고, 블록 디바이스나 파티션의 일부분일 수도 있다. 하지만 가상 머신에게는 이 이미지들이 자신들이 부팅되고 서비스를 제공하기 위한 운영체제와 서비스 소프트웨어를 갖춘 하드디스크가 된다. 따라서 하나의 가상 머신이 디스크 이미지를 점유하고 생성되면 해당 이미지는 더 이상 다른 가상 머신들은 사용할 수 없는 상태가 된다. 예컨대 데이터베이스 용도로 생성해 놓은 이미지가 두 개일 때 이 두 개의 이미지가 모두 사용되면 새로운 데이터베이스 가상 머신을 생성하기 위해서는 가상 머신 프로비저닝(provisioning) 서버에 요청을 하여 새로운 가상 머신 이미지를 생성해야 한다. 새로운 가상 머신 이미지 생성은 시간이 장시간의 작업 시간을 요하기 때문에 서비스를 실시간으로 제공하고 빠른 응답을 내야하는 시스템에게는 치명적인 단점이 될 수 있다.The virtual infrastructure using public storage creates a disk image of the virtual machine to be used in the public storage in advance and uses the virtual machine image as needed by the physical nodes sharing the public storage. These virtual machine images are created for specific purposes, such as databases, webs, and firewalls, and are optimized for their characteristics and stored in public storage. From an overall perspective of the system, these virtual machine disk images may be a single file, or may be part of a block device or partition. But for virtual machines, these images become hard disks with operating systems and service software for them to boot and provide services. Therefore, when one virtual machine occupies a disk image and is created, the image is no longer available to other virtual machines. For example, if you have two images created for a database, and both are used, you need to make a new virtual machine image by making a request to a virtual machine provisioning server to create a new database virtual machine. Creating a new virtual machine image can be a fatal drawback for systems that need to provide services in real time and respond quickly because time-consuming work can take a long time.
도 1은 가상 머신 디스크 풀(110)을 나타내고 도 2는 도 1의 가상 머신 디스크 풀(110)로부터 물리 노드(120, 230) 위에 가상 머신을 생성하여 가상 머신 인스턴스(220)가 활성화된 모습을 나타낸다. 도 2의 가상 머신 인스턴스(220)가 생성된 후의 가상 머신 디스크 풀(210)을 도 1의 가상 머신 디스크 풀(110)과 비교하여 보면, 미리 생성한 가상 머신 디스크 중 일부가 사용될 수 없기 때문에 마치 공용 스토리지에서 빠진 것처럼 표시가 된다. 즉, 하나의 가상 머신의 생성은 미리 생성해 놓은 가상 머신 디스크 이미지라는 리소스를 하나씩 소모하는 작업이 되며 결국 항상 새로운 가상 머신을 생성하거나 더 많은 가상 머신 디스크 이미지를 준비해야 하는 문제점이 있다.1 illustrates a virtual
또한 동일한 기능을 하는 여러 개의 가상 머신 이미지들이 존재할 때 보안을 강화하거나 특정 서비스를 제공하기 위한 어플리케이션의 업데이트와 같은 작업은 한 번에 수행하기 어렵다. 모든 가상 머신 이미지에 대해 반복적인 작업을 수행해야하며 실제 인스턴스화 되어있지 않은 가상 머신 이미지도 이런 업데이트와 수정을 위해 인스턴스화 시켜야하는 등, 많은 수의 가상 머신 이미지는 관리적 측면에서 다양한 문제점을 갖는다.Also, when there are multiple virtual machine images with the same function, it is difficult to perform tasks such as updating an application to enhance security or to provide a specific service at once. Many virtual machine images have various administrative problems, such as repetitive work on all virtual machine images, and virtual machine images that are not actually instantiated must be instantiated for such updates and modifications.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 빠른 프로비저닝을 가능토록 하는 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법을 제공함에 있다.Therefore, the present invention has been devised to solve the above problems, and an object of the present invention is to provide a virtual machine provisioning method using a virtual machine disk pool to enable fast provisioning.
본 발명의 다른 목적은 효율적으로 가상 머신 이미지 관리를 할 수 있는 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법을 제공함에 있다.Another object of the present invention is to provide a virtual machine provisioning method using a virtual machine disk pool capable of efficiently managing virtual machine images.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법은, 새로운 가상 머신의 생성이 필요할 경우, 가상 머신 디스크 풀에서 해당 가상 머신의 이미지를 검색하는 단계와;상기 검색된 이미지를 이용하여 읽기 전용의 새로운 가상 머신 인스턴스를 생성하는 단계와; 상기 가상 머신 인스턴스가 쓰기 작업을 수행할 영역을 상기 가상 머신 인스턴스에 마운트하는 단계를 포함하여 이루어질 수 있다.In order to achieve the above object, a virtual machine provisioning method using a virtual machine disk pool according to an embodiment of the present invention, when the creation of a new virtual machine, the search for the image of the virtual machine in the virtual machine disk pool Creating a new read-only virtual machine instance using the retrieved image; And mounting a region in which the virtual machine instance is to write, to the virtual machine instance.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 시스템은, 각각의 용도에 따른 하나 이상의 가상 머신 이미지를 미리 생성하여 저장하는 가상 머신 디스크 풀과; 서비스 요구에 따라 상기 가상 머신 디스크 풀에 저장된 가상 머신 이미지 중 상기 서비스 요구에 부합되는 가상 머신 이미지의 인스턴스를 읽기 전용 모드로 생성하고, 상기 가상 머신이 마운트하여 사용할 수 있는 데이터 영역을 제공하는 로컬 디스크를 포함하는 물리 머신과; 상기 가상 머신 디스크 풀에 현재 요구되는 용도의 가상 머신 이미지가 없을 경우, 새로운 가상 머신 이미지를 생성하여 제공하는 가상 머신 프로비저닝 서버;를 포함하여 구성될 수 있다.In order to achieve the above object, a virtual machine provisioning system using a virtual machine disk pool according to an embodiment of the present invention, a virtual machine disk pool for generating and storing at least one virtual machine image for each purpose; Local disk that creates an instance of a virtual machine image in the read-only mode among the virtual machine images stored in the virtual machine disk pool according to a service request, and provides a data area that the virtual machine can mount and use. A physical machine comprising a; If there is no virtual machine image for the currently required use in the virtual machine disk pool, a virtual machine provisioning server for creating and providing a new virtual machine image; may be configured.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법은, 가상 머신 이미지의 인스턴스를 읽기 전용 모드로 생성하는 단계와; 상기 가상 머신 인스턴스가 생성된 물리 노드의 로컬 디스크 내의 데이터 디렉터리를 상기 가상 머신 인스턴스에 마운트하는 단계를 포함하여 이루질 수 있다.In order to achieve the above object, a virtual machine provisioning method using a virtual machine disk pool according to an embodiment of the present invention, the step of creating an instance of the virtual machine image in read-only mode; And mounting the data directory in the local disk of the physical node in which the virtual machine instance is created to the virtual machine instance.
본 발명에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법은, 하나의 가상 머신 디스크 이미지를 사용하여 다수의 가상 머신 인스턴스를 생성할 수 있으므로 많은 수의 이미지를 생성하지 않아도 되어, 추후 발생할 수 있는 시스템 보안을 위한 업데이트나 서비스를 제공하는 어플리케이션의 업데이트, 가상 머신 이미지 자체의 업데이트 등의 관리에 드는 비용을 줄일 수 있도록 하는 효과가 있다.In the virtual machine provisioning method using the virtual machine disk pool according to the present invention, since a plurality of virtual machine instances can be created using one virtual machine disk image, a large number of images do not need to be created, which can occur later. This can reduce the cost of managing updates for security, application providing services, and updating of the virtual machine image itself.
동일한 기능을 하는 여러 가상 머신을 묶어 서비스 하는 클러스터는 빈번히 일어날 수 있는 요소인데, 이것은 특정 가상 머신 디스크 이미지를 중복해서 가지고 있어야 하는 요구를 발생시킨다. 하지만 서비스 도중 발생하는 유동적인 시스템의 워크로드에 대응하기 위해 필요한 모든 가상 머신 이미지를 준비한다는 것은 쉽지 않은 작업이며, 상황에 따라 필요한 시점에 가상 머신 이미지를 프로비저닝하는 단계부터 시작해야하는 상황이 발생할 수도 있다. 본 발명은 하나의 이미지를 중복해서 사용할 수 있도록 함으로써 상기와 같은 문제점을 방지할 수 있으며, 새로운 가상 머신을 인스턴스화 하는 시간도 단축시킬 수 있어 클러스터처럼 동일한 기능을 하는 가상 머신을 만들기에 매우 유용하다는 장점이 있다. 서비스의 관점에서 본다면 서비스의 컨텐츠(데이터)와 서비스를 제공하기 위한 어플리케이션이 완전히 분리되어 있어서 관리에 용이하다는 효과가 있다.Clusters that service multiple virtual machines with the same function are a frequent occurrence, which creates a need to have a specific virtual machine disk image duplicate. However, preparing all the virtual machine images needed to cope with the dynamic system workloads that occur during service is a daunting task, and depending on the situation, you may have to start by provisioning the virtual machine images when needed. . The present invention can avoid the above problems by allowing one image to be used repeatedly, and can shorten the time to instantiate a new virtual machine, which is very useful for creating a virtual machine having the same function as a cluster. There is this. From the point of view of the service, the contents (data) of the service and the application for providing the service are completely separated from each other.
또한 본 발명은 가상 머신 인스턴스를 운영체제를 탑재한 일반적인 컴퓨터처럼 사용할 수도 있으며, 이와 동시에 읽기 전용의 속성을 가짐으로 인해 보안성과 중요 시스템 파일의 손상을 방지할 수 있는 안정성 증대의 효과가 있다.In addition, the present invention can use a virtual machine instance as a general computer equipped with an operating system, and at the same time has a read-only attribute has the effect of increasing the security and stability to prevent damage to important system files.
이하, 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same elements in the figures are represented by the same numerals wherever possible. In addition, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.
도 3은 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 시스템의 구성을 나타낸다.3 illustrates a configuration of a virtual machine provisioning system using a virtual machine disk pool according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 시스템(300)은, 각각의 용도에 따른 가상 머신용 이미지를 미리 생성하여 저장하는 가상 머신 디스크 풀(310)과; 서비스 요구에 따라 상기 가상 머신 디스크 풀(310)에 저장된 가상 머신 이미지 중 상기 서비스 요구에 부합되는 가상 머신 이미지의 인스턴스(330)를 읽기 전용 모드로 생성하는 물리 노드(340)와; 가상 머신 인스턴스(330)이 생성되는 물리 노드에 위치하며 상기 생성된 가상 머신이 마운트하여 사용할 수 있는 데이터 영역을 제공하는 로컬 디스크(350)와; 상기 가상 머신 디스크 풀(310)에 현재 요구되는 용도의 가상 머신 이미지가 없을 경우, 새로운 가상 머신 이미지를 생성하여 제공하는 가상 머신 프로비저닝 서버(360)를 포함하여 구성될 수 있다.
생성되는 가상 머신에 IP 주소 정보를 부여하는 것은, 예컨대 DHCP(Dynamic Host Configuration Protocol, 동적 호스트 설정 통신규약) 서버(320)를 이용하여 수행할 수 있다.
한편, 본 명세서에서, 가상 머신, 가상 머신 이미지, 가상 머신 인스턴스, 가상 머신 이미지의 인스턴스, 가상 머신 생성, 가상 머신 인스턴스의 생성, 가상 머신 부팅이라는 용어가 사용되는데, 이들 각 용어는 본 명세서에서 다음과 같은 의미를 가진다. 즉, 가상 머신은 H/W로 구성되는 물리 머신과 대응되는 개념적 용어로서 가상화 환경에서 하나의 물리 머신에 복수의 운영체제가 실행될 수 있도록 하는 가상 컴퓨터 또는 특정 운영체제나 운영환경(시스템 플랫폼)을 의미하는 용어로 이용되며, 가상 머신 이미지는 가상 머신의 실행에 필요한 제반 S/W를 포함하는 이미지 파일을 의미하며, 가상 머신 인스턴스 또는 가상 머신 이미지의 인스턴스는 동일한 것을 칭하는데 가상 머신 이미지가 물리 머신의 메모리에 로드되어 실행 가능한 상태가 된 것을 의미하며, 가상 머신 생성은 물리 머신 상에서 추가의 운영체제가 실행 가능한 가상화 환경을 구성한다는 취지의 관념적 또는 포괄적 용어로 이용되고 있으며, 가상 머신 인스턴스의 생성 또는 가상 머신 이미지 인스턴스의 생성은 파일 형태로 하드 디스크 등에 저장된 가상 머신 이미지를 메모리에 탑재하는 것, 즉 기억 장치에 할당하는 것을 의미하는 용어로 사용된다. 즉, 가상 머신 인스턴스의 생성은 가상 머신 생성을 위한 구체적이고 실질적인 면을 나타내는 용어로 사용된다. 가상 머신 부팅은 가상 머신이 생성된 후 해당 운영체제가 실제 동작될 수 있는 상태로 되기 위하여 일련의 절차를 수행하는 것, 즉 물리 머신의 부팅에 대응되는 절차를 수행하는 것을 의미하는 용어로 이용된다.
위와 같은 의미로의 각 용어의 사용은 본 발명이 속하는 기술 분야에 일반적으로 쓰여지는 의미와 동일하거나 부합되는 것으로서, 당업자라면 본 명세서에 기재된 내용을 혼동없이 이해하는데 어려움이 없을 것이며 이하, 본 발명의 구성에 대하여 보다 구체적으로 설명한다.As illustrated in FIG. 3, a virtual
Assigning IP address information to the created virtual machine may be performed using, for example, a Dynamic Host Configuration Protocol (DHCP)
Meanwhile, in the present specification, terms such as a virtual machine, a virtual machine image, a virtual machine instance, an instance of a virtual machine image, a virtual machine creation, a virtual machine instance creation, and a virtual machine boot are used, and each of these terms is referred to in the following specification. Has the same meaning as In other words, a virtual machine is a conceptual term corresponding to a physical machine composed of hardware, and means a virtual machine or a specific operating system or operating environment (system platform) that allows a plurality of operating systems to be executed on a single physical machine in a virtualized environment. As used in the term, a virtual machine image refers to an image file including all software required for execution of a virtual machine, and a virtual machine instance or an instance of a virtual machine image refers to the same, and the virtual machine image is a memory of the physical machine. Virtual machine creation is used as a conceptual or generic term for the purpose of constructing a virtualized environment in which an additional operating system can run on a physical machine, creating a virtual machine instance, or creating a virtual machine image. Creation of instance is hard disk in file form A virtual machine image stored in a memory or the like to mount, that is used as a term used to denote the assignment of the storage device. That is, the creation of a virtual machine instance is used as a term indicating a specific and practical aspect for creating a virtual machine. The virtual machine booting is used as a term that means to perform a series of procedures, that is, to perform a procedure corresponding to booting of a physical machine, after the virtual machine is created so that the operating system can be actually operated.
The use of each term in the above meaning is the same as or consistent with the meaning generally used in the technical field to which the present invention belongs, and those skilled in the art will have no difficulty in understanding the contents described in the present specification without confusion. The configuration will be described in more detail.
가상 머신 디스크 풀(310)에는 각기 다른 목적을 위해 미리 생성된 가상 머신 이미지가 저장된다. 예컨대 도시된 바와 같이 데이터베이스, 메일, 방화벽, 그리고 범용 목적의 가상 머신 이미지를 생성해 놓고, 물리 노드(340)에서 가상 머신을 생성하려 할 때, 이 이미지들을 사용하게 된다. 본 발명에서는 이 가상 머신 이미지를 인스턴스화할 때, 기존처럼 읽고 쓰기가 가능한 형태가 아닌 읽기 전용으로 가상 머신을 구동한다. 이렇게 생성된 가상 머신 인스턴스들(330)은 각각의 물리 노드(350)에서 동작을 하지만, 동작 중인 가상 머신 인스턴스들(330)의 생성에 이용된 이미지들은 추가의 가상 머신을 생성하려할 때 다시 사용할 수 있게 된다. 따라서 가상 머신 이미지를 사용하여도 가상 머신 이미지 자원의 리소스가 사라지지 않고 상기 가상 머신 디스크 풀(310)에 남게 된다.The virtual
한편 상기와 같이 가상 머신을 읽기 전용 형태로 구동하면 그 가상 머신에서는 쓰기 작업을 수행할 수 없다. 이는 물리 노드(340)에 있는 로컬 디스크(350)를 활용하여 해결할 수 있다. 특정 서비스를 위한 데이터 디렉터리나 계정 서비스를 위한 디렉터리 등은 고정을 시킬 수 있는 요소이므로 물리 노드(340)의 로컬 디스크(350)에 가상 머신 인스턴스(330)가 사용할 수 있는 데이터 영역을 확보하고 이것을 쓰기 가능한 형태로 가상 머신에서 마운트 함으로써 읽기 전용 가상 머신의 제약을 없앤다. 이와 같은 방식은 기존의 물리 노드가 가지고 있는 로컬 디스크의 활용이라는 측면에서도 유용한 방식이며 하나의 가상 머신 디스크 이미지를 재활용할 수 있도록 한다.On the other hand, if the virtual machine is driven in a read-only manner as described above, the virtual machine cannot write. This can be solved by utilizing the
목적에 맞게 생성된 가상 머신 디스크 이미지를 여러 물리 노드(340)에서 사용하려할 때 각각의 가상 머신 인스턴스(330)를 구분할 수 있는 요소가 있어야 하는데, 이것은 가상 머신을 생성할 때 필요한 설정(configuration)에 명시를 하여 각 가상 머신이 부팅될 때 내부적으로 구분될 수 있도록 하고, 더불어 IP 주소와 같은 정보는 상기 DHCP 서버(320)를 통해서 얻도록 한다. 이렇게 미리 만들어진 가상 머신 이미지를 활용하다가 새로운 용도의 가상 머신을 생성해야 할 경우에는 상기 가상 머신 프로비저닝 서버(360)를 사용하여 가상 머신 디스크 이미지를 공용 스토리지에 생성하고 이것을 활용하도록 한다.When you want to use the virtual machine disk image created for the purpose on multiple
도 4는 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법의 절차를 나타내는 흐름도이다.4 is a flowchart illustrating a procedure of a virtual machine provisioning method using a virtual machine disk pool according to an embodiment of the present invention.
도 4를 참조하면, S410 단계에서 서비스의 운용 중 새로운 서비스를 수행하거나 기존 서비스의 응답성 확보를 위해 새로운 가상 머신 생성 요청이 발생하면, S420 단계에서 상기 가상 머신 디스크 풀(310)은 해당 목적에 맞는 가상 머신 이미지를 검색하고, S430 단계에서 상기 요청된 가상 머신 이미지가 존재하는지 판단한다.Referring to FIG. 4, when a request for creating a new virtual machine is performed to perform a new service or to secure a responsiveness of an existing service in operation S410, in operation S420, the virtual
상기 판단 결과 요청된 가상 머신 이미지가 존재하는 경우, S440 단계에서 해당 이미지가 쓰기 가능한 모드로 구동 중인지를 판단한다. 상기 판단 결과 쓰기 가능한 모드로 구동 중이라면 상기 S420 단계부터 다시 수행함으로써 다른 이미지를 검색한다. 쓰기 모드의 가상 머신 이미지를 이용하여 가상 머신을 생성하게 되면 기존에 생성된 가상 머신이 손상을 입거나 가상 머신 이미지도 깨지게 될 수 있는데 이를 방지하기 위함이다. 상기 판단 결과 해당 이미지가 쓰기 가능 모드로 구동 중이 아닌 경우, 즉, 사용 중이 아니거나 읽기 모드로 사용 중인 경우, S460 단계에서 해당 이미지를 이용하여 새로운 가상 머신 인스턴스를 읽기 모드로 생성한다. If the requested virtual machine image exists as a result of the determination, it is determined whether the image is being driven in a writable mode in operation S440. If the determination result is driving in the writable mode, another image is searched by performing again from the step S420. If a virtual machine is created using a virtual machine image in write mode, the existing virtual machine may be damaged or the virtual machine image may be broken. If the image is not being driven in the writable mode, that is, not in use or in read mode, the new virtual machine instance is created in read mode using the image in step S460.
한편 상기 판단(S430) 결과, 요청된 가상 머신 이미지가 존재하지 않는 경우, S450 단계에서 상기 가상 머신 프로비저닝 서버(360)에 새로운 가상 머신 이미지 생성을 요청하고, 이에 따라 새로운 가상 머신 이미지가 만들어지면 상기 S460 단계에서 해당 이미지를 이용하여 새로운 가상 머신 인스턴스를 읽기 모드로 활성화한다.On the other hand, if the requested virtual machine image does not exist as a result of the determination (S430), in step S450, the virtual
이때(S460), S462 단계에서 가상 머신을 부팅하고, S464 단계에서 설정 파일에 따른 시스템 설정 값에 따라 해당 물리 노드의 특정 디렉터리를 데이터 디렉터리로 마운트하게 된다.At this time (S460), the virtual machine is booted in step S462, and in step S464, a specific directory of the corresponding physical node is mounted as a data directory according to the system setting value according to the configuration file.
이에 따라 가상 머신 인스턴스가 온전히 서비스를 수행할 수 있는 상태가 되어 S470 단계에서 해당 서비스가 구동된다.Accordingly, the virtual machine instance is in a state capable of performing a service completely, and the corresponding service is driven in operation S470.
이상에서는 본 발명에서 특정의 바람직한 실시 예에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.In the above, specific preferred embodiments of the present invention have been illustrated and described. However, the present invention is not limited to the above-described embodiments, and various modifications can be made by any person having ordinary skill in the art without departing from the gist of the present invention attached to the claims. .
도 1은 가상 머신 인스턴스 활성화 전의 가상 머신 디스크 풀을 나타내는 도면.1 illustrates a virtual machine disk pool before virtual machine instance activation.
도 2는 가상 머신 인스턴스 활성화 후의 가상 머신 디스크 풀을 나타내는 도면.2 illustrates a virtual machine disk pool after virtual machine instance activation.
도 3은 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 시스템의 구성을 나타내는 구성도.3 is a block diagram showing a configuration of a virtual machine provisioning system using a virtual machine disk pool according to an embodiment of the present invention.
도 4는 본 발명의 실시 예에 따른 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법의 절차를 나타내는 흐름도.4 is a flowchart illustrating a procedure of a virtual machine provisioning method using a virtual machine disk pool according to an embodiment of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070132578A KR101007279B1 (en) | 2007-12-17 | 2007-12-17 | Method and system for provisioning of virtual machine using virtual machine disk pool |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070132578A KR101007279B1 (en) | 2007-12-17 | 2007-12-17 | Method and system for provisioning of virtual machine using virtual machine disk pool |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090065126A KR20090065126A (en) | 2009-06-22 |
KR101007279B1 true KR101007279B1 (en) | 2011-01-13 |
Family
ID=40993565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070132578A KR101007279B1 (en) | 2007-12-17 | 2007-12-17 | Method and system for provisioning of virtual machine using virtual machine disk pool |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101007279B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017126819A1 (en) * | 2016-01-22 | 2017-07-27 | 건국대학교 산학협력단 | Method and apparatus for managing virtual disk provisioning |
KR20190028330A (en) | 2018-09-06 | 2019-03-18 | (주) 퓨전데이타 | System and service method for virtual desktop infrastructure using pool grouping |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101253560B1 (en) | 2009-11-05 | 2013-04-11 | 한국전자통신연구원 | System for managing a virtualization solution and Apparatus and Method for managing the same |
KR101329759B1 (en) * | 2010-03-15 | 2013-11-14 | 한국전자통신연구원 | Network block device providing personalized virtual machine in cloud computing environment and control method thereof |
KR101473317B1 (en) | 2010-12-23 | 2014-12-17 | 주식회사 케이티 | Cloud computing system and traffic distributing and control method in cloud computing system |
KR101512714B1 (en) * | 2011-05-06 | 2015-04-23 | 주식회사 케이티 | Apparatus of migrating disk of virtual machine and method thereof |
KR101342592B1 (en) * | 2011-12-23 | 2013-12-17 | 주식회사 케이티 | Web Application Firewall Apparatus and method for Cloud system |
KR101508925B1 (en) * | 2012-10-31 | 2015-04-07 | 삼성에스디에스 주식회사 | Virtual machine providing method, system and recording medium recording the program thereof |
KR102327065B1 (en) | 2016-03-10 | 2021-11-16 | 에스케이텔레콤 주식회사 | Apparatus for accelerating virtual machine provisioning by use of bws and apparatus for managing the virtual machine and method thereof |
KR102019799B1 (en) * | 2016-11-09 | 2019-09-09 | 건국대학교 산학협력단 | Method and apparatus for establishing virtual cluster by mounting of readable and writable virtual disks |
CN106708603B (en) * | 2016-12-28 | 2019-04-26 | 平安科技(深圳)有限公司 | Virtual machine quick recovery method and device |
KR102019486B1 (en) * | 2018-02-27 | 2019-09-06 | 주식회사 시큐아이 | Update method of containers in virtual system and apparatus thereof |
KR102019487B1 (en) * | 2018-02-27 | 2019-11-04 | 주식회사 시큐아이 | Update method of containers in virtual system and apparatus thereof |
KR102557385B1 (en) * | 2022-11-29 | 2023-07-20 | 쿤텍 주식회사 | virtual machine system and vitual machine provisioning method using the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223202B1 (en) | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
KR20070006695A (en) * | 2004-01-21 | 2007-01-11 | 인터내셔널 비지네스 머신즈 코포레이션 | Method and system for a grid-enabled virtual machine with movable objects |
KR20070032734A (en) * | 2004-06-30 | 2007-03-22 | 인텔 코오퍼레이션 | Physical device sharing between multiple clients |
US20070288224A1 (en) | 2006-05-22 | 2007-12-13 | Infosys Technologies Ltd. | Pre-creating virtual machines in a grid environment |
-
2007
- 2007-12-17 KR KR1020070132578A patent/KR101007279B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223202B1 (en) | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
KR20070006695A (en) * | 2004-01-21 | 2007-01-11 | 인터내셔널 비지네스 머신즈 코포레이션 | Method and system for a grid-enabled virtual machine with movable objects |
KR20070032734A (en) * | 2004-06-30 | 2007-03-22 | 인텔 코오퍼레이션 | Physical device sharing between multiple clients |
US20070288224A1 (en) | 2006-05-22 | 2007-12-13 | Infosys Technologies Ltd. | Pre-creating virtual machines in a grid environment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017126819A1 (en) * | 2016-01-22 | 2017-07-27 | 건국대학교 산학협력단 | Method and apparatus for managing virtual disk provisioning |
KR20190028330A (en) | 2018-09-06 | 2019-03-18 | (주) 퓨전데이타 | System and service method for virtual desktop infrastructure using pool grouping |
Also Published As
Publication number | Publication date |
---|---|
KR20090065126A (en) | 2009-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101007279B1 (en) | Method and system for provisioning of virtual machine using virtual machine disk pool | |
US10963282B2 (en) | Computing service with configurable virtualization control levels and accelerated launches | |
US8166475B1 (en) | Storage area network access for virtual machines | |
US20190342229A1 (en) | Multi-cluster resource management | |
US9344334B2 (en) | Network policy implementation for a multi-virtual machine appliance within a virtualization environment | |
US9582221B2 (en) | Virtualization-aware data locality in distributed data processing | |
US8661457B2 (en) | Pipeline across isolated computing environments | |
US8127291B2 (en) | Virtual machine manager for managing multiple virtual machine configurations in the scalable enterprise | |
US20190392150A1 (en) | Network-accessible computing service for micro virtual machines | |
US10445122B2 (en) | Effective and efficient virtual machine template management for cloud environments | |
CN101326489B (en) | OS mini-boot for running multiple environments | |
US8458700B1 (en) | Provisioning virtual machines | |
US20160202916A1 (en) | Method and system for implementing virtual machine images | |
US20130212576A1 (en) | Tagging Physical Resources in a Cloud Computing Environment | |
US20090276772A1 (en) | Virtualization platform configured with virtual connect control | |
US20100050173A1 (en) | Provisioning Virtual Resources Using Name Resolution | |
JP2006195703A (en) | Operation management system for diskless computer | |
US11734044B2 (en) | Configuring virtualization system images for a computing cluster | |
WO2016206414A1 (en) | Method and device for merging multiple virtual desktop architectures | |
US9785478B1 (en) | Mass migration of desktop deployments to virtual desktop infrastructures | |
US7668938B1 (en) | Method and system for dynamically purposing a computing device | |
US11726684B1 (en) | Cluster rebalance using user defined rules | |
US20210067599A1 (en) | Cloud resource marketplace | |
TWI521932B (en) | Method for managing internet protocol addresses in network | |
KR20070028362A (en) | Methods, systems, and computer programs for storing device information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131209 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141231 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161026 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180104 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20181227 Year of fee payment: 9 |