KR101597246B1 - Method for Connecting Virtual Disk for Changing Between Virtual Machines - Google Patents

Method for Connecting Virtual Disk for Changing Between Virtual Machines Download PDF

Info

Publication number
KR101597246B1
KR101597246B1 KR1020140094111A KR20140094111A KR101597246B1 KR 101597246 B1 KR101597246 B1 KR 101597246B1 KR 1020140094111 A KR1020140094111 A KR 1020140094111A KR 20140094111 A KR20140094111 A KR 20140094111A KR 101597246 B1 KR101597246 B1 KR 101597246B1
Authority
KR
South Korea
Prior art keywords
virtual machine
hypervisor
virtual
data store
virtual disk
Prior art date
Application number
KR1020140094111A
Other languages
Korean (ko)
Other versions
KR20160012539A (en
Inventor
이영순
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020140094111A priority Critical patent/KR101597246B1/en
Publication of KR20160012539A publication Critical patent/KR20160012539A/en
Application granted granted Critical
Publication of KR101597246B1 publication Critical patent/KR101597246B1/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/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

가상머신 간에 이동 가능한 가상 디스크 연결방법을 개시한다.
이기종 가상화 지원 스토리지 플랫폼과 연결된 서비스 제공장치를 통해서 가상머신의 변경에 대한 요청이 발생하는 경우, 기존에 연결된 가상머신과 데이터 스토어에 할당된 가상 디스크의 연결을 해제하고, 기 저장된 메타정보에 근거하여 신규 가상머신과 기존에 사용하던 가상 디스크를 연결하는 가상머신 간에 이동 가능한 가상 디스크 연결방법에 관한 것이다.
Disclosed is a virtual disk connection method capable of moving between virtual machines.
When a request is made for a change of a virtual machine through a service providing apparatus connected to a heterogeneous virtualization support storage platform, the connection of the virtual disk allocated to the data store and the previously connected virtual machine is released, To a virtual disk connection method capable of moving between a new virtual machine and a virtual machine connecting a virtual disk that has been used.

Description

가상머신 간에 이동 가능한 가상 디스크 연결방법{Method for Connecting Virtual Disk for Changing Between Virtual Machines}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a virtual disk

본 실시예는 가상머신 간에 이동 가능한 가상 디스크 연결방법에 관한 것이다. The present embodiment relates to a virtual disk connection method capable of moving between virtual machines.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.

일반적으로 클라우드 서비스에서는 물리서버를 가상화하여 여러 개의 논리적인 서버(Virtual Machine)로 사용할 수 있도록 제공한다. 이에 따라, 각각의 서버와 연결된 스토리지 장치도 가상화 플랫폼과 밀접한 연관을 갖는다.In general, the cloud service virtualizes the physical server and provides it to be used as multiple logical servers. Accordingly, the storage devices connected to each server are also closely related to the virtualization platform.

일반적인 가상화 플랫폼의 하이퍼바이저(가상화 서버)는 독립된 시스템으로 구현되며 복수 개의 이기종 하이퍼바이저가 존재하는 경우, 각각의 하이퍼바이저에 해당하는 프로토콜 및 연동방식에 맞게 개별적으로 스토리지를 인식시켜야만 하이퍼바이저에서 스토리지의 사용이 가능하다. 그러므로, 하이퍼바이저 별로 각각 가상화 플랫폼을 구성하는 경우, 각각의 하이퍼바이저마다 별도로 스토리지의 연결을 위한 소프트웨어 개발이 이루어져야 하므로 개발 비용 및 유지관리에 어려움이 존재한다. The hypervisor (virtualization server) of a common virtualization platform is implemented as a standalone system. If there are multiple heterogeneous hypervisors, it is necessary to recognize the storage separately for each hypervisor's protocol and interworking method. It is possible to use. Therefore, when each virtualization platform is configured for each hypervisor, there is a difficulty in development cost and maintenance because software development for connection of storage is separately performed for each hypervisor.

일반적으로 가상화 플랫폼에서는 하이퍼바이저에 가상머신이 생성되고, 데이터 스토어로부터 가상 디스크를 할당받은 후 가상머신 및 가상 디스크 간 연결이 수행되면, 연결된 가상머신에서는 가상 디스크 내에 데이터(가상 디스크 파일)를 저장, 수정 및 삭제 작업이 가능하게 된다. Generally, in a virtualization platform, when a virtual machine is created in the hypervisor, a virtual disk is allocated from the data store, and a connection between the virtual machine and the virtual disk is performed, the connected virtual machine stores data (virtual disk file) Correction and deletion operations can be performed.

다만, 가상머신과 가상 디스크가 연결된 상태에서 가상머신에 문제가 발생하거나 삭제되는 경우, 데이터(가상 디스크 파일)가 저장된 가상 디스크를 사용할 수 없게 되는 문제점이 있다. However, when a problem occurs or is deleted in the virtual machine while the virtual machine and the virtual disk are connected, there is a problem that the virtual disk storing the data (virtual disk file) becomes unusable.

본 실시예는 이기종 가상화 지원 스토리지 플랫폼과 연결된 서비스 제공장치를 통해서 가상머신의 변경에 대한 요청이 발생하는 경우, 기존에 연결된 가상머신과 데이터 스토어에 할당된 가상 디스크의 연결을 해제하고, 기 저장된 메타정보에 근거하여 신규 가상머신과 기존에 사용하던 가상 디스크를 연결하는 가상머신 간에 이동 가능한 가상 디스크 연결방법을 제공하는 데 주된 목적이 있다.In the present embodiment, when a request for a change of a virtual machine occurs through a service providing apparatus connected to a heterogeneous virtualization support storage platform, a virtual disk allocated to a data store is disconnected from a previously connected virtual machine, Based on information, a virtual disk connection method between a new virtual machine and a virtual machine connecting a virtual disk to a virtual disk.

본 실시예의 일 측면에 의하면, 복수 개의 하이퍼바이저와 공용 스토리지 모듈이 물리적으로 연결된 상태에서 가상화 서비스 제공장치가 가상머신을 변경하기 위한 방법에 있어서, 상기 공용 스토리지 모듈에 포함된 데이터 스토어를 특정 하이퍼바이저에 할당하고, 상기 특정 하이퍼바이저 상에서 구현된 가상머신과 상기 데이터 스토어에 할당된 가상 디스크를 논리적으로 연결(Attach)하는 연결과정; 상기 가상머신의 변경에 대한 요청이 발생하는 경우, 상기 가상머신과 상기 가상 디스크의 연결을 해제(Detach)하는 연결 해제과정; 상기 가상머신의 변경에 대한 요청에 근거하여 기 저장된 메타정보를 이용하여 상기 특정 하이퍼바이저와 연결 가능한 신규 가상머신을 확인하고, 상기 특정 하이퍼바이저와 상기 신규 가상머신을 연결하는 신규 가상머신 연결과정; 및 상기 특정 하이퍼바이저를 이용하여 상기 신규 가상머신과 상기 가상 디스크를 논리적으로 연결(Attach)하는 신규 연결과정을 포함하는 것을 특징으로 하는 가상머신 간에 이동 가능한 가상 디스크 연결방법을 제공한다.According to an aspect of the present invention, there is provided a method for changing a virtual machine by a virtualization service providing apparatus while a plurality of hypervisors and a common storage module are physically connected, the method comprising: Connecting a virtual machine implemented on the specific hypervisor to a virtual disk allocated to the data store; A disconnecting process of detaching a connection between the virtual machine and the virtual disk when a request for changing the virtual machine occurs; A new virtual machine connection process of confirming a new virtual machine connectable with the specific hypervisor using previously stored meta information based on a request for a change of the virtual machine and connecting the new hypervisor with the new hypervisor; And a new connection step of logically connecting (attaching) the new virtual machine and the virtual disk using the specific hypervisor.

이상에서 설명한 바와 같이 본 실시예에 의하면, 서로 다른 가상머신에서 동일한 파일을 저장하는 가상 디스크에 연결할 수 있어, 가상머신 변경시 데이터 유실을 방지할 수 있는 효과가 있다. 또한, 사용자 입장에서 서비스 제공장치(포털 사이트)에 접속하여 가상머신을 쉽게 변경할 수 있는 효과가 있다. As described above, according to the present embodiment, it is possible to connect to a virtual disk storing the same file in different virtual machines, and data loss can be prevented when a virtual machine is changed. Further, there is an effect that a virtual machine can be easily changed by accessing a service providing apparatus (portal site) from a user's point of view.

도 1은 본 실시예에 따른 가상화 서비스를 제공하는 시스템을 개략적으로 나타낸 블록 구성도이다.
도 2는 본 실시예에 따른 이기종 하이퍼바이저 환경의 스토리지를 제공하기 위한 스토리지 지원모듈을 개략적으로 나타낸 블록 구성도이다.
도 3은 본 실시예에 따른 이기종 하이퍼바이저의 스토리지를 제공하는 방법을 설명하기 위한 순서도이다.
도 4는 본 실시예에 따른 특정 하이퍼바이저에 할당된 데이터 스토어를 이용하여 서로 다른 가상머신에서 연동하는 동작을 설명하기 위한 예시도이다.
도 5는 본 실시예에 따른 데이터 스토어를 할당 및 할당된 데이터 스토어와 서로 다른 가상머신과 연동하는 과정을 설명하기 위한 순서도이다.
도 6a 내지 도 6c는 본 실시예에 따른 단말기가 포털 사이트에 접속하여 가상 디스크 파일을 저장하기 위한 데이터 스토어를 요청하는 화면을 나타낸 예시도이다.
도 7a 내지 도 7c는 본 실시예에 따른 단말기가 포털 사이트에 접속하여 데이터 스토어를 생성하는 화면을 나타낸 예시도이다.
도 8a 내지 도 8c는 본 실시예에 따른 단말기가 포털 사이트에 접속하여 관리자를 등록하고, 사용자를 관리하기 위한 화면을 나타낸 예시도이다.
도 9는 본 실시예에 따른 신규 하이퍼바이저를 등록하는 동작을 설명하기 위한 순서도이다.
도 10은 본 실시예에 따른 특정 하이퍼바이저에 스토리지를 등록하는 동작을 설명하기 위한 순서도이다.
도 11a 내지 도 11d는 본 실시예에 따른 메타 데이터에 따른 큐서버 메시지의 구조를 나타낸 도면이다.
1 is a block diagram schematically showing a system for providing a virtualization service according to the present embodiment.
2 is a block diagram schematically showing a storage support module for providing storage of a heterogeneous hypervisor environment according to the present embodiment.
3 is a flowchart illustrating a method of providing storage of a heterogeneous hypervisor according to an embodiment of the present invention.
4 is an exemplary diagram for explaining an operation of interworking in different virtual machines using a data store assigned to a specific hypervisor according to the present embodiment.
5 is a flowchart for explaining a process of associating a data store according to the present embodiment with an allocated and allocated data store and a different virtual machine.
6A to 6C are views illustrating a screen for requesting a data store for accessing a portal site and storing a virtual disk file according to an embodiment of the present invention.
7A to 7C are diagrams illustrating screens in which a terminal according to an exemplary embodiment of the present invention is connected to a portal site to generate a data store.
8A to 8C are views illustrating screens for managing a user by registering an administrator by accessing a portal site according to an exemplary embodiment of the present invention.
9 is a flowchart for explaining an operation of registering a new hypervisor according to the present embodiment.
10 is a flowchart for explaining an operation of registering a storage in a specific hypervisor according to the present embodiment.
11A to 11D are diagrams showing a structure of a queue server message according to the metadata according to the present embodiment.

이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, the present embodiment will be described in detail with reference to the accompanying drawings.

도 1은 본 실시예에 따른 가상화 서비스를 제공하는 시스템을 개략적으로 나타낸 블록 구성도이다. 1 is a block diagram schematically showing a system for providing a virtualization service according to the present embodiment.

본 실시예에 따른 가상화 서비스 시스템은 단말기(110), 가상화 서비스 제공장치(120) 및 하드웨어 장치(160)를 포함한다. The virtualization service system according to the present embodiment includes a terminal 110, a virtualization service providing apparatus 120, and a hardware apparatus 160. [

단말기(110)는 네트워크를 경유하여 각종 포털 사이트(Portal Site)에 접속하거나, 신호, 데이터 등을 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다. The terminal 110 is a terminal capable of accessing various portal sites via the network or transmitting and receiving signals and data and is a terminal for transmitting information such as a tablet PC, a laptop, a personal computer A personal computer, a smart phone, a personal digital assistant (PDA), and a mobile communication terminal.

단말기(110)는 네트워크를 경유하여 통신하기 위한 프로그램 또는 프로토콜을 저장하기 위한 메모리, 해당 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 단말기(110)는 통신 네트워크와 서버-클라이언트 통신이 가능하다면 그 어떠한 단말기도 가능하다. The terminal 110 refers to a device having a memory for storing a program or a protocol for communicating via a network, and a microprocessor for executing and controlling the program. The terminal 110 may be any terminal as long as it is capable of server-client communication with the communication network.

본 실시예에 따른 단말기(110)는 가상화 서비스 제공장치(120)로 가상화 서비스 요청정보를 전송한다. 단말기(110)는 사용자의 조작에 근거하여 사용자 포털 사이트에 접속하고, 사용자 포털 사이트를 이용하여 사양정보(고사양/저사양), 스토리지 사이즈정보, 스토리지 명칭정보, 스토리지 수량정보 등에 대한 정보를 포함하는 가상화 서비스 요청정보를 입력받아 가상화 서비스 제공장치(120)로 전송한다. 여기서, 가상화 서비스 요청정보는 스토리지 증설 또는 복제를 위한 정보를 추가로 포함할 수도 있다. The terminal 110 according to the present embodiment transmits the virtualization service request information to the virtualization service providing apparatus 120. [ The terminal 110 accesses a user portal site based on a user's operation and uses the user portal site to perform virtualization processing including information on specification information (high-rise / low-rise), storage size information, storage name information, And transmits the service request information to the virtualization service providing apparatus 120. Here, the virtualization service request information may further include information for storage expansion or replication.

단말기(110)는 가상화 서비스 제공장치(120)로부터 가상화 서비스 요청정보의 응답신호로서 서비스 설정정보를 수신한다. 더 자세히 설명하자면, 단말기(110)는 가상화 서비스 요청정보에 근거하여 가상머신 및 특정 데이터 스토어 간의 설정상태에 대한 서비스 설정정보를 수신한다. 여기서, 서비스 설정정보는 연동 대기 또는 연동 실패(재설정)에 대한 상태정보를 포함한다. The terminal 110 receives service setting information from the virtualization service providing apparatus 120 as a response signal of the virtualization service request information. In more detail, the terminal 110 receives service setting information on the setting state between the virtual machine and the specific data store based on the virtualization service request information. Here, the service setting information includes status information on interworking standby or interworking failure (reset).

단말기(110)는 서비스 설정정보를 기초로 사용자의 조작에 따른 가상 디스크 제어신호를 가상화 서비스 제공장치(120)로 전송한다. 예컨대, 단말기(110)는 가상머신 및 특정 데이터 스토어가 연동 대기 상태인 서비스 설정정보에 근거하여 가상머신 및 특정 데이터 스토어가 연결되도록 가상 디스크 제어신호를 가상화 서비스 제공장치(120)로 전송할 수 있다. The terminal 110 transmits a virtual disk control signal according to a user's operation to the virtualization service providing apparatus 120 based on service setting information. For example, the terminal 110 may transmit a virtual disk control signal to the virtualization service providing apparatus 120 so that the virtual machine and the specific data store are connected based on the service setting information in which the virtual machine and the specific data store are interlocked.

단말기(110)는 사용자의 조작에 따라 가상 디스크 제어신호와 가상화 서비스 요청정보를 별도로 가상화 서비스 제공장치(120)로 전송하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 가상화 서비스 요청정보에 가상 디스크 제어신호를 포함하여 가상화 서비스를 요청하면서, 가상머신 및 특정 데이터 스토어의 연결을 제어하기 위한 신호를 동시에 가상화 서비스 제공장치(120)로 전송할 수 있다. The terminal 110 transmits the virtual disk control signal and the virtualization service request information separately to the virtualization service providing apparatus 120 according to the user's operation. However, the present invention is not limited thereto, and the virtualization service request information may include virtual disk control Signal to the virtualization service providing apparatus 120 while requesting the virtualization service, and for simultaneously controlling the connection of the virtual machine and the specific data store.

한편, 단말기(110)는 가상화 서비스를 이용하기 위해 사용자 포탈 사이트에 접속하여 가상화 서비스를 신청하는 단말기인 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 가상화 서비스를 모니터링하고, 관리하는 관리자 포털 사이트에 접속 가능한 단말기일 수도 있다. 예컨대, 관리자가 단말기(110)를 이용하여 관리자 포털 사이트에 접속하고, 관리자(Admin) 인증을 수행하는 경우, 가상화 서비스를 사용하고 있는 사용자들을 모니터링하거나, 과금처리를 수행할 수도 있다. Meanwhile, although the terminal 110 is a terminal for accessing a user portal site to use a virtualization service and requesting a virtualization service, the terminal 110 is not necessarily limited to this, and may be connected to a manager portal site for monitoring and managing a virtualization service It may be a possible terminal. For example, when the administrator accesses the administrator portal site using the terminal 110 and performs authentication of the administrator (Admin), the user using the virtualization service may be monitored or a billing process may be performed.

가상화 서비스 제공장치(120)는 단말기(110)로부터 수신된 가상화 서비스 요청정보에 근거하여 복수 개의 이기종 하이퍼바이저 중 특정 하이퍼바이저를 결정하고, 특정 하이퍼바이저와 공용 스토리지 모듈(170)에서 선택된 데이터 스토어가 연동 가능하도록 설정한다. 본 실시예에 따른 가상화 서비스 제공장치(120)는 스토리지 지원모듈(130), 가상머신 모듈(140) 및 하이퍼바이저 모듈(150)을 포함한다. The virtualization service providing apparatus 120 determines a specific hypervisor among the plurality of heterogeneous hypervisors based on the virtualization service request information received from the terminal 110 and stores the selected data store in the specific hypervisor and the common storage module 170 It is set to enable interlocking. The virtualization service provision apparatus 120 according to the present embodiment includes a storage support module 130, a virtual machine module 140, and a hypervisor module 150.

스토리지 지원모듈(130)은 단말기(110)로부터 가상화 서비스 요청정보를 수신한다. 여기서, 가상화 서비스 요청정보는 사용자로부터 입력된 사양정보(고사양/저사양), 스토리지 사이즈정보, 스토리지 명칭정보, 스토리지 수량정보 등에 대한 정보를 포함한다. The storage support module 130 receives virtualization service request information from the terminal 110. Here, the virtualization service request information includes information on specification information (high / low price) input from a user, storage size information, storage name information, storage quantity information, and the like.

스토리지 지원모듈(130)은 가상화 서비스 요청정보에 근거하여 서로 다른 프로토콜 및 연동방식을 갖는 복수 개의 하이퍼바이저 중 특정 하이퍼바이저를 결정한다. 스토리지 지원모듈(130)은 가상화 서비스 요청정보에 포함된 사양정보(고사양/저사양) 및 스토리지 수량정보에 근거하여 특정 하이퍼바이저를 결정할 수 있으나 반드시 이에 한정되는 것은 아니다. The storage support module 130 determines a specific hypervisor among a plurality of hypervisors having different protocols and interworking methods based on the virtualization service request information. The storage support module 130 may determine the specific hypervisor based on the specification information (high / low price) and the storage quantity information included in the virtualization service request information, but is not limited thereto.

스토리지 지원모듈(130)은 가상화 서비스 요청정보에 대한 메타 데이터를 저장하고, 저장된 메타 데이터 기반의 큐서버 메시지를 이용하여 특정 하이퍼바이저에 대응하는 하이퍼바이저 어댑터를 호출한다. 스토리지 지원모듈(130)은 하이퍼바이저 어댑터를 이용하여 공용 스토리지 모듈(170)에 포함된 복수 개의 블록 스토리지 중 특정 하이퍼바이저에 할당하기 위한 데이터 스토어를 선택한다. The storage support module 130 stores the metadata for the virtualization service request information and invokes the hypervisor adapter corresponding to the specific hypervisor using the stored metadata based queue server message. The storage support module 130 uses the hypervisor adapter to select a data store for allocation to a specific hypervisor among a plurality of block storages included in the public storage module 170. [

스토리지 지원모듈(130)은 공용 스토리지 모듈(170)로부터 스토리지 현황정보를 획득하고, 스토리지 현황정보에 근거하여 기 설정된 조건정보를 기준으로 특정 데이터 스토어를 선택할 수 있다. 여기서, 기 설정된 조건정보는 데이터 저장성능, 데이터 저장효율, 중복방지 등을 우선적으로 적용하여 특정 데이터 스토어를 선택할 수 있도록 하는 정보를 의미한다. The storage support module 130 can acquire the storage status information from the common storage module 170 and select a specific data store based on the preset condition information based on the storage status information. Here, the predetermined condition information means information that allows a user to select a specific data store by preferentially applying data storage performance, data storage efficiency, and duplication prevention.

스토리지 지원모듈(130)은 특정 하이퍼바이저에 대응하는 가상머신과 특정 하이퍼바이저에 할당된 데이터 스토어를 연동 대기상태로 설정한다. 스토리지 지원모듈(130)은 연동 대기상태로 설정된 가상머신 및 특정 데이터 스토어에 대한 서비스 설정정보를 단말기(110)로 전송한다. 여기서, 서비스 설정정보는 연동 대기 또는 연동 실패(재설정)에 대한 상태정보를 포함한다.The storage support module 130 sets the virtual machine corresponding to the specific hypervisor and the data store assigned to the specific hypervisor to the interlock waiting state. The storage support module 130 transmits service setting information for the virtual machine and the specific data store set to the interlocked standby state to the terminal 110. [ Here, the service setting information includes status information on interworking standby or interworking failure (reset).

스토리지 지원모듈(130)은 단말기(110)로부터 서비스 설정정보에 근거한 가상 디스크 제어신호가 수신되는 경우, 가상 디스크 제어신호에 근거하여 가상머신 및 특정 데이터 스토어가 연동되도록 제어한다. 여기서, 가상 디스크 제어신호는 가상머신 및 특정 데이터 스토어를 연결(Attach)하도록 요청하는 신호일 수 있고, 가상머신 및 특정 데이터 스토어가 기 연결된 상태일 경우, 연결이 해제(Detach)되도록 요청하는 신호일 수도 있다. When the virtual disk control signal based on the service setting information is received from the terminal 110, the storage support module 130 controls the virtual machine and the specific data store to be interlocked based on the virtual disk control signal. Here, the virtual disk control signal may be a signal requesting to connect a virtual machine and a specific data store, or a signal requesting that a connection be detached when a virtual machine and a specific data store are connected to each other .

스토리지 지원모듈(130)은 가상머신 및 데이터 스토어에 할당된 가상 디스크가 논리적으로 기 연결된 상태에서 단말기(110)로부터 가상머신의 변경에 대한 가상화 요청정보를 수신된 경우, 가상머신과 가상 디스크 간의 논리적인 연결을 변경한다. When the virtualization request information on the change of the virtual machine is received from the terminal 110 while the virtual disk allocated to the virtual machine and the data store is logically connected to the storage support module 130, In connection.

스토리지 지원모듈(130)은 가상머신의 변경에 대한 가상화 요청정보가 수신되면, 기 저장된 메타정보에 근거하여 특정 하이퍼바이저에 구동되는 가상머신을 확인하고, 특정 하이퍼바이저에 구동되는 가상머신을 해제(삭제)한다. 즉, 스토리지 지원모듈(130)은 특정 하이퍼바이저를 이용하여 가상머신과 데이터 스토어에 할당된 가상 디스크 간의 논리적인 연결을 해제(Detach)한다. When the virtualization request information about the change of the virtual machine is received, the storage support module 130 confirms the virtual machine driven by the specific hypervisor based on the stored meta information, and releases the virtual machine driven by the specific hypervisor Deletion). That is, the storage support module 130 detaches a logical connection between a virtual machine and a virtual disk allocated to a data store using a specific hypervisor.

스토리지 지원모듈(130)은 기 저장된 메타정보에 근거하여 특정 하이퍼바이저에서 새롭게 구동하여 생성하기 위한 신규 가상머신을 확인하고, 특정 하이퍼바이저에 신규 가상머신을 생성한다. 스토리지 지원모듈(130)은 특정 하이퍼바이저를 이용하여 신규 가상머신과 데이터 스토어에 기 할당된 가상 디스크를 논리적으로 연결(Attach)한다. 신규 가상머신과 가상 디스크가 연결되는 경우, 단말기(110)는 사용자의 조작에 따라 해제된 가상머신에서 사용하던 가상 디스크 파일을 신규 가상 머신에서 동일하게 사용할 수 있고, 신규 가상 머신에서 기 저장된 가상 디스크 파일의 수정, 삭제, 추가저장 등과 같은 동작을 사용할 수 있다. The storage support module 130 identifies a new virtual machine to be newly generated and generated in the specific hypervisor based on the previously stored meta information, and creates a new virtual machine in the specific hypervisor. The storage support module 130 logically connects a new virtual machine and a virtual disk pre-allocated to the data store using a specific hypervisor. When a new virtual machine and a virtual disk are connected to each other, the terminal 110 can use the virtual disk file used in the released virtual machine equally in the new virtual machine according to the user's operation, You can use actions such as modifying, deleting, and saving additional files.

가상머신 모듈(140)은 하이퍼바이저를 이용하여 가동되는 복수 개의 가상머신(Virtual Machine)을 포함한다. 여기서, 가상머신은 하나의 물리 서버를 복수의 서로 다른 서버로 분할하여 사용하거나, 운영체제, 애플리케이션, 하드웨어(CPU, 메모리, 드라이브, 네트워크 등) 등의 구성을 다르게 구현할 수 있는 가상화된 서버를 의미한다. The virtual machine module 140 includes a plurality of virtual machines that are operated using a hypervisor. Here, the virtual machine refers to a virtualized server that can divide one physical server into a plurality of different servers or implement different configurations of an operating system, application, hardware (CPU, memory, drive, network, etc.) .

본 실시예에 따른 가상머신 모듈(140)은 하이퍼바이저 모듈(150)에 포함된 복수 개의 이기종 하이퍼바이저 중 적어도 하나의 하이퍼바이저를 기반으로 가동된 가상머신을 포함한다.The virtual machine module 140 according to the present embodiment includes a virtual machine that is operated based on at least one hypervisor among a plurality of heterogeneous hypervisors included in the hypervisor module 150. [

하이퍼바이저 모듈(150)는 서로 다른 프로토콜 및 연동방식을 갖는 복수 개의 하이퍼바이저를 포함한다. 여기서, 하이퍼바이저는 하나의 물리 서버에서 다수의 운영체제(OS: Operating System)를 동시에 가동할 수 있게 해주는 소프트웨어로서 가상서버(Virtual Machine)을 만들 수 있는 가상화 엔진을 의미한다. The hypervisor module 150 includes a plurality of hypervisors having different protocols and interworking schemes. Here, the hypervisor refers to a virtualization engine capable of creating a virtual machine as software that enables a plurality of operating systems (OSs) to operate simultaneously in one physical server.

하드웨어 장치(160)는 중앙 처리장치(CPU: Central Processing Unit), 메모리, 스토리지, 네트워크 유닛 등의 물리적인 장치를 말한다. 하드웨어 장치(160)는 가상화 서비스 제공장치(120)와 연결되어 각종 하드웨어의 리소스를 할당하여 가상화할 수 있다. The hardware device 160 refers to a physical device such as a central processing unit (CPU), a memory, a storage, and a network unit. The hardware device 160 may be connected to the virtualization service providing apparatus 120 to allocate various hardware resources and virtualize them.

본 실시예에서는 하드웨어 장치(160) 중 서로 다른 프로토콜 및 연동방식을 갖는 복수 개의 하이퍼바이저에 독립적인 스토리지(데이터 스토어)를 제공하기 위해 복수 개의 블록 스토리지를 포함하는 공용 스토리지 모듈(170)만을 기재하도록 한다. In this embodiment, only the public storage module 170 including a plurality of block storages is described so as to provide independent storage (data store) to the plurality of hypervisors having different protocols and interworking methods among the hardware devices 160 do.

공용 스토리지 모듈(170)은 복수 개의 블록 스토리지를 포함하고, 가상화 서비스 제공장치(120)의 요청에 따라 고유 식별정보(LUN: Logical Unit Number)를 갖는 데이터 스토어를 하이퍼바이저에 할당한다. 여기서, 데이터 스토어는 각각의 블록 스토리지 내에 적어도 하나 이상 포함될 수 있다. 예컨대, 하나의 블록 스토리지 내에 4 개의 데이터 스토어가 포함될 수 있다. The public storage module 170 includes a plurality of block storages and allocates a data store having a LUN (Logical Unit Number) to the hypervisor at the request of the virtualization service providing apparatus 120. Here, the data store may be included in each block storage. For example, four data stores may be included in one block storage.

공용 스토리지 모듈(170)은 가상화 서비스 제공장치(120)의 복수 개의 하이퍼바이저마다 기 설정된 고유 식별정보를 갖는 데이터 스토어가 기 설정되어 있지않고, 가상화 서비스 제공장치(120)에서 서로 다른 프로토콜 및 연동방식을 갖는 복수 개의 하이퍼바이저 각각에 대해 생성된 큐서버 메시지를 기반으로 선택된 데이터 스토어만을 제공함으로써, 공용 스토리지 모듈(170)을 이기종 하이퍼바이저와 유연하게 연동할 수 있다. The public storage module 170 does not previously set a data store having predetermined identification information for each of a plurality of hypervisors of the virtualization service providing apparatus 120, The public storage module 170 can be flexibly interworked with the heterogeneous hypervisor by providing only the selected data stores based on the queue server messages generated for each of the plurality of hypervisors having the hypervisor.

도 2는 본 실시예에 따른 이기종 하이퍼바이저 환경의 스토리지를 제공하기 위한 스토리지 지원모듈을 개략적으로 나타낸 블록 구성도이다. 2 is a block diagram schematically showing a storage support module for providing storage of a heterogeneous hypervisor environment according to the present embodiment.

스토리지 지원모듈(130)은 어댑터 제어부(210) 및 메타 DB(280)를 포함한다. 여기서, 어댑터 제어부(210)는 통신부(220), 웹애플리케이션 처리부(230) 및 하이퍼바이저 어댑터부(240)를 포함하고, 메타 DB(280)는 사용자 데이터 저장부(282) 및 스토리지 정보 저장부(284)를 포함한다. The storage support module 130 includes an adapter control unit 210 and a meta DB 280. The adapter control unit 210 includes a communication unit 220, a web application processing unit 230 and a hypervisor adapter unit 240. The meta DB 280 includes a user data storage unit 282 and a storage information storage unit 284).

어댑터 제어부(210)는 하이퍼바이저 모듈(150)에 포함된 복수 개의 이기종 하이퍼바이저와 공용 스토리지 모듈(170) 간의 연결을 제어하고, 이기종 하이퍼바이저의 등록, 수정, 삭제 등을 수행한다. The adapter control unit 210 controls connection between the plurality of heterogeneous hypervisors included in the hypervisor module 150 and the common storage module 170, and performs registration, modification, and deletion of the heterogeneous hypervisor.

통신부(220)는 단말기(110)와 연결되어 가상화 서비스에 대한 각종 정보 및 신호를 송수신한다. The communication unit 220 is connected to the terminal 110 and transmits and receives various information and signals for the virtualization service.

본 실시예에 따른 통신부(220)는 단말기(110)로부터 가상화 서비스 요청정보를 수신한다. 여기서, 가상화 서비스 요청정보는 사용자로부터 입력된 사양정보(고사양/저사양), 스토리지 사이즈정보, 스토리지 명칭정보, 스토리지 수량정보 등에 대한 정보를 포함한다. The communication unit 220 according to the present embodiment receives virtualization service request information from the terminal 110. Here, the virtualization service request information includes information on specification information (high / low price) input from a user, storage size information, storage name information, storage quantity information, and the like.

통신부(220)는 가상화 서비스 요청정보에 대응하는 서비스 설정정보를 단말기(110)로 전송한다. 여기서, 서비스 설정정보는 가상머신 및 특정 데이터 스토어 간의 설정상태에 대한 정보로서, 연동 대기 또는 연동 실패(재설정)에 대한 상태정보를 포함한다. 통신부(220)는 단말기(110)로부터 서비스 설정정보를 기초로 입력된 가상 디스크 제어신호를 수신하며, 하이퍼바이저 어댑터부(240)에서 가상 디스크 제어신호에 근거하여 가상머신 및 특정 데이터 스토어 간의 연동 상태를 제어하도록 한다. The communication unit 220 transmits service setting information corresponding to the virtualization service request information to the terminal 110. Here, the service setting information is information on the setting state between the virtual machine and the specific data store, and includes state information about interlocking wait or interlocking failure (reset). The communication unit 220 receives the virtual disk control signal input based on the service setting information from the terminal 110 and controls the hypervisor adapter unit 240 to operate the virtual machine and the specific data store .

통신부(220)는 애플리케이션 프로그래밍 인터페이스(API: Application Programming Interface)로 구현될 수 있으며, 기 설정된 채널(예: 표준 채널)을 이용하여 데이터를 송수신할 수 있다면 그 어떤 인터페이스로도 구현가능하다.The communication unit 220 may be implemented as an application programming interface (API), and may be implemented as any interface capable of transmitting and receiving data using a predetermined channel (e.g., a standard channel).

웹애플리케이션 처리부(230)는 스토리지 지원모듈(130)의 전반적인 동작을 제어한다. The web application processing unit 230 controls the overall operation of the storage support module 130.

본 실시예에 따른 웹애플리케이션 처리부(230)는 단말기(110)로부터 가상화 서비스 요청정보가 수신되면, 가상화 서비스 요청정보에 해당하는 메타 데이터를 메타 DB(280)로 전송하여 저장되도록 한다. 또한, 웹애플리케이션 처리부(230)는 하이퍼바이저 어댑터부(240)의 동작에 따라 설정 또는 변경되는 모든 정보를 메타 DB(280)로 전송하여 메타 데이터가 갱신되도록 한다. When the virtualization service request information is received from the terminal 110, the web application processing unit 230 according to the present embodiment transmits the metadata corresponding to the virtualization service request information to the meta DB 280 to be stored. In addition, the web application processing unit 230 transmits all information set or changed according to the operation of the hypervisor adapter unit 240 to the meta DB 280 so that the meta data is updated.

웹애플리케이션 처리부(230)는 가상화 서비스 요청정보에 근거하여 서로 다른 프로토콜 및 연동방식을 갖는 복수 개의 하이퍼바이저 중 특정 하이퍼바이저를 결정한다. 웹애플리케이션 처리부(230)는 가상화 서비스 요청정보에 포함된 사양정보(고사양/저사양) 및 스토리지 수량정보에 근거하여 특정 하이퍼바이저를 결정할 수 있으나 반드시 이에 한정되는 것은 아니다. 예컨대, 웹애플리케이션 처리부(230)는 복수 개의 하이퍼바이저 중 랜덤으로 특정 하이퍼바이저를 결정하거나, 사용자가 선택한 특정 하이퍼바이저로 결정할 수 있다. 또한, 웹애플리케이션 처리부(230)는 협력사의 특정 하이퍼바이저를 우선적으로 결정할 수도 있다. The web application processing unit 230 determines a specific hypervisor among a plurality of hypervisors having different protocols and interworking methods based on the virtualization service request information. The web application processing unit 230 may determine the specific hypervisor based on the specification information (high-rise / low-rise) and the storage quantity information included in the virtualization service request information, but is not limited thereto. For example, the web application processing unit 230 may determine a specific hypervisor at random among a plurality of hypervisors, or may determine a specific hypervisor selected by the user. In addition, the web application processing unit 230 may preferentially determine the specific hypervisor of the partner company.

웹애플리케이션 처리부(230)는 결정된 특정 하이퍼바이저의 메타 데이터에 대응하는 큐서버 메시지를 하이퍼바이저 어댑터부(240)로 전송하고, 하이퍼바이저 어댑터부(240)에서 큐서버 메시지에 근거하여 특정 하이퍼바이저에 대응하는 하이퍼바이저 어댑터를 호출한다. The web application processing unit 230 transmits the queue server message corresponding to the determined specific hypervisor's metadata to the hypervisor adapter unit 240 and sends the queue server message to the hypervisor adapter unit 240 based on the queue server message Calls the corresponding hypervisor adapter.

하이퍼바이저 어댑터부(240)는 하이퍼바이저 모듈(150)에 포함된 복수 개의 하이퍼바이저 각각에 대응하는 복수 개의 하이퍼바이저 어댑터(250, 260, 270)를 포함한다. 여기서, 각각의 하이퍼바이저 어댑터는 큐서버 메시지를 처리하기 위한 큐 처리부(252, 262, 272)를 포함한다. 하이퍼바이저 어댑터부(240)는 하이퍼바이저 모듈(150)에 신규 하이퍼바이저가 추가되는 경우, 신규 하이퍼바이저에 대응하는 하이퍼바이저 어댑터 및 큐 처리부를 생성 또는 등록할 수 있다. The hypervisor adapter unit 240 includes a plurality of hypervisor adapters 250, 260, and 270 corresponding to each of the plurality of hypervisors included in the hypervisor module 150. Here, each hypervisor adapter includes a queue processing unit 252, 262, 272 for processing a queue server message. The hypervisor adapter unit 240 can create or register a hypervisor adapter and a queue processor corresponding to the new hypervisor when a new hypervisor is added to the hypervisor module 150. [

하이퍼바이저 어댑터부(240)는 하이퍼바이저 모듈(150) 및 공용 스토리지 모듈(170)과 연결되어 가상머신 및 특정 데이터 스토어의 설정상태를 제어한다. The hypervisor adapter unit 240 is connected to the hypervisor module 150 and the common storage module 170 to control the setting state of the virtual machine and the specific data store.

하이퍼바이저 어댑터부(240)는 웹애플리케이션 처리부(230)로부터 수신된 큐서버 메시지에 근거하여 하이퍼바이저 모듈(150)에 포함된 특정 하이퍼바이저와 연결된다. 여기서, 특정 하이퍼바이저는 하나 또는 하나 이상의 가상머신이 가동되도록 하며, 각각의 가상머신과 연결되어 있다. The hypervisor adapter unit 240 is connected to the specific hypervisor included in the hypervisor module 150 based on the queue server message received from the web application processing unit 230. Here, the specific hypervisor allows one or more virtual machines to be activated, and is connected to each virtual machine.

하이퍼바이저 어댑터부(240)는 큐서버 메시지에 근거하여 공용 스토리지 모듈(170)에 포함된 복수 개의 블록 스토리지 중 특정 하이퍼바이저에 할당하기 위한 특정 데이터 스토어를 선택한다. 여기서, 하이퍼바이저 어댑터부(240)는 공용 스토리지 모듈(170)로부터 스토리지 현황정보를 획득하고, 스토리지 현황정보에 근거하여 기 설정된 조건정보를 기준으로 특정 데이터 스토어를 선택한다. 여기서, 기 설정된 조건정보는 데이터 저장성능, 데이터 저장효율, 중복방지 등을 우선적으로 적용하여 특정 데이터 스토어를 선택할 수 있도록 하는 정보를 의미한다. The hypervisor adapter unit 240 selects a specific data store to allocate to a specific hypervisor among a plurality of block storages included in the public storage module 170 based on the queue server message. Here, the hypervisor adapter unit 240 acquires the storage status information from the common storage module 170, and selects a specific data store based on the preset condition information based on the storage status information. Here, the predetermined condition information means information that allows a user to select a specific data store by preferentially applying data storage performance, data storage efficiency, and duplication prevention.

하이퍼바이저 어댑터부(240)는 특정 하이퍼바이저에 대응하는 가상머신 및 특정 데이터 스토어를 연동 대기상태로 설정한다. 다시 말해, 하이퍼바이저 어댑터부(240)는 특정 하이퍼바이저에 대응하는 가상머신에 할당된 특정 데이터 스토어를 선택하고, 가상머신 및 특정 데이터 스토어를 연결하기 위한 연동 대기상태로 설정한다. The hypervisor adapter unit 240 sets the virtual machine corresponding to the specific hypervisor and the specific data store to the interlocking standby state. In other words, the hypervisor adapter unit 240 selects a specific data store assigned to the virtual machine corresponding to the specific hypervisor, and sets the interlocking standby state for connecting the virtual machine and the specific data store.

하이퍼바이저 어댑터부(240)는 연동 대기상태로 설정된 가상머신 및 특정 데이터 스토어에 대한 서비스 설정정보를 통신부(220)를 이용하여 단말기(110)로 전송한다. 여기서, 서비스 설정정보는 연동 대기 또는 연동 실패(재설정)에 대한 상태정보를 포함한다.The hypervisor adapter unit 240 transmits the service setting information for the virtual machine and the specific data store set to the interlocked standby state to the terminal 110 using the communication unit 220. [ Here, the service setting information includes status information on interworking standby or interworking failure (reset).

하이퍼바이저 어댑터부(240)는 단말기(110)로부터 서비스 설정정보에 근거한 가상 디스크 제어신호가 수신되는 경우, 가상 디스크 제어신호에 근거하여 가상머신 및 특정 데이터 스토어를 연결되도록 제어한다. 여기서, 가상 디스크 제어신호는 가상머신 및 특정 데이터 스토어를 연결(Attach)하도록 요청하는 신호일 수 있고, 가상머신 및 특정 데이터 스토어가 기 연결된 상태일 경우, 연결이 해제(Detach)되도록 요청하는 신호일 수 있다. The hypervisor adapter unit 240 controls the virtual machine and the specific data store to be connected based on the virtual disk control signal when the virtual disk control signal based on the service setting information is received from the terminal 110. [ Here, the virtual disk control signal may be a signal for requesting a connection between a virtual machine and a specific data store, and may be a signal for requesting detachment when a virtual machine and a specific data store are connected to each other .

하이퍼바이저 어댑터부(240)는 가상머신 및 데이터 스토어에 할당된 가상 디스크가 논리적으로 기 연결된 상태에서 단말기(110)로부터 가상머신의 변경에 대한 가상화 요청정보를 수신된 경우, 가상머신과 가상 디스크 간의 논리적인 연결을 변경한다. When the virtualization request information for the change of the virtual machine is received from the terminal 110 while the virtual disk allocated to the virtual machine and the data store is logically connected to the hypervisor adapter unit 240, Change the logical connection.

하이퍼바이저 어댑터부(240)는 가상머신의 변경에 대한 가상화 요청정보가 수신되면, 기 저장된 메타정보에 근거하여 특정 하이퍼바이저에 구동되는 가상머신을 확인하고, 특정 하이퍼바이저에 구동되는 가상머신을 해제(삭제)한다. 즉, 스토리지 지원모듈(130)은 특정 하이퍼바이저를 이용하여 가상머신과 데이터 스토어에 할당된 가상 디스크 간의 논리적인 연결을 해제(Detach)한다. When the virtualization request information about the change of the virtual machine is received, the hypervisor adapter unit 240 confirms the virtual machine driven by the specific hypervisor based on the stored meta information, releases the virtual machine driven by the specific hypervisor (Deletion). That is, the storage support module 130 detaches a logical connection between a virtual machine and a virtual disk allocated to a data store using a specific hypervisor.

하이퍼바이저 어댑터부(240)는 기 저장된 메타정보에 근거하여 특정 하이퍼바이저에서 새롭게 구동하여 생성하기 위한 신규 가상머신을 확인하고, 특정 하이퍼바이저에 신규 가상머신을 생성한다. 하이퍼바이저 어댑터부(240)는 특정 하이퍼바이저를 이용하여 신규 가상머신과 데이터 스토어에 기 할당된 가상 디스크를 논리적으로 연결(Attach)한다.The hypervisor adapter unit 240 identifies a new virtual machine to be newly driven and generated in the specific hypervisor based on the previously stored meta information, and creates a new virtual machine in the specific hypervisor. The hypervisor adapter unit 240 logically connects the new virtual machine and the virtual disk pre-allocated to the data store using a specific hypervisor.

하이퍼바이저 어댑터부(240)는 웹애플리케이션 처리부(230)의 제어에 근거하여 하이퍼바이저 모듈(150) 및 공용 스토리지 모듈(170)과 연결되어 동작하는 모든 정보를 메타 DB(280)에 저장한다. 하이퍼바이저 어댑터부(240)는 메타 DB(280)에 저장된 메타 데이터를 큐서버 메시지로 획득할 수 있고, 큐서버 메시지에 근거하여 특정 하이퍼바이저에 대응하는 하이퍼바이저 어댑터를 추출하고, 특정 데이터 스토어를 선택하고, 가상머신 및 특정 데이터 스토어를 연결하기 위한 연동 대기상태로 설정한다. 여기서, 큐서버 메시지 즉, 메타 데이터에 대한 구조는 도 11a 내지 도 11d에서 설명하도록 한다. The hypervisor adapter unit 240 stores all information connected to the hypervisor module 150 and the common storage module 170 and operated in the meta DB 280 based on the control of the web application processing unit 230. The hypervisor adapter unit 240 may acquire metadata stored in the meta DB 280 as a queue server message, extract a hypervisor adapter corresponding to a specific hypervisor based on the queue server message, And sets it to the interworking wait state for connecting the virtual machine and the specific data store. Here, the structure of the queue server message, that is, the metadata, will be described in FIGS. 11A to 11D.

메타 DB(280)는 어댑터 제어부(210)에서 공용 스토리지 모듈(170)과 하이퍼바이저 모듈(150) 간의 연결을 제어하기 위한 각종 데이터를 저장한다. The meta DB 280 stores various data for controlling the connection between the public storage module 170 and the hypervisor module 150 in the adapter control unit 210.

메타 DB(280)는 단말기(110)로부터 수신된 가상화 서비스 요청신호에 대응하는 메타 데이터를 저장한다. 또한, 메타 DB(280)는 특정 하이퍼바이저 및 데이터 스토어에 대한 서비스 설정정보를 추가로 메타 데이터에 저장한다. The meta DB 280 stores metadata corresponding to the virtualization service request signal received from the terminal 110. In addition, the meta DB 280 further stores the service setting information for the specific hypervisor and the data store in the metadata.

본 실시예에 따른 메타 DB(280)는 가상화 서비스 요청신호에 근거하여 단말기(110)에 대한 사용자 데이터를 별도로 저장하여 과금 또는 모니터링에 이용할 수 있다. 또한, 메타 DB(280)는 서비스 설정정보에 따른 스토리지를 사용한 정보를 별도로 저장하여 공용 스토리지 모듈(170)의 스토리지 사용량을 관리하는데 이용할 수 있다. 메타 DB(280)에 저장된 메타 데이터에 대한 구조는 도 11a 내지 도 11d에 도시되어 있다. The meta DB 280 according to the present embodiment can separately store user data for the terminal 110 based on the virtualization service request signal and use it for billing or monitoring. In addition, the meta DB 280 may be used to manage the storage usage of the common storage module 170 by separately storing information using the storage according to the service setting information. The structure of the metadata stored in the meta DB 280 is shown in Figs. 11A to 11D.

도 3은 본 실시예에 따른 이기종 하이퍼바이저의 스토리지를 제공하는 방법을 설명하기 위한 순서도이다. 3 is a flowchart illustrating a method of providing storage of a heterogeneous hypervisor according to an embodiment of the present invention.

가상화 서비스 제공장치(120)는 단말기(110)로부터 가상화 서비스 요청정보를 수신한다(S310). 여기서, 가상화 서비스 요청정보는 사용자로부터 입력된 사양정보(고사양/저사양), 스토리지 사이즈정보, 스토리지 명칭정보, 스토리지 수량정보 등에 대한 정보를 포함한다.The virtualization service providing apparatus 120 receives the virtualization service request information from the terminal 110 (S310). Here, the virtualization service request information includes information on specification information (high / low price) input from a user, storage size information, storage name information, storage quantity information, and the like.

가상화 서비스 제공장치(120)는 가상화 서비스 요청정보에 근거하여 서로 다른 프로토콜 및 연동방식을 갖는 복수 개의 하이퍼바이저 중 특정 하이퍼바이저를 결정한다(S320). 가상화 서비스 제공장치(120)는 가상화 서비스 요청정보에 포함된 사양정보(고사양/저사양) 및 스토리지 수량정보에 근거하여 특정 하이퍼바이저를 결정할 수 있으나 반드시 이에 한정되는 것은 아니며, 가상화 서비스 제공장치(120)는 복수 개의 하이퍼바이저 중 랜덤으로 특정 하이퍼바이저를 결정하거나, 사용자가 선택한 특정 하이퍼바이저로 결정할 수 있다. The virtualization service providing apparatus 120 determines a specific hypervisor among the plurality of hypervisors having different protocols and interworking methods based on the virtualization service request information (S320). The virtualization service providing apparatus 120 may determine a specific hypervisor based on the specification information (high-level / low-level) and the storage amount information included in the virtualization service request information, but the present invention is not limited thereto, May determine a particular hypervisor at random among the plurality of hypervisors, or may determine the particular hypervisor selected by the user.

가상화 서비스 제공장치(120)는 특정 하이퍼바이저에 대한 메타 데이터를 저장하고, 메타 데이터에 따른 큐서버 메시지를 이용하여 특정 하이퍼바이저에 대응하는 하이퍼바이저 어댑터를 호출한다(S330).The virtualization service providing apparatus 120 stores the metadata for the specific hypervisor and calls the hypervisor adapter corresponding to the specific hypervisor using the queue server message according to the metadata (S330).

가상화 서비스 제공장치(120)는 큐서버 메시지에 근거하여 특정 데이터 스토어를 검색 또는 선택하고, 특정 하이퍼바이저에 대응하는 가상머신 및 특정 데이터 스토어를 연동 대기상태로 설정한다(S340). 가상화 서비스 제공장치(120)는 공용 스토리지 모듈(170)로부터 스토리지 현황정보를 획득하고, 스토리지 현황정보에 근거하여 기 설정된 조건정보를 기준으로 특정 데이터 스토어를 선택한다. 여기서, 기 설정된 조건정보는 데이터 저장성능, 데이터 저장효율, 중복방지 등을 우선적으로 적용하여 특정 데이터 스토어를 선택할 수 있도록 하는 정보를 의미한다. The virtualization service providing apparatus 120 searches for or selects a specific data store based on the queue server message, and sets the virtual machine corresponding to the specific hypervisor and the specific data store to the interworking standby state (S340). The virtualization service providing apparatus 120 acquires the storage status information from the common storage module 170 and selects a specific data store based on preset condition information based on the storage status information. Here, the predetermined condition information means information that allows a user to select a specific data store by preferentially applying data storage performance, data storage efficiency, and duplication prevention.

가상화 서비스 제공장치(120)는 가상머신 및 특정 데이터 스토어 간의 설정상태에 대한 서비스 설정정보를 단말기(110)로 전송한다(S350). 다시 말해, 가상화 서비스 제공장치(120)는 특정 하이퍼바이저에 대응하는 가상머신에 할당하기 위한 특정 데이터 스토어를 선택하여, 가상머신 및 특정 데이터 스토어를 연결하기 위한 연동 대기상태로 설정하고, 설정에 대한 서비스 설정정보를 단말기(110)로 전송한다. The virtualization service providing apparatus 120 transmits service setting information on the setting state between the virtual machine and the specific data store to the terminal 110 (S350). In other words, the virtualization service providing apparatus 120 selects a specific data store to be allocated to the virtual machine corresponding to the specific hypervisor, sets it to the interworking standby state for connecting the virtual machine and the specific data store, And transmits service setting information to the terminal 110.

가상화 서비스 제공장치(120)는 단말기(110)로부터 서비스 설정정보를 기초로 가상 디스크 제어신호가 수신되는 경우, 가상 디스크 제어신호에 근거하여 가상머신 및 특정 데이터 스토어가 연결 또는 해제되도록 연동 상태를 제어한다(S360). When the virtual disk control signal is received from the terminal 110 based on the service setting information, the virtualization service providing apparatus 120 controls the linked state so that the virtual machine and the specific data store are connected or released based on the virtual disk control signal (S360).

도 3에서는 단계 S310 내지 단계 S360를 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 단계 S310 내지 단계 S360 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.3, it is described that steps S310 to S360 are sequentially executed. However, this is merely an exemplary description of the technical idea of the present embodiment, and it will be understood by those skilled in the art that, It will be understood that various changes and modifications may be made to the invention without departing from the essential characteristics thereof, or alternatively, by executing one or more of the steps S310 through S360 in parallel, But is not limited thereto.

전술한 바와 같이 도 3에 기재된 본 실시예에 따른 가상화 서비스 제공장치(120)의 동작은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 가상화 서비스 제공장치(120)의 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다. As described above, the operation of the virtualization service providing apparatus 120 according to the present embodiment described in FIG. 3 can be implemented by a program and recorded in a computer-readable recording medium. A program for implementing the operation of the virtualization service providing apparatus 120 according to the present embodiment is recorded, and the computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by the computer system is stored. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc., and also implemented in the form of a carrier wave (e.g., transmission over the Internet) . The computer readable recording medium may also be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present embodiment can be easily inferred by programmers in the technical field to which the present embodiment belongs.

도 4는 본 실시예에 따른 특정 하이퍼바이저에 할당된 데이터 스토어를 이용하여 서로 다른 가상머신에서 연동하는 동작을 설명하기 위한 예시도이다. 4 is an exemplary diagram for explaining an operation of interworking in different virtual machines using a data store assigned to a specific hypervisor according to the present embodiment.

가상화 서비스 제공장치(120)는 공용 스토리지 모듈(170)에 포함된 데이터 스토어를 특정 하이퍼바이저에 할당하고, 특정 하이퍼바이저 상에서 구현된 가상머신과 데이터 스토어에 할당된 가상 디스크를 논리적으로 연결한다. 예컨대, 도 4의 (a)에 도시된 바와 같이, 가상화 서비스 제공장치(120)는 제1 하이퍼바이저(152)에 공용 스토리지 모듈(170)에 포함된 데이터 스토어를 할당하고, 제1 하이퍼바이저(152) 상에서 생성된 제1 가상머신(VM 1, 410)과 데이터 스토어에 생성된 가상 디스크를 논리적으로 연결한다. The virtualization service providing apparatus 120 allocates a data store included in the public storage module 170 to a specific hypervisor and logically connects the virtual machine implemented on the specific hypervisor with the virtual disk allocated to the data store. 4A, the virtualization service providing apparatus 120 allocates a data store included in the public storage module 170 to the first hypervisor 152, and allocates the data store included in the first hypervisor 152 (VM 1, 410) created on the data storage unit 152 and the virtual disk created in the data store.

가상화 서비스 제공장치(120)는 단말기(110)로부터 가상머신의 변경에 대한 가상화 요청정보를 수신하는 경우, 가상머신과 가상 디스크 간의 논리적인 연결을 변경한다. 가상화 서비스 제공장치(120)는 사용자의 조작에 따른 가상머신의 변경 요청에 따라 가상 디스크에 저장된 가상 디스크 파일을 다른 가상머신에서 사용할 수 있도록 한다. 예컨대, 도 4의 (b)에 도시된 바와 같이, 가상화 서비스 제공장치(120)는 가상머신 변경에 대한 가상화 요청정보를 수신하는 경우, 제1 하이퍼바이저(152) 상에서 구현된 제1 가상머신(410)과 가상 디스크의 연결을 해제하고, 제1 하이퍼바이저(152) 상에서 구현된 제2 가상머신(VM 2, 410)과 가상 디스크를 논리적으로 연결한다. When the virtualization service providing apparatus 120 receives the virtualization request information for the change of the virtual machine from the terminal 110, the virtualization service providing apparatus 120 changes the logical connection between the virtual machine and the virtual disk. The virtualization service providing apparatus 120 allows a virtual disk file stored in a virtual disk to be used in another virtual machine in response to a change request of the virtual machine according to a user's operation. For example, as shown in FIG. 4 (b), when the virtualization service providing apparatus 120 receives the virtualization request information for the virtual machine change, the virtualization service providing apparatus 120 transmits the virtualization request information to the first virtual machine 152 implemented on the first hypervisor 152 410 and the virtual disk, and logically connects the second virtual machine (VM 2, 410) implemented on the first hypervisor 152 with the virtual disk.

가상화 서비스 제공장치(120)는 단말기(110)로부터 가상머신의 변경 요청에 의해서만 가상머신을 변경하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 가상머신 또는 데이터 스토어의 오류가 발생한 것으로 판단된 경우 데이터 백업, 데이터 마이그레이션(Migration) 등을 수행하기 위해 가상머신을 변경할 수도 있다. Although the virtualization service providing apparatus 120 describes that the virtual machine is changed only by a change request of the virtual machine from the terminal 110, the virtualization service providing apparatus 120 is not limited to this, and if it is determined that an error of the virtual machine or the data store has occurred, You can also change the virtual machine to perform backup, data migration, and so on.

도 5는 본 실시예에 따른 데이터 스토어를 할당 및 할당된 데이터 스토어와 서로 다른 가상머신과 연동하는 과정을 설명하기 위한 순서도이다. 5 is a flowchart for explaining a process of associating a data store according to the present embodiment with an allocated and allocated data store and a different virtual machine.

가상화 서비스 제공장치(120)는 단말기(110)로부터 수신된 가상화 서비스 요청정보에 근거하여 가상 디스크를 생성하는 동작을 수행한다. 여기서, 가상 디스크는 가상머신과 연결되어 가상 디스크 파일을 저장하기 위해 데이터 스토어에 할당된 디스크 볼륨을 의미한다.The virtualization service providing apparatus 120 performs an operation of creating a virtual disk based on the virtualization service request information received from the terminal 110. Here, a virtual disk refers to a disk volume allocated to a data store for storing a virtual disk file in connection with a virtual machine.

가상화 서비스 제공장치(120)는 특정 하이퍼바이저를 결정하고, 공용 스토리지 모듈(170)에서 특정 하이퍼바이저에 데이터 스토어를 할당한다. 여기서, 특정 하이퍼바이저와 데이터 스토어는 연동 대기상태로 설정되고, 설정에 대한 메타정보는 메타 DB(280)에 저장된다. 도 5에 기재된 특정 하이퍼바이저에 할당하기 위한 데이터 스토어를 생성하는 동작은 도 1 및 도 2에 기재되어 있으므로 더 자세한 설명은 생략하도록 한다. The virtualization service provision apparatus 120 determines a specific hypervisor and assigns a data store to the specific hypervisor in the public storage module 170. [ Here, the specific hypervisor and the data store are set in an interlock wait state, and the meta information about the setting is stored in the meta DB 280. [ The operation of generating a data store to be allocated to the specific hypervisor shown in FIG. 5 is described in FIGS. 1 and 2, and a detailed description thereof will be omitted.

가상화 서비스 제공장치(120)는 가상머신을 연결하는 동작은 다음과 같다. The operation of connecting the virtual machine to the virtualization service providing apparatus 120 is as follows.

가상화 서비스 제공장치(120)는 특정 하이퍼바이저와 데이터 스토어가 연동 대기상태에서 연결(Attach)에 대한 가상 디스크 제어신호가 수신되는 경우, 기 저장된 메타정보에 근거하여 특정 하이퍼바이저와 연동하기 위한 가상머신을 확인하고, 특정 하이퍼바이저 상에서 가상머신을 생성한다. 여기서, 특정 하이퍼바이저는 아이스카시(iSCSI: Internet Small Computer System Interface) 프로토콜을 이용하여 가상머신과 연동하는 것이 바람직하다. When a virtual disk control signal for a connection is received in the interworking wait state between a specific hypervisor and a data store, the virtualization service providing apparatus 120 generates a virtual machine for interlocking with a specific hypervisor based on the stored meta information And creates a virtual machine on the specific hypervisor. Here, it is preferable that the specific hypervisor interoperates with the virtual machine using the Internet Small Computer System Interface (iSCSI) protocol.

가상화 서비스 제공장치(120)는 특정 하이퍼바이저에 구현된 가상머신과 데이터 스토어에 생성된 가상 디스크를 논리적으로 연결(Attach)한다. 가상머신과 가상 디스크가 연결된 후 단말기(110)는 사용자의 조작에 따라 가상머신 상에서 파티션닝(Partitioning, 포멧(Format), 마운트(Mount) 등의 동작을 제어하고, 가상머신를 이용하여 가상 디스크에 소프트웨어(예: 가상 OS)를 설치 및 사용할 수 있다. The virtualization service providing apparatus 120 logically connects the virtual machine implemented in the specific hypervisor with the virtual disk created in the data store. After the virtual machine and the virtual disk are connected, the terminal 110 controls operations such as partitioning, formatting, and mounting on the virtual machine according to the user's operation, (For example, a virtual OS).

가상화 서비스 제공장치(120)는 가상머신을 변경하기 위한 동작은 다음과 같다. The operation for changing the virtual machine of the virtualization service providing apparatus 120 is as follows.

가상화 서비스 제공장치(120)는 가상머신과 가상 디스크가 연결된 상태에서 단말기(110)로부터 해제(Detach)에 대한 가상 디스크 제어신호가 수신되는 경우, 가상머신과 데이터 스토어에 할당된 가상 디스크의 연결을 해제하는 동작을 수행한다. 더 자세히 설명하자면, 가상화 서비스 제공장치(120)는 단말기(110)로부터 해제(Detach)에 대한 가상 디스크 제어신호가 수신되는 경우, 기 저장된 메타정보에 근거하여 특정 하이퍼바이저와 연결되어 있는 가상머신을 확인하고, 특정 하이퍼바이저에 구현된 가상머신을 해제(삭제)한다. 즉, 가상화 서비스 제공장치(120)는 특정 하이퍼바이저를 이용하여 가상머신과 데이터 스토어에 할당된 가상 디스크 간의 논리적인 연결을 해제(Detach)한다. When a virtual disk control signal for detachment is received from the terminal 110 in a state where a virtual machine and a virtual disk are connected, the virtualization service providing apparatus 120 may connect a virtual disk allocated to the virtual machine and a data store And performs the releasing operation. More specifically, when a virtual disk control signal for detachment is received from the terminal 110, the virtualization service providing apparatus 120 transmits a virtual machine connected to a specific hypervisor based on the stored meta information , And releases (deletes) the virtual machine implemented in the specific hypervisor. That is, the virtualization service providing apparatus 120 detaches a logical connection between a virtual machine and a virtual disk allocated to a data store using a specific hypervisor.

가상화 서비스 제공장치(120)는 기 저장된 메타정보에 근거하여 특정 하이퍼바이저에서 새롭게 구동하여 생성하기 위한 신규 가상머신을 확인하고, 특정 하이퍼바이저에 신규 가상머신을 생성한다. 여기서, 특정 하이퍼바이저는 아이스카시(iSCSI) 프로토콜을 이용하여 신규 가상머신과 연동될 수 있다. 가상화 서비스 제공장치(120)는 특정 하이퍼바이저를 이용하여 신규 가상머신과 가상 디스크를 논리적으로 연결(Attach)한다. 신규 가상머신과 가상 디스크가 연결된 후 단말기(110)는 신규 가상머신 상에서 이전에 연결되었던 가상머신과 동일한 데이터, 소프트웨어 등에 대한 기 저장된 가상 디스크 파일의 수정, 삭제, 추가저장 등과 같은 동작을 사용할 수 있다. The virtualization service providing apparatus 120 identifies a new virtual machine to be newly generated and generated in the specific hypervisor based on the previously stored meta information, and creates a new virtual machine in the specific hypervisor. Here, the specific hypervisor can be interworked with the new virtual machine using the iSCSI protocol. The virtualization service providing apparatus 120 logically connects a new virtual machine and a virtual disk using a specific hypervisor. After the new virtual machine and the virtual disk are connected, the terminal 110 can use operations such as modification, deletion, addition storage, and the like of the previously stored virtual disk file for the same data, software, and the like as the virtual machine previously connected on the new virtual machine .

도 6a 내지 도 6c는 본 실시예에 따른 단말기가 포털 사이트에 접속하여 가상 디스크 파일을 저장하기 위한 데이터 스토어를 요청하는 화면을 나타낸 예시도이다. 6A to 6C are views illustrating a screen for requesting a data store for accessing a portal site and storing a virtual disk file according to an embodiment of the present invention.

도 6a는 사용자가 포털 사이트에 접속하여 데이터 스토어에 할당된 가상 디스크를 사용하기 위한 화면을 도시하고 있다. 도 6a에 도시된 바와 같이, 단말기(110)에서 사용자의 조작에 따라 가상 디스크 생성, 가상 디스크 크기 수정, 가상 디스크 삭제, 가상 디스크 복제 등이 수행되도록 가상화 서비스 제공장치(120)를 제어할 수 있다. 6A shows a screen for a user to access a portal site and use a virtual disk allocated to a data store. 6A, the virtualization service providing apparatus 120 may be controlled such that a virtual disk creation, a virtual disk size modification, a virtual disk deletion, a virtual disk replication, and the like are performed according to a user's operation in the terminal 110 .

도 6b는 사용자가 포털 사이트에 접속하여 가상 디스크를 생성하기 위한 화면을 도시하고 있다. 단말기(110)는 도 6b에 도시된 바와 같이, 사용자의 조작에 근거하여 가상화 서비스 요청정보를 입력받을 수 있다. 예컨대, 단말기(110)는 데이터 스토어에 할당되는 가상 디스크를 생성하기 위해 사양정보(고사양/저사양), 스토리지 사이즈정보, 스토리지 명칭정보, 스토리지 수량정보 등에 대한 정보를 입력받는다. 6B shows a screen for a user to access a portal site to create a virtual disk. The terminal 110 may receive virtualization service request information based on the user's operation, as shown in FIG. 6B. For example, the terminal 110 receives specification information (high-rise / low-rise), storage size information, storage name information, storage quantity information, and the like to create a virtual disk to be allocated to a data store.

도 6c는 사용자가 포털 사이트에 접속하여 쿠폰을 사용하여 가상 디스크를 생성하는 화면을 도시하고 있다. 사용자는 통신사 또는 제휴사와 연계되어 있는 쿠폰번호를 입력하여 데이터 스토어에 할당되는 가상 디스크를 무료로 생성할 수 있도록 요청한다. 6C shows a screen in which a user accesses a portal site and creates a virtual disk using a coupon. The user inputs a coupon number associated with a communication company or an affiliate to request a free virtual disk to be allocated to the data store.

도 7a 내지 도 7c는 본 실시예에 따른 단말기가 포털 사이트에 접속하여 가상 디스크를 생성 및 관리하는 화면을 나타낸 예시도이다. 7A to 7C are diagrams illustrating screens for creating and managing a virtual disk by accessing a portal site according to an embodiment of the present invention.

도 7a는 데이터 스토어를 생성 및 관리하기 위한 화면을 나타낸다. 여기서, 사용자가 디스크 관리패널에 대한 입력이 존재하는 경우, 슬라이딩 또는 팝업 형태로 디스크를 관리하기 위한 패널을 출력한다. 7A shows a screen for creating and managing a data store. Here, if the user has an input to the disk management panel, a panel for managing the disk in a sliding or pop-up form is output.

도 7b 및 도 7c는 가상 디스크를 생성(장착)하는 동작을 나타낸다. 단말기(110)는 사용자의 입력에 따라 선택된 디스크를 '사용중인 디스크 목록'에 추가하여 가상 디스크를 사용할 수 있다. Figs. 7B and 7C show an operation of creating (mounting) a virtual disk. The terminal 110 may use the virtual disk by adding the selected disk to the 'used disk list' according to the input of the user.

도 8a 내지 도 8c는 본 실시예에 따른 단말기가 포털 사이트에 접속하여 관리자를 등록하고, 사용자를 관리하기 위한 화면을 나타낸 예시도이다. 8A to 8C are views illustrating screens for managing a user by registering an administrator by accessing a portal site according to an exemplary embodiment of the present invention.

도 8a는 기 생성된 가상 디스크에 저장된 가상 디스크 파일을 백업하거나, 백업하는 공간을 증설하기 위한 화면을 도시한다. FIG. 8A shows a screen for backing up a virtual disk file stored in the created virtual disk or adding a backup space.

도 8b는 포털 사이트에서 관리자를 등록하기 위한 화면을 도시한다. 단말기(110)는 관리자로 등록된 경우, 가상 디스크의 사용량에 따라 임계한도를 설정하고, 설정된 임계한도를 초과하는 사용자에게 문자 메시지, 이메일 등의 알림이 전송되도록 설정할 수 있다. 8B shows a screen for registering an administrator in the portal site. When the terminal 110 is registered as an administrator, the terminal 110 may set a threshold limit according to the usage amount of the virtual disk, and may set a notification such as a text message, e-mail, etc. to be transmitted to a user exceeding the set threshold limit.

도 8c는 전체적인 데이터 스토어에 할당된 가상 디스크의 사용현황에 대한 화면을 도시한다. 단말기(110)는 가상 디스크의 생성, 삭제, 복사 등의 모든 작업을 표시할 수 있다. 또한, 작업을 수행하지 못한 경우, 재시도 여부에 대해서도 표시할 수 있다. FIG. 8C shows a screen on the usage status of the virtual disk allocated to the entire data store. The terminal 110 may display all operations such as creation, deletion, and copying of a virtual disk. In addition, if the job can not be performed, the user can also indicate whether or not the job is retried.

도 9는 본 실시예에 따른 신규 하이퍼바이저를 등록하는 동작을 설명하기 위한 순서도이다.9 is a flowchart for explaining an operation of registering a new hypervisor according to the present embodiment.

웹 애플리케이션 처리부(230)는 통신부(220)를 이용하여 단말기(110)로부터 신규 하이퍼바이저를 등록하기 위한 요청신호를 획득하면(S910), 하이퍼바이저 어댑터부(240)로 하이퍼바이저 등록요청 메시지를 전송한다(S920).The web application processing unit 230 acquires a request signal for registering a new hypervisor from the terminal 110 using the communication unit 220 in operation S910 and transmits a hypervisor registration request message to the hypervisor adapter unit 240 (S920).

하이퍼바이저 어댑터부(240)는 하이퍼바이저 등록요청 메시지에 근거하여 신규 하이퍼바이저에 대한 하이퍼바이저 어댑터 및 큐 처리부를 설정한다(S930). 여기서, 하이퍼바이저 어댑터부(240)는 신규 하이퍼바이저에서 제공하는 연동 프로토콜을 포함하도록 하이퍼바이저 어댑터 및 큐 처리부를 신규설정(등록)한다.The hypervisor adapter unit 240 sets the hypervisor adapter and the queue processor for the new hypervisor based on the hypervisor registration request message (S930). Here, the hypervisor adapter unit 240 newly sets (registers) the hypervisor adapter and the queue processing unit so as to include the interworking protocol provided by the new hypervisor.

하이퍼바이저 어댑터부(240)는 신규 하이퍼바이저에 대한 메타 데이터를 생성하고(S940), 생성된 메타 데이터를 메타 DB(280)에 저장하여 신규 하이퍼바이저를 등록한다(S950).The hypervisor adapter unit 240 generates metadata for the new hypervisor (S940), stores the generated metadata in the meta DB 280, and registers the new hypervisor (S950).

웹 애플리케이션 처리부(230)는 신규 하이퍼바이저의 등록이 완료되면, 신규 하이퍼바이저에 공용 스토리지 모듈(170)의 데이터 스토어를 할당하도록 요청한다(S960).When the registration of the new hypervisor is completed, the web application processing unit 230 requests the new hypervisor to allocate the data store of the public storage module 170 (S960).

도 10은 본 실시예에 따른 특정 하이퍼바이저에 스토리지를 등록하는 동작을 설명하기 위한 순서도이다.10 is a flowchart for explaining an operation of registering a storage in a specific hypervisor according to the present embodiment.

단말기(110)는 사용자 포털을 이용하여 스토리지 지원모듈(130)로 가상화 서비스 요청정보를 전송한다(S1010).The terminal 110 transmits the virtualization service request information to the storage support module 130 using the user portal (S1010).

스토리지 지원모듈(130)은 가상화 서비스 요청정보에 근거하여 기 저장된 특정 하이퍼바이저의 메타 데이터를 검색한다(S1020).The storage support module 130 searches the metadata of the specific hypervisor that has been stored based on the virtualization service request information (S1020).

스토리지 지원모듈(130)은 특정 하이퍼바이저의 메타 데이터가 존재하는 경우, 메타 데이터에 따른 큐서버 메시지를 이용하여 하이퍼바이저 어댑터를 호출함으로써(S1030), 통합 연동 프로토콜을 이용하여 특정 하이퍼바이저와 연결한다(S1040).When the metadata of the specific hypervisor exists, the storage support module 130 connects the hypervisor to the specific hypervisor using the integrated interworking protocol by calling the hypervisor adapter using the queue server message according to the metadata (S1030) (S1040).

스토리지 지원모듈(130)은 하이퍼바이저 모듈(150)에 포함된 특정 하이퍼바이저로 특정 데이터 스토어의 할당을 요청한다(S1050).The storage support module 130 requests allocation of a specific data store to a specific hypervisor included in the hypervisor module 150 (S1050).

스토리지 지원모듈(130)은 특정 데이터 스토어에 대한 할당 결과정보를 획득하고(S1060), 특정 하이퍼바이저에 대응하는 가상머신 및 특정 데이터 스토어 간의 연동 대기상태에 대한 서비스 설정정보를 저장하고(S1070), 서비스 설정정보를 단말기(110)로 전송한다(S1080).The storage support module 130 obtains allocation result information for a specific data store (S1060), stores the service setting information for the interlock waiting state between the virtual machine corresponding to the specific hypervisor and the specific data store (S1070) And transmits the service setting information to the terminal 110 (S1080).

도 11a 내지 도 11d는 본 실시예에 따른 메타 데이터에 따른 큐서버 메시지의 구조를 나타낸 도면이다. 11A to 11D are diagrams showing a structure of a queue server message according to the metadata according to the present embodiment.

스토리지 지원모듈(130)은 단말기(110)로부터 가상화 서비스 요청정보를 수신하고, 가상화 서비스 요청정보에 근거하여 메타 데이터를 저장한다. 도 11a에 도시된 바와 같이, 스토리지 지원모듈(130)은 단말기(110)로부터 가상화에 대한 요청정보를 메타 데이터로 저장하고, 저장된 메타 데이터를 기반으로 큐서버 메시지를 생성한다. 도 11a에 도시된 메타 데이터는 volume, customerId, taskUid, action, vmName, cloneVolumeName 및 cloneDescription에 대한 항목을 포함한다. 여기서, action 항목인 ⓑ에 대한 데이터 구조는 도 11b에 도시되어 있다. 도 11b에서는 메타 데이터에서 실제 수행하는 동작에 대한 코드를 도시하고 있다. The storage support module 130 receives the virtualization service request information from the terminal 110 and stores the metadata based on the virtualization service request information. As shown in FIG. 11A, the storage support module 130 stores request information for virtualization from the terminal 110 as metadata, and generates a queue server message based on the stored metadata. The metadata shown in FIG. 11A includes items for volume, customerId, taskUid, action, vmName, cloneVolumeName, and cloneDescription. Here, the data structure for action item b is shown in Fig. 11B. FIG. 11B shows a code for an operation actually performed in the metadata.

도 11a에 도시된 메타 데이터에 기재된 항목 중 volume 항목인 ⓐ에 대한 데이터 구조는 도 11c에 도시되어 있다. 도 11c에서는 가상 디스크 즉, 할당되는 데이터 스토어에 대한 정보를 포함한다. 스토리지 지원모듈(130)에서 메타 데이터를 기반으로 큐서버 메시지를 이용할 때, 도 11c의 데이터 구조를 포함시켜 전송함으로써, 데이터 스토어를 할당 또는 삭제되도록 할 수 있다. The data structure for the volume item a, which is one of the items described in the metadata shown in Fig. 11A, is shown in Fig. 11C. In Fig. 11C, information on a virtual disk, that is, a data store to be allocated, is included. When the storage support module 130 uses the queue server message based on the metadata, the data store may be allocated or deleted by including the data structure of FIG. 11C.

도 11c에 도시된 메타 데이터에 기재된 항목 중 hypervisor 항목인 ⓒ에 대한 데이터 구조는 도 11d에 도시되어 있다. 도 11d에 도시된 데이터 구조는 이기종 하이퍼바이저들에 대한 코드를 포함한다. 스토리지 지원모듈(130)은 도 11d에 기재된 하이퍼바이저의 코드에 근거하여 특정 하이퍼바이저로 결정한다. The data structure for the hypervisor item ⓒ among the items described in the metadata shown in FIG. 11C is shown in FIG. 11D. The data structure shown in Figure 11D includes code for heterogeneous hypervisors. The storage support module 130 determines the specific hypervisor based on the code of the hypervisor shown in FIG. 11D.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present embodiment, and various modifications and changes may be made to those skilled in the art without departing from the essential characteristics of the embodiments. Therefore, the present embodiments are to be construed as illustrative rather than restrictive, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 실시예는 가상화 서비스를 제공하는 분야에 적용되어, 사용자가 포털 사이트에 접속하여 가상머신을 쉽게 변경할 수 있고, 서로 다른 가상머신에서 동일한 데이터를 저장하는 데이터 스토어에 연결할 수 있어, 가상머신 변경시 데이터 유실을 방지할 수 있는 효과를 발생하는 유용한 발명이다.As described above, the present embodiment is applied to a field for providing a virtualization service, so that a user can access a portal site to easily change a virtual machine, and can connect to a data store that stores the same data in different virtual machines , It is a useful invention that has an effect of preventing data loss when a virtual machine is changed.

110: 단말기 120: 가상화 서비스 제공장치
130: 스토리지 지원모듈 140: 가상머신 모듈
150: 하이퍼바이저 모듈 160: 하드웨어 장치
210: 어댑터 제어부 220: 통신부
230: 웹애플리케이션 처리부 240: 하이퍼바이저 어댑터부
280: 메타 DB
110: Terminal 120: Virtualization service provider
130: Storage support module 140: Virtual machine module
150: hypervisor module 160: hardware device
210: adapter control unit 220:
230: Web application processing unit 240: Hypervisor adapter unit
280: MetaDB

Claims (3)

복수 개의 하이퍼바이저와 공용 스토리지 모듈이 물리적으로 연결된 상태에서 가상화 서비스 제공장치가 가상머신을 변경하기 위한 방법에 있어서,
상기 공용 스토리지 모듈에 포함된 데이터 스토어를 특정 하이퍼바이저에 할당하고, 상기 특정 하이퍼바이저 상에서 구현된 가상머신과 상기 데이터 스토어에 할당된 가상 디스크를 논리적으로 연결(Attach)하는 연결과정;
상기 가상머신의 변경에 대한 요청이 발생하는 경우, 상기 가상머신과 상기 가상 디스크의 연결을 해제(Detach)하는 연결 해제과정;
상기 가상머신의 변경에 대한 요청에 근거하여 기 저장된 메타정보를 이용하여 상기 특정 하이퍼바이저와 연결 가능한 신규 가상머신을 확인하고, 상기 특정 하이퍼바이저와 상기 신규 가상머신을 연결하는 신규 가상머신 연결과정; 및
상기 특정 하이퍼바이저를 이용하여 상기 신규 가상머신과 상기 가상 디스크를 논리적으로 연결(Attach)하는 신규 연결과정을 포함하되,
상기 연결 해제과정은, 단말기로부터 가상머신의 변경에 대한 가상화 요청정보를 수신하거나, 상기 가상머신 또는 상기 데이터 스토어에 대한 오류가 발생한 것으로 판단된 경우, 상기 가상머신의 변경에 대한 요청이 발생하는 것으로 판단하는 것을 특징으로 하는 가상머신 간에 이동 가능한 가상 디스크 연결방법.
A method for a virtualization service providing apparatus to change a virtual machine while a plurality of hypervisors and a common storage module are physically connected,
A connection step of allocating a data store included in the common storage module to a specific hypervisor, and logically connecting a virtual machine implemented on the specific hypervisor to a virtual disk allocated to the data store;
A disconnecting process of detaching a connection between the virtual machine and the virtual disk when a request for changing the virtual machine occurs;
A new virtual machine connection process of confirming a new virtual machine connectable with the specific hypervisor using previously stored meta information based on a request for a change of the virtual machine and connecting the new hypervisor with the new hypervisor; And
And a new connection process of logically connecting the new virtual machine and the virtual disk using the specific hypervisor,
The disconnection process may include receiving virtualization request information for a change of a virtual machine from the terminal, or requesting a change of the virtual machine when it is determined that an error has occurred in the virtual machine or the data store Wherein the virtual disk is a virtual disk.
삭제delete 제 1 항에 있어서,
상기 신규 연결과정에서,
포털 사이트(Portal Site)를 통해 상기 가상화 서비스 제공장치와 단말기가 연결된 경우, 연결된 상기 단말기를 이용하여 상기 신규 가상머신에서 상기 가상머신에서 사용하였던 데이터 및 소프트웨어를 상기 가상 디스크 상에서 동일하게 사용하는 것을 특징으로 하는 가상머신 간에 이동 가능한 가상 디스크 연결방법.
The method according to claim 1,
In the new connection process,
When the virtualization service providing apparatus and the terminal are connected through a portal site, data and software used in the virtual machine in the new virtual machine are used on the virtual disk by using the connected terminal A virtual disk connection method capable of moving between virtual machines.
KR1020140094111A 2014-07-24 2014-07-24 Method for Connecting Virtual Disk for Changing Between Virtual Machines KR101597246B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140094111A KR101597246B1 (en) 2014-07-24 2014-07-24 Method for Connecting Virtual Disk for Changing Between Virtual Machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140094111A KR101597246B1 (en) 2014-07-24 2014-07-24 Method for Connecting Virtual Disk for Changing Between Virtual Machines

Publications (2)

Publication Number Publication Date
KR20160012539A KR20160012539A (en) 2016-02-03
KR101597246B1 true KR101597246B1 (en) 2016-02-24

Family

ID=55355566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140094111A KR101597246B1 (en) 2014-07-24 2014-07-24 Method for Connecting Virtual Disk for Changing Between Virtual Machines

Country Status (1)

Country Link
KR (1) KR101597246B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101724339B1 (en) * 2016-04-11 2017-04-10 숭실대학교산학협력단 Device, system and method for android vm failover solution in sfc environment, recording medium for performing the method
KR102375064B1 (en) * 2018-05-18 2022-03-17 주식회사 케이티 Server and method for managing connection with virtual machine
CN114416427A (en) * 2021-12-31 2022-04-29 阿里巴巴(中国)有限公司 Backup method and device for virtualization equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066819A1 (en) 2009-09-14 2011-03-17 Vmware, Inc. Method and System for Optimizing Live Migration of Persistent Data of Virtual Machine Using Disk I/O Heuristics

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101307342B1 (en) * 2009-12-21 2013-09-11 한국전자통신연구원 System for data sharing among virtual machines and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066819A1 (en) 2009-09-14 2011-03-17 Vmware, Inc. Method and System for Optimizing Live Migration of Persistent Data of Virtual Machine Using Disk I/O Heuristics

Also Published As

Publication number Publication date
KR20160012539A (en) 2016-02-03

Similar Documents

Publication Publication Date Title
JP5066613B2 (en) Security management apparatus and method, and program
US9069465B2 (en) Computer system, management method of computer resource and program
CN111338854B (en) Kubernetes cluster-based method and system for quickly recovering data
US8156301B1 (en) Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational
US8510815B2 (en) Virtual computer system, access control method and communication device for the same
US9223606B1 (en) Automatically configuring and maintaining cluster level high availability of a virtual machine running an application according to an application level specified service level agreement
CN109168328B (en) Virtual machine migration method and device and virtualization system
US20160359981A1 (en) Triggering application attachment based on service login
US20150052324A1 (en) Automated migration to a new copy services target storage system to manage multiple relationships simultaneously while maintaining disaster recovery consistency
CN105359176B (en) Updating recipients of previously delivered electronic messages
CN111090498B (en) Virtual machine starting method and device, computer readable storage medium and electronic equipment
CN111262908A (en) Task construction method and system based on jenkins
US11461031B1 (en) Non-disruptive storage volume migration between storage controllers
CN110520844A (en) Cloud management platform, virtual machine management method and its system
US20140214956A1 (en) Method and apparatus for managing sessions of different websites
KR101597246B1 (en) Method for Connecting Virtual Disk for Changing Between Virtual Machines
US20190108157A1 (en) Information processing system, and control method of information processing system
JP6393612B2 (en) System backup device and backup method
CN110795278A (en) System and method for providing file level recovery
US20130238673A1 (en) Information processing apparatus, image file creation method, and storage medium
JP5439435B2 (en) Computer system and disk sharing method in the computer system
KR101544899B1 (en) Backup system and backup method in virtualization environment
US10379911B2 (en) Open-ended policies for virtual computing instance provisioning
KR101608327B1 (en) Method for Providing Storage in Heterogeneous Hypervisor Environment
CN114726657A (en) Method and device for interrupt management and data receiving and sending management and intelligent network card

Legal Events

Date Code Title Description
A201 Request for examination
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: 20190131

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 5