KR102378817B1 - 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템 - Google Patents

복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템 Download PDF

Info

Publication number
KR102378817B1
KR102378817B1 KR1020200124988A KR20200124988A KR102378817B1 KR 102378817 B1 KR102378817 B1 KR 102378817B1 KR 1020200124988 A KR1020200124988 A KR 1020200124988A KR 20200124988 A KR20200124988 A KR 20200124988A KR 102378817 B1 KR102378817 B1 KR 102378817B1
Authority
KR
South Korea
Prior art keywords
cluster
node
computing
computing nodes
address
Prior art date
Application number
KR1020200124988A
Other languages
English (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 KR1020200124988A priority Critical patent/KR102378817B1/ko
Application granted granted Critical
Publication of KR102378817B1 publication Critical patent/KR102378817B1/ko

Links

Images

Classifications

    • H04L61/2069
    • 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
    • H04L61/2007
    • H04L61/6004
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2895Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템이 개시된다. 본 발명의 일측면에 따른 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템에서 수행되는 네트워크 격리를 위한 동적 클러스터 구성 방법은, 컴퓨팅 노드들에 대해 각각의 클러스터 정보를 확인하는 단계; 클러스터 정보를 기반으로 각 클러스터에 대해 동일 대역을 갖는 클러스터IP를 할당하고, 각 클러스터의 컴퓨팅 노드에 대해 동일 클러스터 내에서 서로 통신하기 위한 노드IP를 할당하는 단계; 및 상기 클러스터IP 및 노드IP를 이용하여 고유한 TIPC주소를 생성하여 각 컴퓨팅 노드들에게 할당하는 단계를 포함한다.

Description

복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템 {Dynamic cluster configuration method and system for network isolation of high-performance cloud services using multiple computing nodes}
본 발명은 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템에 관한 것이다.
고성능 컴퓨팅 기술을 구현하는 방식으로는, 단일 컴퓨팅 장치의 하드웨어 성능을 높이는 스케일 업(scale-up) 방식과, 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 파워를 높이는 스케일 아웃(scale-out) 방식이 있다. 
네트워크 기술이 점점 더 발전하면서 다수의 컴퓨터를 연결하는 클러스터 구조에서 컴퓨터 사이의 상호작용에 대한 네트워크 오버헤드가 줄어들고 있는 추세이며, 최근 경제적 측면과 관리적 측면에서 효율성을 제공하는 스케일 아웃 방식의 단일 가상화 기술이 각광받고 있다.
단일 가상화란 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 자원이 하나로 통합된 컴퓨팅 환경을 제공하는 기술이다.
종래 단일 가상화를 구현하는 방식으로서, 미들웨어 형태의 단일 가상화는 운영체제 위에서 서비스 형태의 미들웨어를 운영하여 작업을 부하분산하는 방식의 시스템 통합 방식이며, 특정 라이브러리나 도구에 종속된다. 운영체제 커널 레벨의 단일 가상화는 베어메탈 운영체제 내부에서 클러스터 범위의 자원관리 기술로서 운영된다. 가상 머신들의 클러스터링을 이용한 단일 가상화는 작업들의 종속관계 해결을 위해 사용자 영역과 커널 영역 사이에 가상화된 새로운 작업 관리 계층이 운영되는 방식이다.
그리고, 여러 개의 물리 노드를 하나로 묶어 각 노드의 자원을 공유하여 사용하는 클러스터링 방식을 통해 고성능의 자원을 사용함에 있어, 클러스터링을 위해 각 노드는 네트워크를 통해 서로의 자원을 공유한다. 이때 사용자의 요구 사항에 따라 사용 가능한 물리 노드를 여러 그룹, 즉 여러 클러스터로 묶어 배포되어야 한다. 사용 가능한 노드들을 여러 클러스터로 구분하기 위해서는 서로 다른 클러스터의 노드 구성원 간에서는 별도의 네트워크로 구분되어야 한다.
별도의 네트워크로 구분하기 위해 물리 스위치 혹은 소프트웨어로 운영되는 가상 스위치 상에서 VLAN (Virtual LAN / 스위치에서 서로 다른 여러 개의 네트워크를 구별하기 위해 사용되는 기술)을 통해 구분되어야 한다. 그런데, 클러스터의 개수가 많아 질수록 VLAN 의 개수 또한 증가하게 되며, 이는 스위치 관리의 부담으로 이어진다. 클러스터 개수의 증가에 따라 네트워크 대역의 개수도 증가하며, 그로 인해 각 네트워크 대역을 관리하기 위한 작업이 추가로 요구된다.
대한민국 공개특허 제10-2019-0058619 (공개일자 2019년05월29일) 고성능 컴퓨팅 시스템 및 방법
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 컴퓨팅 시스템에서 타 클러스터 간 별도의 네트워크를 나누지 않고 다수의 클러스터를 구성하기 위한 동적 클러스터 구성 방법 및 그 시스템을 제공하기 위한 것이다.
또한, 본 발명은 다수의 클러스터로 구성된 각각의 클러스터를 네트워크 격리하되, 같은 대역의 네트워크 주소로 구성하며, 스위치 설정을 별도로 구성할 필요가 없는, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템을 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일 측면에 따르면, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템에서 수행되는 네트워크 격리를 위한 동적 클러스터 구성 방법에 있어서, 컴퓨팅 노드들에 대해 각각의 클러스터 정보를 확인하는 단계; 상기 클러스터 정보를 기반으로 각 클러스터에 대해 동일 대역을 갖는 클러스터IP를 할당하고, 각 클러스터의 컴퓨팅 노드에 대해 동일 클러스터 내에서 서로 통신하기 위한 노드IP를 할당하는 단계; 및 상기 클러스터IP 및 노드IP를 이용하여 고유한 TIPC주소를 생성하여 각 컴퓨팅 노드들에게 할당하는 단계를 포함하는, 네트워크 격리를 위한 동적 클러스터 구성 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
여기서, 상기 클러스터IP로서 8비트 A Class 사설 주소를 부여하며, 2번째 자리는 상기 TIPC 주소의 존(zone) 번호, 3번째와 4번째는 상기 TIPC 주소의 클러스터 번호로 사용된다.
또한, 상기 노드IP는 클러스터마다 동일 규칙으로 할당하되, 동일 클러스터 내에서 마지막 자리만을 다르게 할당한다.
또한, 각 클러스터의 리더노드에게는 노드IP의 마지막 자리를 1로 할당한다.
또한, 상기 TIPC의 노드번호는 상기 노드IP의 마지막 자리를 이용한다.
또한, 외부의 사용자가 상기 클러스터IP(Cluster IP)와 상기 노드번호를 입력하여 임의의 컴퓨팅 노드로 접근하는 인터페이스를 제공한다.
본 발명의 다른 측면에 따르면, 네트워크로 연결되는 복수개의 컴퓨팅 노드들; 및 상기 컴퓨팅 노드들을 클러스터 단위로 그룹화하여 단일 컴퓨팅 환경을 제공하는 가상화서버를 포함하되, 상기 가상화서버는 상기 컴퓨팅 노드들에 대해 각각의 클러스터 정보를 확인하여 각 클러스터에 대해 동일 대역을 갖는 클러스터IP를 할당하고, 각 클러스터의 컴퓨팅 노드에 대해 동일 클러스터 내에서 서로 통신하기 위한 노드IP를 할당하며, 상기 클러스터IP 및 노드IP를 이용하여 고유한 TIPC주소를 생성하여 각 컴퓨팅 노드들에게 할당하는, 네트워크 격리를 위한 동적 클러스터 구성을 수행하는 단일 가상화 시스템이 제공된다.
여기서, 상기 가상화서버는 상기 클러스터IP로서 8비트 A Class 사설 주소를 부여하며, 2번째 자리는 상기 TIPC 주소의 존(zone) 번호, 3번째와 4번째는 상기 TIPC 주소의 클러스터 번호로 사용한다.
또한, 상기 노드IP는 클러스터마다 동일 규칙으로 할당하되, 동일 클러스터 내에서 마지막 자리만을 다르게 할당하고, 상기 TIPC의 노드번호는 상기 노드IP의 마지막 자리를 이용한다.
또한, 상기 가상화서버는 외부의 사용자가 상기 클러스터IP(Cluster IP)와 상기 노드번호를 입력하여 임의의 컴퓨팅 노드로 접근하는 인터페이스를 제공한다.
본 발명에 따르면, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 컴퓨팅 시스템에서 타 클러스터 간 별도의 네트워크를 나누지 않고 다수의 클러스터를 구성할 수 있다.
또한, 본 발명에 따르면, 다수의 클러스터로 구성된 각각의 클러스터를 네트워크를 격리하되 같은 대역의 주소를 갖도록 하여 대역의 수를 줄일 수 있으며, 또한 그로 인해 스위치 설정을 별도로 구성할 필요가 없는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도.
도 4는 본 발명의 일 실시예에 따른 DCCP 서버의 주소 할당 방식을 도시한 예시도.
도 5 및 도 6은 본 발명의 각 실시예에 따른 클러스터IP 및 노드IP의 구성을 도시한 도면들.
도 7은 본 발명의 일 실시예에 따른 TICP 주소 변환 방식을 도시한 개념도.
도 8은 본 발명의 일 실시예에 따른 단일 가상화 컴퓨팅 환경을 제공하는 시스템에서의 네트워크 격리를 위한 동적 클러스터 구성을 도시한 예시도.
도 9는 본 발명의 일 실시예에 따른 시스템 외부 사용자가 임의의 컴퓨팅 노드를 접속하는 예시를 도시한 예시도.
도 10은 본 발명의 일 실시예에 따른 네트워크 격리를 위한 동적 클러스터를 구성하는 과정을 도시한 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 후술될 제1 임계값, 제2 임계값 등의 용어는 실질적으로는 각각 상이하거나 일부는 동일한 값인 임계값들로 미리 지정될 수 있으나, 임계값이라는 동일한 단어로 표현될 때 혼동의 여지가 있으므로 구분의 편의상 제1, 제2 등의 용어를 병기하기로 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도이다.
도 1을 참조하면, 일반적인 클라우드 시스템은 하나의 컴퓨팅 노드에서 가상화엔진을 이용하여 다수개의 어플리케이션 뷰를 제공하는 방식이다.
이와 비교하여, 본 발명의 일실시예에 따른 가상화 방식은 다수의 컴퓨팅 노드의 자원을 이용하여 단일 컴퓨팅 환경을 제공하여 하나의 어플리케이션 뷰를 제공함으로써, 이용자는 다수 컴퓨팅 자원이 하나로 합쳐진 고성능 컴퓨팅 자원을 이용할 수 있게 된다.
물론, 차후 설명하겠으나, 본 실시예에 따른 역가상화 시스템에서도 상단에 순가상화엔진을 더 탑재하여 복수개의 뷰를 제공할 수도 있을 것이며, 이로 인해 복수개의 컴퓨팅 노드에 의한 고성능 컴퓨팅 자원을 이용한 가상화 클라우드 서비스를 제공할 수도 있다. 
이를 위한 시스템 구성을 도시한 도 2를 참조하면, 단일 가상화 시스템은 복수개의 컴퓨팅 노드(10)들과, 하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 컴퓨팅 노드(10)들의 자원을 이용한 가상화 단일 컴퓨팅 환경을 제공하는 가상화서버(30)를 포함한다. 본 실시예에서는 하이퍼바이저 계층에서 컨테이너를 이용한 방식을 하이퍼체인이라 칭하기로 한다. 즉, 하이퍼바이저 계층에서 컨테이너 기술을 이용하여 체인과 같이 각 컴퓨팅 노드들의 자원을 엮어 하나의 컴퓨팅 환경을 제공하는 것이다.
가상화서버(30)는 리눅스 커널 내부에서 컨테이너 기반 자원 격리 기술을 이용한다. 그리고, 리눅스 커널에서 클러스터 범위 자원 활용을 위한 작업 분배를 위한 관리자를 커널 모듈 형태로 운영한다. 일례에 따르면, 원격 메모리 접근 기술을 커널 내부 메모리 관리 코드의 수정으로 구현할 수 있다.
컨테이너 기술은 가장 대표적인 클라우드 네이티브 플랫폼으로 꼽힌다. 컨테이너는 오랫동안 리눅스 운영체제(OS)의 한 부분으로 존재해 왔다. 더 앞서는 유닉스 OS까지 거슬러 올라간다. 당초 [리눅스 컨테이너(LXC)]는 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템(컨테이너)들을 실행하기 위한 운영시스템 레벨 가상화 방법으로 시작됐다. 당시 다른 OS 레벨 가상화에 비해 보안수준은 안전하지 않았다. 이후 최근에 와서 윈도 컨테이너도 운영되기 시작했다.
 컨테이너는 간단히 말하면 OS위에 설치돼 그 위에 여러 개의 격리된 공간을 만드는 개념이다. VM웨어의 가상화 솔루션이 하드웨어 레벨에서 물리적인 컴퓨팅 자원을 쪼개어 쓰는 것이라면, 컨테이너는 OS레벨의 가상화다. 애플리케이션과 이를 실행하는 라이브러리, 바이너리, 구성파일 등을 하나로 묶었다.
 즉, 실행환경 및 필요한 라이브러리 등을 하나의 패키지로 묶어 배포할 수 있도록 하는 SW 도구라고 할 수 있다. 컨테이너 이미지는 실행에 필요한 모든 이미지를 포함하고 있기 때문에 컴퓨팅 환경과 관계없이 어디서나 동일하게 실행될 수 있다. 마치 물류수송에서 컨테이너 박스를 활용해 사과나 바나나 같은 과일부터 신발, 노트북 등 다양한 품목을 운송수단 관계없이 표준화, 규격화시켜 관리하는 것과 비슷하다. IT에서의 컨테이너 기술 역시 애플리케이션 종류에 상관없이 이를 표준 이미지로 운영한다.
도커(Docker)는 리눅스 애플리케이션을 컨테이너에 배치시키는 것을 자동화해주는 도구(툴)인데, 가상화서버(30)는 이를 이용한다. 도커와 같은 컨테이너 기반으로 운영되는 서비스의 경우, 갑작스러운 수요 증가 시 컨테이너 이미지를 더 많은 컴퓨팅 자원에 배포해 늘어난 워크로드를 분산 실행할 수 있도록 한다.
그리고, 하이퍼바이저는 프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계(OS)의 접근 방법을 통제하는 얇은 계층의 소프트웨어이다. 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치(CPU)와 OS 사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.
리눅스 컨테이너 기술은 줄여서 LXC라고 부른다. 하나의 호스트에서 여러 개의 격리된 리눅스 시스템을 실행하는 가상화 기법이다. chroot 기술을 이용하여 독립된 컴퓨팅 운영 환경을 제공한다. 이러한 환경을 일반적으로 namespace라고 부르며, 다음 5가지로 구성된다.
-UTS namespace : hostname 을 변경하고 분할
-IPC namespace : Inter-process communication. 프로세스간 통신 격리
-PID namespace : PID (Process ID)를 분할 관리
-NS namepsace : file system 의 mount 지점을 분할하여 격리
-NET namespace : Network interface, iptables 등 network 리소스와 관련된 정보를 분할
-USER namespace : user와 group ID를 분할 격리
그리고 cgroup 기술을 이용하여 시스템 자원 사용을 격리한다. 컨테이너 단위로 작업을 처리할 CPU 코어를 지정할 수 있으며, 컨테이너가 사용하는 메모리 제한이 가능하다.
리눅스 컨테이너를 이용하는 장점은 자원을 동적으로 확장/축소가 가능하다. 그리고 동적 관리 기능을 제공하는 다른 가상화 기술 대비 연산 오버헤드가 적다. CPU-Intensive한 연산 수행에 성능 측면에서 차별화된 장점을 보인다.
컨테이터 기반 자원 격리 기술 및 하이퍼바이저는 당업자에게는 자명할 것이므로, 더욱 상세한 설명은 생략한다.
정리하자면, 가상화서버(30)는 가상화 기반 하이퍼바이저 계층에서 컨테이너 자원 격리 기술을 이용하여 복수개의 컴퓨팅 노드(10)의 자원을 이용한 단일 컴퓨팅 가상 환경을 제공하는 것이다.
가상화서버(30)는 어플리케이션의 실행을 위한 어플리케이션부와 각 컴퓨팅 노드(10)의 자원을 분산 활용하기 위한 분산처리부를 더 포함한다.
이하에서는 가상화 서버에서의 단일 가상화 방법에 대해 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도이다.
도 3을 참조하면, 가상화서버(30)는 관리하는 복수개의 컴퓨팅 노드(10)들의 컴퓨팅 자원을 확인한다(S310). 예를 들어 각 컴퓨팅 노드(10)들의 가용저장용량, CPU/메모리 사양 등일 수 있으며, 이는 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략한다.
가상화서버(30)는 각 컴퓨팅 노드(10)들의 확인된 자원을 기반으로, 하이퍼바이저 계층에서 리눅스 컨테이너 기반 자원 격리 기술을 이용하여 가상화 단일 컴퓨팅 환경을 구축한다(S320). 리눅스 컨테이너 기반 자원 격리 기술은 상술하였으므로 중복되는 설명은 생략한다.
여기서, 컴퓨팅 노드(10)들 중 하나는 리더노드로서 설정(도 7 참조)되며, 리더노드는 사용자에게 단일 가상화 환경을 제공하는 노드이다. 단일 가상화 환경에서는 리더노드의 컴퓨팅 자원과 함께 연결된 다른 모든 컴퓨팅 노드의 자원이 통합되어 보여진다. 사용자는 SSH(secure shell)나 VNC(virtual network computing)를 통해 컴퓨팅 환경에 접속하고 투명하게 제공된 글로벌 자원을 사용한다. 
리더노드 외의 다른 컴퓨팅 노드들은 단일 가상화 환경에 자원 제공 목적으로 리눅스 컨테이너를 생성한다. 단순 자원 제공 목적으로 생성된 컨테이너이므로 각 컴퓨팅 노드가 가진 자원만 보여지며, 관리 목적의 SSH 서비스를 제공한다. 즉, 리더노드는 SSH 서비스, VNC 서비스 및 글로벌 작업 관리자의 기능을 제공하며, 나머지 컴퓨팅 노드들은 SSH 서비스만을 제공한다.
다시 도면을 참조하면, 이후 가상화서버(30)는 가상화 단일 컴퓨팅 환경을 이용한 클라우드 서비스를 유저들로 제공한다(S330). 이때 하나의 어플리케이션에 따른 뷰를 제공함으로써 고성능 클라우드 서비스를 제공할 수 있으며, 또는 상술한 바와 같이 도면에는 도시되지 않았으나 순가상화를 위한 가상화엔진을 이용하여 다수의 뷰를 제공할 수도 있을 것이다.
이하에서는 이러한 복수의 컴퓨팅 노드를 클러스터 별로 네트워크 구성함에 있어, 대역을 최소화하는 네트워크 격리를 위한 동적 클러스터 구성 방식에 대해 설명하기로 한다.
IP를 각 노드에 자동으로 할당해 주는 기술로 DHCP (Dynamic Host Configuration Protocol) 라는 프로토콜이 존재한다. 본 발명에서 제안하는 DCCP (Dynamic Cluster Configuration Protocol)는 기존의 DHCP의 IP 할당 방법을 기반으로 한다.
DCCP는 기존의 DHCP의 IP 할당 방법에 추가적으로 각 클러스터를 구분할 수 있는 방법을 제공한다. 그리고, 클러스터내의 각 노드는 서로의 자원 공유를 위해 TIPC(Transparent Inter-process Communication)라는 프로토콜을 사용하며, 이를 위해 각 노드는 3자리 숫자로 구성된 주소를 가진다.
TIPC는 클러스터의 전반적인 동작을 위해 설계된 Linux의 프로세스간 통신(IPC) 이다. 네트워크를 통해 노드들 간에 각 노드의 정보를 주고 받는다. 각 노드들 간에 주소를 지정하여 통신을 하게 되는데 존(Zone), 클러스터(Cluster), 노드(Node)의 계층적 구조를 가진다. 이를 통해 서로 다른 클러스터 간의 구분이 가능하다. 다시 말해, 동일한 IP를 갖더라도 서로 다른 클러스터의 노드들은 구분되는 TIPC를 이용하여 서로 통신할 수 있게 되는 것이다.
가상화서버(30)는 하나의 클러스터내에서 각 노드들이 서로 통신하기 위한 아이피주소(IP address)를 부여하며 이를 노드IP(Node IP)라고 지칭한다. 노드 IP의 마지막 자리를 TIPC의 노드번호로 사용한다. 각 클러스터 내에는 마지막 자리가 .1 로 끝나는 IP 를 가진 노드를 가지며, 이를 리더노드(Leader Node)라고 지칭한다.
또한, 가상화서버(30)는 외부에서 각 클러스터에 접근하기 위한 IP를 부여하며, 이를 클러스터IP(Cluster IP)라고 지칭한다.
클러스터IP로서 8bit A Class 사설 주소(10. 으로 시작하는 IP를 의미하며 10.x.x.x 형태의 주소를 가진다.)를 부여한다. 클러스터IP의 2번째 자리를 TIPC의 Zone 번호, 3번째와 4번째 자리를 TIPC의 클러스터 번호로 사용한다.
TIPC는 X.X.X 형태의 주소를 사용하며 [Zone번호].[Cluster번호].[Node번호]의 구조를 가진다. 각 노드는 DCCP (Dynamic Cluster Configuration Protocol) 서버를 통해 클러스터IP와 노드IP를 부여 받는다. 여기서, DCCP 서버의 기능은 일례에 따라 마스터 노드(master node)라 칭하는 가상화서버(30)가 수행하거나, 또는 가상화서버(30)에 의해 제어되는 별도의 서버장치로 구현될 수도 있다. 이하에서는 설명의 편의상 가상화서버(30)가 DCCP 기능을 수행하는 것을 위주로 설명하기로 한다.
따라서, 각 컴퓨팅 노드가 부여받은 노드IP는 동일한 주소 값을 사용하여도 DCCP에 의해 네트워크가 격리되어 클러스터 간에 무충돌(Collisionless) 운영이 가능하다.
이하 도면을 참조하여 상세히 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 DCCP 서버의 주소 할당 방식을 도시한 예시도이고, 도 5 및 도 6은 본 발명의 각 실시예에 따른 클러스터IP 및 노드IP의 구성을 도시한 도면들이다.
도 4를 참조하면, 기존의 DHCP의 IP 할당 방법에 추가적으로 각 클러스터를 구분할 수 있는 방법을 제공하여, 클러스터IP와 노드IP를 부여하여 각 클러스터를 구분하고 클러스터 내의 노드들이 서로 통신이 가능하도록 한다.
도 5를 참조하면, 클러스터IP로서 8bit A Class 사설 주소 (10.x.x.x 형태의 IP 주소)를 부여한다. 2번째 자리를 TIPC의 Zone 번호, 3번째와 4번째 자리를 TIPC의 Cluster 번호로 사용한다. 존 넘버는 다수의 클러스터로 구성된 그룹의 식별번호이며, 클러스터 넘버는 여러개의 컴퓨팅 노드를 하나의 자원으로 통합하여 사용하는 단위의 식별번호이다.
노드IP를 도시한 도 6을 참조하면, 노드IP는 하나의 클러스터내에서 각 노드들이 서로 통신하기 위한 IP이다. 노드IP 의 마지막 자리를 TIPC의 노드번호로 사용한다. 노드번호는 클러스터 내의 각 물리장치(서버, 즉 컴퓨팅 노드) 단위의 식별번호이다.
그리고 일례에 따르면, 각 클러스터를 구성하는 컴퓨팅 노드들 중에서는 리더노드(Leader Node)가 존재하게 되는데, 각 클러스터 내에는 마지막 자리가 .1 로 끝나는 IP가 존재하는데, 이는 리더노드에게 할당된다.
도 7은 본 발명의 일 실시예에 따른 TICP 주소 변환 방식을 도시한 개념도이고, 도 8은 본 발명의 일 실시예에 따른 단일 가상화 컴퓨팅 환경을 제공하는 시스템에서의 네트워크 격리를 위한 동적 클러스터 구성을 도시한 예시도이고, 도 9는 본 발명의 일 실시예에 따른 시스템 외부 사용자가 임의의 컴퓨팅 노드를 접속하는 예시를 도시한 예시도이다.
먼저 도 7을 참조하면, 클러스터IP(Cluster IP)의 2번째 자리를 TIPC의 Zone 번호, 3번째와 4번째 자리를 TIPC의 Cluster 번호로 사용한다. 그리고, 노드IP(Node IP)의 마지막 자리를 TIPC의 노드번호(Node number)로 사용한다.
즉, TIPC는 클러스터 구성을 위해 각 노드들 간에 주소를 지정하여 통신을 하게 되는데, X.X.X 형태의 주소를 사용하며 [Zone번호].[Cluster번호].[Node번호] 의 구조를 가진다.
전술한 바와 같이, 존(Zone)은 다수의 클러스터로 구성된 그룹이며, 클러스터는 복수개의 노드를 하나의 자원으로 통합하여 사용하는 단위이며, 노드는 클러스터의 각 물리장치(즉, 컴퓨팅 노드(10))의 단위이다.
도 8을 참조하면, 가상화 서버(30, 즉 DDCP 서버)는 클러스터를 이용한 단일 가상화 컴퓨팅 환경을 제공하기 위해, 각 클러스터들의 클러스터IP를 동일 대역의 주소로 할당하며, 또한 컴퓨팅 노드(10)들에 대해 동일 방식으로 노드IP를 할당한다. 여기서, 도면과 같이 서로 다른 클러스터에 속한 컴퓨팅 노드의 노드IP는 서로 동일하게 할당될 수 있으며, 서로 통신시에는 다른 주소값을 갖는 TIPC를 이용한다. 즉, 노드간의 네트워크 통신을 위한 주소 또한 TIPC를 이용한 구성 방식을 제안함으로써 간략히 네트워크 격리를 구성할 수 있다.
그리고 도 9를 참조하면, DCCP 내의 노드로 접속할 수 있는 클라이언트 인터페이스를 제공하여, 외부에서 접속 시 클러스터IP(Cluster IP)와 노드번호를 통해 접속할 수 있도록 한다.
도 10은 본 발명의 일 실시예에 따른 네트워크 격리를 위한 동적 클러스터를 구성하는 과정을 도시한 흐름도이다.
전술한 주소 할당 방식에 따른 가상화서버(30)가 각 컴퓨팅 노드(10)들에게 주소를 할당하는 과정을 도시한 도 10을 참조하면, 컴퓨팅 노드들에 대한 정보를 확인한다(S1010). 예를 들어, 사용자에게 배포된 컴퓨팅 노드들에 대해 어떤 클러스터에 포함되어 있는지, 리더노드인지 여부 등에 대한 정보를 확인한다. 예를 들어, 컴퓨팅 노드들에 대해 각각의 클러스터 정보를 확인한다.
확인된 컴퓨팅 노드(10)들의 정보를 기반으로 클러스터IP 및 노드IP를 DCCP 기능을 이용하여 할당한다(S1020). 즉, 클러스터 정보와 같은 노드정보를 기반으로 각 클러스터에 대해 동일 대역을 갖는 클러스터IP를 할당하고, 각 클러스터의 컴퓨팅 노드(10)들에 대해 노드IP를 할당한다. 여기서, 노드IP는 클러스터마다 동일 규칙으로 할당될 수 있으며(도 4참조), 동일 클러스터 내에서 마지막 자리만을 다르게 할당한다. 그리고, 노드정보에 따른 클러스터 내 리더노드에 대해 마지막 자리를 1로 할당하고, 도면을 참조하여 설명한 바와 같이 순서대로 숫자를 높이는 방식을 이용할 수 있다.
DCCP 기능에 따른 각 IP할당 방식은 전술하였으므로 중복되는 설명은 생략한다.
그리고, 할당한 클러스터IP와 노드IP를 이용하여 고유한 TICP주소를 생성하여 각 컴퓨팅 노드들에게 할당한(S1030). 다시 말해, 클러스터IP(Cluster IP)의 2번째 자리를 TIPC의 Zone 번호, 3번째와 4번째 자리를 TIPC의 Cluster 번호로 사용하고, 노드IP(Node IP)의 마지막 자리를 TIPC의 노드번호(Node number)로 고유의 TIPC주소를 생성하여 할당한다.
상술한 본 발명에 따른 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : 컴퓨팅 노드
30 : 가상화서버

Claims (11)

  1. 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템에서 수행되는 네트워크 격리를 위한 동적 클러스터 구성 방법에 있어서,
    컴퓨팅 노드들에 대해 각각의 클러스터 정보를 확인하는 단계;
    상기 클러스터 정보를 기반으로 각 클러스터에 대해 동일 대역을 갖는 클러스터IP를 할당하고, 각 클러스터의 컴퓨팅 노드에 대해 동일 클러스터 내에서 서로 통신하기 위한 노드IP를 할당하는 단계; 및
    상기 클러스터IP의 2번째 자리를 존(zone)번호로 사용하고, 3번째와 4번째는 클러스터 번호로 사용하며, 상기 노드IP의 마지막 자리를 노드번호로 사용하는 고유의 TIPC주소를 생성하여 각 컴퓨팅 노드들에게 할당하는 단계를 포함하되,
    상기 클러스터IP로서 8비트 A Class 사설 주소를 부여하며, 상기 노드IP는 클러스터마다 동일 규칙으로 할당하되 동일 클러스터 내에서 마지막 자리만을 다르게 할당하며,
    외부의 사용자가 상기 클러스터IP와 상기 노드번호를 입력하여 임의의 컴퓨팅 노드로 접근하는 인터페이스를 제공하는, 네트워크 격리를 위한 동적 클러스터 구성 방법.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서,
    각 클러스터의 리더노드에게는 노드IP의 마지막 자리를 1로 할당하는, 네트워크 격리를 위한 동적 클러스터 구성 방법.
  5. 삭제
  6. 삭제
  7. 청구항 1의 방법을 수행하기 위한 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체.
  8. 네트워크로 연결되는 복수개의 컴퓨팅 노드들; 및
    상기 컴퓨팅 노드들을 클러스터 단위로 그룹화하여 단일 컴퓨팅 환경을 제공하는 가상화서버를 포함하되,
    상기 가상화서버는 상기 컴퓨팅 노드들에 대해 각각의 클러스터 정보를 확인하여 각 클러스터에 대해 동일 대역을 갖는 클러스터IP를 할당하고, 각 클러스터의 컴퓨팅 노드에 대해 동일 클러스터 내에서 서로 통신하기 위한 노드IP를 할당하며, 상기 클러스터IP의 2번째 자리를 존(zone)번호로 사용하고, 3번째와 4번째는 클러스터 번호로 사용하며, 상기 노드IP의 마지막 자리를 노드번호로 사용하는 고유의 TIPC주소를 생성하여 각 컴퓨팅 노드들에게 할당하되,
    상기 클러스터IP로서 8비트 A Class 사설 주소를 부여하며, 상기 노드IP는 클러스터마다 동일 규칙으로 할당하되 동일 클러스터 내에서 마지막 자리만을 다르게 할당하며,
    외부의 사용자가 상기 클러스터IP와 상기 노드번호를 입력하여 임의의 컴퓨팅 노드로 접근하는 인터페이스를 제공하는, 네트워크 격리를 위한 동적 클러스터 구성을 수행하는 단일 가상화 시스템.
  9. 삭제
  10. 삭제
  11. 삭제
KR1020200124988A 2020-09-25 2020-09-25 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템 KR102378817B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200124988A KR102378817B1 (ko) 2020-09-25 2020-09-25 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200124988A KR102378817B1 (ko) 2020-09-25 2020-09-25 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102378817B1 true KR102378817B1 (ko) 2022-03-29

Family

ID=80995616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200124988A KR102378817B1 (ko) 2020-09-25 2020-09-25 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102378817B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277391A (zh) * 2022-06-30 2022-11-01 联想(北京)有限公司 一种网络配置方法、装置、集群及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524317A (ja) * 2002-04-29 2005-08-11 ハリス コーポレイション 階層的なモバイル・アドホック・ネットワーク及びそのネットワークにおけるリアクティブ・ルーティングを実行するための方法
JP2018504038A (ja) * 2015-12-31 2018-02-08 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ソフトウェア定義型データセンター、並びにそのためのサービスクラスタスケジューリング方法及びトラフィック監視方法
KR20180107983A (ko) * 2017-03-23 2018-10-04 한국전자통신연구원 가상화 플랫폼 생성 및 실행 장치 및 그 방법
KR20190058619A (ko) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524317A (ja) * 2002-04-29 2005-08-11 ハリス コーポレイション 階層的なモバイル・アドホック・ネットワーク及びそのネットワークにおけるリアクティブ・ルーティングを実行するための方法
JP2018504038A (ja) * 2015-12-31 2018-02-08 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ソフトウェア定義型データセンター、並びにそのためのサービスクラスタスケジューリング方法及びトラフィック監視方法
KR20190058619A (ko) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법
KR20180107983A (ko) * 2017-03-23 2018-10-04 한국전자통신연구원 가상화 플랫폼 생성 및 실행 장치 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277391A (zh) * 2022-06-30 2022-11-01 联想(北京)有限公司 一种网络配置方法、装置、集群及存储介质
CN115277391B (zh) * 2022-06-30 2024-03-26 联想(北京)有限公司 一种网络配置方法、装置、集群及存储介质

Similar Documents

Publication Publication Date Title
EP3432549B1 (en) Method and apparatus for processing user requests
US11392400B2 (en) Enhanced migration of clusters based on data accessibility
US9052932B2 (en) Hybrid virtual machine configuration management
US8327372B1 (en) Virtualization and server imaging system for allocation of computer hardware and software
US11196640B2 (en) Releasing and retaining resources for use in a NFV environment
US20160350157A1 (en) Dynamic thread pool management
CN110098946B (zh) 虚拟化网元设备的部署方法以及装置
US20190250946A1 (en) Migrating a software container taking into account resource constraints
KR20060120406A (ko) 서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장매체
CN106296530B (zh) 针对非聚合基础设施的信任覆盖
GB2473136A (en) Allocating resources to partitions in a data processing system at start up according to a configuration profile
US11093288B2 (en) Systems and methods for cluster resource balancing in a hyper-converged infrastructure
US10572421B2 (en) Topology-aware parallel reduction in an accelerator
KR20210096259A (ko) 컴퓨팅 리소스 할당
CN112424765A (zh) 用于用户定义的函数的容器框架
CN117480494A (zh) 改进虚拟计算环境中资源分配的协调容器调度
KR102378817B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템
US20060095708A1 (en) Apparatus and method for parallel installation of logical partitions
US11360824B2 (en) Customized partitioning of compute instances
KR102413924B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 프로세스 그룹 관리 방법 및 그 시스템
KR102231359B1 (ko) 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법
KR102413923B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 전력효율을 위한 로드 밸런싱 방법 및 그 시스템
KR102231357B1 (ko) 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 소프트웨어 정의 서버 배포 스케줄링 방법
KR102573439B1 (ko) 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 hpc 시스템 및 방법
KR102231358B1 (ko) 고성능 클라우드 서비스를 위한 단일 가상화 방법 시스템

Legal Events

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