KR102019486B1 - Update method of containers in virtual system and apparatus thereof - Google Patents
Update method of containers in virtual system and apparatus thereof Download PDFInfo
- Publication number
- KR102019486B1 KR102019486B1 KR1020180023825A KR20180023825A KR102019486B1 KR 102019486 B1 KR102019486 B1 KR 102019486B1 KR 1020180023825 A KR1020180023825 A KR 1020180023825A KR 20180023825 A KR20180023825 A KR 20180023825A KR 102019486 B1 KR102019486 B1 KR 102019486B1
- Authority
- KR
- South Korea
- Prior art keywords
- base image
- common data
- update
- containers
- updated
- 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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 복수의 가상 머신 컨테이너를 운용하기 위한 가상화 시스템에서 컨테이너 업데이트 장치의 데이터 업데이트 방법에 관한 것으로, 상기 컨테이너 업데이트 장치가 호스트 OS 상에 복수의 컨테이너들을 생성하는 단계, 상기 복수의 컨테이너들에 대한 공통 데이터를 제1 계층 베이스 이미지에 저장하는 단계, 상기 복수의 컨테이너들 중 적어도 일부에 대한 공통 데이터를 제2 계층 베이스 이미지에 저장하는 단계 및 임의의 공통 데이터에 대한 컨테이너 업데이트 요청이 수신되면, 업데이트 할 공통 데이터가 저장된 베이스 이미지의 계층에 기초하여 업데이트를 수행하는 단계를 포함하되, 상기 제1 계층 베이스 이미지는 상기 제2 계층 베이스 이미지보다 하위 계층인 것을 특징으로 한다.The present invention relates to a data updating method of a container updating apparatus in a virtualization system for operating a plurality of virtual machine containers, the container updating apparatus generating a plurality of containers on a host OS, for the plurality of containers Storing common data in a first hierarchical base image, storing common data for at least some of the plurality of containers in a second hierarchical base image, and when a container update request for any common data is received, update And updating based on the layer of the base image in which the common data is stored, wherein the first layer base image is lower than the second layer base image.
Description
본 발명은 가상화 시스템에서 컨테이너 업데이트 방법 및 그 장치에 관한 것으로, 보다 구체적으로 컨테이너 기반 가상화 시스템에서 공통 데이터를 베이스 이미지(base image)로 저장 및 관리하여 컨테이너 업데이트 속도를 향상시킬 수 있는 컨테이너 업데이트 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for updating a container in a virtualization system. More specifically, a container update method for improving container update speed by storing and managing common data as a base image in a container-based virtualization system. To the device.
하이퍼바이저(Hypervisor) 기반의 가상화 시스템은, 도 1에 도시된 바와 같이, 하드웨어(101) 상에 호스트 운영 체제(Operating System; OS)(102)를 설치하고, 호스트 OS(102)를 통하여 하이퍼바이저(103)를 구동시키면, 하이퍼바이저(103)가 자원을 분할하여 가상 머신(104)을 생성하고 각각의 가상 머신(104)에 게스트 OS(105)를 설치하여 개별적으로 운영하는 시스템을 말한다. 각각의 가상 머신(104)은 각각의 사용자에게 할당되어, 사용자는 마치 물리적으로 분리된 독립적인 장치를 사용하는 것으로 인식하고 게스트 OS(105) 상에서 다양한 응용 프로그램(application)(106)을 구동하게 된다. The hypervisor-based virtualization system, as shown in FIG. 1, installs a host operating system (OS) 102 on the
이러한 가상화 시스템은, 하나의 물리적 시스템에 독자적으로 여러 서버 환경을 운영할 수 있다는 장점이 있으나, 각각의 가상 머신(104)에 개별 게스트 OS(105)를 위한 자원을 할당해야 하므로, 자원 낭비가 크다는 단점을 갖는다. 또한, 하이퍼바이저 기반 가상화 시스템에서는, 응용 프로그램(106)이 호스트 OS(102) 자원을 이용하기 위하여 반드시 게스트 OS(105)를 거쳐야 한다는 점에서 시스템 효율이 떨어진다는 문제가 있다. This virtualization system has the advantage of being able to operate multiple server environments independently in one physical system, but it requires a lot of resource waste because each
이러한 문제를 해결하기 위하여, 최근에는 컨테이너(container) 기반 가상화 시스템이 개발되고 있다. 컨테이너 기반 가상화 시스템은, 도 2에 도시된 바와 같이 하드웨어(201) 상에 호스트 OS(202)를 설치하고, 호스트 OS(202) 상에 복수의 컨테이너(203)를 가상 머신으로 생성하는 기술이다. 각각의 컨테이너(203)는 개별 데이터(예를 들어, Binary Code, Library 등)는 컨테이너 내에 독립적으로 설치하여 사용하고, 공통 데이터는 컨테이너(203) 간 공유를 통해 이용함으로써, 자원을 효율적으로 활용할 수 있도록 한다. In order to solve this problem, container-based virtualization systems have recently been developed. The container-based virtualization system is a technology for installing a host OS 202 on
컨테이너 기반 가상화 시스템에서는, 각각의 가상 머신을 위한 게스트 OS가 별도로 설치되지 않는다는 점에서 자원이 절약되고, 공통 데이터 등과 같은 호스트 OS(202) 자원을 이용하고자 하는 경우에도, 게스트 OS를 거치지 않기 때문에 시스템 효율이 좋은 장점을 갖는다. In the container-based virtualization system, resources are saved in that the guest OS for each virtual machine is not separately installed, and the system does not go through the guest OS even when a host OS 202 resource such as common data is desired. The efficiency is good.
컨테이너 기반 가상화 시스템을 이용하여 웹 서비스를 제공하는 복수의 가상 머신 서버를 운용하는 경우, 컨테이너 기반 가상화 시스템은 도 3에 도시된 바와 같이 구성될 수 있다. 구체적으로, 가상화 시스템은 호스트 OS(302) 상에 각각의 클라이언트(306)에 대하여 동일 또는 상이한 웹 서비스를 제공하는 각각의 서버 컨테이너(303)를 가상 머신으로 생성할 수 있다. 서버 컨테이너(303)들 중 일부는 제1 웹 서비스, 예를 들어 젠킨스(Jenkins)를 대응하는 클라이언트에게 제공할 수 있고, 다른 일부는 제2 웹 서비스, 예를 들어 버그질라(bugzilla)를 대응하는 클라이언트에게 제공할 수 있다. When operating a plurality of virtual machine servers that provide web services using the container-based virtualization system, the container-based virtualization system may be configured as shown in FIG. In particular, the virtualization system may create each
각각의 서버 컨테이너(303)에는 대응하는 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터(304)(예를 들어, Apache, Mysql, PHP 등)가 저장될 수 있다. 동일한 웹 서비스를 제공하는 서버 컨테이너(306)는 웹 서비스 데이터(304)의 적어도 일부가 동일할 수 있다. 그럼에도 불구하고, 도 3에 도시된 종래의 컨테이너 기반 가상화 시스템에서, 각각의 서버 컨테이너(303)는 웹 서비스 데이터(304)를 개별적으로 저장한다. 서버 컨테이너(303) 간 동일하지 않은 개별 데이터(웹 서비스 데이터의 다른 일부 또는 웹 서비스 데이터가 아닌 다른 데이터)는 각각의 서버 컨테이너(306)의 델타 영역(305)에 저장될 수 있다. Each
상기와 같은 종래의 컨테이너 기반 가상화 시스템에서는, 임의의 웹 서비스에 대한 업데이트가 발생하는 경우, 해당 웹 서비스를 제공하는 모든 서버 컨테이너(306)를 개별적으로 업데이트한다. 이러한 종래 기술에서는, 컨테이너 업데이트를 병렬적으로 처리하더라도 전체 업데이트에 많은 시간이 소요되고 자원 부족으로 인한 업데이트 성능 저하가 발생한다는 문제가 있었다. In the conventional container-based virtualization system as described above, when an update for any web service occurs, all
본 발명은 상기한 문제점을 해결하기 위한 것으로, 컨테이너 기반 가상화 시스템에서 공통 데이터를 베이스 이미지(base image)로 저장 및 관리하여 컨테이너의 업데이트 속도를 향상시킬 수 있는 컨테이너 업데이트 방법 및 그 장치를 제공한다. The present invention is to solve the above problems, and provides a container update method and apparatus that can improve the update rate of the container by storing and managing common data as a base image in a container-based virtualization system.
상술한 과제를 해결하기 위한 본 발명에 따른 컨테이너 업데이트 방법은, 복수의 가상 머신 컨테이너를 운용하기 위한 가상화 시스템에서 컨테이너 업데이트 장치의 데이터 업데이트 방법으로, 상기 컨테이너 업데이트 장치가 호스트 OS 상에 복수의 컨테이너들을 생성하는 단계, 상기 복수의 컨테이너들에 대한 공통 데이터를 제1 계층 베이스 이미지에 저장하는 단계, 상기 복수의 컨테이너들 중 적어도 일부에 대한 공통 데이터를 제2 계층 베이스 이미지에 저장하는 단계 및 임의의 공통 데이터에 대한 컨테이너 업데이트 요청이 수신되면, 업데이트할 공통 데이터가 저장된 베이스 이미지의 계층에 기초하여 업데이트를 수행하는 단계를 포함하되, 상기 제1 계층 베이스 이미지는 상기 제2 계층 베이스 이미지보다 하위 계층인 것을 특징으로 한다.The container update method according to the present invention for solving the above problems is a data update method of a container update device in a virtualization system for operating a plurality of virtual machine container, the container update device is a plurality of containers on a host OS Generating, storing common data for the plurality of containers in a first hierarchical base image, storing common data for at least some of the plurality of containers in a second hierarchical base image, and any common If a container update request for data is received, performing an update based on a layer of a base image in which common data to be updated is stored, wherein the first layer base image is a lower layer than the second layer base image It features.
또한, 상기 업데이트를 수행하는 단계는, 상기 업데이트할 공통 데이터가 최하위 계층 베이스 이미지에 저장되어 있으면, 제1 업데이트 동작을 수행하는 단계를 포함하되, 상기 제1 업데이트 동작은, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 설치 디렉토리로 지정하는 단계 및 상기 설치 디렉토리에 대하여 업데이트를 실행하는 단계를 포함하는 것을 특징으로 한다. The performing of the update may include performing a first update operation when the common data to be updated is stored in the lowest hierarchical base image, wherein the first update operation includes: Designating a stored base image as an installation directory and executing an update on the installation directory.
또한, 상기 업데이트를 수행하는 단계는, 상기 업데이트할 공통 데이터가 상기 최하위 계층 베이스 이미지에 저장되어 있지 않으면, 제2 업데이트 동작을 수행하는 단계를 포함하되, 상기 제2 업데이트 동작은, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지의 적어도 하나의 하위 계층 베이스 이미지를 읽기 전용 영역으로 지정하고, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 읽기 및 쓰기 영역으로 지정하는 단계, 상기 적어도 하나의 하위 계층 베이스 이미지 및 상기 업데이트할 공통 데이터를 결합하여 마운트하는 단계, 상기 마운트 포인트를 설치 디렉토리로 지정하는 단계 및 상기 설치 디렉토리에 대하여 업데이트를 실행하는 단계를 포함하는 것을 특징으로 한다. The performing of the update may include performing a second update operation when the common data to be updated is not stored in the lowest hierarchical base image, wherein the second update operation comprises: updating the common data. Designating at least one lower layer base image of a base image in which data is stored as a read-only area, and designating a base image in which the common data to be updated is stored as a read and write area, wherein the at least one lower layer base image and the Combining and mounting the common data to be updated, designating the mount point as an installation directory, and executing an update on the installation directory.
또한, 상기 업데이트를 수행하는 단계는, 상기 업데이트할 공통 데이터가 복수 개 계층의 베이스 이미지들에 저장되어 있으면, 상기 복수 개 계층의 베이스 이미지들 중 최하위 계층 베이스 이미지에 대하여 상기 제1 업데이트 동작을 수행하는 단계 및 상기 복수 개 계층의 베이스 이미지들 중 최상위 계층 베이스 이미지가 업데이트 될 때까지, 상기 최하위 계층 베이스 이미지의 다음 하위 계층 베이스 이미지로부터 최상위 계층 베이스 이미지까지 상기 제2 업데이트 동작을 반복하여 수행하는 단계를 포함하는 것을 특징으로 한다. The performing of the updating may include performing the first update operation on the lowest layer base image among the base layers of the plurality of layers when the common data to be updated is stored in the base images of the plurality of layers. And repeating the second update operation from the next lower layer base image of the lowest layer base image to the highest layer base image until the highest layer base image of the plurality of layer base images is updated. Characterized in that it comprises a.
또한, 상기 복수의 컨테이너들은, 웹 서비스를 제공하는 서버로서 동작하고, 상기 제1 계층 베이스 이미지에 저장되는 공통 데이터는, 상기 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터이고, 상기 제2 계층 베이스 이미지에 저장되는 공통 데이터는, 상기 복수의 컨테이너들 중 상기 적어도 일부가 제공하는 특정 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터인 것을 특징으로 한다. In addition, the plurality of containers operate as a server providing a web service, and the common data stored in the first hierarchical base image is web service data necessary for providing the web service, and the second hierarchical base image. The common data stored in the web service data may be web service data necessary to provide a specific web service provided by the at least some of the plurality of containers.
또한, 상술한 과제를 해결하기 위한 본 발명에 따른 컨테이너 업데이트 장치는, 복수의 가상 머신 컨테이너를 운용하기 위한 가상화 시스템을 제공하는 데이터 업데이트 장치로, 호스트 OS 상에 생성된 복수의 컨테이너들을 위한 데이터를 저장하는 저장부 및 상기 저장부의 자원을 분할하여 상기 복수의 컨테이너들 각각을 위해 할당하고, 상기 복수의 컨테이너들에 대한 공통 데이터를 제1 계층 베이스 이미지에 저장하고, 상기 복수의 컨테이너들 중 적어도 일부에 대한 공통 데이터를 제2 계층 베이스 이미지에 저장하고, 임의의 공통 데이터에 대한 컨테이너 업데이트 요청이 수신되면, 업데이트할 공통 데이터가 저장된 베이스 이미지의 계층에 기초하여 업데이트를 수행하는 제어부를 포함하되, 상기 제1 계층 베이스 이미지는 상기 제2 계층 베이스 이미지보다 하위 계층인 것을 특징으로 한다.In addition, the container update apparatus according to the present invention for solving the above problems is a data update device for providing a virtualization system for operating a plurality of virtual machine containers, the data for a plurality of containers created on the host OS A storage unit for storing and dividing the resources of the storage unit for allocation to each of the plurality of containers, storing common data for the plurality of containers in a first hierarchical base image, and at least some of the plurality of containers And a controller configured to store the common data for the second layer base image and to update the container based on the layer of the base image in which the common data to be updated is stored when the container update request for the arbitrary common data is received. The first layer base image is the second layer base It is characterized in that the lower layer than the image.
또한, 상기 제어부는, 상기 업데이트할 공통 데이터가 최하위 계층 베이스 이미지에 저장되어 있으면, 제1 업데이트 동작을 수행하되, 상기 제1 업데이트 동작은, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 설치 디렉토리로 지정하고, 상기 설치 디렉토리에 대하여 업데이트를 실행하는 것을 특징으로 한다.The controller may perform a first update operation when the common data to be updated is stored in the lowest hierarchical base image, wherein the first update operation designates a base image in which the common data to be updated is stored as an installation directory. And updating the installation directory.
또한, 상기 제어부는, 상기 업데이트할 공통 데이터가 상기 최하위 계층 베이스 이미지에 저장되어 있지 않으면, 제2 업데이트 동작을 수행하되, 상기 제2 업데이트 동작은, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지의 적어도 하나의 하위 계층 베이스 이미지를 읽기 전용 영역으로 지정하고, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 읽기 및 쓰기 영역으로 지정하고, 상기 적어도 하나의 하위 계층 베이스 이미지 및 상기 업데이트할 공통 데이터를 결합하여 마운트하고, 상기 마운트 포인트를 설치 디렉토리로 지정하여 상기 설치 디렉토리에 대하여 업데이트를 실행하는 것을 특징으로 한다. The controller may perform a second update operation when the common data to be updated is not stored in the lowest hierarchical base image, wherein the second update operation includes at least one of the base image in which the common data to be updated is stored. Designate a lower layer base image of the read-only area, a base image storing the common data to be updated as a read and write area, mount and mount the at least one lower layer base image and the common data to be updated. And designating the mount point as an installation directory and executing the update on the installation directory.
또한, 상기 제어부는, 상기 업데이트할 공통 데이터가 복수 개 계층의 베이스 이미지들에 저장되어 있으면, 상기 복수 개 계층의 베이스 이미지들 중 최하위 계층 베이스 이미지에 대하여 상기 제1 업데이트 동작을 수행하고, 상기 복수 개 계층의 베이스 이미지들 중 최상위 계층 베이스 이미지가 업데이트 될 때까지, 상기 최하위 계층 베이스 이미지의 다음 하위 계층 베이스 이미지로부터 최상위 계층 베이스 이미지까지 상기 제2 업데이트 동작을 반복하여 수행하는 것을 특징으로 한다. The controller may perform the first update operation on the lowest layer base image among the base layers of the plurality of layers when the common data to be updated is stored in the base images of the plurality of layers. The second update operation is repeatedly performed from the next lower layer base image of the lowest layer base image to the highest layer base image until the highest layer base image of the base layers of the three layers is updated.
본 발명에 따른 가상화 시스템에서 컨테이너 업데이트 방법 및 그 장치는, 컨테이너 기반 가상화 시스템에서, 컨테이너의 수가 많은 경우에도 전체 컨테이너들의 업데이트 시간에 소요되는 시간을 줄이고, 업데이트에 의한 웹 서비스 제공 서버 간 간섭을 제거할 수 있다. Container update method and apparatus in the virtualization system according to the present invention, in the container-based virtualization system, even when the number of containers is reduced, the time required for updating the entire container, eliminating the interference between the web service providing server by the update can do.
또한, 본 발명에 따른 가상화 시스템에서 컨테이너 업데이트 방법 및 그 장치는, 컨테이너들이 공유하는 공통 데이터를 베이스 이미지로 저장 및 관리함으로써, 개별 컨테이너를 위해 할당되는 자원을 최소화하고 자원을 효율적으로 활용할 수 있도록 한다. In addition, the container update method and apparatus in the virtualization system according to the present invention, by storing and managing common data shared by the containers in a base image, it is possible to minimize the resources allocated for individual containers and to efficiently utilize the resources. .
또한, 본 발명에 따른 가상화 시스템에서 컨테이너 업데이트 방법 및 그 장치는, 컨테이너 환경을 통해 웹 서비스를 제공받는 클라이언트가 지불해야 하는 비용을 감소시킬 수 있다. In addition, the container update method and apparatus in the virtualization system according to the present invention can reduce the cost to be paid by the client provided with the web service through the container environment.
도 1은 하이퍼바이저 기반 가상화 시스템의 소프트웨어 구조를 설명하기 위한 도면이다.
도 2는 컨테이너 기반 가상화 시스템의 소프트웨어 구조를 설명하기 위한 도면이다.
도 3은 웹 서비스를 제공하기 위한 컨테이너 기반 가상화 시스템의 소프트웨어 구조를 설명하기 위한 도면이다.
도 4는 본 발명에 따른 컨테이너 업데이트 장치의 구조를 나타낸 블록도이다.
도 5는 본 발명에 따른 컨테이너 업데이트 장치의 소프트웨어 구조를 설명하기 위한 도면이다.
도 6은 본 발명에 따른 컨테이너 업데이트 방법을 나타낸 순서도이다. 1 is a diagram for explaining a software structure of a hypervisor-based virtualization system.
2 is a diagram for explaining a software structure of a container-based virtualization system.
3 is a diagram for describing a software structure of a container-based virtualization system for providing a web service.
4 is a block diagram showing the structure of a container update apparatus according to the present invention.
5 is a view for explaining the software structure of the container update apparatus according to the present invention.
6 is a flowchart illustrating a container update method according to the present invention.
본 명세서의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우, 그 상세한 설명은 생략될 수 있다. In the following description of embodiments of the present disclosure, when it is determined that a detailed description of a related well-known configuration or function may obscure the gist of the present disclosure, the detailed description may be omitted.
본 명세서에서 사용되는 "포함한다," "포함할 수 있다." 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. As used herein, "includes," "can include." And the like refer to the existence of the corresponding function, operation, component, etc. disclosed, and do not limit one or more additional functions, operations, components, and the like. Also, in this specification, "includes." Or "have." And the like are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, and that one or more other features or numbers, step, action, component, part, or It should be understood that they do not preclude the presence or possibility of adding these in advance.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.As used herein, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다. Hereinafter, with reference to the accompanying drawings will be described the present invention.
도 4는 본 발명에 따른 컨테이너 업데이트 장치의 구조를 나타낸 블록도이다.4 is a block diagram showing the structure of a container update apparatus according to the present invention.
본 발명에 따른 다양한 실시 예에서, 컨테이너 업데이트 장치(400)는 가상화 시스템을 지원하는 장치로, 특히 컨테이너 기반 가상화 시스템을 지원하는 장치일 수 있다. 그에 따라 컨테이너 업데이트 장치(400)는, 도 2에 도시된 바와 같이, 하드웨어로 구비되는 저장부(440) 상에 호스트 OS를 설치하고, 복수의 컨테이너들 각각을 위하여 저장부(440)의 자원을 분할/할당함으로써 호스트 OS 상에 복수의 컨테이너들을 생성한다. 호스트 OS 상에 생성된 복수의 컨테이너들은 공통 데이터를 이용하여 구동되되, 독립적으로 운용된다. According to various embodiments of the present disclosure, the
본 발명의 다양한 실시 예에서, 컨테이너 업데이트 장치(400)는 다양한 웹 서비스를 제공하기 위한 서버를 가상화하여 컨테이너들로 생성할 수 있다. 컨테이너로 생성되는 서버는, 애플리케이션 서버, 게임 서버, 메일 서버, 미디어 서버, 데이터베이스 서버, 프록시 서버, 웹 서버, 도메인 서버, 홈 서버, FTP 서버 등일 수 있다. According to various embodiments of the present disclosure, the
도 4를 참조하면, 본 발명에 따른 컨테이너 업데이트 장치(400)는 입력부(410), 통신부(420), 제어부(430) 및 저장부(440)를 포함하여 구성된다. Referring to FIG. 4, the
입력부(410)는 컨테이너 업데이트 장치(400)의 동작을 제어하기 위한 다양한 사용자의 조작을 입력받을 수 있다. 이를 위하여, 입력부(410)는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다. The
본 발명의 다양한 실시 예에서, 입력부(410)는 컨테이너를 생성/변경/제어하기 위한 다양한 사용자 입력을 수신할 수 있다. 일 예로, 입력부(410)는 컨테이너 생성 요청 또는 생성된 컨테이너에 대한 설정 정보 변경 등을 위한 사용자 입력을 수신할 수 있다. 또는, 입력부(410)는 적어도 하나의 컨테이너에 대한 업데이트 요청에 대응하는 사용자 입력을 수신할 수 있다.In various embodiments of the present disclosure, the
통신부(420)는 외부와 데이터 통신을 수행한다. 통신부(420)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 송신기와, 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 수신기 등을 포함할 수 있다.The
본 발명의 다양한 실시 예에서, 통신부(420)는 컨테이너를 생성/변경/제어하기 위한 다양한 제어 신호를 수신할 수 있다. 일 예로, 통신부(420)는 컨테이너 생성 요청 또는 컨테이너에 대한 설정 정보 변경 요청 등을 수신할 수 있다. 또는, 통신부(420)는 적어도 하나의 컨테이너에 대한 업데이트 요청, 또는 업데이트 패키지를 수신할 수 있다.In various embodiments of the present disclosure, the
본 발명의 다양한 실시 예에서, 통신부(420)는 컨테이너에 의해 제공되는 서비스를 제공받고 이용하는 적어도 하나의 클라이언트와 데이터 통신을 수행할 수 있다. In various embodiments of the present disclosure, the
제어부(430)는 본 발명에 따른 컨테이너 업데이트 방법을 수행하기 위하여 컨테이너 업데이트 장치(400)의 각 구성 요소들을 제어한다. The
제어부(430)는 호스트 OS 상에 복수의 컨테이너(가상 머신)들을 생성하고 이들의 동작을 제어한다. 제어부(430)는 요청에 따라 웹 서비스를 제공하기 위한 서버를 가상화하여 컨테이너로 생성할 수 있다. The
보다 구체적으로, 도 5를 참조하면, 제어부(430)는 복수의 컨테이너들에 대한 공통 데이터를 호스트 OS(510) 상에 하위 계층 베이스 이미지(이하, 제1 계층 베이스 이미지)(520)로 저장할 수 있다. 제1 계층 베이스 이미지(520)에 저장되는 공통 데이터는 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터일 수 있으며, 예를 들어, Apache, Mysql, PHP 등을 포함할 수 있다. More specifically, referring to FIG. 5, the
제어부(430)는 가상화된 웹 서비스 제공 서버인 복수의 컨테이너들(541-1, ..., 541-N, 542-1, ..., 542-N)에 대하여 제1 계층 베이스 이미지(520)의 공통 데이터에 접근하기 위한 디렉토리 주소를 설정할 수 있다. 복수의 컨테이너들(541-1,..., 541-N, 542-1, ..., 542-N)은 공통 데이터의 참조(이용)가 요구되는 경우, 설정된 디렉토리 주소를 통해 제1 계층 베이스 이미지(520)에 접근하여 공통 데이터를 로드할 수 있다. 복수의 컨테이너들(541-1, ..., 541-N, 542-1, ..., 542-N)은 로드된 공통 데이터를 직접 사용하거나, 자신의 저장 자원(저장 공간)에 복사하여 사용할 수 있다. The
또한, 제어부(430)는 복수의 컨테이너들 중 동일한 웹 서비스를 제공하는 적어도 하나의 컨테이너에 대한 공통 데이터를 제1 계층 베이스 이미지(520) 상에 상위 계층 베이스 이미지(이하, 제2 계층 베이스 이미지)(531, 532)로 저장할 수 있다. 제2 계층 베이스 이미지(531, 532)에 저장되는 공통 데이터는 특정 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터일 수 있다. 일 실시 예에서, 제2 계층 베이스 이미지(531, 532)에 저장되는 공통 데이터는 제1 계층 베이스 이미지(531, 532)에 저장되는 공통 데이터와 상이한 것일 수 있다. 또는, 다른 일 실시 예에서, 제2 계층 베이스 이미지(531, 532)에 저장되는 공통 데이터는 제1 계층 베이스 이미지(520)에 저장되는 공통 데이터와 동일한 것이지만 세부 내용을 달리하는 것으로 제1 계층 베이스 이미지(520)에 저장되는 공통 데이터보다 우선순위(priority)가 높게 설정될 수 있다. In addition, the
도 5의 실시 예에서, 제1 웹 서비스를 제공하기 위한 공통 데이터가 제2 계층 베이스 이미지(531)로 저장되고, 또한 제2 웹 서비스를 제공하기 위한 공통 데이터가 다른 제2 계층 베이스 이미지(532)로 저장된다. 도 5의 실시 예에서, 제1 웹 서비스는 젠킨스이고 제2 웹 서비스는 버그질라이지만, 웹 서비스는 이에 한정되지 않는다. In the embodiment of FIG. 5, the common data for providing the first web service is stored as the second
제어부(430)는 제1 웹 서비스를 제공하기 위한 제1 그룹 컨테이너(541-1, ..., 541-N)에 대해 제1 웹 서비스의 제2 계층 베이스 이미지(531)에 접근하기 위한 디렉토리 주소를 설정할 수 있다. 또한, 제어부(430)는 제2 웹 서비스를 제공하기 위한 제2 그룹 컨테이너(542-1, ..., 542-N)에 대해 제1 웹 서비스의 제2 계층 베이스 이미지(532)에 접근하기 위한 디렉토리 주소를 설정할 수 있다.The
제1 계층 베이스 이미지(520) 및 제2 계층 베이스 이미지(531, 532)는 기본적으로 읽기 전용(read-only) 영역으로 설정된다. The first
제어부(430)는 복수의 컨테이너들(541-1, ..., 541-N, 542-1, ..., 542-N) 각각에 대한 개별 데이터를 컨테이너의 델타(delta) 영역에 별도로 저장할 수 있다. 델타 영역은 읽기 및 쓰기(read-write) 영역으로 설정되며, 일 예로서, 제1 계층 베이스 이미지(520) 및 제2 계층 베이스 이미지(531, 532)의 공통 데이터에 대한 컨테이너들 각각의 개별 설정 값을 포함하는 데이터가 저장될 수 있다. The
도 5의 실시 예에서, 제1 그룹 컨테이너(541-1, ..., 541-N)는 제1 계층 베이스 이미지(520)의 공통 데이터, 제1 서비스를 제공하기 위한 제2 계층 베이스 이미지(531)의 공통 데이터 및 델타 영역에 저장된 개별 데이터를 이용하여 제1 그룹 클라이언트(551-1, ..., 551-N)에게 제1 웹 서비스를 제공할 수 있다. 마찬가지로, 제2 그룹 컨테이너(542-1, ..., 542-N)는 제1 계층 베이스 이미지(520)의 공통 데이터, 제2 서비스를 제공하기 위한 제2 계층 베이스 이미지(532)의 공통 데이터 및 델타 영역에 저장된 개별 데이터를 이용하여 제2 그룹 클라이언트(552-1, ..., 552-N)에게 제2 웹 서비스를 제공할 수 있다.In the embodiment of FIG. 5, the first group containers 541-1,..., 541 -N are common data of the first
상기의 실시 예에서는 제1 계층 베이스 이미지(520)가 하나인 것으로 개시되지만, 본 발명은 이에 한정되지 않는다. 즉, 컨테이너 업데이트 장치(400)가 지원하는 네트워크 장치의 종류 및 형태 등에 따라, 제1 계층 베이스 이미지(520)는 복수 개가 마련될 수 있다. In the above embodiment, the first
또한, 상기의 실시 예에서는, 제2 계층 베이스 이미지(531, 532)가 두 개인 것으로 개시되지만, 본 발명은 이에 한정되지 않으며, 컨테이너 업데이트 장치(400)가 지원하는 웹 서비스의 종류에 따라 더 적은 수의 또는 더 많은 수의 제2 계층 베이스 이미지(531, 532)가 마련될 수 있다. In addition, in the above embodiment, the second
또한, 상기의 실시 예에서는, 컨테이너 업데이트 장치(400)가 공통 데이터 저장을 위한 제1 계층 베이스 이미지(520) 및 제2 계층 베이스 이미지(531, 532)를 구성하는 것으로 개시되지만, 본 발명은 이에 한정되지 않으며, 컨테이너 업데이트 장치(400)가 지원하는 서비스의 구조에 따라 더 많은 계층의 베이스 이미지가 구성될 수 있다. In addition, in the above embodiment, the
본 발명의 다양한 실시 예에서, 컨테이너 업데이트 이벤트가 발생하면, 제어부(430)는 제1 계층 베이스 이미지(520) 및/또는 제2 계층 베이스 이미지(531, 532)에 저장된 공통 데이터의 업데이트를 수행한다. 컨테이너 업데이트 이벤트는 입력부(410) 또는 통신부(420)를 통하여 사용자 입력 또는 업데이트 패키지가 수신되는 것에 의해 발생할 수 있다. 제어부(430)의 컨테이너 업데이트는 호스트 OS(510)에 의해 수행될 수 있다. 이하에서는, 업데이트할 공통 데이터가 저장된 베이스 이미지의 계층에 따라 제어부(430)의 업데이트 방법을 구체적으로 설명한다.According to various embodiments of the present disclosure, when a container update event occurs, the
하위 계층 베이스 이미지의 공통 데이터 업데이트Common data update of lower layer base images
컨테이너 업데이트 이벤트가 발생하면, 제어부(430)는 해당 컨테이너 업데이트 이벤트가 제1 계층 베이스 이미지(520)의 공통 데이터에 관한 것인지, 제2 계층 베이스 이미지(531, 532)의 공통 데이터에 관한 것인지 판단할 수 있다. When a container update event occurs, the
컨테이너 업데이트 이벤트가 제1 계층 베이스 이미지(520)에 저장된 공통 데이터에 관한 것이면, 제어부(430)는 제1 계층 베이스 이미지(520)를 업데이트 패키지의 설치 디렉토리(install directory)로 지정하고, 업데이트 패키지를 실행한다. 이때, 제2 계층 베이스 이미지(520)는 업데이트를 위해 읽기 및 쓰기 영역으로 설정될 수 있다. 그에 따라, 제1 계층 베이스 이미지(520)의 공통 데이터가 업데이트 패키지 따른 공통 데이터로 업데이트된다. If the container update event relates to common data stored in the first
상위 계층 베이스 이미지의 공통 데이터 업데이트Updating Common Data in Higher Layer Base Images
컨테이너 업데이트 이벤트가 복수의 제2 계층 베이스 이미지(531, 532) 중 임의의 제2 계층 베이스 이미지(531 또는 532)에 저장된 공통 데이터에 관한 것이면, 제어부(430)는 제2 계층 베이스 이미지(531 또는 532)보다 하위에 존재하는 베이스 이미지, 즉 도 5의 실시 예에서, 제1 계층 베이스 이미지(520)를 읽기 전용 영역의 하위 디렉토리(lower directory)로 지정하고, 해당하는 제2 계층 베이스 이미지(531 또는 532)를 읽기 및 쓰기 영역의 상위 디렉토리(upperdirectory)로 지정한다. 제어부(430)는 제1 계층 베이스 이미지(520)와 제2 계층 베이스 이미지(531 또는 532)를 결합(merge)하여 마운트(mount)한 뒤 해당 마운트 포인트를 설치 디렉토리로 지정하고, 업데이트 패키지를 실행한다. 그에 따라, 제1 계층 베이스 이미지(520)의 공통 데이터는 변경되지 않고, 제2 계층 베이스 이미지(531 또는 532)의 공통 데이터가 업데이트 패키지 따른 공통 데이터로 업데이트된다. If the container update event relates to common data stored in any second
상위 계층 베이스 이미지 및 하위 계층 베이스 이미지의 공통 데이터 업데이트Common data update for upper and lower layer base images
컨테이너 업데이트 이벤트가 제1 계층 베이스 이미지(520)에 저장된 공통 데이터 및 복수의 제2 계층 베이스 이미지(531, 532) 중 임의의 제2 계층 베이스 이미지(531 또는 532)에 저장된 공통 데이터 모두에 관한 것이면, 제어부(430)는 상술한 상위 계층 베이스 이미지의 공통 데이터 업데이트를 먼저 수행하고, 이후에 상술한 하위 계층 베이스 이미지의 공통 데이터 업데이트를 수행할 수 있다. If the container update event is for both common data stored in the first
복수의 컨테이너들(541-1, ..., 541-N, 542-1, ..., 542-N)은 상기와 같이 업데이트된 제1 계층 베이스 이미지(520) 및/또는 제2 계층 베이스 이미지(531, 532)의 공통 데이터를 참조함으로써 업데이트된 컨테이너로써 동작하며, 업데이트된 버전의 웹 서비스를 제공할 수 있다. 필요한 경우, 제어부(430)는 업데이트된 공통 데이터를 이용하는 컨테이너들에 대하여 업데이트된 공통 데이터에 접근하기 위한 디렉토리 주소를 재설정할 수 있다. The plurality of containers 541-1,..., 541 -N, 542-1,..., 542 -N are the first
저장부(440)는 제어부(430)의 동작을 위한 다양한 프로그램, 복수의 컨테이너를 위한 다양한 데이터들을 저장할 수 있다. 저장부(440)에 저장된 프로그램은 제어부(430)에 의하여 실행될 수 있다. The
본 발명의 다양한 실시 예에서, 저장부(440)는 호스트 OS 또는 복수의 컨테이너들을 위한 자원을 할당할 수 있다. 저장부(440)는 제어부(430)의 제어에 따라, 복수의 컨테이너들의 공통 데이터를 저장하기 위한 베이스 이미지를 위하여 자원을 할당하거나, 복수의 컨테이너들을 위해 할당된 자원의 일부를 각 컨테이너들의 델타 영역을 위하여 할당할 수 있다. In various embodiments of the present disclosure, the
이를 위하여, 저장부(440)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.To this end, the
도 6은 본 발명에 따른 컨테이너 업데이트 방법을 나타낸 순서도이다. 6 is a flowchart illustrating a container update method according to the present invention.
도 6을 참조하면, 컨테이너 업데이트 장치는 시작 단계에서 호스트 OS가 구동된 이후, 대기 상태로 동작 중일 수 있다. Referring to FIG. 6, the container update apparatus may be operating in a standby state after the host OS is driven in a start stage.
컨테이너 업데이트 장치는 복수의 컨테이너들을 생성한다(601). 컨테이너 업데이트 장치는 입력부 또는 통신부를 통하여 컨테이너 생성 요청이 수신되면, 호스트 OS 상에 복수의 컨테이너들을 생성할 수 있다. 컨테이너 업데이트 장치는 저장부의 자원(저장 공간)을 분할하여 복수의 컨테이너들 각각을 위해 할당하고, 할당된 자원에 각각의 컨테이너를 위한 데이터를 저장하도록 구성할 수 있다. The container update apparatus generates a plurality of containers (601). When the container update request is received through the input unit or the communication unit, the container update apparatus may generate a plurality of containers on the host OS. The container updating apparatus may be configured to divide a resource (storage space) of the storage unit, allocate the resource for each of the plurality of containers, and store data for each container in the allocated resource.
복수의 컨테이너들은 공통 데이터를 이용할 수 있다. 예를 들어, 복수의 컨테이너들은 공통 데이터를 이용하여 구동되며 독립적으로 운영되는 서버일 수 있다. 컨테이너 업데이트 장치는, 복수의 컨테이너들의 동일한 공통 데이터를 별개의 할당된 자원 영역, 즉 베이스 이미지에 저장하여 복수의 컨테이너들이 공유할 수 있도록 한다. 본 발명의 다양한 실시 예에서, 컨테이너 업데이트 장치는, 복수의 컨테이너들 간 공통 데이터의 공유 계층 구조에 따라 베이스 이미지를 계층적으로 구성할 수 있다.The plurality of containers may use common data. For example, the plurality of containers may be servers that are driven using common data and operate independently. The container updating apparatus stores the same common data of a plurality of containers in a separate allocated resource region, that is, a base image, so that the plurality of containers can be shared. According to various embodiments of the present disclosure, the container update apparatus may construct a base image hierarchically according to a shared hierarchical structure of common data among a plurality of containers.
구체적으로, 컨테이너 업데이트 장치는 복수의 컨테이너들의 공통 데이터를 하위 계층 베이스 이미지에 저장한다. 또한, 컨테이너 업데이트 장치는 복수의 컨테이너들 중 적어도 일부가 공통 데이터를 이용하는 경우, 적어도 일부에 대한 공통 데이터를 상위 계층 베이스 이미지에 저장한다. 컨테이너 업데이트 장치는 복수의 컨테이너들 각각의 개별 데이터를 복수의 컨테이너들을 위하여 할당된 개별 자원에 저장한다. In detail, the container update apparatus stores common data of a plurality of containers in a lower layer base image. In addition, when at least some of the plurality of containers use common data, the container update apparatus stores common data for at least some of the containers in the upper layer base image. The container updating apparatus stores the individual data of each of the plurality of containers in separate resources allocated for the plurality of containers.
이후에, 공통 데이터에 대한 컨테이너 업데이트 이벤트가 발생하면(602), 컨테이너 업데이트 장치는 업데이트 할 공통 데이터가 한 계층의 베이스 이미지에 저장되어 있는지 판단한다(603). Thereafter, when a container update event for common data occurs (602), the container update apparatus determines whether common data to be updated is stored in a base image of one layer (603).
컨테이너 업데이트 요청은 입력부 또는 통신부를 통하여 컨테이너에 대한 업데이트 패키지가 수신되는 경우 발생하거나, 입력부 또는 통신부를 통하여 수신될 수 있다. 컨테이너 업데이트 장치는 수신된 컨테이너 업데이트 요청에 기초하여 공통 데이터가 업데이트 된 것인지 판단할 수 있다. The container update request may occur when an update package for a container is received through the input unit or the communication unit, or may be received through the input unit or the communication unit. The container update apparatus may determine whether the common data is updated based on the received container update request.
업데이트 할 공통 데이터가 한 계층의 베이스 이미지에 저장되어 있으면, 컨테이너 업데이트 장치는 업데이트 할 공통 데이터를 저장한 베이스 이미지가 최하위 계층 베이스 이미지인지 판단한다(604). If the common data to be updated is stored in the base image of one layer, the container updating apparatus determines whether the base image storing the common data to be updated is the lowest layer base image (604).
공통 데이터를 저장한 베이스 이미지가 최하위 계층 베이스 이미지이면(도 5의 실시 예에서, 제1 계층 베이스 이미지(520)), 컨테이너 업데이트 장치는 해당 베이스 이미지를 업데이트 패키지의 설치 디렉토리로 지정하고 업데이트를 실행한다(605). If the base image storing the common data is the lowest hierarchical base image (in the embodiment of FIG. 5, the first hierarchical base image 520), the container updater designates the base image as the installation directory of the update package and executes the update. (605).
공통 데이터를 저장한 베이스 이미지가 최하위 계층 베이스 이미지가 아니면(도 5의 실시 예에서, 제2 계층 베이스 이미지(531, 532)), 컨테이너 업데이트 장치는 해당 베이스 이미지의 적어도 하나의 하위 계층 베이스 이미지를 읽기 전용 영역의 하위 디렉토리로 지정하고, 해당 베이스 이미지를 읽기 및 쓰기 영역의 상위 디렉토리로 지정한다(606). 이후에 컨테이너 업데이트 장치는 적어도 하나의 하위 계층 베이스 이미지와 해당 베이스 이미지를 결합하여 마운트하고(607), 마운트 포인트를 설치 디렉토리로 지정하여 업데이트를 실행한다(608).If the base image storing the common data is not the lowest hierarchical base image (in the embodiment of FIG. 5, the second
한편, 업데이트 할 공통 데이터가 복수 개 계층의 베이스 이미지에 저장되어 있으면, 컨테이너 업데이트 장치는 먼저 해당 베이스 이미지들 중 최하위 계층 베이스 이미지를 설치 디렉토리로 지정하여 최하위 계층 베이스 이미지에 대한 업데이트를 실행한다(609). 이후에 컨테이너 업데이트 장치는 해당 베이스 이미지들 중 최상위 계층 베이스 이미지에 대한 업데이트가 완료될 때까지, 최하위 계층 베이스 이미지의 다음 하위 계층 베이스 이미지로부터 최상위 계층 베이스 이미지까지 606 내지 608 단계를 반복적으로 수행한다(610).On the other hand, if the common data to be updated is stored in the base images of the plurality of layers, the container updating apparatus first designates the lowest layer base image among the corresponding base images as an installation directory and executes the update on the lowest layer base image (609). ). Thereafter, the container updating apparatus repeatedly performs
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. Those skilled in the art will appreciate that various modifications and variations can be made without departing from the essential features of the present invention. In addition, the embodiments disclosed in the specification and the drawings merely present specific examples to easily explain and easily understand the contents of the present invention, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be construed that all changes or modifications derived based on the technical spirit of the present invention are included in the scope of the present invention in addition to the embodiments disclosed herein.
400: 컨테이너 업데이트 장치
410: 입력부
420: 통신부
430: 제어부
440: 저장부400: container update device
410: input unit
420: communication unit
430: control unit
440: storage unit
Claims (10)
상기 컨테이너 업데이트 장치가 호스트 OS 상에 복수의 컨테이너들을 생성하는 단계;
상기 복수의 컨테이너들 모두에 대한 제1 공통 데이터를 제1 계층 베이스 이미지에 저장하는 단계;
상기 복수의 컨테이너들 중 적어도 일부에 대한 제2 공통 데이터를 제2 계층 베이스 이미지에 저장하는 단계; 및
임의의 공통 데이터에 대한 컨테이너 업데이트 요청이 수신되면, 업데이트할 공통 데이터가 어느 계층 베이스 이미지에 저장되어 있는지 여부에 기초하여 상이한 방식으로 업데이트를 수행하는 단계를 포함하되,
상기 제1 계층 베이스 이미지는 상기 제2 계층 베이스 이미지보다 하위 계층인 것을 특징으로 하는 컨테이너 업데이트 방법. As a data update method of a container updater in a virtualization system for operating a plurality of virtual machine containers,
Generating, by the container updating apparatus, a plurality of containers on a host OS;
Storing first common data for all of the plurality of containers in a first hierarchical base image;
Storing second common data for at least some of the plurality of containers in a second hierarchical base image; And
If a container update request for any common data is received, performing the update in a different manner based on which hierarchical image the common data to be updated is stored in,
And the first hierarchical base image is a lower layer than the second hierarchical base image.
상기 업데이트할 공통 데이터가 최하위 계층 베이스 이미지에 저장되어 있으면, 제1 업데이트 동작을 수행하는 단계를 포함하되,
상기 제1 업데이트 동작은,
상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 설치 디렉토리로 지정하는 단계; 및
상기 설치 디렉토리에 대하여 업데이트를 실행하는 단계를 포함하는 것을 특징으로 하는 컨테이너 업데이트 방법. The method of claim 1, wherein performing the update comprises:
If the common data to be updated is stored in a lowest layer base image, performing a first update operation,
The first update operation,
Designating a base image in which the common data to be updated is stored as an installation directory; And
And updating the installation directory.
상기 업데이트할 공통 데이터가 상기 최하위 계층 베이스 이미지에 저장되어 있지 않으면, 제2 업데이트 동작을 수행하는 단계를 포함하되,
상기 제2 업데이트 동작은,
상기 업데이트할 공통 데이터가 저장된 베이스 이미지의 적어도 하나의 하위 계층 베이스 이미지를 읽기 전용 영역으로 지정하고, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 읽기 및 쓰기 영역으로 지정하는 단계;
상기 적어도 하나의 하위 계층 베이스 이미지 및 상기 업데이트할 공통 데이터를 결합하여 마운트하는 단계;
상기 마운트된 포인트를 설치 디렉토리로 지정하는 단계; 및
상기 설치 디렉토리에 대하여 업데이트를 실행하는 단계를 포함하는 것을 특징으로 하는 컨테이너 업데이트 방법. The method of claim 2, wherein performing the update comprises:
If the common data to be updated is not stored in the lowest hierarchical base image, performing a second update operation,
The second update operation,
Designating at least one lower layer base image of the base image storing the common data to be updated as a read-only area and designating a base image having the common data to be updated as a read and write area;
Combining and mounting the at least one lower layer base image and the common data to be updated;
Designating the mounted point as an installation directory; And
And updating the installation directory.
상기 업데이트할 공통 데이터가 복수 개 계층의 베이스 이미지들에 저장되어 있으면, 상기 복수 개 계층의 베이스 이미지들 중 최하위 계층 베이스 이미지에 대하여 상기 제1 업데이트 동작을 수행하는 단계; 및
상기 복수 개 계층의 베이스 이미지들 중 최상위 계층 베이스 이미지가 업데이트 될 때까지, 상기 최하위 계층 베이스 이미지의 다음 하위 계층 베이스 이미지로부터 상기 최상위 계층 베이스 이미지까지 상기 제2 업데이트 동작을 반복하여 수행하는 단계를 포함하는 것을 특징으로 하는 컨테이너 업데이트 방법. The method of claim 3, wherein performing the update comprises:
If the common data to be updated is stored in base images of a plurality of layers, performing the first update operation on a lowest layer base image of the base layers of the plurality of layers; And
Repeating the second update operation from a next lower layer base image of the lowest layer base image to the highest layer base image until the highest layer base image of the plurality of layer base images is updated. Container update method, characterized in that.
웹 서비스를 제공하는 서버로서 동작하고,
상기 제1 계층 베이스 이미지에 저장되는 상기 제1 공통 데이터는,
상기 복수의 컨테이너들 모두가 제공하는 상기 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터이고,
상기 제2 계층 베이스 이미지에 저장되는 상기 제2 공통 데이터는,
상기 복수의 컨테이너들 중 상기 적어도 일부가 제공하는 특정 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터인 것을 특징으로 하는 컨테이너 업데이트 방법. The method of claim 1, wherein the plurality of containers,
Act as a server that provides Web services,
The first common data stored in the first hierarchical base image is
Web service data necessary for providing the web service provided by all of the plurality of containers,
The second common data stored in the second hierarchical base image is
And web service data necessary to provide a specific web service provided by the at least some of the plurality of containers.
호스트 OS 상에 생성된 복수의 컨테이너들을 위한 데이터를 저장하는 저장부; 및
상기 저장부의 자원을 분할하여 상기 복수의 컨테이너들 각각을 위해 할당하고, 상기 복수의 컨테이너들 모두에 대한 제1 공통 데이터를 제1 계층 베이스 이미지에 저장하고, 상기 복수의 컨테이너들 중 적어도 일부에 대한 제2 공통 데이터를 제2 계층 베이스 이미지에 저장하고, 임의의 공통 데이터에 대한 컨테이너 업데이트 요청이 수신되면, 업데이트할 공통 데이터가 어느 계층 베이스 이미지에 저장되어 있는지 여부에 기초하여 상이한 방식으로 업데이트를 수행하는 제어부를 포함하되,
상기 제1 계층 베이스 이미지는 상기 제2 계층 베이스 이미지보다 하위 계층인 것을 특징으로 하는 컨테이너 업데이트 장치.Data update device that provides a virtualization system for operating a plurality of virtual machine containers,
A storage unit which stores data for a plurality of containers created on the host OS; And
Dividing a resource of the storage unit and allocating for each of the plurality of containers, storing first common data for all of the plurality of containers in a first hierarchical base image, and storing at least some of the plurality of containers Store the second common data in the second hierarchical base image, and when a container update request for any common data is received, perform the update in a different manner based on which hierarchical image the common data to be updated is stored in Including a control unit,
And the first hierarchical base image is a lower layer than the second hierarchical base image.
상기 업데이트할 공통 데이터가 최하위 계층 베이스 이미지에 저장되어 있으면, 제1 업데이트 동작을 수행하되,
상기 제1 업데이트 동작은,
상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 설치 디렉토리로 지정하고, 상기 설치 디렉토리에 대하여 업데이트를 실행하는 것을 특징으로 하는 컨테이너 업데이트 장치.The method of claim 6, wherein the control unit,
If the common data to be updated is stored in the lowest hierarchical base image, the first update operation is performed.
The first update operation,
And specifying a base image in which the common data to be updated is stored as an installation directory, and updating the installation directory.
상기 업데이트할 공통 데이터가 상기 최하위 계층 베이스 이미지에 저장되어 있지 않으면, 제2 업데이트 동작을 수행하되,
상기 제2 업데이트 동작은,
상기 업데이트할 공통 데이터가 저장된 베이스 이미지의 적어도 하나의 하위 계층 베이스 이미지를 읽기 전용 영역으로 지정하고, 상기 업데이트할 공통 데이터가 저장된 베이스 이미지를 읽기 및 쓰기 영역으로 지정하고, 상기 적어도 하나의 하위 계층 베이스 이미지 및 상기 업데이트할 공통 데이터를 결합하여 마운트하고, 상기 마운트된 포인트를 설치 디렉토리로 지정하여 상기 설치 디렉토리에 대하여 업데이트를 실행하는 것을 특징으로 하는 컨테이너 업데이트 장치. The method of claim 7, wherein the control unit,
If the common data to be updated is not stored in the lowest hierarchical base image, the second update operation is performed.
The second update operation,
Designating at least one lower layer base image of the base image storing the common data to be updated as a read only area, designating a base image storing the common data to be updated as a reading and writing area, and at least one lower layer base image And combining and mounting the image and the common data to be updated, and designating the mounted point as an installation directory to execute the update to the installation directory.
상기 업데이트할 공통 데이터가 복수 개 계층의 베이스 이미지들에 저장되어 있으면, 상기 복수 개 계층의 베이스 이미지들 중 최하위 계층 베이스 이미지에 대하여 상기 제1 업데이트 동작을 수행하고, 상기 복수 개 계층의 베이스 이미지들 중 최상위 계층 베이스 이미지가 업데이트 될 때까지, 상기 최하위 계층 베이스 이미지의 다음 하위 계층 베이스 이미지로부터 상기 최상위 계층 베이스 이미지까지 상기 제2 업데이트 동작을 반복하여 수행하는 것을 특징으로 하는 컨테이너 업데이트 장치. The method of claim 8, wherein the control unit,
When the common data to be updated is stored in base images of a plurality of layers, the first update operation is performed on the lowest layer base image among the base layers of the plurality of layers, and the base images of the plurality of layers are updated. And repeating the second update operation from a next lower layer base image of the lowest layer base image to the highest layer base image until the uppermost layer base image is updated.
웹 서비스를 제공하는 서버로서 동작하고,
상기 제1 계층 베이스 이미지에 저장되는 상기 제1 공통 데이터는,
상기 복수의 컨테이너들 모두가 제공하는 상기 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터이고,
상기 제2 계층 베이스 이미지에 저장되는 상기 제2 공통 데이터는,
상기 복수의 컨테이너들 중 상기 적어도 일부가 제공하는 특정 웹 서비스를 제공하기 위하여 필요한 웹 서비스 데이터인 것을 특징으로 하는 컨테이너 업데이트 장치. The method of claim 6, wherein the plurality of containers,
Act as a server that provides Web services,
The first common data stored in the first hierarchical base image is
Web service data necessary for providing the web service provided by all of the plurality of containers,
The second common data stored in the second hierarchical base image is
Container service device, characterized in that the web service data necessary to provide a specific web service provided by the at least some of the plurality of containers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180023825A KR102019486B1 (en) | 2018-02-27 | 2018-02-27 | Update method of containers in virtual system and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180023825A KR102019486B1 (en) | 2018-02-27 | 2018-02-27 | Update method of containers in virtual system and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190102839A KR20190102839A (en) | 2019-09-04 |
KR102019486B1 true KR102019486B1 (en) | 2019-09-06 |
Family
ID=67950048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180023825A KR102019486B1 (en) | 2018-02-27 | 2018-02-27 | Update method of containers in virtual system and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102019486B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220067757A (en) * | 2020-11-18 | 2022-05-25 | (주) 글루시스 | Virtualization system based on container and method for expanding resource of container in virtualization system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123556A (en) | 2010-12-07 | 2012-06-28 | Hitachi Solutions Ltd | Virtual server system and control method thereof |
KR101569945B1 (en) | 2007-09-21 | 2015-11-18 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Software deployment in large-scale networked systems |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101007279B1 (en) * | 2007-12-17 | 2011-01-13 | 한국전자통신연구원 | Method and system for provisioning of virtual machine using virtual machine disk pool |
KR101559541B1 (en) * | 2013-12-16 | 2015-10-15 | 아주대학교산학협력단 | Multi-pc system based on virtual desktop technology |
KR20150109692A (en) * | 2014-03-20 | 2015-10-02 | 한국전자통신연구원 | Apparatus and method for providing virtual machine image file |
KR20150113353A (en) * | 2014-03-28 | 2015-10-08 | 전자부품연구원 | Server System for Virtual Desktop Image Distributed Store and Block Level Read/Write |
-
2018
- 2018-02-27 KR KR1020180023825A patent/KR102019486B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101569945B1 (en) | 2007-09-21 | 2015-11-18 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Software deployment in large-scale networked systems |
JP2012123556A (en) | 2010-12-07 | 2012-06-28 | Hitachi Solutions Ltd | Virtual server system and control method thereof |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220067757A (en) * | 2020-11-18 | 2022-05-25 | (주) 글루시스 | Virtualization system based on container and method for expanding resource of container in virtualization system |
WO2022107932A1 (en) * | 2020-11-18 | 2022-05-27 | (주)글루시스 | Container-based virtualization system and method for expanding container resources in virtualization system |
KR102438916B1 (en) * | 2020-11-18 | 2022-09-01 | (주)글루시스 | Virtualization system based on container and method for expanding resource of container in virtualization system |
Also Published As
Publication number | Publication date |
---|---|
KR20190102839A (en) | 2019-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019475B (en) | Resource access method, device, system and storage medium under server-free architecture | |
US8301746B2 (en) | Method and system for abstracting non-functional requirements based deployment of virtual machines | |
US7757034B1 (en) | Expansion of virtualized physical memory of virtual machine | |
US20170322824A1 (en) | Cloning Computing Device Containers | |
KR102361929B1 (en) | Capacity Management in Provider Networks Using Dynamic Host Device Instance Model Reconfiguration | |
US8527989B2 (en) | Tracking loading and unloading of kernel extensions in isolated virtual space | |
CN110741352B (en) | Virtual network function management system, virtual network function management method and computer readable storage device | |
US8635425B1 (en) | Upgrading computing devices | |
KR102453818B1 (en) | MANAGING MULTI-SINGLE-TENANT SaaS SERVICES | |
US9678984B2 (en) | File access for applications deployed in a cloud environment | |
US20140189031A1 (en) | Computing device and method of creating virtual machines in hosts | |
KR102019485B1 (en) | Update method of containers in virtual system and apparatus thereof | |
KR20130131963A (en) | System and method for constructing on-demand virtual cluster | |
KR20150113353A (en) | Server System for Virtual Desktop Image Distributed Store and Block Level Read/Write | |
KR102019486B1 (en) | Update method of containers in virtual system and apparatus thereof | |
WO2013162531A1 (en) | Dynamic memory allocation | |
CN108566432B (en) | Application deployment method, device, server and storage medium of PaaS platform | |
CN112219202A (en) | Memory allocation for guest operating systems | |
CN107832097B (en) | Data loading method and device | |
US8677354B2 (en) | Controlling kernel symbol visibility and accessibility across operating system linkage spaces | |
KR101835431B1 (en) | Data update method of containers in virtual system and apparatus thereof | |
KR102019487B1 (en) | Update method of containers in virtual system and apparatus thereof | |
US10228859B2 (en) | Efficiency in active memory sharing | |
US20220229685A1 (en) | Application execution on a virtual server based on a key assigned to a virtual network interface | |
US11360756B2 (en) | Processing unit subtype configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |