KR102438916B1 - Virtualization system based on container and method for expanding resource of container in virtualization system - Google Patents

Virtualization system based on container and method for expanding resource of container in virtualization system Download PDF

Info

Publication number
KR102438916B1
KR102438916B1 KR1020200154335A KR20200154335A KR102438916B1 KR 102438916 B1 KR102438916 B1 KR 102438916B1 KR 1020200154335 A KR1020200154335 A KR 1020200154335A KR 20200154335 A KR20200154335 A KR 20200154335A KR 102438916 B1 KR102438916 B1 KR 102438916B1
Authority
KR
South Korea
Prior art keywords
disk
container
sub
write request
containers
Prior art date
Application number
KR1020200154335A
Other languages
Korean (ko)
Other versions
KR20220067757A (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 KR1020200154335A priority Critical patent/KR102438916B1/en
Priority to PCT/KR2020/016509 priority patent/WO2022107932A1/en
Publication of KR20220067757A publication Critical patent/KR20220067757A/en
Application granted granted Critical
Publication of KR102438916B1 publication Critical patent/KR102438916B1/en

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • 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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45579I/O management, e.g. providing access to device drivers or storage

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)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Electric Double-Layer Capacitors Or The Like (AREA)

Abstract

컨테이너에 할당된 디스크 자원의 부족으로 인해, 컨테이너에서 실행중인 응용 프로그램이 중단되는 문제를 해결할 수 있는 컨테이너 기반의 가상화 시스템 및 가상화 시스템에서 컨테이너의 자원을 확장하는 방법이 개시된다. 개시된 가상화 시스템에서 컨테이너의 자원을 확장하는 방법은 복수의 컨테이너 각각에 할당된 메인 디스크 자원의 사용률을 모니터링하는 단계; 및 상기 사용률이 임계 사용률 이상인 타겟 컨테이너에 대한 쓰기 요청 파일을 서브 디스크에 저장하는 단계를 포함한다.Disclosed are a container-based virtualization system capable of solving a problem in which an application program running in a container is stopped due to a lack of disk resources allocated to the container, and a method of extending the resource of a container in the virtualization system. In the disclosed virtualization system, a method of expanding a resource of a container includes: monitoring a utilization rate of a main disk resource allocated to each of a plurality of containers; and storing the write request file for the target container whose usage rate is equal to or greater than the threshold usage rate in the sub-disk.

Description

컨테이너 기반의 가상화 시스템 및 가상화 시스템에서 컨테이너의 자원을 확장하는 방법{VIRTUALIZATION SYSTEM BASED ON CONTAINER AND METHOD FOR EXPANDING RESOURCE OF CONTAINER IN VIRTUALIZATION SYSTEM}{VIRTUALIZATION SYSTEM BASED ON CONTAINER AND METHOD FOR EXPANDING RESOURCE OF CONTAINER IN VIRTUALIZATION SYSTEM}

본 발명은 가상화 시스템 및 가상화 시스템에서 자원을 조절하는 방법에 관한 것으로서, 더욱 상세하게는 컨테이너 기반의 가상화 시스템과, 이러한 가상화 시스템에서 컨테이너의 자원을 확장하는 방법에 관한 것이다. The present invention relates to a virtualization system and a method for controlling resources in a virtualization system, and more particularly, to a container-based virtualization system and a method of extending a resource of a container in the virtualization system.

오늘날 대표적인 클라우드 플랫폼에서는 기존에 사용하던 가상화 방법인 가상 머신 이외에도 컨테이너(container)라는 가상화 도구가 제공된다. 사용자가 원하는 자원을 요청하면, 클라우드 플랫폼은 요청된 자원이 할당된 컨테이너를 사용자에게 제공한다. In today's representative cloud platforms, a virtualization tool called a container is provided in addition to the virtual machine, which is the previously used virtualization method. When a user requests a desired resource, the cloud platform provides the user with a container to which the requested resource is allocated.

컨테이너 기반의 가상화 방법은, 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템을 실행하기 위한 운영 시스템 레벨 가상화 방법으로서, 운영체제 레벨 가상화라고도 불린다. 컨테이너 기반 가상화 방법은, 운영 환경을 완전히 고립시키기 위해 리눅스 버전 2.6.24에서 릴리즈된 기능인 Cgroups과 Namespace를 결합하여 응용프로그램을 위한 고립된 환경을 제공한다. Cgroup은 Control Group의 약자로서, 시스템의 CPU, 시스템 메모리, 네트워크 대역폭과 같은 자원을 제한하고 격리할 수 있는 커널의 기능이며, Namespace는 시스템 리소스를 프로세스의 전용 자원처럼 보이게 하고, 다른 프로세스와 격리 시키는 커널의 기능이다. The container-based virtualization method is an operating system level virtualization method for executing multiple isolated Linux systems on a single control host, and is also called operating system level virtualization. The container-based virtualization method provides an isolated environment for applications by combining Cgroups and Namespaces, a feature released in Linux version 2.6.24, to completely isolate the operating environment. Cgroup is an abbreviation of Control Group, which is a function of the kernel that can limit and isolate resources such as CPU, system memory, and network bandwidth of the system. It is a function of the kernel.

널리 사용되는 기존 가상화 방식에는 Xen과 KVM과 같은 하이퍼바이저들이 있으며, 하이퍼바이저로 가상 머신 환경을 만들고 그 위에 게스트 운영체제를 실행시켜 호스트 운영체제와 게스트 운영체제를 완전히 분리할 수 있다. 하지만 이러한 방식은, 실제 물리적 하드웨어를 에뮬레이션하는 방식으로서, 오버헤드가 증가하는 단점이 있다. Existing virtualization methods that are widely used include hypervisors such as Xen and KVM, and by creating a virtual machine environment with the hypervisor and running a guest operating system on it, the host operating system and the guest operating system can be completely separated. However, this method emulates actual physical hardware, and has a disadvantage in that overhead increases.

반면에 컨테이너 기반의 가상화 방법은 호스트 운영체제의 커널을 공유하고 시스템의 나머지 부분으로부터 애플리케이션 프로세스를 격리하는 방식을 이용한다. 즉, 이 방법은 호스트의 운영체제가 사용하는 자원을 분리하여, 컨테이너라는 격리된 공간을 생성하기 때문에, 하드웨어 에뮬레이션이 없으며, 오버헤드가 거의 존재하지 않는다. On the other hand, the container-based virtualization method uses the method of sharing the kernel of the host operating system and isolating the application process from the rest of the system. That is, since this method creates an isolated space called a container by separating the resources used by the operating system of the host, there is no hardware emulation and almost no overhead.

컨테이너에는 부팅 및 종료라는 개념이 없으며, 컨테이너의 시작, 종료는 운영체제 입장에서 프로세스를 시작, 종료하는 것과 큰 차이가 없으므로 매우 빠르게 처리될 수 있다. 대표적인 컨테이너 실행 드라이버로는 LXC(LinuX Container)와 도커(Docker)가 있다.There is no concept of booting and terminating a container, and starting and terminating a container is not much different from starting and terminating a process from the point of view of the operating system, so it can be handled very quickly. Representative container execution drivers include LXC (LinuX Container) and Docker.

관련 선행문헌으로 특허 문헌인 대한민국 공개특허 제2018-0045347호, 대한민국 등록특허 제10-1644894호, 제10-1553532호가 있다.As related prior documents, there are Korean Patent Publication No. 2018-0045347, Korean Patent Registration No. 10-1644894, and No. 10-1553532, which are patent documents.

본 발명은 컨테이너에 할당된 디스크 자원의 부족으로 인해, 컨테이너에서 실행중인 응용 프로그램이 중단되는 문제를 해결할 수 있는 컨테이너 기반의 가상화 시스템 및 가상화 시스템에서 컨테이너의 자원을 확장하는 방법을 제공하기 위한 것이다. An object of the present invention is to provide a container-based virtualization system capable of solving a problem in which an application program running in a container is stopped due to a lack of disk resources allocated to the container, and a method of extending the resource of a container in the virtualization system.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 복수의 컨테이너 각각에 할당된 메인 디스크 자원의 사용률을 모니터링하는 단계; 및 상기 사용률이 임계 사용률 이상인 타겟 컨테이너에 대한 쓰기 요청 파일을 서브 디스크에 저장하는 단계를 포함하는 가상화 시스템에서 컨테이너의 자원을 확장하는 방법이 제공된다. According to an embodiment of the present invention for achieving the above object, the method comprising: monitoring a utilization rate of a main disk resource allocated to each of a plurality of containers; and storing, in a sub-disk, a write request file for a target container whose usage rate is equal to or greater than a threshold usage rate.

또한 상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 복수의 컨테이너 각각에 대해 미리 할당된 디스크 자원을 제공하는 메인 디스크; 서브 디스크; 상기 복수의 컨테이너 각각에 할당된 디스크 자원의 사용률을 모니터링하고, 상기 사용률이 임계 사용률 이상인 타겟 컨테이너를 결정하는 자원 관리 모듈; 및 상기 타겟 컨테이너에 대한 쓰기 요청 파일의 저장 경로를 상기 메인 디스크에서 상기 서브 디스크로 변경하는 오버레이 파일 시스템을 포함하는 컨테이너 기반의 가상화 시스템이 제공된다.In addition, according to another embodiment of the present invention for achieving the above object, a main disk providing a disk resource allocated in advance for each of a plurality of containers; sub disk; a resource management module for monitoring a utilization rate of disk resources allocated to each of the plurality of containers, and determining a target container whose utilization rate is equal to or greater than a threshold utilization rate; and an overlay file system for changing a storage path of a write request file for the target container from the main disk to the sub disk.

본 발명의 일실시예에 따르면, 서브 디스크 자원을 추가로 컨테이너에 할당하여, 가용 디스크 자원이 부족한 컨테이너에 대한 쓰기 요청 파일을 서브 디스크에 저장함으로써, 가용 디스크 자원 부족에 따른 응용 프로그램의 중단이 방지될 수 있다. According to an embodiment of the present invention, by additionally allocating a sub-disk resource to a container and storing a write request file for a container with insufficient available disk resource in the sub-disk, interruption of an application program due to insufficient available disk resource is prevented can be

도 1은 본 발명의 일실시예에 따른 컨테이너 기반의 가상화 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 오버레이 파일 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 다른 실시예에 따른 컨테이너 기반의 가상화 시스템을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 가상화 시스템에서 컨테이너의 자원을 확장하는 방법을 설명하기 위한 도면이다.
1 is a diagram for explaining a container-based virtualization system according to an embodiment of the present invention.
2 is a diagram for explaining an overlay file system according to an embodiment of the present invention.
3 is a view for explaining a container-based virtualization system according to another embodiment of the present invention.
4 is a diagram for explaining a method of extending a resource of a container in a virtualization system according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

컨테이너 기반의 가상화 방법은, 적은 오버헤드를 유발하는 장점으로 인해 널리 사용되고 있지만, 컨테이너에 할당된 저장 매체, 즉 디스크 자원을 초과하는 입출력(I/O) 요청이 컨테이너에 대해 발생할 경우 컨테이너에 할당된 디스크 자원의 부족으로 인해, 컨테이너에서 실행중인 응용 프로그램이 중단되는 문제가 발생할 수 있다. 즉, 컨테이너에 대한 가용 디스크 자원을 초과하는 용량의 데이터의 쓰기 요청이, 해당 컨테이너에 대해 발생한 경우, 해당 컨테이너에서 실행중인 응용 프로그램이 중단될 수 있다.Although the container-based virtualization method is widely used due to the advantage of inducing low overhead, when an input/output (I/O) request exceeding the storage medium allocated to the container, that is, the disk resource, occurs to the container, the Due to the lack of disk resources, an application running in the container may be stopped. That is, when a write request for data with a capacity exceeding the available disk resources for the container occurs for the container, the application program running in the container may be stopped.

이에 본 발명은 컨테이너 기반의 가상화 환경에서 컨테이너의 자원을 확장시킬 수 있는 방법을 제안한다. 컨테이너가 생성된 상태에서는 컨테이너에 할당된 자원을 조절할 수 없기 때문에, 본 발명의 일실시예는 컨테이너가 생성된 상태에서도 컨테이너의 자원 확장을 지원하기 위해, 서브 디스크라는 물리 자원을 이용한다. 기본적으로 컨테이너에 할당되는 디스크 자원은 메인 디스크로부터 지원되며, 이후 컨테이너의 자원이 확장될 필요가 있을 경우, 보조적으로 이용되는 서브 디스크의 자원이 컨테이너에 추가로 지원되는 것이다. 이 경우 입출력(I/O) 루틴이, 메인 디스크에서 서브 디스크로 변경된다.Accordingly, the present invention proposes a method for expanding container resources in a container-based virtualization environment. Since the resource allocated to the container cannot be adjusted while the container is created, an embodiment of the present invention uses a physical resource called a sub-disk to support resource expansion of the container even when the container is created. Basically, the disk resource allocated to the container is supported from the main disk, and when the container resource needs to be expanded later, the auxiliary disk resource is additionally supported by the container. In this case, the input/output (I/O) routine is changed from the main disk to the sub disk.

서브 디스크 자원은 일시적으로 제공되는 자원으로서, 서브 디스크에 저장된 데이터는 이후 메인 디스크에 저장될 수 있다. 서브 디스크에 저장된 데이터가 이후 빠르게 메인 디스크로 이동될 수 있도록, 서브 디스크의 입출력 속도는 메인 디스크의 입출력 속도보다 빠른 것이 바람직하다. The sub-disk resource is a temporarily provided resource, and data stored in the sub-disk may then be stored in the main disk. It is preferable that the input/output speed of the sub-disk is faster than the input/output speed of the main disk so that data stored in the sub-disk can be quickly moved to the main disk thereafter.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 컨테이너 기반의 가상화 시스템을 설명하기 위한 도면이며, 도 2는 본 발명의 일실시예에 따른 오버레이 파일 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a container-based virtualization system according to an embodiment of the present invention, and FIG. 2 is a diagram for explaining an overlay file system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 가상화 시스템은, 메인 디스크(110), 서브 디스크(120), 자원 관리 모듈(130) 및 오버레이 파일 시스템(140)을 포함한다.Referring to FIG. 1 , a virtualization system according to an embodiment of the present invention includes a main disk 110 , a sub disk 120 , a resource management module 130 , and an overlay file system 140 .

메인 디스크(110)는 복수의 컨테이너(151, 152) 각각에 대해 미리 할당된 디스크 자원을 제공한다. 메인 디스크(110)는 일실시예로서, HDD 또는 SATA SSD일 수 있으며, 서브 디스크(120)는 메인 디스크(110)보다 입출력 속도가 빠른 NVMe SSD일 수 있다.The main disk 110 provides pre-allocated disk resources for each of the plurality of containers 151 and 152 . The main disk 110 may be an HDD or a SATA SSD as an embodiment, and the sub disk 120 may be an NVMe SSD having a faster input/output speed than the main disk 110 .

자원 관리 모듈(130)은 복수의 컨테이너 각각에 할당된 메인 디스크 자원의 사용률을 모니터링하고, 사용률이 임계 사용률 이상인 타겟 컨테이너를 결정한다. 다시 말해, 자원 관리 모듈(130)은 컨테이너에 할당된 메인 디스크의 자원 중, 잔여 자원량이 임계 잔여량 이하인 타겟 컨테이너를 결정한다.The resource management module 130 monitors the usage rate of the main disk resource allocated to each of the plurality of containers, and determines a target container whose usage rate is equal to or greater than a threshold usage rate. In other words, the resource management module 130 determines a target container whose residual resource amount is less than or equal to a threshold residual amount among the resources of the main disk allocated to the container.

예컨대 임계 사용률은 90 ~ 95%로 설정될 수 있다. 즉, 여기서 타겟 컨테이너는 메인 디스크 자원 사용률이 100%에 임박한 컨테이너로서, 이러한 컨테이너에 대해 추가로 쓰기 요청이 발생할 경우, 해당 컨테이너에서 실행중인 응용 프로그램이 중단될 수 있으므로, 자원 관리 모듈(130)은 이러한 타겟 컨테이너를 모니터링한다.For example, the threshold usage rate may be set to 90 to 95%. That is, here, the target container is a container whose main disk resource usage rate is approaching 100%, and when an additional write request occurs for such a container, the application program running in the container may be stopped, so the resource management module 130 is Monitor these target containers.

오버레이 파일 시스템(140)은 타겟 컨테이너에 대한 쓰기 요청 파일의 저장 경로를 메인 디스크에서 서브 디스크로 변경한다. 오버레이 파일 시스템(140)은, 자원 관리 모듈(130)로부터 타겟 컨테이너에 대한 플래그(flag) 신호를 수신하여, 타겟 컨테이너에 대한 쓰기 요청 파일의 저장 경로를 변경할 수 있다.The overlay file system 140 changes the storage path of the write request file for the target container from the main disk to the sub disk. The overlay file system 140 may receive a flag signal for the target container from the resource management module 130 to change the storage path of the write request file for the target container.

타겟 컨테이너에 대한 쓰기 요청 파일이 서브 디스크에 저장될 수 있도록 자원 관리 모듈(130)은 서브 디스크를 파티션하여 마운트할 수 있으며, 파티션 각각이 컨테이너에 할당된다. 일실시예로서 자원 관리 모듈(130)은 복수의 컨테이너의 개수에 따라서 서브 디스크를 파티션하며, 파티션된 용량은 컨테이너 각각에 할당된 메인 디스크 자원량에 따라 결정될 수 있다.The resource management module 130 may partition and mount the sub-disk so that the write request file for the target container can be stored in the sub-disk, and each partition is assigned to the container. As an embodiment, the resource management module 130 partitions the sub disks according to the number of a plurality of containers, and the partitioned capacity may be determined according to the amount of main disk resources allocated to each container.

예컨대, 복수의 컨테이너 개수가 10개라면 자원 관리 모듈(130)은 서브 디스크(120)에 대해 10개의 파티션을 생성할 수 있으며, 메인 디스크 자원량이 높은 컨테이너에 할당된 파티션 용량은, 메인 디스크 자원량이 낮은 컨테이너에 할당된 파티션 용량보다 클 수 있다.For example, if the number of the plurality of containers is 10, the resource management module 130 may create 10 partitions for the sub-disk 120 , and the partition capacity allocated to the container having a high main disk resource amount is the same as the main disk resource amount. It may be larger than the partition capacity allocated to the lower container.

컨테이너 각각에 할당된 파티션에 데이터가 저장될 수 있도록, 오버레이 파일 시스템의 상위 디렉토리에는, 서브 디스크에 저장되는 쓰기 요청 파일을 위한 디렉토리가 포함된다. The upper directory of the overlay file system includes a directory for write request files stored in the sub disk so that data can be stored in a partition assigned to each container.

오버레이 파일 시스템(Overlay File System)은 유니온 파일 시스템의 한 종류로서, 하나의 디렉토리 지점에 여러 개의 디렉토리를 마운트하여 마치 하나의 통합된 디렉토리처럼 보이도록 하는 파일 시스템이다. 도 2에 도시된 바와 같이, 오버레이 파일 시스템은 서로 다른 레이어에 위치하는 병합 디렉토리(merged dir, 141), 상위 디렉토리(upper dir, 142), 하위 디렉토리(lower dir, 143)로 구성된다. An overlay file system is a type of union file system, and it is a file system that mounts multiple directories at a single directory point to look like a single integrated directory. As shown in FIG. 2 , the overlay file system is composed of a merged directory 141 , an upper directory 142 , and a lower directory 143 located in different layers.

하위 디렉토리(143)는 읽기 전용 디렉토리로서, 읽기 전용 파일이 배치되며, 컨테이너 기반의 가상화 시스템에서 이미지 레이어에 대응된다. 상위 디렉토리(142)는 쓰기 디렉토리로서 새로운 파일이나 갱신된 파일이 배치되며, 컨테이너 기반의 가상화 시스템에서 컨테이너 레이어에 대응된다. 병합 디렉토리(141)는 사용자에게 보여지는 디렉토리로서, 상위 디렉토리(142) 및 하위 디렉토리(143)가 병합된 형태로 사용자에게 보여진다.The sub-directory 143 is a read-only directory, in which a read-only file is disposed, and corresponds to an image layer in a container-based virtualization system. The upper directory 142 is a write directory, in which new or updated files are placed, and corresponds to a container layer in a container-based virtualization system. The merge directory 141 is a directory shown to the user, and the upper directory 142 and the lower directory 143 are shown to the user in a merged form.

본 발명의 일실시예는 메인 디스크(110) 뿐만 아니라 서브 디스크(120)에도 데이터를 저장하기 때문에, 본 발명의 일실시예에 따른 오버레이 파일 시스템(140)은 상위 디렉토리(142)에, 메인 디스크(110)에 저장되는 쓰기 요청 파일을 위한 제1디렉토리(1421) 뿐만 아니라, 서브 디스크(120)에 저장되는 쓰기 요청 파일을 위한 제2디렉토리(1422)를 더 포함한다. 제2디렉토리(1422)는 제1디렉토리(1411)의 상위에 배치될 수 있다.Since the embodiment of the present invention stores data not only on the main disk 110 but also on the sub-disk 120 , the overlay file system 140 according to the embodiment of the present invention is located in the upper directory 142 in the main disk. In addition to the first directory 1421 for the write request file stored in 110 , the second directory 1422 for the write request file stored in the sub disk 120 is further included. The second directory 1422 may be disposed above the first directory 1411 .

오버레이 파일 시스템(140)은, 플래그 신호에 응답하여 쓰기 요청 파일의 저장 경로를 변경한다. 타겟 컨테이너의 자원 사용률이 낮은 상태에서 쓰기 요청된 파일(file2)은 메인 디스크(110)에 저장되며, 제1디렉토리(1421)에 쓰기 요청된 파일(file2)이 배치된다. 이후 타겟 컨테이너의 자원 사용률이 높은 상태에서 쓰기 요청된 파일(file4)은 서브 디스크(120)에 저장되며, 제2디렉토리(1422)에 쓰기 요청된 파일(file4)이 배치된다.The overlay file system 140 changes the storage path of the write request file in response to the flag signal. In a state where the resource usage rate of the target container is low, the write-requested file file2 is stored in the main disk 110 , and the write-requested file file2 is disposed in the first directory 1421 . Thereafter, the write-requested file file4 in a state where the resource usage rate of the target container is high is stored in the sub-disk 120 , and the write-requested file file4 is disposed in the second directory 1422 .

만일, 타겟 컨테이너에 대한 쓰기 요청 파일의 데이터 일부가 메인 디스크(110)에 이미 저장된 상태인 경우, 메인 디스크(110)에 저장된 데이터 일부는 서브 디스크(120)로 이동된다. 즉, 쓰기 요청 파일의 데이터 일부가 메인 디스크(110)에 이미 저장되어 있고, 디스크 자원 사용율이 임계 사용률 이상인 상태에서 쓰기 요청 파일이 갱신되어 저장되어야 하는 상황인 경우, 메인 디스크(110)에 저장된 데이터 일부가 서브 디스크(120)로 이동되어 쓰기 요청 파일의 전체 데이터가 서브 디스크(120)에 저장된다. 그리고 제2디렉토리(1422)에 쓰기 요청 파일이 생성됨으로써, 사용자는 병합 디렉토리(141)를 통해 쓰기 요청 파일을 확인할 수 있다.If a portion of the data of the write request file for the target container is already stored in the main disk 110 , some of the data stored in the main disk 110 is moved to the sub disk 120 . That is, when a part of the data of the write request file is already stored in the main disk 110 and the write request file needs to be updated and stored when the disk resource usage rate is equal to or higher than the threshold usage rate, the data stored in the main disk 110 is A portion is moved to the sub-disk 120 , and the entire data of the write request file is stored in the sub-disk 120 . In addition, since the write request file is generated in the second directory 1422 , the user can check the write request file through the merge directory 141 .

이와 같이, 본 발명의 일실시예에 따르면, 서브 디스크 자원을 추가로 컨테이너에 할당하여, 가용 디스크 자원이 부족한 컨테이너에 대한 쓰기 요청 파일을 서브 디스크에 저장함으로써, 가용 디스크 자원 부족에 따른 응용 프로그램의 중단이 방지될 수 있다. As described above, according to an embodiment of the present invention, by additionally allocating a sub-disk resource to a container, and storing a write request file for a container with insufficient available disk resource in the sub-disk, Interruptions can be avoided.

한편, 본 발명의 다른 실시예에 따르면, 자원 관리 모듈(130)은 서브 디스크의 활용률을 높이기 위해 컨테이너의 개수가 임계 개수 이상인 경우 서브 디스크를 파티션하며, 임계 개수는 서브 디스크의 용량에 따라서 결정될 수 있다. 컨테이너의 개수가 매우 적은 상태에서, 컨테이너 개수에 따라서 서브 디스크가 파티션될 경우, 컨테이너 각각에 지나치게 많은 자원이 할당되어 자원 사용의 비효율이 초래될 수 있으므로, 자원 관리 모듈은 컨테이너가 일정 개수 이상 생성된 경우 서브 디스크를 파티션할 수 있다. 또한 임계 개수는 서브 디스크의 용량에 비례하여 결정될 수 있다.Meanwhile, according to another embodiment of the present invention, the resource management module 130 partitions the sub-disks when the number of containers is greater than or equal to the threshold number in order to increase the utilization rate of the sub-disks, and the threshold number may be determined according to the capacity of the sub-disks. have. When the number of containers is very small and the sub-disk is partitioned according to the number of containers, too many resources are allocated to each container and inefficiency of resource use may result. In this case, subdisks can be partitioned. In addition, the threshold number may be determined in proportion to the capacity of the sub-disk.

도 3은 본 발명의 다른 실시예에 따른 컨테이너 기반의 가상화 시스템을 설명하기 위한 도면이다.3 is a view for explaining a container-based virtualization system according to another embodiment of the present invention.

도커 데몬(Docker Demon, 310)은 컨테이너를 생성하고 관리한다. 컨테이너 별로, 메인 디스크(340)에 데이터가 저장되는 제1디렉토리(311)와, 서브 디스크에 데이터가 저장되는 제2디렉토리(312)가 할당된다. 제1디렉토리(311)는 도커 데몬(310)에 의해 할당될 수 있으며, 제2디렉토리(312)는 제2모듈(330)에서 할당될 수 있다.Docker Demon (310) creates and manages containers. For each container, a first directory 311 in which data is stored in the main disk 340 and a second directory 312 in which data is stored in the sub disk are allocated. The first directory 311 may be allocated by the Docker daemon 310 , and the second directory 312 may be allocated by the second module 330 .

제1모듈(320)은 시스템 콜을 통해 도커 데몬(310)과 통신하며, 도커 데몬(310)으로부터 컨테이너의 위치 경로와 쿼터(quota) ID를 전달받고, 컨테이너의 위치 경로와 쿼터 ID를 제2모듈(330)로 전달한다. 쿼터는, 리눅스 시스템에서 사용자에게 자원을 제한하기 위해 사용되는 기능으로서, 컨테이너에 할당된 쿼터 ID를 통해 컨테이너에 할당된 메인 디스크 자원이 확인될 수 있다.The first module 320 communicates with the Docker daemon 310 through a system call, receives the location path and quota ID of the container from the Docker daemon 310, and sets the location path and quota ID of the container to the second It passes to module 330 . The quota is a function used to limit resources to users in the Linux system, and the main disk resource allocated to the container may be identified through the quota ID allocated to the container.

제2모듈(330)은 컨테이너의 메인 디스크 자원 사용률을 모니터링하며, 서브 디스크(350)를 파티션한다. 서브 디스크(350)의 파티션 각각은 제2디렉토리(312) 각각에 마운트된다. 제2모듈(330)은 자원 사용률이 임계 사용률 이상인 타겟 컨테이너에 대한 플래그 신호를 오버레이 파일 시스템(360)으로 전달한다. 제2모듈(330)은 컨테이너의 위치 경로를 통해 컨테이너의 메인 디스크 자원 사용량을 확인할 수 있으며, 메인 디스크 자원 사용량과 쿼터 ID를 통해 컨테이너의 메인 디스크 자원 사용률을 확인할 수 있다.The second module 330 monitors the main disk resource usage rate of the container and partitions the sub disk 350 . Each of the partitions of the sub-disk 350 is mounted in each of the second directories 312 . The second module 330 transmits a flag signal for a target container whose resource usage rate is equal to or greater than the threshold usage rate to the overlay file system 360 . The second module 330 may check the main disk resource usage of the container through the location path of the container, and check the main disk resource usage rate of the container through the main disk resource usage and the quota ID.

오버레이 파일 시스템(360)은 상위 디렉토리 및 하위 디렉토리를 병합 디렉토리에 마운트한다. 상위 디렉토리에는 제1 및 제2디렉토리(311, 312)가 포함되며, 각 디렉토리는 inode와 매핑되어 메모리에 저장된다.The overlay file system 360 mounts the parent directory and the sub-directory to the merge directory. The upper directory includes first and second directories 311 and 312 , and each directory is mapped to an inode and stored in a memory.

오버레이 파일 시스템(360)은 쓰기 요청된 파일이 상위 디렉토리나 하위 디렉토리에 존재하는지 확인한다. 쓰기 요청된 파일이 상위 디렉토리에 존재할 경우 갱신된 쓰기 요청 파일을 상위 디렉토리에 배치하며, 쓰기 요청된 파일이 하위 디렉토리에 존재할 경우, 하위 디렉토리를 상위 디렉토리에 복사한다. 만일 쓰기 요청된 파일이 상위 디렉토리나 하위 디렉토리에 존재하지 않을 경우, 상위 디렉토리에 새로운 파일을 생성한다.The overlay file system 360 checks whether a write-requested file exists in an upper directory or a lower directory. If the file requested to be written exists in the upper directory, the updated write request file is placed in the upper directory. If the file requested to be written exists in the lower directory, the sub-directory is copied to the upper directory. If the file requested to be written does not exist in the upper directory or subdirectory, a new file is created in the upper directory.

도 4는 본 발명의 일실시예에 따른 가상화 시스템에서 컨테이너의 자원을 확장하는 방법을 설명하기 위한 도면이다.4 is a diagram for explaining a method of extending a resource of a container in a virtualization system according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일실시예에 따른 가상화 시스템은 복수의 컨테이너 각각에 할당된 메인 디스크 자원의 사용률을 모니터(S410)링하고, 사용률이 임계 사용률 이상인 타겟 컨테이너에 대한 쓰기 요청 파일을 서브 디스크에 저장(S420)한다. Referring to FIG. 4 , the virtualization system according to an embodiment of the present invention monitors ( S410 ) the usage rate of the main disk resource allocated to each of a plurality of containers, and sends a write request file to a target container whose usage rate is equal to or greater than the threshold usage rate. It is stored in the sub disk (S420).

단계 S420에서 가상화 시스템은 컨테이너의 개수에 따라서, 서브 디스크를 파티션하며, 타겟 컨테이너에 할당된 서브 디스크의 파티션에 쓰기 요청 파일을 저장한다. 파티션된 용량은, 컨테이너 각각에 할당된 메인 디스크 자원량에 따라 결정될 수 있다.In step S420, the virtualization system partitions the sub-disk according to the number of containers, and stores the write request file in the partition of the sub-disk allocated to the target container. The partitioned capacity may be determined according to the amount of main disk resource allocated to each container.

또한 단계 S420에서 가상화 시스템은 오버레이 파일 시스템을 이용하여, 쓰기 요청 파일을 서브 디스크에 저장하며, 오버레이 파일 시스템의 상위 디렉토리에는, 서브 디스크에 저장되는 쓰기 요청 파일을 위한 디렉토리가 포함된다. 쓰기 요청 파일을 위한 디렉토리에 쓰기 요청 파일이 배치되며, 만일 쓰기 요청 파일이 메인 디스크에 대한 디렉토리에 배치된 상태라면, 메인 디스크에 저장된 쓰기 요청 파일이 서브 디스크에 복사된다. 즉, 가상화 시스템은, 쓰기 요청 파일의 데이터 일부가 메인 디스크에 이미 저장된 상태인 경우, 메인 디스크에 저장된 데이터 일부를 서브 디스크로 이동시킨다.In addition, in step S420, the virtualization system stores the write request file in the sub-disk by using the overlay file system, and the upper directory of the overlay file system includes a directory for the write request file stored in the sub-disk. The write request file is placed in the directory for the write request file, and if the write request file is placed in the directory for the main disk, the write request file stored in the main disk is copied to the sub disk. That is, when a portion of data of the write request file is already stored in the main disk, the virtualization system moves a portion of data stored in the main disk to the sub disk.

실시예에 따라서, 본 발명의 일실시예에 따른 가상화 시스템은 타겟 컨테이너의 사용자 단말로, 사용률이 임계 사용률 이상인 이벤트의 발생 정보를 제공(S430)하여, 사용자가 타겟 컨테이너에 대한 메인 디스크 자원을 늘리도록 안내할 수 있다.According to an embodiment, the virtualization system according to an embodiment of the present invention provides, to the user terminal of the target container, occurrence information of an event in which the usage rate is greater than or equal to the threshold usage rate (S430), so that the user increases the main disk resource for the target container. can guide you.

그리고 사용자가 타겟 컨테이너에 할당된 메인 디스크 자원의 증가를 요청한 경우, 가상화 시스템은 이러한 사용자 단말의 요청에 따라서, 타겟 컨테이너에 할당되는 메인 디스크 자원량을 증가(S440)시킬 수 있다. 그리고 타겟 시스템은 서브 디스크에 저장된 쓰기 요청 파일을 메인 디스크로 이동(S450)시킨다.And when the user requests an increase in the main disk resource allocated to the target container, the virtualization system may increase the amount of the main disk resource allocated to the target container according to the request of the user terminal ( S440 ). Then, the target system moves the write request file stored in the sub disk to the main disk (S450).

타겟 컨테이너가 종료된 이후 재생성되었을 때, 사용자는 보다 증가된 메인 디스크 자원량이 할당된 타겟 컨테이너를 통해 서비스를 제공받을 수 있다.When the target container is regenerated after the termination, the user may be provided with a service through the target container to which the increased amount of the main disk resource is allocated.

앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The technical contents described above may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. A hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains. Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims described below, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .

Claims (12)

복수의 컨테이너 각각에 할당된 메인 디스크 자원의 사용률을 모니터링하는 단계; 및
상기 사용률이 임계 사용률 이상인 타겟 컨테이너에 대한 쓰기 요청 파일을 서브 디스크에 저장하는 단계를 포함하며,
상기 쓰기 요청 파일을 서브 디스크에 저장하는 단계는
상기 복수의 컨테이너의 개수에 따라서, 상기 서브 디스크를 파티션하고, 상기 타겟 컨테이너에 할당된 파티션에 상기 쓰기 요청 파일을 저장하며,,
파티션된 용량은, 상기 컨테이너 각각에 할당된 메인 디스크 자원량에 따라 결정되며,
상기 쓰기 요청 파일을 서브 디스크에 저장하는 단계는
상기 쓰기 요청 파일의 데이터 일부가 상기 메인 디스크에 이미 저장된 상태인 경우, 상기 메인 디스크에 저장된 데이터 일부를 상기 서브 디스크로 이동시키는
가상화 시스템에서 컨테이너의 자원을 확장하는 방법.
monitoring a utilization rate of a main disk resource allocated to each of a plurality of containers; and
Storing a write request file for a target container whose usage rate is greater than or equal to a threshold usage rate in a sub-disk,
The step of saving the write request file to the sub disk is
partition the sub disk according to the number of the plurality of containers, and store the write request file in a partition allocated to the target container;
The partitioned capacity is determined according to the amount of main disk resources allocated to each of the containers,
The step of saving the write request file to the sub disk is
When a part of the data of the write request file is already stored in the main disk, a part of the data stored in the main disk is moved to the sub-disk.
How to extend the resources of containers in a virtualization system.
삭제delete 제 1항에 있어서,
상기 쓰기 요청 파일을 서브 디스크에 저장하는 단계는
오버레이 파일 시스템을 이용하여, 상기 쓰기 요청 파일을 서브 디스크에 저장하며,
상기 오버레이 파일 시스템의 상위 디렉토리는, 상기 서브 디스크에 저장되는 쓰기 요청 파일을 위한 디렉토리를 포함하는
가상화 시스템에서 컨테이너의 자원을 확장하는 방법.
The method of claim 1,
The step of saving the write request file to the sub disk is
Using the overlay file system, the write request file is stored in the sub disk,
The upper directory of the overlay file system includes a directory for a write request file stored in the sub disk
How to extend the resources of containers in a virtualization system.
삭제delete 제 1항에 있어서,
상기 타겟 컨테이너의 사용자 단말로, 상기 사용률이 임계 사용률 이상인 이벤트의 발생 정보를 제공하는 단계;
상기 사용자 단말의 요청에 따라서, 상기 타겟 컨테이너에 할당되는 메인 디스크 자원량을 증가시키는 단계; 및
상기 서브 디스크에 저장된 쓰기 요청 파일을 상기 메인 디스크로 이동시키는 단계
를 더 포함하는 가상화 시스템에서 컨테이너의 자원을 확장하는 방법.
The method of claim 1,
providing, to the user terminal of the target container, occurrence information of an event in which the usage rate is equal to or greater than a threshold usage rate;
increasing the amount of main disk resources allocated to the target container according to the request of the user terminal; and
moving the write request file stored in the sub disk to the main disk
How to extend the resources of the container in the virtualization system further comprising.
제 1항에 있어서,
상기 서브 디스크의 입출력 속도는
상기 메인 디스크의 입출력 속도보다 빠른
가상화 시스템에서 컨테이너의 자원을 확장하는 방법.
The method of claim 1,
The I/O speed of the sub disk is
faster than the input/output speed of the main disk
How to extend the resources of containers in a virtualization system.
복수의 컨테이너 각각에 대해 미리 할당된 디스크 자원을 제공하는 메인 디스크;
서브 디스크;
상기 복수의 컨테이너 각각에 할당된 디스크 자원의 사용률을 모니터링하고, 상기 사용률이 임계 사용률 이상인 타겟 컨테이너를 결정하는 자원 관리 모듈; 및
상기 타겟 컨테이너에 대한 쓰기 요청 파일의 저장 경로를 상기 메인 디스크에서 상기 서브 디스크로 변경하는 오버레이 파일 시스템을 포함하며,
상기 자원 관리 모듈은, 상기 복수의 컨테이너의 개수에 따라서, 상기 서브 디스크를 파티션하고, 상기 타겟 컨테이너에 할당된 파티션에 상기 쓰기 요청 파일을 저장하며,
파티션된 용량은, 상기 컨테이너 각각에 할당된 메인 디스크 자원량에 따라 결정되며,
상기 쓰기 요청 파일의 데이터 일부가 상기 메인 디스크에 이미 저장된 상태인 경우, 상기 메인 디스크에 저장된 데이터 일부는 상기 서브 디스크로 이동되는
컨테이너 기반의 가상화 시스템.
a main disk providing pre-allocated disk resources for each of the plurality of containers;
sub disk;
a resource management module for monitoring a utilization rate of disk resources allocated to each of the plurality of containers, and determining a target container whose utilization rate is equal to or greater than a threshold utilization rate; and
and an overlay file system for changing a storage path of a write request file for the target container from the main disk to the sub disk,
the resource management module partitions the sub-disk according to the number of the plurality of containers, and stores the write request file in a partition allocated to the target container;
The partitioned capacity is determined according to the amount of main disk resources allocated to each of the containers,
When a portion of the data of the write request file is already stored in the main disk, some of the data stored in the main disk is moved to the sub disk
Container-based virtualization system.
삭제delete 제 7항에 있어서,
상기 자원 관리 모듈은
상기 컨테이너의 개수가 임계 개수 이상인 경우 상기 서브 디스크를 파티션하며,
상기 임계 개수는 상기 서브 디스크의 용량에 따라서 결정되는
컨테이너 기반의 가상화 시스템.
8. The method of claim 7,
The resource management module is
When the number of containers is greater than or equal to a threshold number, the sub-disk is partitioned,
The threshold number is determined according to the capacity of the sub-disk.
Container-based virtualization system.
제 7항에 있어서,
상기 자원 관리 모듈은
상기 타겟 컨테이너에 대한 플래그 신호를 상기 오버레이 파일 시스템으로 제공하며,
상기 오버레이 파일 시스템의 상위 디렉토리에는,
상기 서브 디스크에 저장되는 쓰기 요청 파일을 위한 디렉토리가 포함되는
컨테이너 기반의 가상화 시스템.
8. The method of claim 7,
The resource management module is
providing a flag signal for the target container to the overlay file system;
In the upper directory of the overlay file system,
A directory for a write request file stored in the sub disk is included.
Container-based virtualization system.
삭제delete 제 7항에 있어서,
상기 메인 디스크는 HDD 또는 SATA SSD이며,
상기 서브 디스크는 NVMe SSD인
컨테이너 기반의 가상화 시스템.
8. The method of claim 7,
The main disk is HDD or SATA SSD,
The sub disk is an NVMe SSD
Container-based virtualization system.
KR1020200154335A 2020-11-18 2020-11-18 Virtualization system based on container and method for expanding resource of container in virtualization system KR102438916B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200154335A KR102438916B1 (en) 2020-11-18 2020-11-18 Virtualization system based on container and method for expanding resource of container in virtualization system
PCT/KR2020/016509 WO2022107932A1 (en) 2020-11-18 2020-11-20 Container-based virtualization system and method for expanding container resources in virtualization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154335A KR102438916B1 (en) 2020-11-18 2020-11-18 Virtualization system based on container and method for expanding resource of container in virtualization system

Publications (2)

Publication Number Publication Date
KR20220067757A KR20220067757A (en) 2022-05-25
KR102438916B1 true KR102438916B1 (en) 2022-09-01

Family

ID=81709140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154335A KR102438916B1 (en) 2020-11-18 2020-11-18 Virtualization system based on container and method for expanding resource of container in virtualization system

Country Status (2)

Country Link
KR (1) KR102438916B1 (en)
WO (1) WO2022107932A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022260352A1 (en) 2021-06-07 2022-12-15 주식회사 엠디헬스케어 Composition for preventing or treating inflammatory diseases or cancer, comprising leuconostoc bacteria-derived vesicles

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138895A (en) 2016-02-05 2017-08-10 株式会社日立製作所 Virtualization environment management system and virtualization environment management method
KR102019486B1 (en) * 2018-02-27 2019-09-06 주식회사 시큐아이 Update method of containers in virtual system and apparatus thereof
JP2020160775A (en) 2019-03-26 2020-10-01 日本電気株式会社 Container activation host selection device, container activation host selection system, container activation host selection method and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180045347A (en) * 2016-10-25 2018-05-04 에스케이텔레콤 주식회사 Method for resource management of virtual environment
KR101882383B1 (en) * 2016-12-23 2018-08-24 경희대학교 산학협력단 A container resource allocation device and method in virtual desktop infrastructure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138895A (en) 2016-02-05 2017-08-10 株式会社日立製作所 Virtualization environment management system and virtualization environment management method
KR102019486B1 (en) * 2018-02-27 2019-09-06 주식회사 시큐아이 Update method of containers in virtual system and apparatus thereof
JP2020160775A (en) 2019-03-26 2020-10-01 日本電気株式会社 Container activation host selection device, container activation host selection system, container activation host selection method and program

Also Published As

Publication number Publication date
WO2022107932A1 (en) 2022-05-27
KR20220067757A (en) 2022-05-25

Similar Documents

Publication Publication Date Title
JP6122078B2 (en) System software interface for space-optimized block devices
US9766945B2 (en) Virtual resource scheduling for containers with migration
US9823881B2 (en) Ensuring storage availability for virtual machines
US9052825B2 (en) System software interfaces for space-optimized block devices
US20180136870A1 (en) Heterogeneous disk to apply service level agreement levels
US10437487B2 (en) Prioritized backup operations for virtual machines
EP3502877B1 (en) Data loading method and apparatus for virtual machines
US8464253B2 (en) Apparatus and method for providing services using a virtual operating system
US20170060898A1 (en) Fast file clone using copy-on-write b-tree
US8621461B1 (en) Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
JP4366698B2 (en) Computer, computer system, and disk image distribution method
US10659533B1 (en) Layer-aware data movement control for containers
WO2013075514A1 (en) Installation method and installation device for application software
US10990433B2 (en) Efficient distributed arrangement of virtual machines on plural host machines
US10162834B2 (en) Fine-grained metadata management in a distributed file system
US9128746B2 (en) Asynchronous unmap of thinly provisioned storage for virtual machines
KR102438916B1 (en) Virtualization system based on container and method for expanding resource of container in virtualization system
US20220058044A1 (en) Computer system and management method
US10585690B2 (en) Online promote disk using mirror driver
KR102484914B1 (en) Method for storing data in virtual environment
KR20200098271A (en) Methods for operating storage driver in container environment and storage driver apparatuses
US20210019164A1 (en) Hypervisor assisted application virtualization
KR102283364B1 (en) Method for controlling bandwidth in virtualized environment
US20220405236A1 (en) Apparatus and method for managing in-memory container storage
CN113986117A (en) File storage method, system, computing device and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant