KR101626067B1 - Apparatus and method for facilitating a transfer of container between slave nodes - Google Patents

Apparatus and method for facilitating a transfer of container between slave nodes Download PDF

Info

Publication number
KR101626067B1
KR101626067B1 KR1020150126939A KR20150126939A KR101626067B1 KR 101626067 B1 KR101626067 B1 KR 101626067B1 KR 1020150126939 A KR1020150126939 A KR 1020150126939A KR 20150126939 A KR20150126939 A KR 20150126939A KR 101626067 B1 KR101626067 B1 KR 101626067B1
Authority
KR
South Korea
Prior art keywords
container
containers
slave nodes
transfer
storing
Prior art date
Application number
KR1020150126939A
Other languages
Korean (ko)
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 KR1020150126939A priority Critical patent/KR101626067B1/en
Application granted granted Critical
Publication of KR101626067B1 publication Critical patent/KR101626067B1/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a device for facilitating a transfer of a container between slave nodes and a method thereof. The device comprises: a plurality of slave nodes which include at least one container respectively; and a master server for managing the plurality of slave nodes. Therefore, the device can provide an easy development and test environment to a program developer.

Description

[0001] APPARATUS AND METHOD FOR FACILITATING A TRANSFER OF CONTAINER BETWEEN SLAVE NODES [0002]

The present invention relates to container-based virtualization, and more particularly, to a container management platform.

In recent years, server virtualization technology has been attracting attention as a technology to utilize servers more efficiently, using a virtual machine (for example, a hypervisor). Server virtualization is a technology that allows users to partition and use server resources on a single platform, such as central processing unit (CPU), storage, and I / O. The advantage of server virtualization is that it enables efficient operation of different OS (Operating System) server applications on one system, cost reduction and efficient utilization of server resources. With server virtualization, you can use the system in virtual units without being tied to physical resources such as CPU or server. For example, you could divide a server into multiple servers, use different OSs, or use multiple servers as a single server, thereby increasing resource utilization and greatly improving manageability. .

On the other hand, another technology that utilizes containers as virtualization services is attracting attention. A representative example using container technology is a docker. As a virtualization technology based on container technology, a container is not a virtualization system but a technology that virtualizes the environment in which an application can be run. While hypervisor-based server virtualization virtualizes everything system-wide, the container virtualizes only the application-driven environment that runs on the system. That is, the CPU and the memory area in which the application can operate are virtualized, and the OS or library necessary for driving the application is shared.

In order to run an application in a hypervisor-based virtual system, the application is operated after the virtual system has completely run. However, since the application is partially virtualized on the system, Since the system does not use the resources used when the OS operates, the resource consumption rate is also reduced.

However, when the container failure occurs in the container-based virtualization method, or when the container load is too large to transfer the container to another node, there is a need to newly change the configuration information of the container. For example, when the container is moved from the first node to the second node, the transferred container can not use the existing IP information, so the IP information needs to be newly updated. This is a very troublesome task in terms of the user who is a program developer.

Therefore, there is a need for a new technology that can perform the container transfer according to the convenience of the program developer, who is the user.

The present invention provides a server system that includes a master node and a plurality of slave nodes, and facilitates transfer of the containers among the slave nodes.

In particular, the present invention provides a technique for easily transferring a container without changing the configuration of an existing container when a failure occurs in the active container of the slave node.

According to an aspect of the present invention, there is provided an apparatus for facilitating transfer of a container between slave nodes, including: a plurality of slave nodes each including one or more containers; Wherein the master server includes a virtual container creation and maintenance unit and a container migration control unit for creating and maintaining virtual containers for respective containers in the plurality of slave nodes, Wherein each of the virtual containers is mapped to each of the containers in a one-to-one manner and stores configuration information for each of the mapped containers, and the container transfer control unit performs container transfer using the configuration information .

The master server may further include a status monitoring unit for monitoring the plurality of slave nodes and the plurality of slave nodes in the plurality of slave nodes and the container transfer control unit is connected to the status monitoring unit, And to transfer the active container to another node when a failure occurs or a resource load of the active container is equal to or greater than a threshold value. The master server may further include a snapshot creation and storage unit for creating and storing a snapshot of each of the containers, and the configuration information includes network information and snapshot version information. do.

In order to solve the above problems, a method for performing a container transfer between a plurality of slave nodes including at least one container, The method of claim 1, further comprising: storing configuration information in virtual containers mapped to the respective containers one-to-one; monitoring containers in the plurality of slave nodes and the plurality of slave nodes; And transferring the active container to another node using configuration information stored in the virtual container when a failure occurs or a resource load of the active container is equal to or greater than a threshold value.

The method may further comprise generating and storing a snapshot for each of the containers, wherein the configuration information includes network information and snapshot version information.

According to another aspect of the present invention, there is provided a recording medium on which a computer program for implementing a method performed by a computer is recorded, Storing configuration information for each of the plurality of slave nodes and the plurality of slave nodes in one-to-one mapped virtual containers; monitoring containers in the plurality of slave nodes and the plurality of slave nodes; And transferring the active container to another node using configuration information stored in the virtual container when a failure occurs in the active container or when the resource load of the active container is equal to or greater than a threshold value.

The method may further include generating and storing a snapshot for each of the containers, wherein the configuration information includes network information and snapshot version information.

The present invention stores configuration information for each of containers in a plurality of slave nodes in virtual containers mapped to one-to-one mapped to the respective containers, so that a failure of the container or a resource load of the container , The CPU usage rate or the memory usage rate) is large, the container can be transferred to another node without changing the configuration information of the container, and thereby it is possible to provide an easier development and testing environment to the user program developer .

In addition, according to the present invention, snapshots (backup files) can be created for each container and the snapshots can be managed for each version, it is possible to provide an improved development and test environment for a program developer who is a user.

1 is a diagram illustrating a configuration of a master node and a slave node according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of a virtual container creation and maintenance unit according to an embodiment of the present invention.
3 is a diagram illustrating a configuration of a virtual container according to an embodiment of the present invention.
4 is a diagram illustrating a method for facilitating the transfer of a container between slave nodes according to an embodiment of the present invention.

Hereinafter, an apparatus and method for facilitating the transfer of a container between slave nodes according to the present invention will be described in detail with reference to the accompanying drawings. The embodiments are provided so that those skilled in the art can easily understand the technical spirit of the present invention, and thus the present invention is not limited thereto. In addition, the items represented in the accompanying drawings may be different from those actually implemented in order to easily describe the embodiments of the present invention.

In the meantime, each constituent unit described below is only an example for implementing the present invention. Thus, in other implementations of the present invention, other components may be used without departing from the spirit and scope of the present invention. In addition, each component may be implemented solely by hardware or software configuration, but may be implemented by a combination of various hardware and software configurations performing the same function. Also, two or more components may be implemented together by one hardware or software.

In addition, the expression " comprising " means that the elements are merely referred to as being open-ended representations, and should not be construed to exclude additional elements.

Hereinafter, an apparatus for facilitating transfer of a container between slave nodes will be described with reference to FIG. 1, according to an embodiment of the present invention.

A device for facilitating the transfer of a container between slave nodes according to an embodiment of the present invention includes a master node 100 and a plurality of slave nodes 200, 300, 400 and 500.

The master node 100 includes a virtual container creation and maintenance unit 105, a status monitoring unit 110, a container migration control unit 115, and a snapshot creation and storage unit 120.

On the other hand, each of the slave nodes includes one or more containers. The capacity of the containers may be the same or different. As an example, the slave node 200 is composed of four low capacity containers, the slave node 300 is composed of two low capacity containers and one medium capacity container, and the slave node 400 is composed of two Capacity container, and the slave node 500 is composed of one high capacity container.

The master node 100 and the plurality of slave nodes 200, 300, 400, and 500 are communicatively coupled to each other via a bus 600. The bus 600 may be implemented as a wired network, have.

The virtual container creation and maintenance unit 105 is configured to create and maintain respective virtual containers for respective containers in a plurality of slave nodes, each virtual container being mapped one-to-one to each of the containers, And stores configuration information for each of the containers.

The status monitoring unit 110 is configured to monitor a plurality of slave nodes and containers in the plurality of slave nodes. For example, when a failure occurs in a specific container or a resource utilization rate of a specific container exceeds a specific threshold, To the container pre-controller 115. The pre-

In response to receiving a control signal from the status monitoring unit 110 indicating that a specific container has failed or a resource utilization rate of the specific container exceeds a certain threshold value, the container transfer control unit 115 transfers the container to another container .

The snapshot creation and storage unit 120 is configured to generate and store a snapshot when a snapshot creation is requested for a specific container, and stores the version of the generated snapshot in the virtual container creation and storage unit 105 .

The virtual container creation and maintenance unit 105, the state monitoring unit 110, the container transfer control unit 115 and the snapshot creation and storage unit 120 may be implemented by a single hardware module, Or may be implemented by interlocking a single piece of hardware and a single piece of software, or by a plurality of pieces of hardware modules, by a plurality of software modules, or by interlocking of a plurality of hardware modules and a plurality of software modules ≪ / RTI >

FIG. 2 is a diagram illustrating a configuration of a virtual container creation and maintenance unit 105 according to an embodiment of the present invention.

The virtual container creation and maintenance unit 105 is configured to create and store a plurality of virtual containers 200-1 to 200-N mapped to one-to-one mapped containers included in all the nodes managed by the master server 100 do.

3 shows a specific configuration of the virtual container 1 (200-1).

The virtual container 1 includes a container identifier field for identifying a container mapped to the virtual container 1, a network information field including network information such as IP information, and a snapshot created by the snapshot creation and storage unit 120 Quot; snapshot version information field " for storing version information for the " snapshot version information field ".

Thus, through the container identifier field, each virtual container can be mapped one-to-one to each container stored in the slave node,

Further, by maintaining the network information (e.g., IP information) corresponding to the mapped container through the network information field stored in the virtual container, even if the container is transferred to another node, And,

In addition, by maintaining the generated snapshot version list through the snapshot version information field stored in the virtual container, if the user program developer wishes to return to the previous snapshot version, he or she can return to the previous snapshot version I will.

4 is a diagram illustrating a method for facilitating the transfer of a container between slave nodes according to an embodiment of the present invention.

In step S11, configuration information for each of the containers in the plurality of slave nodes is stored in the virtual containers mapped one-to-one to the respective containers.

In step S12, containers in a plurality of slave nodes and a plurality of slave nodes are monitored.

It is determined in step S13 whether a failure has occurred in the active container or whether the resource load of the active container is equal to or greater than a threshold value. Here, the resource load includes the CPU utilization rate or the memory utilization rate, and the threshold value can be set to various values by the administrator.

If a failure occurs in the active container or if the resource load of the active container is equal to or greater than the threshold value, the process proceeds to step S14, otherwise the process proceeds to step S15 and ends.

In step S14, the container in which the failure occurs or the active container whose resource load is equal to or higher than the threshold value is transferred to another node.

On the other hand, when the transfer to another node is made in step S14, the virtual container stored in step S11 is utilized, so that the transfer of the container between the slave nodes can be simply completed without changing the system configuration.

Meanwhile, the above-described series of steps may be implemented by a computer program.

In this way, when a container failure occurs in a container-based virtualization method or when a container has a large resource load, it is necessary to transfer the container to another node, thereby eliminating the need to newly change the configuration information of the container .

The embodiments of the present invention described above are disclosed for the purpose of illustration, and the present invention is not limited thereto. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention.

100: master node
105: virtual container creation and maintenance unit
110:
115: Container transfer control section
120: Snapshot creation and storage unit
200, 300, 400 and 500: Slave node
200-1, 200-2, .., 200-N: Virtual Container

Claims (11)

An apparatus for facilitating transfer of a container between slave nodes,
A plurality of slave nodes each comprising one or more containers; And
And a master server for managing the plurality of slave nodes,
The master server
A virtual container creation and maintenance unit for creating and maintaining virtual containers for respective containers in the plurality of slave nodes; And
A container transfer control unit,
Wherein each of the virtual containers is mapped to each of the containers in a one-to-one manner and stores configuration information for each of the mapped containers,
Wherein the container transfer control unit performs the container transfer using the configuration information.
An apparatus for facilitating transfer of a container between slave nodes.
The method according to claim 1,
Wherein the master server further comprises a status monitoring unit monitoring the plurality of slave nodes and the containers in the plurality of slave nodes,
An apparatus for facilitating transfer of a container between slave nodes.
3. The method of claim 2,
Wherein the container transfer control unit is connected to the status monitoring unit and transfers the active container to another node when a failure occurs in the active container or when the resource load of the active container is equal to or larger than a threshold value doing,
An apparatus for facilitating transfer of a container between slave nodes.
The method according to claim 1,
Wherein the master server further comprises a snapshot creation and storage unit for creating and storing a snapshot for each of the containers,
An apparatus for facilitating transfer of a container between slave nodes.
The method according to claim 1,
The configuration information includes network information and snapshot version information.
A device for facilitating transfer of a container between slave nodes
CLAIMS 1. A method for performing a transfer of a container between a plurality of slave nodes comprising one or more containers,
Storing configuration information for respective containers in a plurality of slave nodes in virtual containers mapped on a one-to-one basis in each of the containers;
Monitoring containers in the plurality of slave nodes and the plurality of slave nodes; And
And transferring the active container to another node using configuration information stored in the virtual container when a failure occurs in the active container or a resource load of the active container is equal to or greater than a threshold value,
Wherein the storing, monitoring and relocating are performed by a master server,
A method for performing a transfer of a container between a plurality of slave nodes including one or more containers.
The method according to claim 6,
After the storing step,
Further comprising creating and storing a snapshot for each of the containers, wherein creating and storing the snapshot comprises:
A method for performing a transfer of a container between a plurality of slave nodes including one or more containers.
The method according to claim 6,
The configuration information includes network information and snapshot version information.
A method for performing a transfer of a container between a plurality of slave nodes including one or more containers.
A recording medium recording a computer program for implementing a method performed by a computer,
The method
Storing configuration information for respective containers in a plurality of slave nodes in virtual containers mapped on a one-to-one basis in each of the containers;
Monitoring containers in the plurality of slave nodes and the plurality of slave nodes; And
And transferring the active container to another node using a configuration information stored in the virtual container when a failure occurs in the active container or a resource load of the active container is equal to or greater than a threshold value,
Wherein the storing, monitoring and relocating are performed by the computer in the master server,
A recording medium on which a computer program is recorded.
10. The method of claim 9,
The method further comprises creating and storing a snapshot for each of the containers after the storing step, wherein the step of creating and storing the snapshot is performed by the computer in the master server Performed,
A recording medium on which a computer program is recorded.
10. The method of claim 9,
The configuration information includes network information and snapshot version information.
A recording medium on which a computer program is recorded.
KR1020150126939A 2015-09-08 2015-09-08 Apparatus and method for facilitating a transfer of container between slave nodes KR101626067B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150126939A KR101626067B1 (en) 2015-09-08 2015-09-08 Apparatus and method for facilitating a transfer of container between slave nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150126939A KR101626067B1 (en) 2015-09-08 2015-09-08 Apparatus and method for facilitating a transfer of container between slave nodes

Publications (1)

Publication Number Publication Date
KR101626067B1 true KR101626067B1 (en) 2016-05-31

Family

ID=56099314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150126939A KR101626067B1 (en) 2015-09-08 2015-09-08 Apparatus and method for facilitating a transfer of container between slave nodes

Country Status (1)

Country Link
KR (1) KR101626067B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101807806B1 (en) 2017-05-02 2017-12-11 나무기술 주식회사 Application containerization method on cloud platform
US10671728B2 (en) 2017-01-19 2020-06-02 Foundation Of Soongsil University-Industry Cooperation Mobile device for analyzing malicious code using a container platform, system for analyzing malicious code in a mobile device using the same, and method for analyzing malicious code using the same
CN112214321A (en) * 2020-10-10 2021-01-12 中国联合网络通信集团有限公司 Node selection method and device for newly-added micro service and micro service management platform
KR20220059053A (en) 2020-11-02 2022-05-10 주식회사 나눔기술 High-speed snapshot controller and method for container cluster-based backup recovery

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116859A (en) 2007-09-30 2009-05-28 Symantec Corp System for and method of migrating one or more virtual machines

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116859A (en) 2007-09-30 2009-05-28 Symantec Corp System for and method of migrating one or more virtual machines

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
'가장 빨리 만나는 Docker', pyrasis.com 웹사이트 (출처: http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter09)
'간편한 백업, 복원 및 독 노동자 컨테이너 마이그레이션', websetnet 웹사이트 (출처: http://websetnet.com/ko/easy-backup-restore-and-migrate-container-in-docker)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671728B2 (en) 2017-01-19 2020-06-02 Foundation Of Soongsil University-Industry Cooperation Mobile device for analyzing malicious code using a container platform, system for analyzing malicious code in a mobile device using the same, and method for analyzing malicious code using the same
KR101807806B1 (en) 2017-05-02 2017-12-11 나무기술 주식회사 Application containerization method on cloud platform
WO2018203635A1 (en) * 2017-05-02 2018-11-08 나무기술 주식회사 Method for containerizing application on cloud platform
CN112214321A (en) * 2020-10-10 2021-01-12 中国联合网络通信集团有限公司 Node selection method and device for newly-added micro service and micro service management platform
CN112214321B (en) * 2020-10-10 2023-06-16 中国联合网络通信集团有限公司 Node selection method and device for newly added micro service and micro service management platform
KR20220059053A (en) 2020-11-02 2022-05-10 주식회사 나눔기술 High-speed snapshot controller and method for container cluster-based backup recovery
KR102402709B1 (en) 2020-11-02 2022-05-27 주식회사 나눔기술 High-speed snapshot controller and method for container cluster-based backup recovery

Similar Documents

Publication Publication Date Title
US10133619B1 (en) Cluster-wide virtual machine health monitoring
US10678457B2 (en) Establishing and maintaining data apportioning for availability domain fault tolerance
US8473959B2 (en) Methods and apparatus related to migration of customer resources to virtual resources within a data center environment
US9529683B2 (en) Method, system, and apparatus for cloud application redundancy
EP3140734B1 (en) Mechanism for providing external access to a secured networked virtualization environment
EP2979183B1 (en) Method and arrangement for fault management in infrastructure as a service clouds
CN108270726B (en) Application instance deployment method and device
US20120303594A1 (en) Multiple Node/Virtual Input/Output (I/O) Server (VIOS) Failure Recovery in Clustered Partition Mobility
US10649855B2 (en) Network configuration method to allow access to the backup and restores to Mtrees on a clustered backup appliance
US10289441B1 (en) Intelligent scale-out federated restore
US9792150B1 (en) Detecting site change for migrated virtual machines
KR101626067B1 (en) Apparatus and method for facilitating a transfer of container between slave nodes
KR20070085283A (en) Apparatus, system, and method for facilitating storage management
US20120151095A1 (en) Enforcing logical unit (lu) persistent reservations upon a shared virtual storage device
US10802749B2 (en) Implementing hierarchical availability domain aware replication policies
US11216420B2 (en) System and method for high replication factor (RF) data replication
US20190220297A1 (en) Node regeneration in distributed storage systems
WO2015157682A1 (en) Mechanism for providing real time replication status information in a networked virtualization environment for storage management
US8661089B2 (en) VIOS cluster alert framework
US20210224121A1 (en) Virtual machine-initiated workload management
US20200310658A1 (en) Machine learning for local caching of remote data in a clustered computing environment
US10853178B1 (en) Code function checkpoint and restore
Maenhaut et al. Efficient resource management in the cloud: From simulation to experimental validation using a low‐cost Raspberry Pi testbed
US10929166B2 (en) Enhanced data storage of virtual nodes in a data processing environment
Bhagavan et al. The Case for Designing Data-Intensive Cloud-Based Healthcare Applications.

Legal Events

Date Code Title Description
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190620

Year of fee payment: 4