KR20230068054A - High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof - Google Patents

High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof Download PDF

Info

Publication number
KR20230068054A
KR20230068054A KR1020210153953A KR20210153953A KR20230068054A KR 20230068054 A KR20230068054 A KR 20230068054A KR 1020210153953 A KR1020210153953 A KR 1020210153953A KR 20210153953 A KR20210153953 A KR 20210153953A KR 20230068054 A KR20230068054 A KR 20230068054A
Authority
KR
South Korea
Prior art keywords
subnets
virtual network
address
network interfaces
external
Prior art date
Application number
KR1020210153953A
Other languages
Korean (ko)
Other versions
KR102573439B1 (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 KR1020210153953A priority Critical patent/KR102573439B1/en
Publication of KR20230068054A publication Critical patent/KR20230068054A/en
Application granted granted Critical
Publication of KR102573439B1 publication Critical patent/KR102573439B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets

Abstract

단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템 및 방법이 개시된다. 본 발명의 일측면에 따른 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템은, 복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 고성능 클라우드 서비스를 제공하기 위해 서브넷을 운영하는 가상화 서버의 외부 네트워크와의 통신을 위한 통신포트 하나에 대한 서브넷의 개수에 상응하여 복수개의 가상 네트워크 인터페이스를 구성하고, 각 가상 네트워크 인터페이스의 맥주소를 부여하는 가상맥주소생성부; 가상 네트워크 인터페이스 각각에 아이피주소를 할당하는 주소할당부; 및 서브넷 각각이 이용하는 가상 네트워크 인터페이스 각각의 외부 트래픽을 수집하는 트래픽수집부를 포함한다.An HPC system and method for monitoring external traffic for multiple subnets using a single port are disclosed. An HPC system for performing external traffic monitoring on multiple subnets using a single port according to an aspect of the present invention configures a cluster using a plurality of computing nodes to provide high-performance cloud services to the outside of a virtualization server that operates subnets. a virtual MAC address generation unit that configures a plurality of virtual network interfaces corresponding to the number of subnets for one communication port for communication with the network and assigns an address of each virtual network interface; an address assignment unit that assigns an IP address to each virtual network interface; and a traffic collection unit for collecting external traffic of each virtual network interface used by each subnet.

Description

단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템 및 방법{High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof}High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof}

본 발명은 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 시스템에 관한 것으로, 더욱 상세하게는 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템 및 방법에 관한 것이다. The present invention relates to a high-performance cloud system using a plurality of computing nodes, and more particularly, to an HPC system and method for monitoring external traffic on multiple subnets using a single port.

고성능 컴퓨팅 기술을 구현하는 방식으로는, 단일 컴퓨팅 장치의 하드웨어 성능을 높이는 스케일 업(scale-up) 방식과, 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 파워를 높이는 스케일 아웃(scale-out) 방식이 있다. As a method of implementing high-performance computing technology, there are a scale-up method that increases the hardware performance of a single computing device and a scale-out method that increases computing power by connecting multiple computing devices through a network. there is.

네트워크 기술이 점점 더 발전하면서 다수의 컴퓨터를 연결하는 클러스터 구조에서 컴퓨터 사이의 상호작용에 대한 네트워크 오버헤드가 줄어들고 있는 추세이며, 최근 경제적 측면과 관리적 측면에서 효율성을 제공하는 스케일 아웃 방식의 단일 가상화 기술이 각광받고 있다.As network technology develops more and more, network overhead for interaction between computers in a cluster structure that connects multiple computers is decreasing. this is getting popular.

단일 가상화란 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 자원이 하나로 통합된 컴퓨팅 환경을 제공하는 기술이다.Single virtualization is a technology that provides a computing environment in which computing resources are integrated into one by connecting a plurality of computing devices through a network.

종래 단일 가상화를 구현하는 방식으로서, 미들웨어 형태의 단일 가상화는 운영체제 위에서 서비스 형태의 미들웨어를 운영하여 작업을 부하분산하는 방식의 시스템 통합 방식이며, 특정 라이브러리나 도구에 종속된다. 운영체제 커널 레벨의 단일 가상화는 베어메탈 운영체제 내부에서 클러스터 범위의 자원관리 기술로서 운영된다. 가상 머신들의 클러스터링을 이용한 단일 가상화는 작업들의 종속관계 해결을 위해 사용자 영역과 커널 영역 사이에 가상화된 새로운 작업 관리 계층이 운영되는 방식이다.As a method of implementing conventional single virtualization, single virtualization in the form of middleware is a system integration method of load balancing work by operating middleware in the form of a service on an operating system, and is dependent on a specific library or tool. Single virtualization at the operating system kernel level operates as a cluster-wide resource management technology inside a bare metal operating system. Single virtualization using clustering of virtual machines is a method in which a new virtualized task management layer is operated between the user area and the kernel area to resolve the dependency relationship of tasks.

여러 그룹이 사용하기 위해서는 다수의 클러스터 구성이 필요하며, 한 개의 클러스터 구성을 위해서는 각각 별도의 서브넷 구성을 필요로 한다. 그리고, 구성된 클러스터의 트래픽 사용량을 모니터링 하기 위해 외부 트래픽에 대한 수집이 필요하다.Multiple cluster configurations are required for use by multiple groups, and separate subnet configurations are required for each cluster configuration. In addition, external traffic collection is required to monitor the traffic usage of the configured cluster.

다중 서브넷을 구성하게 되면, 각 서브넷 마다 외부 트래픽을 수집하기 위해서는 각각의 서브넷이 별도의 네트워크 인터페이스에 할당되어야 한다. 그런데 하나의 서버에 장착할 수 있는 NIC(Network Interface Card) 개수에는 한계가 있으므로, 장치 구성이 복잡해지며 또한 장비 추가에 의한 비용이 증가하게 된다. If multiple subnets are configured, each subnet must be assigned a separate network interface to collect external traffic for each subnet. However, since there is a limit to the number of network interface cards (NICs) that can be mounted on one server, device configuration becomes complicated and costs due to the addition of equipment increase.

대한민국 공개특허 제10-2019-0058619 (공개일자 2019년05월29일) 고성능 컴퓨팅 시스템 및 방법Republic of Korea Patent Publication No. 10-2019-0058619 (published on May 29, 2019) High Performance Computing System and Method

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 하나의 네트워크 인터페이스를 이용하여 복수의 서브넷에 대한 외부트래픽 모니터링을 수행할 수 있는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템 및 방법을 제공하기 위한 것이다.Therefore, the present invention has been made to solve the above problems, and performs external traffic monitoring for multiple subnets using a single port, which can perform external traffic monitoring for a plurality of subnets using one network interface. It is to provide an HPC system and method for doing.

본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects of the present invention will become clearer through preferred embodiments described below.

본 발명의 일 측면에 따르면, 복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 고성능 클라우드 서비스를 제공하기 위해 서브넷을 운영하는 가상화 서버의 외부 네트워크와의 통신을 위한 통신포트 하나에 대한 상기 서브넷의 개수에 상응하여 복수개의 가상 네트워크 인터페이스를 구성하고, 각 가상 네트워크 인터페이스의 맥주소를 부여하는 가상맥주소생성부; 상기 가상 네트워크 인터페이스 각각에 아이피주소를 할당하는 주소할당부; 및 상기 서브넷 각각이 이용하는 상기 가상 네트워크 인터페이스 각각의 외부 트래픽을 수집하는 트래픽수집부를 포함하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템이 제공된다.According to one aspect of the present invention, a cluster using a plurality of computing nodes corresponds to the number of subnets for one communication port for communication with an external network of a virtualization server operating subnets to provide high-performance cloud services. a virtual beer address generation unit that configures a plurality of virtual network interfaces and assigns an address of each virtual network interface; an address allocator for allocating an IP address to each of the virtual network interfaces; and a traffic collection unit for collecting external traffic of each of the virtual network interfaces used by each of the subnets, and monitoring external traffic for multiple subnets using a single port.

여기서, 상기 가상맥주소생성부는 MACVLAN을 이용하며, 주소할당부는 NAT(Network Address Translation)을 이용할 수 있다.Here, the virtual MAC address generation unit may use MACVLAN, and the address allocation unit may use Network Address Translation (NAT).

또한, 상기 네트워크 인터페이스는 내부 인터페이스와 외부 인터페이스를 포함하되, 상기 내부 인터페이스는 상기 맥주소와 연결되어 컴퓨팅 노드와의 통신에 이용되며, 상기 외부 인터페이스에는 구비된 Secondary IP에 의한 복수개의 외부 IP가 상기 MACVLAN에 상기 NAT으로 연결된다.In addition, the network interface includes an internal interface and an external interface, the internal interface is connected to the address and is used for communication with a computing node, and a plurality of external IPs by secondary IPs provided in the external interface are MACVLAN is connected to the NAT.

여기서, 상기 가상화 서버는 상기 통신포트에 의한 외부 네트워크 트래픽량을 모니터링하고, 상기 트래픽량을 기반으로 상기 가상맥주소생성부의 가상 네트워크 인터페이스 개수의 최대값을 설정한다.Here, the virtualization server monitors the amount of external network traffic by the communication port, and sets the maximum value of the number of virtual network interfaces of the virtual MAC address generator based on the amount of traffic.

또한, 상기 가상맥주소생성부는 서브넷의 개수보다 많게 여분의 가상 네트워크 인터페이스를 구성한다.Also, the virtual MAC address generator configures more virtual network interfaces than the number of subnets.

또한, 상기 가상화 서버는 가상 서브넷을 구성하여 상기 여분의 가상 네트워크 인터페이스를 할당하며, 상기 여분의 가상 네트워크 인터페이스를 이용하여 주기적으로 미리 설정된 테스트 단말과의 통신테스트를 수행한다.In addition, the virtualization server configures a virtual subnet to allocate the redundant virtual network interfaces, and periodically performs a communication test with a preset test terminal using the redundant virtual network interfaces.

또한, 상기 가상화 서버는 상기 통신테스트가 결과가 정상을 유지하는 경우에만 신규 클러스터를 위한 신규 서브넷의 구성 시 신규 가상 네트워크 인터페이스 및 신규 맥주소를 할당한다.In addition, the virtualization server allocates a new virtual network interface and a new address when configuring a new subnet for a new cluster only when the result of the communication test remains normal.

본 발명의 다른 측면에 따르면, 복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 서브넷을 통해 고성능 클라우드 서비스를 외부로 제공하는 HPC 시스템에서 수행되는 모니터링 방법에 있어서, 외부 네트워크와의 통신을 위한 통신포트 하나에 대한 서브넷의 개수에 상응하여 복수개의 가상 네트워크 인터페이스를 구성하고, 각 가상 네트워크 인터페이스의 맥주소를 부여하는 단계; 상기 가상 네트워크 인터페이스 각각에 아이피주소를 할당하는 단계; 및 상기 서브넷 각각이 이용하는 상기 가상 네트워크 인터페이스 각각의 외부 트래픽을 수집하는 단계를 포함하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.According to another aspect of the present invention, in the monitoring method performed in an HPC system that configures a cluster using a plurality of computing nodes and provides a high-performance cloud service to the outside through a subnet, one communication port for communication with an external network configuring a plurality of virtual network interfaces corresponding to the number of subnets for each virtual network interface, and assigning an address of each virtual network interface; allocating an IP address to each of the virtual network interfaces; and collecting external traffic of each of the virtual network interfaces used by each of the subnets, a method for monitoring external traffic for multiple subnets using a single port and a recording medium recording a program executing the method.

여기서, 서브넷의 개수보다 많게 여분의 가상 네트워크 인터페이스를 구성하며, 가상 서브넷을 구성하여 상기 여분의 가상 네트워크 인터페이스를 할당하며, 상기 여분의 가상 네트워크 인터페이스를 이용하여 주기적으로 미리 설정된 테스트 단말과의 통신테스트를 수행할 수 있다.Here, redundant virtual network interfaces are configured more than the number of subnets, virtual subnets are configured to allocate the redundant virtual network interfaces, and communication tests with preset test terminals are periodically performed using the redundant virtual network interfaces. can be performed.

본 발명에 따르면, 서버에서 NIC의 추가 설치 없이도 하나의 네트워크 인터페이스를 이용하여 복수의 서브넷을 구성하고 또한 각각의 외부트래픽을 모니터링할 수 있다. According to the present invention, a plurality of subnets can be configured using one network interface and external traffic can be monitored without additional installation of a NIC in the server.

도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도.
도 4 및 도 5는 본 발명의 일 실시예에 따른 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템의 구성과 개념을 개략적으로 도시한 도면들.
도 6은 본 발명의 일 실시예에 따른 단일포트를 이용한 다수의 아이피 부여 예시를 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 여분의 가상 네트워크 인터페이스의 활용 과정을 도시한 흐름도.
1 is a block diagram illustrating the concept of devirtualization according to an embodiment of the present invention;
Figure 2 is a block diagram schematically showing a single virtualization system for a high-performance cloud service according to an embodiment of the present invention.
3 is a flowchart illustrating a schematic process of a single virtualization service for a high-performance cloud service according to an embodiment of the present invention.
4 and 5 are diagrams schematically illustrating the configuration and concept of an HPC system for monitoring external traffic on multiple subnets using a single port according to an embodiment of the present invention.
6 is a diagram showing an example of assigning multiple IPs using a single port according to an embodiment of the present invention.
7 is a flowchart illustrating a process of utilizing redundant virtual network interfaces according to an embodiment of the present invention;

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments will be 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, or substitutes included in the spirit and technical scope of the present invention.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 후술될 제1 임계값, 제2 임계값 등의 용어는 실질적으로는 각각 상이하거나 일부는 동일한 값인 임계값들로 미리 지정될 수 있으나, 임계값이라는 동일한 단어로 표현될 때 혼동의 여지가 있으므로 구분의 편의상 제1, 제2 등의 용어를 병기하기로 한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, terms such as a first threshold value and a second threshold value, which will be described later, may be substantially different from each other or partially identical to each other. Since there is room, terms such as first and second are written together for convenience of classification.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.In addition, the components of the embodiments described with reference to each drawing are not limitedly applied only to the corresponding embodiment, and may be implemented to be included in other embodiments within the scope of maintaining the technical spirit of the present invention, and also separate Even if the description is omitted, it is natural that a plurality of embodiments may be re-implemented as an integrated embodiment.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. In addition, in the description with reference to the accompanying drawings, the same or related reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted.

도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도이다.1 is a block diagram showing the concept of devirtualization according to an embodiment of the present invention, and FIG. 2 is a block diagram schematically showing a single virtualization system for a high-performance cloud service according to an embodiment of the present invention.

도 1을 참조하면, 일반적인 클라우드 시스템은 하나의 컴퓨팅 노드에서 가상화엔진을 이용하여 다수개의 어플리케이션 뷰를 제공하는 방식이다.Referring to FIG. 1 , a general cloud system is a method of providing a plurality of application views by using a virtualization engine in one computing node.

이와 비교하여, 본 발명의 일실시예에 따른 가상화 방식은 다수의 컴퓨팅 노드의 자원을 이용하여 단일 컴퓨팅 환경을 제공하여 하나의 어플리케이션 뷰를 제공함으로써, 이용자는 다수 컴퓨팅 자원이 하나로 합쳐진 고성능 컴퓨팅 자원을 이용할 수 있게 된다.In comparison, the virtualization method according to an embodiment of the present invention provides a single computing environment using the resources of a plurality of computing nodes to provide a single application view, so that the user can use high-performance computing resources in which multiple computing resources are combined into one. become available

물론, 차후 설명하겠으나, 본 실시예에 따른 역가상화 시스템에서도 상단에 순가상화엔진을 더 탑재하여 복수개의 뷰를 제공할 수도 있을 것이며, 이로 인해 복수개의 컴퓨팅 노드에 의한 고성능 컴퓨팅 자원을 이용한 가상화 클라우드 서비스를 제공할 수도 있다. Of course, as will be described later, even in the devirtualization system according to this embodiment, a forward virtualization engine may be additionally installed at the top to provide a plurality of views, thereby providing a virtualization cloud service using high-performance computing resources by a plurality of computing nodes. can also provide.

이를 위한 시스템 구성을 도시한 도 2를 참조하면, 단일 가상화 시스템은 복수개의 컴퓨팅 노드(10)들과, 하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 컴퓨팅 노드(10)들의 자원을 이용한 가상화 단일 컴퓨팅 환경을 제공하는 가상화서버(30)를 포함한다. 본 실시예에서는 하이퍼바이저 계층에서 컨테이너를 이용한 방식을 하이퍼체인이라 칭하기로 한다. 즉, 하이퍼바이저 계층에서 컨테이너 기술을 이용하여 체인과 같이 각 컴퓨팅 노드들의 자원을 엮어 하나의 컴퓨팅 환경을 제공하는 것이다.Referring to FIG. 2 showing a system configuration for this purpose, a single virtualization system includes a plurality of computing nodes 10 and virtualization using resources of the computing nodes 10 by using container-based resource isolation technology in a hypervisor layer. It includes a virtualization server 30 providing a computing environment. In this embodiment, a method using a container in a hypervisor layer is referred to as a hyperchain. In other words, a single computing environment is provided by combining the resources of each computing node like a chain using container technology at the hypervisor layer.

가상화서버(30)는 리눅스 커널 내부에서 컨테이너 기반 자원 격리 기술을 이용한다. 그리고, 리눅스 커널에서 클러스터 범위 자원 활용을 위한 작업 분배를 위한 관리자를 커널 모듈 형태로 운영한다. 일례에 따르면, 원격 메모리 접근 기술을 커널 내부 메모리 관리 코드의 수정으로 구현할 수 있다.The virtualization server 30 uses container-based resource isolation technology inside the Linux kernel. And, in the Linux kernel, a manager for task distribution for cluster-wide resource utilization is operated in the form of a kernel module. According to an example, remote memory access technology can be implemented by modifying the kernel's internal memory management code.

컨테이너 기술은 가장 대표적인 클라우드 네이티브 플랫폼으로 꼽힌다. 컨테이너는 오랫동안 리눅스 운영체제(OS)의 한 부분으로 존재해 왔다. 더 앞서는 유닉스 OS까지 거슬러 올라간다. 당초 [리눅스 컨테이너(LXC)]는 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템(컨테이너)들을 실행하기 위한 운영시스템 레벨 가상화 방법으로 시작됐다. 당시 다른 OS 레벨 가상화에 비해 보안수준은 안전하지 않았다. 이후 최근에 와서 윈도 컨테이너도 운영되기 시작했다.Container technology is considered the most representative cloud-native platform. Containers have been a part of the Linux operating system (OS) for a long time. It goes all the way back to the Unix OS. Originally, [Linux Containers (LXC)] began as an operating system level virtualization method for running multiple isolated Linux systems (containers) on a single control host. At the time, compared to other OS level virtualization, the level of security was not secure. Since then, Windows containers have also started to operate recently.

 컨테이너는 간단히 말하면 OS위에 설치돼 그 위에 여러 개의 격리된 공간을 만드는 개념이다. VM웨어의 가상화 솔루션이 하드웨어 레벨에서 물리적인 컴퓨팅 자원을 쪼개어 쓰는 것이라면, 컨테이너는 OS레벨의 가상화다. 애플리케이션과 이를 실행하는 라이브러리, 바이너리, 구성파일 등을 하나로 묶었다.Simply put, a container is a concept that is installed on top of an OS and creates multiple isolated spaces on top of it. If VMware's virtualization solution divides and uses physical computing resources at the hardware level, containers are virtualization at the OS level. It bundles the application and the libraries, binaries, and configuration files that run it.

 즉, 실행환경 및 필요한 라이브러리 등을 하나의 패키지로 묶어 배포할 수 있도록 하는 SW 도구라고 할 수 있다. 컨테이너 이미지는 실행에 필요한 모든 이미지를 포함하고 있기 때문에 컴퓨팅 환경과 관계없이 어디서나 동일하게 실행될 수 있다. 마치 물류수송에서 컨테이너 박스를 활용해 사과나 바나나 같은 과일부터 신발, 노트북 등 다양한 품목을 운송수단 관계없이 표준화, 규격화시켜 관리하는 것과 비슷하다. IT에서의 컨테이너 기술 역시 애플리케이션 종류에 상관없이 이를 표준 이미지로 운영한다.In other words, it can be said to be a SW tool that enables distribution by bundling an execution environment and necessary libraries into one package. Container images can be run the same anywhere, regardless of the computing environment, because they contain all the images required for execution. It is similar to standardizing and standardizing various items such as fruits such as apples and bananas, shoes and laptops, regardless of the means of transportation, by using container boxes in logistics transportation. Container technology in IT also operates as a standard image regardless of the type of application.

도커(Docker)는 리눅스 애플리케이션을 컨테이너에 배치시키는 것을 자동화해주는 도구(툴)인데, 가상화서버(30)는 이를 이용한다. 도커와 같은 컨테이너 기반으로 운영되는 서비스의 경우, 갑작스러운 수요 증가 시 컨테이너 이미지를 더 많은 컴퓨팅 자원에 배포해 늘어난 워크로드를 분산 실행할 수 있도록 한다.Docker (Docker) is a tool (tool) that automates the deployment of Linux applications in containers, the virtualization server 30 uses it. In the case of container-based services such as Docker, when demand suddenly increases, container images are distributed to more computing resources so that the increased workload can be distributed and executed.

그리고, 하이퍼바이저는 프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계(OS)의 접근 방법을 통제하는 얇은 계층의 소프트웨어이다. 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치(CPU)와 OS 사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.In addition, the hypervisor is a thin layer of software that controls access methods of various operating systems (OS) to various computer resources such as processors and memory. Software that allows multiple OSs to run on one computer system. It is used as a kind of intermediateware between the central processing unit (CPU) and the OS. It is an effective way to create virtual computers using different OSs on one computer. It is a virtualization engine.

리눅스 컨테이너 기술은 줄여서 LXC라고 부른다. 하나의 호스트에서 여러 개의 격리된 리눅스 시스템을 실행하는 가상화 기법이다. chroot 기술을 이용하여 독립된 컴퓨팅 운영 환경을 제공한다. 이러한 환경을 일반적으로 namespace라고 부르며, 다음 5가지로 구성된다.Linux container technology is called LXC for short. It is a virtualization technique that runs multiple isolated Linux systems on a single host. Provides an independent computing operating environment using chroot technology. This environment is generally called a namespace and consists of the following five parts.

-UTS namespace : hostname 을 변경하고 분할-UTS namespace : change hostname and split

-IPC namespace : Inter-process communication. 프로세스간 통신 격리-IPC namespace : Inter-process communication. Inter-process communication isolation

-PID namespace : PID (Process ID)를 분할 관리-PID namespace: Split management of PID (Process ID)

-NS namepsace : file system 의 mount 지점을 분할하여 격리-NS namepsace : Split and isolate the mount point of the file system

-NET namespace : Network interface, iptables 등 network 리소스와 관련된 정보를 분할-NET namespace: Divide information related to network resources such as network interface and iptables

-USER namespace : user와 group ID를 분할 격리-USER namespace : Separate user and group IDs and isolate them

그리고 cgroup 기술을 이용하여 시스템 자원 사용을 격리한다. 컨테이너 단위로 작업을 처리할 CPU 코어를 지정할 수 있으며, 컨테이너가 사용하는 메모리 제한이 가능하다.And it uses cgroup technology to isolate system resource usage. You can designate CPU cores to process tasks on a per-container basis, and you can limit the memory used by containers.

리눅스 컨테이너를 이용하는 장점은 자원을 동적으로 확장/축소가 가능하다. 그리고 동적 관리 기능을 제공하는 다른 가상화 기술 대비 연산 오버헤드가 적다. CPU-Intensive한 연산 수행에 성능 측면에서 차별화된 장점을 보인다.The advantage of using Linux containers is that resources can be scaled up/down dynamically. And it has less computational overhead compared to other virtualization technologies that provide dynamic management. It shows differentiated advantages in terms of performance in performing CPU-intensive operations.

컨테이터 기반 자원 격리 기술 및 하이퍼바이저는 당업자에게는 자명할 것이므로, 더욱 상세한 설명은 생략한다.Since container-based resource isolation techniques and hypervisors will be obvious to those skilled in the art, detailed descriptions are omitted.

정리하자면, 가상화서버(30)는 가상화 기반 하이퍼바이저 계층에서 컨테이너 자원 격리 기술을 이용하여 복수개의 컴퓨팅 노드(10)의 자원을 이용한 단일 컴퓨팅 가상 환경을 제공하는 것이다.In summary, the virtualization server 30 provides a single computing virtual environment using resources of a plurality of computing nodes 10 by using container resource isolation technology in a virtualization-based hypervisor layer.

가상화서버(30)는 어플리케이션의 실행을 위한 어플리케이션부와 각 컴퓨팅 노드(10)의 자원을 분산 활용하기 위한 분산처리부를 더 포함한다.The virtualization server 30 further includes an application unit for executing applications and a distribution processing unit for distributed utilization of resources of each computing node 10 .

이하에서는 가상화 서버에서의 단일 가상화 방법에 대해 설명하기로 한다.Hereinafter, a single virtualization method in a virtualization server will be described.

도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도이다.3 is a flowchart illustrating a schematic process of a single virtualization service for a high-performance cloud service according to an embodiment of the present invention.

도 3을 참조하면, 가상화서버(30)는 관리하는 복수개의 컴퓨팅 노드(10)들의 컴퓨팅 자원을 확인한다(S310). 예를 들어 각 컴퓨팅 노드(10)들의 가용저장용량, CPU/메모리 사양 등일 수 있으며, 이는 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략한다.Referring to FIG. 3 , the virtualization server 30 checks the computing resources of the plurality of computing nodes 10 that it manages (S310). For example, it may be the available storage capacity of each computing node 10, CPU/memory specifications, etc., which will be obvious to those skilled in the art, so a detailed description thereof will be omitted.

가상화서버(30)는 각 컴퓨팅 노드(10)들의 확인된 자원을 기반으로, 하이퍼바이저 계층에서 리눅스 컨테이너 기반 자원 격리 기술을 이용하여 가상화 단일 컴퓨팅 환경을 구축한다(S320). 리눅스 컨테이너 기반 자원 격리 기술은 상술하였으므로 중복되는 설명은 생략한다.The virtualization server 30 builds a single virtualized computing environment using Linux container-based resource isolation technology in a hypervisor layer based on the identified resources of each computing node 10 (S320). Since the Linux container-based resource isolation technology has been described above, duplicate descriptions will be omitted.

여기서, 컴퓨팅 노드(10)들 중 하나는 리더노드로서 설정되며, 리더노드는 사용자에게 단일 가상화 환경을 제공하는 노드이다. 단일 가상화 환경에서는 리더노드의 컴퓨팅 자원과 함께 연결된 다른 모든 컴퓨팅 노드의 자원이 통합되어 보여진다. 사용자는 SSH(secure shell)나 VNC(virtual network computing)를 통해 컴퓨팅 환경에 접속하고 투명하게 제공된 글로벌 자원을 사용한다. Here, one of the computing nodes 10 is set as a leader node, and the leader node is a node that provides a single virtualization environment to users. In a single virtualization environment, the computing resources of the leader node and the resources of all other connected computing nodes are integrated and displayed. Users access the computing environment through SSH (secure shell) or VNC (virtual network computing) and use transparently provided global resources.

리더노드 외의 다른 컴퓨팅 노드들은 단일 가상화 환경에 자원 제공 목적으로 리눅스 컨테이너를 생성한다. 단순 자원 제공 목적으로 생성된 컨테이너이므로 각 컴퓨팅 노드가 가진 자원만 보여지며, 관리 목적의 SSH 서비스를 제공한다. 즉, 리더노드는 SSH 서비스, VNC 서비스 및 글로벌 작업 관리자의 기능을 제공하며, 나머지 컴퓨팅 노드들은 SSH 서비스만을 제공한다.Computing nodes other than the leader node create Linux containers for the purpose of providing resources in a single virtualization environment. Since it is a container created for the purpose of providing simple resources, only the resources of each computing node are shown, and SSH service for management purposes is provided. That is, the leader node provides SSH service, VNC service, and global task manager functions, and the rest of the computing nodes provide only SSH service.

다시 도면을 참조하면, 이후 가상화서버(30)는 가상화 단일 컴퓨팅 환경을 이용한 클라우드 서비스를 유저들로 제공한다(S330). 이때 하나의 어플리케이션에 따른 뷰를 제공함으로써 고성능 클라우드 서비스를 제공할 수 있으며, 또는 상술한 바와 같이 도면에는 도시되지 않았으나 순가상화를 위한 가상화엔진을 이용하여 다수의 뷰를 제공할 수도 있을 것이다.Referring back to the drawings, then the virtualization server 30 provides users with a cloud service using a single virtualized computing environment (S330). At this time, a high-performance cloud service may be provided by providing a view according to one application, or as described above, although not shown in the drawing, multiple views may be provided by using a virtualization engine for net virtualization.

이하에서는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템 및 그 방법에 대해 상세히 설명하고자 한다. Hereinafter, an HPC system and method for monitoring external traffic on multiple subnets using a single port will be described in detail.

도 4 및 도 5는 본 발명의 일 실시예에 따른 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템의 구성과 개념을 개략적으로 도시한 도면들이고, 도 6은 본 발명의 일 실시예에 따른 단일포트를 이용한 다수의 아이피 부여 예시를 도시한 도면이다.4 and 5 are diagrams schematically showing the configuration and concept of an HPC system for monitoring external traffic on multiple subnets using a single port according to an embodiment of the present invention, and FIG. 6 is an embodiment of the present invention. It is a diagram showing an example of assigning multiple IPs using a single port according to the example.

도 4를 참조하면, 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하기 위한 HPC 시스템은 가상맥주소생성부(410), 주소할당부(420) 및 세컨더리 IP(430)를 포함한다. Referring to FIG. 4 , the HPC system for monitoring external traffic on multiple subnets includes a virtual machine address generation unit 410, an address allocation unit 420, and a secondary IP 430.

가상맥주소생성부(410)는 가상화 서버(30)의 외부 네트워크와의 통신을 위한 통신포트(네트워크 인터페이스) 하나에 대해, 서브넷의 개수에 상응하여 복수개의 가상 네트워크 인터페이스를 구성하고, 각 가상 네트워크 인터페이스의 맥주소를 부여한다. 그리고, 주소할당부(420)는 가상 네트워크 인터페이스 각각에 아이피주소를 할당한다. 가상맥주소생성부는 MACVLAN을 이용하며, 주소할당부(420)는 NAT(Network Address Translation)을 이용할 수 있다.The virtual MAC address generation unit 410 configures a plurality of virtual network interfaces corresponding to the number of subnets for one communication port (network interface) for communication with the external network of the virtualization server 30, and configures each virtual network interface. grants a brewery of Then, the address assignment unit 420 assigns an IP address to each virtual network interface. The virtual MAC address generator may use MACVLAN, and the address allocator 420 may use Network Address Translation (NAT).

도 5를 함께 참조하면, 하나의 네트워크 인터페이스에서 여러 개의 네트워크 인터페이스(본 실시예에서는 3개를 가정하였으며, 이에 한정되는 것은 아님)를 가상으로 구성하고 각 인터페이스당 MAC 주소를 부여할 수 있는 MACVLAN 이라는 기능을 이용하는 것이다. 하나의 인터페이스에 여러 개의 MAC 주소를 사용가능 하게 함으로써, MACVLAN 장치를 통해 하나의 인터페이스에서 여러 개의 서브넷 구성이 가능해진다. 그로 인해, 각 장치(클러스터별 서브넷의 컴퓨팅 노드들)가 별개의 MAC 주소를 사용하기 때문에 각 장치별 트래픽 수집이 가능해진다. Referring to FIG. 5 together, a MACVLAN, which can virtually configure multiple network interfaces (three in this embodiment, but is not limited thereto) in one network interface and assign a MAC address to each interface, is called MACVLAN. to use the function. By enabling multiple MAC addresses on one interface, multiple subnet configurations on one interface are possible through the MACVLAN device. As a result, since each device (computing nodes on a subnet for each cluster) uses a separate MAC address, traffic collection for each device is possible.

macvlan 네트워크는 bridge 네트워크와 overlay 네트워크를 사용할 때 콘테이너와 호스트 사이의 브리지를 제거함으로써 콘테이너 통신을 간단하고 보다 원활하게 만드는 네트워크다. macvlan 네트워크를 사용할 때 얻을 수 있는 이점은 네트워크 바깥 면을 향해야 하는 콘테이너 자산을 외부 네트워크에 포트 포워딩 없이 연결시킬 수 있다는 것이다. A macvlan network is a network that makes container communication simpler and more seamless by eliminating the bridge between containers and hosts when using bridge networks and overlay networks. The advantage of using a macvlan network is that container assets that need to face the outside of the network can be connected to the external network without port forwarding.

그리고, 가상 네트워크 인터페이스에 부여된 맥주소에는 외부 통신망을 통한 통신을 위한 아이피주소(IP Address)를 할당해야 하는데, NAT로 구현되는 주소할당부(420)에 의해 각각의 주소가 할당된다.In addition, an IP address for communication through an external communication network must be assigned to the address assigned to the virtual network interface, and each address is assigned by the address allocator 420 implemented as a NAT.

도 6을 함께 참조하면, 네트워크 인터페이스는 외부 인터페이스(eno2)와 내부 인터페이스(enp175s0f0)로 구분될 수 있으며, mac1, mac2, mac3은 내부 인터페이스 enp175s0f0로 부터 만들어진 가상 네트워크 인터페이스들의 것이며, 외부 인터페이스에 Secondary IP(430)를 통해 외부IP들을 지정하고 각각의 외부IP를 내부 인터페이스의 MACVLAN 장치에 NAT으로 연결한다. 즉, 내부 인터페이스는 맥주소와 연결되어 컴퓨팅 노드와의 통신에 이용되며, 외부 인터페이스에는 구비된 Secondary IP(430)에 의한 복수개의 외부 IP가 MACVLAN에 NAT으로 연결되는 것이다.Referring to FIG. 6 together, the network interface can be divided into an external interface (eno2) and an internal interface (enp175s0f0), mac1, mac2, and mac3 are virtual network interfaces created from the internal interface enp175s0f0, and the secondary IP External IPs are designated through 430 and each external IP is connected to the MACVLAN device of the internal interface through NAT. That is, the internal interface is connected to the MACVLAN and used for communication with the computing node, and a plurality of external IPs by the secondary IP 430 provided in the external interface are connected to the MACVLAN through NAT.

Secondary IP(430)는 네트워크 인터페이스에서 IP 를 2개 이상 사용하고자 할 때 IP를 추가로 설정할 수 있도록 해주는 기능이며, NAT (Network Address Translation)은 네트워크에서 IP 변환을 수행하는 기능이며 내부 아이피를 사용하고 있는 장치에서 외부와 통신하기 위해 필요한 외부 아이피로 변환 하기 위해 사용한다. 이는 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략한다.Secondary IP (430) is a function that allows you to additionally set an IP when you want to use two or more IPs in the network interface, and NAT (Network Address Translation) is a function that performs IP conversion in the network and uses an internal IP It is used to convert the external IP needed to communicate with the outside in the existing device. Since this will be obvious to those skilled in the art, a more detailed description will be omitted.

여기서 도면에는 도시되지 않았으나, 서브넷 각각이 이용하는 가상 네트워크 인터페이스 각각의 외부 트래픽을 수집하는 트래픽수집부를 더 포함한다. 트래픽수집부는 vnStat이라는 프로그램이 이용될 수 있다. vnStat 트래픽 수집 툴을 이용하여 각 macvlan 인터페이스 별로 트래픽 수집을 활성화 하며, 외부IP와 NAT으로 연결을 하였기 때문에 클러스터(Cluster)의 컴퓨팅 노드에서 외부와 통신할 때의 트래픽을 수집 할 수 있다. Although not shown in the drawing, a traffic collecting unit for collecting external traffic of each virtual network interface used by each subnet is further included. The traffic collection unit may use a program called vnStat. Using the vnStat traffic collection tool, traffic collection is enabled for each macvlan interface, and because the external IP and NAT are connected, traffic can be collected when the computing node in the cluster communicates with the outside world.

도 7은 본 발명의 일 실시예에 따른 여분의 가상 네트워크 인터페이스의 활용 과정을 도시한 흐름도이다.7 is a flowchart illustrating a process of utilizing redundant virtual network interfaces according to an embodiment of the present invention.

도 7을 참조하면, 서브넷의 개수보다 많게 여분의 가상 네트워크 인터페이스를 구성한다(S710). 예를 들어, 현재 3개의 서브넷이 존재한다면, 여분용 1개를 더하여 총 4개의 가상 네트워크 인터페이스를 구성한다. Referring to FIG. 7 , more virtual network interfaces are configured than the number of subnets (S710). For example, if there are currently 3 subnets, add 1 redundant subnet to configure a total of 4 virtual network interfaces.

여기서, 가상화 서버(30)는 하나의 통신포트에 의한 외부 네트워크 트래픽량을 모니터링하고, 모니터링된 정보를 기반으로 가상맥주소생성부의 가상 네트워크 인터페이스 개수의 최대값을 설정한다. 하나의 가정을 예를 들면, 제1 통신포트에 주로 3개의 서브넷(즉 3개의 가상 네트워크 인페이스)이 이용되고 그에 따른 트래픽량이 적당하다 판단됨으로써 제1 통신포트의 가상 네트워크 인터페이스의 최대개수는 5개로 설정한다.Here, the virtualization server 30 monitors the amount of external network traffic through one communication port, and sets the maximum value of the number of virtual network interfaces of the virtual beer address generator based on the monitored information. As an example, assuming that 3 subnets (i.e., 3 virtual network interfaces) are mainly used for the 1st communication port, and it is determined that the corresponding traffic volume is appropriate, the maximum number of virtual network interfaces of the 1st communication port is 5. set to dog

그리고 여분의 가상 네트워크 인터페이스를 할당받는 가상 서브넷을 구성한다(S720). 예를 들어, 클라우드 서비스에 배정되지 않은 하나 이상의 컴퓨팅 노드와 함께 가상 서브넷을 구성하고, 가상 서브넷에 여분의 가상 네트워크 인터페이스를 할당하고 그에 따른 컴퓨팅 노드에게 아이피 주소를 할당한다.Then, a virtual subnet to which redundant virtual network interfaces are allocated is configured (S720). For example, configure a virtual subnet with one or more computing nodes not assigned to a cloud service, assign extra virtual network interfaces to the virtual subnet and assign IP addresses to the corresponding computing nodes.

그리고, 여분의 가상 네트워크 인터페이스에 대한 주기적인 통신테스트를 수행한다(S730). 예를 들어, 가상 서브넷을 구성하는 임의의 컴퓨팅 노드와 외부의 미리 설정된 테스트단말과 통신을 수행하고, 그에 따른 통신환경(통신 정상 여부, 속도, 딜레이 타임 등)을 측정하여 미리 설정된 기준 이상인지를 판단함으로써 통신테스트를 수행한다.Then, a periodic communication test is performed on the redundant virtual network interface (S730). For example, by performing communication with a random computing node constituting a virtual subnet and an external preset test terminal, measuring the communication environment (communication normal, speed, delay time, etc.) By judging, the communication test is performed.

여분의 가상 네트워크 인터페이스를 이용하여 통신테스트를 주기적으로 수행함으로써, 실제 통신을 이용하고 있는 서브넷들의 통신장애에 의한 문제발생을 미리 예측하여 대응할 수 있게 된다.By periodically performing communication tests using redundant virtual network interfaces, it is possible to anticipate and respond to problems caused by communication failures in subnets using actual communication.

통신테스트 수행 결과에 대해 기록하고, 테스트 결과가 정상으로 유지되는지 여부를 판단한다(S740), Records the result of performing the communication test, and determines whether or not the test result remains normal (S740).

만일 정상을 유지하고 있다면, 새로 동작할 클러스터가 발생하면, 그에 따른 신규 서브넷에게 신규 가상 네트워크 인터페이스를 할당한다(S750). 상술한 통신테스트용 여분의 가상 네트워크 인터페이스 외에 신규 가상 네트워크 인터페이스를 구성 및 할당할 수 있으며, 또는 통신테스트용 여분의 가상 네트워크 인터페이스를 신규 서브넷에 할당할 수도 있다.If normal is maintained, when a new cluster to be operated is generated, a new virtual network interface is allocated to the corresponding new subnet (S750). New virtual network interfaces may be configured and allocated in addition to the above-described redundant virtual network interfaces for communication tests, or redundant virtual network interfaces for communication tests may be allocated to new subnets.

이와 달리 통신테스트 결과 비정상 결과가 발생되면, 신규 서브넷에게는 다른 통신포트(제2 통신포트라 칭함)를 활용한 네트워크 인터페이스를 제공한다(S760). 일례에 따르면 이때엔 안정적 서비스를 제공하기 제2 통신포트는 가상 네트워크 인터페이스가 아닌 단일 네트워크 인터페이스를 제공하거나, 또는 제2 통신포트에는 가상 네트워크 인터페이스의 개수를 줄여서(예를 들어, 제2 통신포트에 비해 절반) 운영한다. In contrast, if an abnormal result is generated as a result of the communication test, a network interface using another communication port (referred to as a second communication port) is provided to the new subnet (S760). According to an example, at this time, to provide a stable service, the second communication port provides a single network interface rather than a virtual network interface, or by reducing the number of virtual network interfaces in the second communication port (for example, in the second communication port half) operate.

상술한 본 발명에 따른 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The above-described external traffic monitoring method for multiple subnets using a single port according to the present invention can be implemented as computer readable code on a computer readable recording medium. Computer-readable recording media includes all types of recording media in which data that can be decoded by a computer system is stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed to computer systems connected through a computer communication network, and stored and executed as readable codes in a distributed manner.

또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.In addition, although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can make the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. It will be appreciated that various modifications and variations may be made.

10 : 컴퓨팅 노드
30 : 가상화 서버
10: computing node
30: virtualization server

Claims (10)

복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 고성능 클라우드 서비스를 제공하기 위해 서브넷을 운영하는 가상화 서버의 외부 네트워크와의 통신을 위한 통신포트 하나에 대한 상기 서브넷의 개수에 상응하여 복수개의 가상 네트워크 인터페이스를 구성하고, 각 가상 네트워크 인터페이스의 맥주소를 부여하는 가상맥주소생성부;
상기 가상 네트워크 인터페이스 각각에 아이피주소를 할당하는 주소할당부; 및
상기 서브넷 각각이 이용하는 상기 가상 네트워크 인터페이스 각각의 외부 트래픽을 수집하는 트래픽수집부를 포함하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
A plurality of virtual network interfaces are configured corresponding to the number of subnets for one communication port for communication with the external network of a virtualization server operating subnets to provide high-performance cloud services by configuring a cluster using a plurality of computing nodes. and a virtual beer address generation unit for assigning the address of each virtual network interface;
an address allocator for allocating an IP address to each of the virtual network interfaces; and
An HPC system for monitoring external traffic for multiple subnets using a single port, including a traffic collection unit for collecting external traffic of each of the virtual network interfaces used by each of the subnets.
청구항 1에 있어서,
상기 가상맥주소생성부는 MACVLAN을 이용하며, 주소할당부는 NAT(Network Address Translation)을 이용하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
The method of claim 1,
The HPC system for performing external traffic monitoring for multiple subnets using a single port, wherein the virtual MAC address generation unit uses MACVLAN and the address allocation unit uses NAT (Network Address Translation).
청구항 2에 있어서,
상기 네트워크 인터페이스는 내부 인터페이스와 외부 인터페이스를 포함하되, 상기 내부 인터페이스는 상기 맥주소와 연결되어 컴퓨팅 노드와의 통신에 이용되며,
상기 외부 인터페이스에는 구비된 Secondary IP에 의한 복수개의 외부 IP가 상기 MACVLAN에 상기 NAT으로 연결되는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
The method of claim 2,
The network interface includes an internal interface and an external interface, wherein the internal interface is connected to the address and used for communication with a computing node,
The HPC system for monitoring external traffic for multiple subnets using a single port, wherein a plurality of external IPs by secondary IPs provided in the external interface are connected to the MACVLAN by the NAT.
청구항 1에 있어서,
상기 가상화 서버는 상기 통신포트에 의한 외부 네트워크 트래픽량을 모니터링하고, 상기 트래픽량을 기반으로 상기 가상맥주소생성부의 가상 네트워크 인터페이스 개수의 최대값을 설정하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
The method of claim 1,
The virtualization server monitors the amount of external network traffic by the communication port, and sets the maximum value of the number of virtual network interfaces of the virtual MAC address generator based on the amount of traffic, external traffic for multiple subnets using a single port. HPC system to perform monitoring.
청구항 4에 있어서,
상기 가상맥주소생성부는 서브넷의 개수보다 많게 여분의 가상 네트워크 인터페이스를 구성하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
The method of claim 4,
The HPC system for performing external traffic monitoring for multiple subnets using a single port, wherein the virtual MAC address generator configures more virtual network interfaces than the number of subnets.
청구항 5에 있어서,
상기 가상화 서버는 가상 서브넷을 구성하여 상기 여분의 가상 네트워크 인터페이스를 할당하며, 상기 여분의 가상 네트워크 인터페이스를 이용하여 주기적으로 미리 설정된 테스트 단말과의 통신테스트를 수행하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
The method of claim 5,
The virtualization server configures virtual subnets, allocates the redundant virtual network interfaces, and periodically performs communication tests with preset test terminals using the redundant virtual network interfaces for multiple subnets using a single port. HPC systems that perform external traffic monitoring.
청구항 6에 있어서,
상기 가상화 서버는 상기 통신테스트가 결과가 정상을 유지하는 경우에만 신규 클러스터를 위한 신규 서브넷의 구성 시 신규 가상 네트워크 인터페이스 및 신규 맥주소를 할당하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 HPC 시스템.
The method of claim 6,
The virtualization server performs external traffic monitoring for multiple subnets using a single port, allocating a new virtual network interface and a new address when configuring a new subnet for a new cluster only when the result of the communication test remains normal. HPC system to do.
복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 서브넷을 통해 고성능 클라우드 서비스를 외부로 제공하는 HPC 시스템에서 수행되는 모니터링 방법에 있어서,
외부 네트워크와의 통신을 위한 통신포트 하나에 대한 서브넷의 개수에 상응하여 복수개의 가상 네트워크 인터페이스를 구성하고, 각 가상 네트워크 인터페이스의 맥주소를 부여하는 단계;
상기 가상 네트워크 인터페이스 각각에 아이피주소를 할당하는 단계; 및
상기 서브넷 각각이 이용하는 상기 가상 네트워크 인터페이스 각각의 외부 트래픽을 수집하는 단계를 포함하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링 방법.
A monitoring method performed in an HPC system that configures a cluster using a plurality of computing nodes and provides a high-performance cloud service to the outside through a subnet,
configuring a plurality of virtual network interfaces corresponding to the number of subnets for one communication port for communication with an external network, and assigning address of each virtual network interface;
allocating an IP address to each of the virtual network interfaces; and
External traffic monitoring method for multiple subnets using a single port, comprising the step of collecting external traffic of each of the virtual network interfaces used by each of the subnets.
청구항 8에 있어서,
서브넷의 개수보다 많게 여분의 가상 네트워크 인터페이스를 구성하며, 가상 서브넷을 구성하여 상기 여분의 가상 네트워크 인터페이스를 할당하며, 상기 여분의 가상 네트워크 인터페이스를 이용하여 주기적으로 미리 설정된 테스트 단말과의 통신테스트를 수행하는, 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링 방법.
The method of claim 8,
Configure more virtual network interfaces than the number of subnets, configure virtual subnets to allocate the redundant virtual network interfaces, and periodically perform communication tests with preset test terminals using the redundant virtual network interfaces. A method of monitoring external traffic for multiple subnets using a single port.
제 8항의 방법을 수행하기 위한 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체.
A recording medium containing instructions executable by a computer such as an application or program module to be executed by a computer for performing the method of claim 8.
KR1020210153953A 2021-11-10 2021-11-10 High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof KR102573439B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210153953A KR102573439B1 (en) 2021-11-10 2021-11-10 High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210153953A KR102573439B1 (en) 2021-11-10 2021-11-10 High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof

Publications (2)

Publication Number Publication Date
KR20230068054A true KR20230068054A (en) 2023-05-17
KR102573439B1 KR102573439B1 (en) 2023-09-04

Family

ID=86547505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153953A KR102573439B1 (en) 2021-11-10 2021-11-10 High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof

Country Status (1)

Country Link
KR (1) KR102573439B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160029423A (en) * 2014-09-05 2016-03-15 삼성에스디에스 주식회사 Method that register many IP on single port of network board
KR20170076064A (en) * 2015-12-24 2017-07-04 아토리서치(주) Method, apparatus and computer program for subnetting of software defined network
US20180248769A1 (en) * 2017-02-28 2018-08-30 Arista Networks, Inc. Simulating a topology of network elements
KR20190058619A (en) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 High Performance Computing System and Method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160029423A (en) * 2014-09-05 2016-03-15 삼성에스디에스 주식회사 Method that register many IP on single port of network board
KR20170076064A (en) * 2015-12-24 2017-07-04 아토리서치(주) Method, apparatus and computer program for subnetting of software defined network
KR20190058619A (en) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 High Performance Computing System and Method
US20180248769A1 (en) * 2017-02-28 2018-08-30 Arista Networks, Inc. Simulating a topology of network elements

Also Published As

Publication number Publication date
KR102573439B1 (en) 2023-09-04

Similar Documents

Publication Publication Date Title
US11221884B2 (en) Hybrid virtual machine configuration management
US10514960B2 (en) Iterative rebalancing of virtual resources among VMs to allocate a second resource capacity by migrating to servers based on resource allocations and priorities of VMs
US10977086B2 (en) Workload placement and balancing within a containerized infrastructure
EP3432549B1 (en) Method and apparatus for processing user requests
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
US8112524B2 (en) Recommending moving resources in a partitioned computer
US10222985B2 (en) Autonomous dynamic optimization of platform resources
CN110098946B (en) Method and device for deploying virtualized network element equipment
US8312201B2 (en) Managing memory allocations loans
US20080307425A1 (en) Data Processing System and Method
US20100229175A1 (en) Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems
US11755385B2 (en) Cross-cluster load balancer
US20200394071A1 (en) Systems and methods for cluster resource balancing in a hyper-converged infrastructure
CN114510321A (en) Resource scheduling method, related device and medium
CN116075809A (en) Automatic node exchange between compute nodes and infrastructure nodes in edge regions
KR102573439B1 (en) High-performance cloud system performing external traffic monitoring for multiple subnets using a single port and method thereof
KR102378817B1 (en) Dynamic cluster configuration method and system for network isolation of high-performance cloud services using multiple computing nodes
KR20210127427A (en) Method and apparatus for cpu virtualization in multicore embedded system
KR102413924B1 (en) Process group management method and system for high performance cloud service system using multiple computing nodes
US11307889B2 (en) Schedule virtual machines
KR102231358B1 (en) Single virtualization method and system for HPC cloud service
KR102231359B1 (en) Single virtualization system for HPC cloud service and process scheduling method
KR102231357B1 (en) Single virtualization system for HPC cloud service and server software defined server scheduling method
US10740127B2 (en) Techniques for utilizing a resource fold factor in placement of physical resources for a virtual machine
KR102413922B1 (en) A software-defined server distribution scheduling method and system for a single virtualization system that provides high-performance cloud services using multiple computing nodes

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant