KR102237566B1 - System and Method for Caching Disk Image File of Full-Cloned Virtual Machine - Google Patents
System and Method for Caching Disk Image File of Full-Cloned Virtual Machine Download PDFInfo
- Publication number
- KR102237566B1 KR102237566B1 KR1020140008259A KR20140008259A KR102237566B1 KR 102237566 B1 KR102237566 B1 KR 102237566B1 KR 1020140008259 A KR1020140008259 A KR 1020140008259A KR 20140008259 A KR20140008259 A KR 20140008259A KR 102237566 B1 KR102237566 B1 KR 102237566B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- disk image
- image file
- template
- data
- Prior art date
Links
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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템 및 방법에 관한 것으로서, 본 발명에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템은 템플릿으로부터의 완전 복제를 통해 생성된 가상 머신일 경우 상기 가상 머신에 의해 변경된 데이터 블록들을 추적하여, 상기 가상 머신의 디스크 이미지 파일에 대한 데이터 읽기가 요청될 경우 변경되지 않은 블록에 대한 데이터 읽기 요청이면, 캐시에 미리 적재된 템플릿 디스크 이미지 파일에서 처리하도록 함으로써 캐시의 공간 효율성 및 입출력 응답성능을 향상시킬 수 있는 것을 특징으로 한다.The present invention relates to a system and method for caching a disk image file of a fully replicated virtual machine, wherein the disk image file caching system of a fully replicated virtual machine according to the present invention is a virtual machine created through complete replication from a template. By tracking the data blocks changed by the virtual machine, when a request to read data from the virtual machine's disk image file is requested, if the data read request to the unchanged block is requested, the template disk image file preloaded in the cache is processed. It is characterized in that it can improve the space efficiency of the cache and the I/O response performance.
Description
본 발명은 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템 및 방법에 관한 것으로서, 보다 구체적으로는 가상 데스크 탑 환경에서 템플릿으로부터 완전 복제된 가상 머신의 이미지 파일에 대해 캐싱하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for caching a disk image file of a fully replicated virtual machine, and more particularly, to a system and method for caching an image file of a virtual machine completely replicated from a template in a virtual desktop environment.
일반적으로 가상 데스크 탑 환경에서는 가상 머신의 디스크 이미지 파일을 가상 머신이 운용되는 가상 머신 호스트 서버의 로컬 스토리지가 아닌 네트워크를 통해 연결된 스토리지에 저장하고, 가상 머신 운용에 따른 디스크 입출력 요청이 발생하면 네트워크를 통해 스토리지에 저장된 가상 머신의 디스크 이미지 파일에서 해당 블록에 대한 입출력 요청을 처리한다.In general, in a virtual desktop environment, the disk image file of the virtual machine is stored in the storage connected through the network rather than the local storage of the virtual machine host server on which the virtual machine is operated. Processes I/O requests for the block in the virtual machine's disk image file stored in storage.
이때, 네트워크를 통한 데이터 전송에 따른 입출력 응답 성능 저하를 방지하기 위해 가상 머신 호스트 서버에 메모리 또는 고속의 솔리드 스테이트 디스크를 캐시로 사용하여 빈번히 접근되는 블록을 캐시에 적재하고 해당 데이터 블록에 대한 읽기 요청을 캐시에서 처리한다.At this time, in order to prevent the degradation of I/O response performance due to data transmission through the network, a memory or high-speed solid state disk is used as a cache in the virtual machine host server, and frequently accessed blocks are loaded into the cache and read requests for the data blocks Is processed from the cache.
미국 선행특허 US8087017 B1, "Trace-assisted prefetching of virtual machines in a distributed system"은 가상 머신 이미지에 대한 입출력 요청이 발생하면 요청에 해당하는 블록 정보를 추적하여 저장하고, 이를 기반으로 빈번히 요청되는 볼록 및 확률기반으로 특정 블록과 연속되어 접근되는 블록 정보를 관리한다.US prior patent US8087017 B1, "Trace-assisted prefetching of virtual machines in a distributed system" traces and stores block information corresponding to the request when an I/O request for a virtual machine image occurs, and based on this, frequently requested convex and It manages block information that is successively accessed with a specific block based on probability.
이를 기반으로 특정 입출력 패턴이 발생할 경우 접근이 예상되는 블록들을 캐시에 미리 적재하여 연속된 다음의 데이터 읽기 요청들을 네트워크를 통해 연결된 스토리지가 아닌 가상 머신 호스트 서버의 로컬 스토리지 캐시에서 처리함으로써 전반적인 입출력 응답 성능을 향상시킨다.Based on this, when a specific I/O pattern occurs, blocks that are expected to be accessed are preloaded into the cache, and subsequent data read requests are processed in the local storage cache of the virtual machine host server rather than the storage connected through the network. Improves.
가상 데스크 탑 환경에서 가상 머신 생성시 가상 머신의 운영 체제 설치에 따른 배포시 배포 시간을 줄이기 위해 window xp 또는 window 7과 같이 대다수의 사용자에 의해 사용되는 운용체제 및 응용 프로그램을 설치한 템플릿을 생성하고 이를 복제하여 가상 머신을 생성하는 방식을 사용한다.When creating a virtual machine in a virtual desktop environment, in order to reduce the deployment time during deployment according to the installation of the operating system of the virtual machine, a template that installs the operating system and applications used by the majority of users such as window xp or window 7 is created. It uses a method of creating a virtual machine by duplicating it.
이러한 이유로 대부분의 가상 머신의 디스크 이미지 파일은 생성 초기에 템플릿과 동일하다.For this reason, disk image files of most virtual machines are the same as the template at the beginning of creation.
물론 사용자들이 가상 머신을 사용함에 따라 사용자에 의해 생성된 데이터 및 새롭게 설치되는 응용 프로그램의 데이터들이 누적되어 템플릿과 사용자의 가상 머신 디스크 이미지 파일은 시간이 지남에 따라 달라지지만 이전에 설치된 운영체제 및 응용 프로그램들은 로그 및 사용자 경험 데이터를 제외하고 동일하다.Of course, as users use the virtual machine, the data created by the user and the data of newly installed applications are accumulated, so the template and the disk image file of the user's virtual machine change over time, but previously installed operating systems and applications They are the same except for logs and user experience data.
이로 인해 캐시가 가상 머신의 디스크 이미지 파일의 동일한 데이터 블록들을 적재하게 되어 캐시에 대한 공간 사용 효율이 저하되고, 캐시의 공간 부족으로 인해 LRU와 같은 알고리즘에 의해 캐시에서 교체된 데이터 블록들에 접근하고자할 경우 네트워크를 통한 스토리지로 해야하기 때문에 입출력 응답 성능 또한 떨어진다는 문제점이 있다.As a result, the cache loads the same data blocks in the virtual machine's disk image file, which reduces the space usage efficiency for the cache, and attempts to access the data blocks replaced in the cache by an algorithm such as LRU due to the lack of space in the cache. In the case of doing so, there is a problem that input/output response performance is also degraded because it has to be stored through a network.
본 발명은 상기와 같은 문제점을 감안하여 창출한 것으로서, 템플릿으로부터의 완전 복제를 통해 생성된 가상 머신일 경우 상기 가상 머신에 의해 변경된 데이터 블록들을 추적하여, 상기 가상 머신의 디스크 이미지 파일에 대한 데이터 읽기가 요청될 경우 변경되지 않은 블록에 대한 데이터 읽기 요청이면, 캐시에 미리 적재된 템플릿 디스크 이미지 파일에서 처리하도록 함으로써 캐시의 공간 효율성 및 입출력 응답성능을 향상시킬 수 있는 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템 및 방법을 제공하는 데 그 목적이 있다.The present invention was created in consideration of the above problems, and in the case of a virtual machine created through complete replication from a template, data blocks changed by the virtual machine are tracked to read data on the disk image file of the virtual machine. When a request is made, a disk image file of a fully cloned virtual machine that can improve the space efficiency and I/O response performance of the cache by processing it in the template disk image file preloaded in the cache if it is a request to read data for an unchanged block. Its purpose is to provide a caching system and method.
전술한 목적을 달성하기 위하여, 본 발명의 일면에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템은 가상 머신이 실행되는 가상 머신 호스트 서버; 및 상기 가상 머신 호스트 서버와 네트워크로 연결되며, 디스크 이미지 파일을 포함하는 템플릿으로부터 상기 가상 머신의 완전 복제를 위해 가상 머신 데이터를 생성하고, 상기 탬플릿의 디스크 이미지 파일을 복제하여 상기 가상 머신 데이터에 가상 머신 디스크 이미지 파일을 생성하는 분산 파일 시스템을 포함하고, 상기 가상 머신 호스트 서버는 상기 가상 머신의 운영에 따라 상기 템플릿의 디스크 이미지 파일을 캐쉬에 적재하고, 데이터 읽기 요청이 발생하면 데이터 읽기 요청에 대응되는 데이터 블록의 변경 유무를 판별하여, 요청된 데이터 읽기에 대응되는 데이터 블록이 변경되지 않은 데이터 블록이면 상기 캐시에 적재된 상기 템플릿의 디스크 이미지 파일에서 데이터를 읽어 반환하며, 요청된 데이터 읽기에 대응되는 데이터 블록이 변경된 데이터 블록이면 상기 가상 머신 디스크 이미지 파일에서 데이터를 읽어 반환하는 것을 특징으로 한다.In order to achieve the above object, a disk image file caching system for a fully replicated virtual machine according to an aspect of the present invention includes: a virtual machine host server running a virtual machine; And creating virtual machine data for complete replication of the virtual machine from a template connected to the virtual machine host server through a network and including a disk image file, and replicating the disk image file of the template to the virtual machine data. Includes a distributed file system that creates a machine disk image file, and the virtual machine host server loads the disk image file of the template into the cache according to the operation of the virtual machine, and responds to a data read request when a data read request occurs. If the data block corresponding to the requested data read is an unchanged data block, it reads and returns data from the disk image file of the template loaded in the cache, and responds to the requested data read. If the data block to be changed is a changed data block, data is read and returned from the virtual machine disk image file.
본 발명에 따르면, 가상 머신 환경에서 완전 복제된 가상 머신의 디스크 이미지 파일에 대한 데이터 읽기 응답 성능을 향상시킬 수 있고, 캐시의 공간 활용 효율 또한 증가시킬 수 있다.According to the present invention, it is possible to improve data read response performance for a disk image file of a virtual machine completely replicated in a virtual machine environment, and increase the space utilization efficiency of a cache.
도 1은 본 발명의 일 실시예에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템을 설명하기 위한 도면.
도 2는 본 발명의 일 실시예에 따른 템플릿으로부터 완전 복제된 가상 머신을 생성하는 방법을 설명하기 위한 흐름도.
도 3은 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 개방 요청 처리 방법을 설명하기 위한 흐름도.
도 4는 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 폐쇄 요청 처리 방법을 설명하기 위한 흐름도.
도 5는 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 쓰기 요청 처리 방법을 설명하기 위한 흐름도.
도 6은 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 읽기 요청 처리 방법을 설명하기 위한 흐름도.1 is a view for explaining a disk image file caching system of a fully replicated virtual machine according to an embodiment of the present invention.
2 is a flowchart illustrating a method of creating a virtual machine that is completely copied from a template according to an embodiment of the present invention.
3 is a flowchart illustrating a method of processing an open request for a disk image file of a virtual machine according to an embodiment of the present invention.
4 is a flowchart illustrating a method of processing a request to close a disk image file of a virtual machine according to an embodiment of the present invention.
5 is a flowchart illustrating a method of processing a write request for a disk image file of a virtual machine according to an embodiment of the present invention.
6 is a flowchart illustrating a method of processing a read request for a disk image file of a virtual machine according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 용이하게 이해할 수 있도록 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the technical field to which the present invention pertains. It is provided so that the scope of the invention can be easily understood by those who have it, and the invention is defined by the description of the claims. Meanwhile, terms used in the present specification are for explaining embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used herein, "comprises" or "comprising" refers to the presence of one or more other components, steps, actions and/or elements other than the recited elements, steps, actions and/or elements, or Does not exclude addition.
이하, 도 1을 참조하여 본 발명의 일 실시예에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템을 설명한다. 도 1은 본 발명의 일 실시예에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템을 설명하기 위한 도면이다.Hereinafter, a disk image file caching system of a fully copied virtual machine according to an embodiment of the present invention will be described with reference to FIG. 1 is a view for explaining a disk image file caching system of a fully replicated virtual machine according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템은 가상 머신 호스트 서버(100) 및 분산 파일 시스템(200)을 포함한다.As shown in FIG. 1, the disk image file caching system of a fully replicated virtual machine of the present invention includes a virtual
가상 머신 호스트 서버(100)는 가상 머신(110), 캐시 관리부(120), 캐시 장치부(130) 및 선반입 관리부(140)를 포함하며, 가상 머신(110)이 실행될 수 있는 환경을 제공한다.The virtual
가상 머신(110)은 운영체제(111)가 설치될 수 있고, 운영 환경에 따라 다수의 사용자에 의해 공통으로 사용되는 응용 프로그램이 설치될 수도 있다.In the
즉, 가상 머신(110)은 게스트 운영 체제가 설치되어 운영된다.That is, the
캐시 관리부(120)는 분산 파일 시스템(200)에 저장된 가상 머신(110)의 디스크 이미지 파일(214)에 대한 개방/폐쇄/입출력 요청을 처리하고, 가상 머신(110)의 템플릿 공유 블록 맵 파일(215)을 관리한다.The
예컨대, 캐시 관리부(120)는 가상 머신(110)의 디스크 이미지 파일(214)에 대한 개방 요청을 전달받으면, 가상 머신(110)의 메타데이터 정보를 분산 파일 시스템(200)에서 읽어와, 읽어온 가상 머신(110)의 메타데이터 정보를 토대로 가상 머신(110)이 완전 복제된 가상 머신인지 여부를 판별하고, 판별결과, 가상 머신(110)이 완전 복제된 가상 머신인 경우, 분산 파일 시스템(200)에 가상 머신(110)의 템플릿 공유 블록 맵 파일(215)이 존재하는지 여부를 판별하며, 판별결과, 가상 머신(110)의 템플릿 공유 블록 맵 파일(215)이 존재하면, 분산 파일 시스템(200)에서 가상 머신(110)의 템플릿 공유 블록 맵 파일(215)을 읽어와 자신의 로컬 메모리에 템플릿 공유 블록 맵(121)을 구성한다.For example, when the
또한, 캐시 관리부(120)는 읽어온 가상 머신(110)의 메타데이터 정보를 토대로 템플릿(211)의 디스크 이미지 식별자를 획득하고, 획득된 템플릿(211)의 디스크 이미지 식별자에 대응되는 템플릿(211)의 디스크 이미지 파일(212)이 캐시(131)에 적재되어있는지 여부를 판별하며, 판별결과, 캐시(131)에 템플릿(211)의 디스크 이미지 파일(212)이 적재되어 있지 않은 경우, 템플릿(211)의 디스크 이미지 파일(212)을 캐시(131)에 선반입하도록 선반입 관리부(140)에 요청한다.In addition, the
선반입 관리부(140)는 템플릿(211)의 디스크 이미지 파일(212)을 캐시 장치부(130)에 전달하여 캐시 장치부(130)가 템플릿(211)의 디스크 이미지 파일(212)을 캐시(131)에 템플릿 디스크 이미지 파일(132)로 생성하여 적재하도록 한다.The
캐시 관리부(120)는 가상 머신(110)의 디스크 이미지 파일(214) 개방을 분산 파일 시스템(200)을 통해 처리한다. The
또한, 캐시 관리부(120)는 가상 머신(110)의 디스크 이미지 파일(214)에 대한 폐쇄 요청을 전달받으면, 읽어온 가상 머신(110)의 메타데이터 정보를 토대로 가상 머신(110)이 완전 복제된 가상 머신(110)인지 여부를 판별하고, 판별결과, 가상 머신(110)이 완전 복제된 가상 머신(110)일 경우, 자신의 로컬 메모리에 가상 머신(110)의 템플릿 공유 블록 맵(121)이 존재하는지 여부를 판별하며, 판별결과, 자신의 로컬 메모리에 가상 머신(110)의 템플릿 공유 블록 맵(121)이 존재할 경우, 템플릿 공유 블록 맵(121)이 분산 파일 시스템(200)에 템플릿 공유 블록 맵 파일(215)로 저장되도록 하고, 가상 머신 데이터(213)에 저장된 가상 머신(110)의 디스크 이미지 파일(214) 폐쇄를 분산 파일 시스템(200)을 통해 처리한다.In addition, when the
캐시 관리부(120)는 가상 머신(110)의 디스크 이미지 파일(214)에 대한 데이터 쓰기 요청을 전달받으면, 읽어온 가상 머신(110)의 메타데이터 정보를 토대로 가상 머신(110)이 완전 복제된 가상 머신(110)인지 여부를 판별하고, 판별결과, 가상 머신(110)이 완전 복제된 가상 머신(110)인 경우, 자신의 로컬 메모리에 가상 머신(110)의 템플릿 공유 블록 맵(121)이 존재하는지 여부를 판별하며, 판별결과, 자신의 로컬 메모리에 가상 머신(110)의 템플릿 공유 블록 맵(121)이 존재하면, 데이터 쓰기 요청에 대응되는 데이터 블록이 변경된 것을 가상 머신(110)의 템플릿 공유 블록 맵(121)에 설정하고, 분산 파일 시스템(200)을 통해 데이터 쓰기 요청을 처리한다.When the
캐시 장치부(130)는 하드 디스크 또는 고속의 솔리드 스테이트 드라이브와 같은 저장장치일 수 있고, 캐시(131)에 템플릿 디스크 이미지 파일(132)을 캐싱한다.The
선반입 관리부(140)는 템플릿(211)의 디스크 이미지 파일(212)을 캐시 장치부(130)에 선반입한다. The
예컨대, 선반입 관리부(140)는 요청된 파일 또는 데이터 블록을 분산 파일 시스템(200)에서 읽어와 캐시 장치부(130)에 백그라운드로 적재한다For example, the
전술한 바를 좀 더 구체적으로 설명하면, 본 발명의 가상 머신 디스크 이미지 파일 캐시 시스템은 크게 가상 머신 호스트 서버(100) 및 분산 파일 시스템(200)으로 구성된다. To explain the above in more detail, the virtual machine disk image file cache system of the present invention is largely composed of a virtual
가상 머신 호스트 서버(100)는 가상 머신(110), 캐시 관리자(120), 캐시 장치부(130) 및 선반입 관리부(140)로 구성되고, 분산 파일 시스템(200)은 하나 이상의 볼륨(210)으로 구성된다.The virtual
가상 머신 호스트 서버(100)에서는 사용자의 가상 머신(110)이 실행되며, 가상 머신(110)에는 운영체제(111)가 설치되고, 운영 환경에 따라 다수의 사용자가 공통으로 사용할 수 있는 응용 프로그램이 설치될 수도 있다.In the virtual
템플릿(211)으로부터 완전 복제를 통해 가상 머신(110)을 생성하게 되면, 가상 머신 데이터(213)가 분산 파일 시스템(200)의 볼륨(210)에 생성되어 저장되고, 템플릿(211)의 디스크 이미지 파일(212)이 복제되어 가상 머신 데이터(213)에 디스크 이미지 파일(214)로 생성된다.When the
이때, 복제에 의해 디스크 이미지 파일(214)에 대한 데이터 쓰기가 발생한 블록은 캐시 관리부(120)에 의해 추적되어 템플릿 공유 블록 맵(121)에 템플릿과 동일한 블록으로 설정되고, 가상 머신(110)에 대한 복제가 완료되면, 템플릿 공유 블록 맵(121)은 템플릿 공유 블록 맵 파일(215)로 가상 머신 데이터(213)에 저장된다.At this time, the block in which data write to the
복제된 가상 머신(110)이 기동(activation)되면, 가상 머신 데이터(213)에 저장된 디스크 이미지 파일(214) 개방이 캐시 관리부(120)에 요청된다.When the cloned
이때, 캐시 관리부(120)는 가상 머신 데이터(213)에 저장된 템플릿 공유 블록 맵 파일(215)을 읽어와 자신의 로컬 메모리에 템플릿 공유 블록 맵(121)을 생성하고, 선반입 관리부(140)는 템플릿(211)의 디스크 이미지 파일(212)을 캐시 장치부(130)에 전달하여 캐시 장치부(130)가 템플릿(211)의 디스크 이미지 파일(212)을 캐시(131)에 적재하여 템플릿 디스크 이미지 파일(132)을 생성하도록 한다.At this time, the
이후 가상 머신의 운영에 따라 데이터 읽기 요청이 발생하면, 캐시 관리부(120)는 템플릿 공유 블록 맵(121)에서 데이터 읽기 요청에 대응되는 데이터 블록의 변경 유무를 판별하고, 판별결과, 변경되지 않은 데이터 블록은 캐시(131)에 적재된 템플릿 디스크 이미지 파일(132)에서 읽어 반환하며, 판별결과, 변경된 데이터 블록은 분산 파일 시스템(200)의 가상 머신 데이터(213)에 저장된 디스크 이미지 파일(214)에서 읽어 반환한다.Thereafter, when a data read request occurs according to the operation of the virtual machine, the
데이터 쓰기 요청이 발생하면, 캐시 관리부(120)는 데이터 쓰기 요청에 대응되는 데이터 블록을 템플릿 공유 블록 맵(121)에 변경된 것으로 설정하고, 데이터 쓰기 요청에 대응되는 데이터 블록을 가상 머신 데이터(213)의 디스크 이미지 파일(214)에 저장한다. When a data write request occurs, the
가상 머신(110)이 종료되면, 캐시 관리부(120)로 디스크 이미지 파일(214) 폐쇄 요청이 전달되며, 캐시 관리부(120)는 템플릿 공유 블록 맵(121)이 분산 파일 시스템(200)에 템플릿 공유 블록 맵 파일(215)로 저장되도록 한 후 가상 머신 데이터(213)에 저장된 디스크 이미지 파일(214)이 폐쇄되도록 한다.When the
한편, 캐시(131)에 적재된 템플릿 디스크 이미지 파일(132)은 캐시(131)의 공간이 부족할 경우 LRU, LFU 등과 같은 페이지 교체 알고리즘에 의해 특정 데이터 블록만 삭제될 수도 있고, 캐시(131)에 대한 관리 정책에 따라 템플릿(211)으로부터 복제된 가상 머신(110)들이 모두 종료되면, 캐시(131)에서 삭제되거나, 캐시 관리부(120) 종료 시 삭제될 수도 있으며, 다른 정책에 따라 캐시 관리부(120)가 종료될지라도 후에 선반입 비용을 절감하기 위해 삭제되지않고 캐시 관리부(120) 재기동시 재활용되도록 할 수도 있다.On the other hand, the template
전술한 바와 같이, 본 발명에 따르면, 가상 머신 환경에서 완전 복제된 가상 머신의 디스크 이미지 파일에 대한 데이터 읽기 응답 성능을 향상시킬 수 있고, 캐시의 공간 활용 효율 또한 증가시킬 수 있다.As described above, according to the present invention, it is possible to improve data read response performance for a disk image file of a virtual machine completely replicated in a virtual machine environment, and increase the space utilization efficiency of a cache.
이상, 도 1을 참조하여 본 발명의 일 실시예에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템을 설명하였고, 이하에서는 도 2 내지 도 6을 참조하여 본 발명의 일 실시예에 따른 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 방법을 설명한다. 도 2는 본 발명의 일 실시예에 따른 템플릿으로부터 완전 복제된 가상 머신을 생성하는 방법을 설명하기 위한 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 개방 요청 처리 방법을 설명하기 위한 흐름도이며, 도 4는 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 폐쇄 요청 처리 방법을 설명하기 위한 흐름도이고, 도 5는 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 쓰기 요청 처리 방법을 설명하기 위한 흐름도이며, 도 6은 본 발명의 일 실시예에 따른 가상 머신의 디스크 이미지 파일에 대한 읽기 요청 처리 방법을 설명하기 위한 흐름도이다.As described above, a disk image file caching system of a fully replicated virtual machine according to an embodiment of the present invention has been described with reference to FIG. 1, and hereinafter, complete replication according to an embodiment of the present invention with reference to FIGS. 2 to 6 Describes how to cache the disk image file of the virtual machine. 2 is a flowchart illustrating a method of creating a virtual machine that is completely copied from a template according to an embodiment of the present invention, and FIG. 3 is a request for opening a disk image file of a virtual machine according to an embodiment of the present invention. 4 is a flowchart illustrating a method of processing a request to close a disk image file of a virtual machine according to an embodiment of the present invention, and FIG. 5 is a flowchart illustrating a method of processing a disk image file according to an embodiment of the present invention. A flowchart illustrating a method of processing a write request for a disk image file of a virtual machine, and FIG. 6 is a flowchart illustrating a method of processing a read request for a disk image file of a virtual machine according to an embodiment of the present invention.
도 2에 도시된 바와 같이, 본 발명의 템플릿으로부터 완전 복제된 가상 머신을 생성하는 방법은 먼저 템플릿(211)으로부터 가상 머신(110) 완전 복제 요청을 전달받으면(S201), 분산 파일 시스템(200)의 볼륨(210)에 가상 머신(110)의 디스크 이미지 파일(214)을 생성한다(S202).As shown in FIG. 2, in the method of creating a virtual machine completely copied from the template of the present invention, when the
예컨대, 템플릿(211)으로부터 완전 복제를 통해 가상 머신(110)을 생성할 경우, 가상 머신 데이터(213)를 볼륨(210)에 생성하여 저장하고, 템플릿(211)의 디스크 이미지 파일(212)을 복제하여 가상 머신 데이터(213)에 디스크 이미지 파일(214)로 생성한다.For example, when creating the
캐시 관리부(120)는 자신의 로컬 메모리에 템플릿 공유 블록 맵(121)을 생성한다(S203).The
템플릿(211)의 디스크 이미지 파일(212)의 데이터를 읽어 가상 머신(110)의 디스크 이미지 파일(214)에 기록한다(S204).The data of the
이때, 캐시 관리부(120)는 가상 머신(110)의 디스크 이미지 파일(214)에 대한 데이터 쓰기 요청에 대응되는 블록을 템플릿(211)과 동일한 것으로 템플릿 공유 블록 맵(121)에 설정한다(S205).At this time, the
복제가 완료되면, 가상 머신(110)의 메타데이터 정보에 가상 머신(110)을 완전 복제된 가상 머신으로 설정하고(S206), 템플릿(211)의 디스크 이미지 파일 식별자를 설정한다(S207).When the duplication is complete, the
캐시 관리부(120)는 생성된 템플릿 공유 블록 맵(121)을 볼륨(210)의 가상 머신 데이터(213)에 템플릿 공유 블록 맵 파일(215)로 저장한다(S208).The
이상, 도 2를 참조하여 본 발명의 템플릿으로부터 완전 복제된 가상 머신을 생성하는 방법을 설명하였고, 이하에서는 도 3을 참조하여 가상 머신의 디스크 이미지 파일에 대한 개방 요청 처리 방법을 설명한다.In the above, a method of creating a virtual machine completely copied from the template of the present invention has been described with reference to FIG. 2, and a method of processing an open request for a disk image file of a virtual machine will be described below with reference to FIG. 3.
도 3에 도시된 바와 같이, 가상 머신의 디스크 이미지 파일에 대한 개방 요청 처리 방법은 가상 머신(110)의 디스크 이미지 파일(214) 개방 요청을 전달받으면(S301), 가상 머신(110)의 메타데이터 정보를 토대로 가상 머신(110)이 템플릿(211)으로부터의 완전 복제된 가상 머신인지 여부를 판별한다(S302).As shown in FIG. 3, the method for processing an open request for a disk image file of a virtual machine is, when a request for opening a
판별결과, 가상 머신(110)이 완전 복제된 가상 머신일 경우, 분산 파일 시스템(200)에 템플릿 공유 블록 맵 파일(215)이 존재하는지 여부를 검사하고(S303), 검사결과, 분산 파일 시스템(200)에 템플릿 공유 블록 맵 파일(215)이 존재하면, 캐시 관리부(120)는 템플릿 공유 블록 맵 파일(215)을 읽어와 자신의 로컬 메모리에 적재하여 템플릿 공유 블록 맵(121)을 생성한다(S304).As a result of the determination, if the
가상 머신(110)의 메타데이터 정보를 토대로 템플릿(211)의 디스크 이미지 파일 식별자를 획득하고, 획득된 템플릿(211)의 디스크 이미지 파일 식별자에 대응되는 디스크 이미지 파일(212)이 캐시(131)에 적재되어 있는지 여부를 검사한다(S305).A disk image file identifier of the
검사결과, 획득된 템플릿(211)의 디스크 이미지 파일 식별자에 대응되는 디스크 이미지 파일(212)이 캐시(131)에 적재되어 있지 않은 경우, 템플릿(211)의 디스크 이미지 파일(212)이 캐시(131)에 적재되어 템플릿 디스크 이미지 파일(132)로 생성될 수 있도록 선반입 관리부(140)가 백그라운드로 템플릿(211)의 디스크 이미지 파일(212)을 읽어올 것을 요청하며(S306), 가상 머신(110)의 디스크 이미지 파일(214)이 개방되도록 한다(S307).As a result of the inspection, if the
이때 선반입 관리부(140)가 백그라운드로 실행되어, 즉 쓰레드 또는 백그라운드 프로세스로 동작하여 선반입을 비동기적으로 처리하도록 함으로써 파일 개방 처리가 지연되지 않도록 할 수 있다. At this time, the
이상, 도 3을 참조하여 가상 머신의 디스크 이미지 파일에 대한 개방 요청 처리 방법을 설명하였고, 이하에서는 도 4를 참조하여 본 발명의 가상 머신의 디스크 이미지 파일에 대한 폐쇄 요청 처리 방법을 설명한다.In the above, a method of processing an open request for a disk image file of a virtual machine has been described with reference to FIG. 3, and hereinafter, a method of processing a closing request for a disk image file of a virtual machine of the present invention will be described with reference to FIG.
도 4에 도시된 바와 같이, 본 발명의 가상 머신의 디스크 이미지 파일에 대한 폐쇄 요청 처리 방법은 먼저 가상 머신(110)의 디스크 이미지 파일(214) 폐쇄 요청을 전달받으면(S401), 가상 머신(110)의 메타데이터 정보를 토대로 가상 머신(110)이 템플릿(211)으로부터 완전 복제된 가상 머신인지 여부를 판별한다(S402).As shown in FIG. 4, in the method of processing a request to close a disk image file of a virtual machine according to the present invention, when a request to close the
판별결과, 가상 머신(110)이 완전 복제된 가상 머신인 경우, 캐시 관리부(120)는 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재하는지 여부를 검사하고(S403), 검사결과, 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재할 경우, 템플릿 공유 블록 맵(121)이 볼륨(210)의 가상 머신 데이터(213)에 템플릿 공유 블록 맵 파일(215)로 저장되도록 하며(S404), 디스크 이미지 파일(214)이 폐쇄되도록 한다(S405).As a result of the determination, when the
이상, 도 4를 참조하여 본 발명의 가상 머신의 디스크 이미지 파일에 대한 폐쇄 요청 처리 방법을 설명하였고, 이하에서는 도 5를 참조하여 가상 머신의 디스크 이미지 파일에 대한 쓰기 요청 처리 방법을 설명한다.In the above, a method of processing a request for closing a disk image file of a virtual machine of the present invention has been described with reference to FIG. 4, and a method of processing a write request for a disk image file of a virtual machine will be described below with reference to FIG. 5.
도 5에 도시된 바와 같이, 가상 머신의 디스크 이미지 파일에 대한 쓰기 요청 처리 방법은 먼저 가상 머신(110)의 디스크 이미지 파일(214)에 대한, 디스크 이미지 파일(214)의 파일 식별자 번호, 데이터가 쓰일 파일 오프셋, 쓰일 데이터의 크기, 쓰일 데이터 등이 포함된 데이터 쓰기 요청이 전달되면(S501), 가상 머신(110)의 메타데이터 정보를 토대로 가산 머신(110)이 템플릿(211)으로부터 완전 복제된 가상 머신인지 여부를 판별한다(S502).As shown in FIG. 5, in the method of processing a write request for a disk image file of a virtual machine, the file identifier number and data of the
판별결과, 가상 머신(110)이 완전 복제된 가상 머신인 경우, 캐시 관리부(120)는 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재하는지 여부를 검사하고(S503), 검사결과, 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재할 경우, 쓰기 요청에 대응되는 데이터 블록이 변경된 것으로 템플릿 공유 블록 맵(121)에 설정하며(S504), 분산파일 시스템(200)에 저장된 가상 머신(110)의 디스크 이미지 파일(214)에 대한 쓰기 요청을 전달하여 데이터를 기록한다(S505).As a result of the determination, if the
이상, 도 5를 참조하여 가상 머신의 디스크 이미지 파일에 대한 쓰기 요청 처리 방법을 설명하였고, 이하에서는 도 6을 참조하여 본 발명의 가상 머신의 디스크 이미지 파일에 대한 읽기 요청 처리 방법을 설명한다.In the above, a method of processing a write request for a disk image file of a virtual machine has been described with reference to FIG. 5, and hereinafter, a method of processing a read request for a disk image file of a virtual machine of the present invention will be described with reference to FIG.
도 6에 도시된 바와 같이, 본 발명의 가상 머신의 디스크 이미지 파일에 대한 읽기 요청 처리 방법은 먼저 가상 머신(110)의 디스크 이미지 파일(214)에 대한, 디스크 이미지 파일(214)의 파일 식별자 번호, 읽을 데이터의 파일 오프셋, 읽을 데이터 크기, 읽을 데이터를 저장할 버퍼 등이 포함된 데이터 읽기 요청이 전달되면(S601), 가상 머신(110)의 메타데이터 정보를 토대로 가상 머신(110)이 템플릿(211)으로부터 완전 복제된 가상 머신인지 여부를 판별한다(S602).As shown in FIG. 6, in the method of processing a read request for a disk image file of a virtual machine according to the present invention, first, a file identifier number of the
판별결과, 템플릿(211)으로부터 완전 복제된 가상 머신일 경우, 캐시 관리부(120)는 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재하는지 여부를 검사하고(S603), 검사결과, 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재할 경우, 템플릿 공유 블록 맵(121)에서 읽기 요청에 대응되는 데이터 블록이 변경되었는지 여부를 검사한다(S604).As a result of the determination, in the case of a virtual machine completely duplicated from the
검사결과, 읽기 요청에 대응되는 데이터 블록이 변경되지 않은 경우, 가상 머신(110)의 메타데이터 정보에 저장된 템플릿(211)의 디스크 이미지 파일 식별자를 획득하고, 캐시(131)에 적재된 템플릿 디스크 이미지 파일(132) 중 획득된 식별자에 대응되는 파일에서 읽기 요청에 대응되는 데이터 블록이 캐시(131)에 적재되어있는지 여부를 검사한다(S605).As a result of the inspection, if the data block corresponding to the read request is not changed, the disk image file identifier of the
검사결과, 캐시(131)에 읽기 요청에 대응되는 데이터 블록이 존재할 경우, 캐시(131)에 존재하는 데이터 블록을 읽어 반환하고(S607), 그러나, 단계(S602) 판별결과, 가상 머신(110)이 완전 복제된 가상 머신이 아니거나, 단계(S603) 검사결과, 템플릿 공유 블록 맵(121)이 자신의 로컬 메모리에 존재하지 않거나, 단계(S605) 검사결과, 읽기 요청에 대응되는 데이터 블록과 동일한 템플릿 디스크 이미지 파일(132)의 데이터 블록이 캐시(131)에 존재하지 않을 경우, 분산 파일 시스템(200)에 저장된 가상 머신(110)의 디스크 이미지 파일(214)에서 읽기 요청에 대응되는 데이터 블록을 읽어 반환한다(S606).As a result of the inspection, if there is a data block corresponding to the read request in the
이상 바람직한 실시예와 첨부도면을 참조하여 본 발명의 구성에 관해 구체적으로 설명하였으나, 이는 예시에 불과한 것으로 본 발명의 기술적 사상을 벗어나지 않는 범주내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Although the configuration of the present invention has been described in detail with reference to the preferred embodiment and the accompanying drawings, this is only an example, and various modifications are possible within the scope of the present invention without departing from the technical spirit of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined by the scope of the claims to be described later, as well as the scope and equivalents of the claims.
100 : 가상 머신 호스트 서버 110 : 가상 머신
120 : 캐시 관리부 130 : 캐시 장치부
140 : 선반입 관리자부 200 : 분산 파일 시스템
210 : 볼륨100: virtual machine host server 110: virtual machine
120: cache management unit 130: cache device unit
140: pre-shelf manager unit 200: distributed file system
210: volume
Claims (10)
상기 가상 머신 호스트 서버와 네트워크로 연결되며, 디스크 이미지 파일을 포함하는 템플릿으로부터 상기 가상 머신의 완전 복제를 위해 가상 머신 데이터를 생성하고, 상기 템플릿의 디스크 이미지 파일을 복제하여 상기 가상 머신 데이터에 가상 머신 디스크 이미지 파일을 생성하는 분산 파일 시스템을 포함하되,
상기 가상 머신 호스트 서버는
게스트 운영체제가 설치되어 운영되는 가상 머신,
상기 분산 파일 시스템에 저장된 디스크 이미지 파일에 대한 개방 요청, 폐쇄 요청 및 입출력 요청 중 하나 이상의 요청을 처리하고, 상기 가상 머신의 템플릿 공유 블록 맵 파일을 관리하는 캐시 관리부,
상기 템플릿의 디스크 이미지 파일을 캐싱하는 캐시 장치부 및
상기 캐시 장치부에 상기 템플릿의 디스크 이미지 파일을 선반입하는 선반입 관리부를 포함하는 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.A virtual machine host server running a virtual machine; And
The virtual machine is connected to the virtual machine host server through a network, creates virtual machine data for complete replication of the virtual machine from a template including a disk image file, and duplicates the disk image file of the template to the virtual machine data. Including a distributed file system that creates disk image files,
The virtual machine host server is
A virtual machine running with a guest operating system installed,
A cache management unit that processes at least one of an open request, a close request, and an input/output request for a disk image file stored in the distributed file system, and manages a template shared block map file of the virtual machine,
A cache device for caching the disk image file of the template, and
A disk image file caching system of a fully replicated virtual machine including a loading management unit for loading the template disk image file into the cache device unit.
상기 가상 머신 호스트 서버는 상기 가상 머신의 운영에 따라 상기 템플릿의 디스크 이미지 파일을 캐시에 적재하고, 데이터 읽기 요청이 발생하면 데이터 읽기 요청에 대응되는 데이터 블록의 변경 유무를 판별하여, 요청된 데이터 읽기에 대응되는 데이터 블록이 변경되지 않은 데이터 블록이면 상기 캐시에 적재된 상기 템플릿의 디스크 이미지 파일에서 데이터를 읽어 반환하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 1,
The virtual machine host server loads the disk image file of the template into the cache according to the operation of the virtual machine, and when a data read request occurs, determines whether the data block corresponding to the data read request has been changed, and reads the requested data. If the data block corresponding to is an unchanged data block, the disk image file caching system of a fully cloned virtual machine reads and returns data from the disk image file of the template loaded in the cache.
상기 가상 머신 호스트 서버는 상기 가상 머신의 운영에 따라 상기 템플릿의 디스크 이미지 파일을 캐시에 적재하고, 데이터 읽기 요청이 발생하면 데이터 읽기 요청에 대응되는 데이터 블록의 변경 유무를 판별하여, 요청된 데이터 읽기에 대응되는 데이터 블록이 변경된 데이터 블록이면 상기 가상 머신 디스크 이미지 파일에서 데이터를 읽어 반환하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 1,
The virtual machine host server loads the disk image file of the template into the cache according to the operation of the virtual machine, and when a data read request occurs, determines whether the data block corresponding to the data read request has been changed, and reads the requested data. If the data block corresponding to is a changed data block, the disk image file caching system of a fully cloned virtual machine reads and returns data from the virtual machine disk image file.
상기 가상 머신 데이터는 상기 가상 머신의 디스크 이미지 파일과 템플릿 공유 블록 맵 파일로 구성되는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 1,
The virtual machine data is composed of a disk image file of the virtual machine and a template shared block map file. A disk image file caching system of a fully replicated virtual machine.
상기 캐시 관리부는,
상기 가상 머신의 디스크 이미지 파일에 대한 개방 요청, 폐쇄 요청 및 쓰기 요청 중 어느 하나를 전달받음에 따라, 상기 가상 머신의 메타데이터 정보를 상기 분산 파일 시스템으로부터 독출하여, 상기 메타데이터 정보를 토대로 상기 가상 머신이 완전 복제된 가상 머신인지 여부를 판별하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 1,
The cache management unit,
Upon receiving any one of an open request, a close request, and a write request for the disk image file of the virtual machine, metadata information of the virtual machine is read from the distributed file system, and the virtual machine is A disk image file caching system for a fully replicated virtual machine that determines whether the machine is a fully replicated virtual machine.
상기 캐시 관리부는 상기 판별 결과 상기 가상 머신이 완전 복제된 가상 머신인 경우, 상기 분산 파일 시스템에 가상 머신의 템플릿 공유 블록 맵 파일이 존재하는지 여부를 판별하고, 판별 결과 상기 가상 머신의 템플릿 공유 블록 맵 파일이 존재하면, 상기 분산 파일 시스템에서 상기 가상 머신의 템플릿 공유 블록 맵 파일을 읽어와 자신의 로컬 메모리에 템플릿 공유 블록 맵을 구성하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 6,
When the virtual machine is a fully cloned virtual machine as a result of the determination, the cache management unit determines whether a template shared block map file of the virtual machine exists in the distributed file system, and as a result of the determination, the template shared block map of the virtual machine If the file exists, the distributed file system reads the template shared block map file of the virtual machine and configures the template shared block map in its own local memory.
상기 캐시 관리부는 상기 판별 결과 상기 가상 머신이 완전 복제된 가상 머신인 경우, 자신의 로컬 메모리에 상기 가상 머신의 템플릿 공유 블록 맵이 존재하는지 여부를 판별하고, 판별 결과 상기 템플릿 공유 블록 맵이 존재하면, 상기 템플릿 공유 블록 맵이 상기 분산 파일 시스템에 템플릿 공유 블록 맵 파일로 저장되도록 하며, 상기 가상 머신 데이터에 저장된 가상 머신의 디스크 이미지 파일 폐쇄를 상기 분산 파일 시스템을 통해 처리하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 6,
In the case where the virtual machine is a fully cloned virtual machine as a result of the determination, the cache management unit determines whether a template shared block map of the virtual machine exists in its local memory, and if the template shared block map exists as a result of the determination , Wherein the template shared block map is stored as a template shared block map file in the distributed file system, and a disk image file of the virtual machine stored in the virtual machine data is closed through the distributed file system. A machine's disk image file caching system.
상기 캐시 관리부는 상기 판별 결과 상기 가상 머신이 완전 복제된 가상 머신인 경우, 자신의 로컬 메모리에 상기 가상 머신의 템플릿 공유 블록 맵이 존재하는지 여부를 판별하고, 판별 결과 상기 템플릿 공유 블록 맵이 존재하면, 데이터 쓰기 요청에 대응되는 데이터 블록이 변경된 것을 상기 가상 머신의 템플릿 공유 블록 맵에 설정하고, 상기 분산 파일 시스템을 통해 데이터 쓰기 요청을 처리하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 6,
In the case where the virtual machine is a fully cloned virtual machine as a result of the determination, the cache management unit determines whether a template shared block map of the virtual machine exists in its local memory, and if the template shared block map exists as a result of the determination And setting a change in a data block corresponding to a data write request to the template shared block map of the virtual machine, and processing a data write request through the distributed file system.
상기 캐시 장치부는 캐시에 적재된 템플릿 디스크 이미지 파일에 대하여 상기 캐시의 공간이 부족할 경우, 페이지 교체 알고리즘에 의해 특정 데이터 블록만 삭제하거나, 상기 템플릿으로부터 복제된 가상 머신들이 모두 종료될 경우 상기 캐시에서 삭제하거나, 선반입 비용을 절감하기 위해 삭제하지 않고 상기 캐시 관리부의 재기동시 재활용하는 것인 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템.The method of claim 1,
The cache device deletes only a specific data block by a page replacement algorithm when there is insufficient space in the cache for the template disk image file loaded in the cache, or deletes from the cache when all virtual machines duplicated from the template are terminated. Or, in order to reduce the shelf-loading cost, a disk image file caching system of a fully replicated virtual machine is recycled when the cache management unit is restarted without deleting.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140008259A KR102237566B1 (en) | 2014-01-23 | 2014-01-23 | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140008259A KR102237566B1 (en) | 2014-01-23 | 2014-01-23 | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150087990A KR20150087990A (en) | 2015-07-31 |
KR102237566B1 true KR102237566B1 (en) | 2021-04-07 |
Family
ID=53877142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140008259A KR102237566B1 (en) | 2014-01-23 | 2014-01-23 | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102237566B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9804965B2 (en) | 2014-12-03 | 2017-10-31 | Electronics And Telecommunications Research Institute | Virtual machine host server apparatus and method for operating the same |
CN112985762B (en) * | 2021-02-22 | 2022-04-22 | 华南理工大学 | Seaworthiness device for ship model six-degree-of-freedom motion measurement |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002519752A (en) | 1998-06-25 | 2002-07-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Dynamic allocation of memory space |
JP2013542486A (en) * | 2010-09-10 | 2013-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | On-demand image streaming for virtual machines |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522370A (en) * | 2007-03-20 | 2010-07-01 | サンギュ イ | Mobile virtual machine image |
KR101329759B1 (en) * | 2010-03-15 | 2013-11-14 | 한국전자통신연구원 | Network block device providing personalized virtual machine in cloud computing environment and control method thereof |
-
2014
- 2014-01-23 KR KR1020140008259A patent/KR102237566B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002519752A (en) | 1998-06-25 | 2002-07-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Dynamic allocation of memory space |
JP2013542486A (en) * | 2010-09-10 | 2013-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | On-demand image streaming for virtual machines |
Also Published As
Publication number | Publication date |
---|---|
KR20150087990A (en) | 2015-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487787B2 (en) | System and method for near-synchronous replication for object store | |
KR102403034B1 (en) | Dynamic garbage collection p/e policies for redundant storage blocks and distributed software stacks | |
US9177670B1 (en) | Method and apparatus for flash cache management | |
US9430161B2 (en) | Storage control device and control method | |
US9996542B2 (en) | Cache management in a computerized system | |
US9996421B2 (en) | Data storage method, data storage apparatus, and storage device | |
US9772949B2 (en) | Apparatus, system and method for providing a persistent level-two cache | |
US10649668B2 (en) | Systems, methods, and computer program products providing read access in a storage system | |
US20130145095A1 (en) | Melthod and system for integrating the functions of a cache system with a storage tiering system | |
US20130117744A1 (en) | Methods and apparatus for providing hypervisor-level acceleration and virtualization services | |
US20080201544A1 (en) | Storage system | |
KR20120090965A (en) | Apparatus, system, and method for caching data on a solid-state strorage device | |
US10061523B2 (en) | Versioning storage devices and methods | |
US8849966B2 (en) | Server image capacity optimization | |
US8935481B2 (en) | Apparatus system and method for providing raw data in a level-two cache | |
WO2019061352A1 (en) | Data loading method and device | |
US9892041B1 (en) | Cache consistency optimization | |
US9946496B2 (en) | SSD with non-blocking flush command | |
US10719240B2 (en) | Method and device for managing a storage system having a multi-layer storage structure | |
US9588855B2 (en) | Management and utilization of fault domains in distributed cache systems | |
KR102237566B1 (en) | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine | |
US10282371B1 (en) | Object storage device with probabilistic data structure | |
US11315028B2 (en) | Method and apparatus for increasing the accuracy of predicting future IO operations on a storage system | |
KR101153688B1 (en) | Nand flash memory system and method for providing invalidation chance to data pages | |
KR102403063B1 (en) | Mobile device and management method of mobile device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |