KR20230034005A - 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치 - Google Patents

엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치 Download PDF

Info

Publication number
KR20230034005A
KR20230034005A KR1020210117070A KR20210117070A KR20230034005A KR 20230034005 A KR20230034005 A KR 20230034005A KR 1020210117070 A KR1020210117070 A KR 1020210117070A KR 20210117070 A KR20210117070 A KR 20210117070A KR 20230034005 A KR20230034005 A KR 20230034005A
Authority
KR
South Korea
Prior art keywords
snapshot
volume
cluster
unit
master
Prior art date
Application number
KR1020210117070A
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 KR1020210117070A priority Critical patent/KR20230034005A/ko
Publication of KR20230034005A publication Critical patent/KR20230034005A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷을 생성 및 복구하는 기술적 사상에 관한 것으로, 보다 구체적으로, 스냅샷을 찍은 후 변경 사항에서 오류가 발생할 경우 스냅샷을 활용하여 바뀌기 이전 버전의 데이터 복사본을 생성하여 상태를 복구하는 서비스 고속 스냅샷 생성 및 복구 기술에 관한 것으로, 본 발명의 일실시예에 따르면 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치는 스냅샷 생성 요청에 기반하여 마스터 분산 데이터 저장부(etcd)에 리소스 메타데이터를 요청하고, 상기 요청된 리소스 메타데이터에 기반하여 볼륨 스냅샷 생성 요청을 전달하는 마스터 클러스터부 및 상기 전달된 볼륨 스냅샷 생성 요청에 기반하여 볼륨 스냅샷 및 상기 볼륨 스냅샷의 식별자(identification, ID)을 생성하고, 상기 생성된 식별자(identification, ID)를 이용하여 상기 생성된 볼륨 스냅샷을 관리하고, 상기 볼륨 스냅샷 생성 요청에 대응하여 상기 생성된 식별자(identification, ID)를 전달하는 멤버 클러스터부를 포함할 수 있다.

Description

엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치{APPARATUS OF GENERATING AND RESTORING MULTI CLUSTER SNAPSHOT IN EDGE CLOUD COMPUTING ENVIRONMENT}
본 발명은 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷을 생성 및 복구하는 기술적 사상에 관한 것으로, 보다 구체적으로, 스냅샷을 찍은 후 변경 사항에서 오류가 발생할 경우 스냅샷을 활용하여 바뀌기 이전 버전의 데이터 복사본을 생성하여 상태를 복구하는 서비스 고속 스냅샷 생성 및 복구 기술에 관한 것이다.
서비스 스냅샷 기술은 엣지 서버에서 저장 공간의 데이터와 상태를 저장하는 볼륨을 복구하기 위해서 사용될 수 있다.
도 1은 종래 기술에 따른 쿠버네티스에서의 볼륨을 설명하는 도면이다.
도 1을 참고하면, 쿠버네티스(Kubernetes)에서의 볼륨 영역(100)은 팟(110), 퍼시스턴트볼륨클레임(120), 관리자 볼륨(130) 및 관리자 볼륨(130)을 생성 및 관리하는 관리자(140)로 구성될 수 있다.
팟(110)은 쿠버네티스(kubernetes)에서의 볼륨 단위로 컨테이너(111) 및 볼륨(112)을 포함한다.
관리자 볼륨(130)은 물리 디스크(131) 및 퍼시스턴트 볼륨(132)으로 구성된다.
물리 디스크(131) 및 퍼시스턴트 볼륨(132)은 관리자(140)에 의해 생성된 관리될 수 있다.
예를 들어, 물리 디스크(131)는 PV로 지칭되고, 퍼시스턴트볼륨클레임(120)은 PVC로 지칭될 수 있다.
퍼시스턴트볼륨클레임(120)은 팟(110)과 물리 디스크(131)를 연결할 수 있다.
볼륨 스냅샷은 저장 공간의 데이터와 상태를 저장한 것을 볼륨을 복구하기 위해 사용된다.
스냅샷을 찍은 후 변경사항에서 오류가 발생할 경우 스냅샷을 활용하여 바뀌기 이전 버전의 데이터 복사본을 생성하여 상태를 복구 시킴에 따라 컨테이너(111)에서 볼륨 스냅샷이 필요할 수 있다.
도 2는 종래 기술에 따른 CSI 플러그인(plugin) 시스템 구성도를 설명하는 도면이다.
CSI는 컨테이너 저장 인터페이스(Container Storage Interface, CSI)의 약자이다.
도 2를 참고하면 CSI 플러그인 시스템(200)은 쿠버 코어부(210), 쿠버 사이드카 컨테이너(220) 및 CSI 플로그인부(230) 및 스토리지 서비스부(240)를 포함한다.
쿠버 코어부(210)는 마스터(311), API 서버(212), 동작부(213) 및 CSI 인 트리부(214)를 포함한다.
쿠버 사이드카 컨테이너(220)는 외부 공급부(221) 및 외부 첨가부(222)를 포함한다.
CSI 플로그인부(230)는 CSI 제어부(231) 및 CSI 노드(232)를 포함한다.
쿠버 코어부(210)와 쿠버 사이드카 컨테이너(220)는 물리디스크와 볼륨 부착 기능을 통해 연동된다.
외부 공급부(221)는 볼륨을 생성 및 삭제하고, 외부 첨가부(222)는 CSI 제어부(231)를 공개 또는 비공개한다.
한편 CSI 노드(231)는 동작부(213)에 의해 동작 및 공개상태가 결정될 수 있다.
컨테이너는 영구 저장이 필요하지 않다는 초기의 가정에도 불구하고 사용자들은 컨테이너화된 응용 프로그램의 연속성을 유지하는 쪽으로 이동하고 있다.
그렇기 때문에 기존의 컨테이너가 죽으면 컨테이너에 있던 데이터들이 사라지는 것이 아닌 기존의 데이터를 사용하여 해당 컨테이너를 인스턴스화 하는 방식으로 컨테이너의 연속성을 유지하고 있다.
CSI의 목표는 컨테이너 오케스트레이션 플랫폼 플러그인과 영구 스토리지에 연결 할 수 있는 공통표준을 제안하는 것이다.
테스트할 쿠버네티스 스토리지는 nfs기준이기 때문에 nfs를 지원하는 csi 드라이버 설치가 필요하다.
외부 스토리지마다 필요한 드라이버가 다르기 때문에 사용자의 스토리지와 맞는 드라이버 설치가 필수적이다.
한국공개특허 제10-2014-0106588호, "공유 볼륨의 어플리케이션 일관된 스냅샷 기법" 한국등록특허 제10-0926098호, "스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치" 한국등록특허 제10-1833114호, "분산 데이터베이스 시스템들을 위한 고속 장애 복구"
본 발명은 스냅샷을 찍은 후 변경 사항에서 오류가 발생할 경우 스냅샷을 활용하여 바뀌기 이전 버전의 데이터 복사본을 생성하여 상태를 복구하는 서비스 고속 스냅샷 생성 및 복구 기술을 제공하는 것을 목적으로 한다.
본 발명은 각각의 클러스터에 존재하는 분산 데이터 저장부(etcd)를 컨트롤 할 수 있는 마스터 클러스터부의 분산 데이터 저장부(etcd)를 제공하는 것을 목적으로 한다.
본 발명은 멤버 클러스터부 각각의 분산 데이터 저장부(etcd) 정보를 마스터 클러스터부의 분산 데이터 저장부(etcd)가 가지고 있다가 외부의 클러스터에서 스냅샷을 이용하여 볼륨을 복구할 때 기존 클러스터의 분산 데이터 저장부(etcd) 데이터를 공유하면서 볼륨 복구를 가능하도록하여 클러스터간 고속 스냅샷 이동을 제공하는 것을 목적으로 한다.
본 발명의 일실시예에 따르면 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치는 스냅샷 생성 요청에 기반하여 마스터 분산 데이터 저장부(etcd)에 리소스 메타데이터를 요청하고, 상기 요청된 리소스 메타데이터에 기반하여 볼륨 스냅샷 생성 요청을 전달하는 마스터 클러스터부 및 상기 전달된 볼륨 스냅샷 생성 요청에 기반하여 볼륨 스냅샷 및 상기 볼륨 스냅샷의 식별자(identification, ID)을 생성하고, 상기 생성된 식별자(identification, ID)를 이용하여 상기 생성된 볼륨 스냅샷을 관리하고, 상기 볼륨 스냅샷 생성 요청에 대응하여 상기 생성된 식별자(identification, ID)를 전달하는 멤버 클러스터부를 포함할 수 있다.
상기 마스터 클러스터부는 상기 멤버 클러스터부에 볼륨 스냅샷 생성 완료 체크를 요청하고, 상기 멤버 클러스터부로부터 상기 생성된 볼륨 스냅샷을 수신하여 상기 수신된 볼륨 스냅샷을 상기 마스터 분산 데이터 저장부(etcd)에 저장할 수 있다.
상기 마스터 클러스터부는 스냅샷 복구 요청에 기반하여 상기 마스터 분산 데이터 저장부(etcd)로부터 스냅샷 데이터를 획득하고, 상기 획득한 스냅샷 데이터에 기반하여 볼륨 스냅샷 기반 PVC 생성 요청을 상기 멤버 클러스터부로 전달하여 상기 멤버 클러스터부로부터 수신되는 볼륨 스냅샷 복구 완료 정보에 기반하여 볼륨 스냅샷 복구 완료를 확인하고, 상기 확인된 볼륨 스냅샷 복구 완료에 기반하여 리소스 교체 요청 및 컨테이너 정보를 갱신함에 따라 스냅샷 복구를 수행할 수 있다.
본 발명은 스냅샷을 찍은 후 변경 사항에서 오류가 발생할 경우 스냅샷을 활용하여 바뀌기 이전 버전의 데이터 복사본을 생성하여 상태를 복구하는 서비스 고속 스냅샷 생성 및 복구 기술을 제공할 수 있다.
본 발명은 각각의 클러스터에 존재하는 분산 데이터 저장부(etcd)를 컨트롤 할 수 있는 마스터 클러스터부의 분산 데이터 저장부(etcd)를 제공할 수 있다.
본 발명은 멤버 클러스터부 각각의 분산 데이터 저장부(etcd) 정보를 마스터 클러스터부의 분산 데이터 저장부(etcd)가 가지고 있다가 외부의 클러스터에서 스냅샷을 이용하여 볼륨을 복구할 때 기존 클러스터의 분산 데이터 저장부(etcd) 데이터를 공유하면서 볼륨 복구를 가능하도록하여 클러스터간 고속 스냅샷 이동을 제공할 수 있다.
도 1은 종래 기술에 따른 쿠버네티스에서의 볼륨을 설명하는 도면이다.
도 2는 종래 기술에 따른 CSI 플러그인(plugin) 시스템 구성도를 설명하는 도면이다.
도 3은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치를 설명하는 도면이다.
도 4a는 본 발명의 일실시예에 따른 볼륨 스냅샷의 스냅샷 결과 저장을 설명하는 도면이다.
도 4b는 본 발명의 일실시예에 따른 마스터 클러스터부의 데이터 베이스 구조를 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따른 볼륨 관련 리소스(resource) 별 관계도를 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따른 확장된 볼륨 스냅샷을 설명하는 도면이다.
도 7은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 시스템을 설명하는 도면이다.
도 8은 본 발명의 일실시예에 따른 함수 적용 예시를 설명하는 도면이다.
도 9는 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 방법을 설명하는 도면이다.
도 10은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 복구 방법을 설명하는 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 스테이지, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 스테이지, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명에서 분산 데이터 저장부(etcd)로 지칭하는 etcd는 쿠버네티스 클러스터(Kubernetes Cluster)의 데이터베이스(database) 역할을 하는 서버이다.
etcd는 클러스터(Cluster)의 각종 서버정보와 상태를 키(Key)/밸류(Value) 형태로 저장한다.
etcd는 해당 클러스터의 정보를 가지고 있으며 쿠버네티스 API(application program interface)를 통하여 접근할 수 있다.
etcd는 클러스터 CRUD를 담당하고, 쿠버네티스 관련 메타정보를 관리한다.
선별적 스냅샷 및 복구 방식은 하나의 팟(pod) 기준으로 볼륨의 현재 상태를 etcd db에 저장하여 스냅샷 단위를 팟 단위로 분리한다.
도 3은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치를 설명하는 도면이다.
도 3은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치의 구성 요소를 예시한다.
도 3을 참고하면, 본 발명의 일실시예에 따르면 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치(300)는 마스터 클러스터부(310) 및 멤버 클러스터부(320)를 포함한다.
본 발명의 일실시예에 따르면 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치(300)는 스냅샷 생성 요청에 기반하여 마스터 분산 데이터 저장부(etcd)에 리소스 메타데이터를 요청하고, 상기 요청된 리소스 메타데이터에 기반하여 볼륨 스냅샷 생성 요청을 전달하는 마스터 클러스터부 및 상기 전달된 볼륨 스냅샷 생성 요청에 기반하여 볼륨 스냅샷 및 상기 볼륨 스냅샷의 식별자(identification, ID)을 생성하고, 상기 생성된 식별자(identification, ID)를 이용하여 상기 생성된 볼륨 스냅샷을 관리하는 멤버 클러스터부를 포함할 수 있다.
또한, 멤버 클러스터부는 마스터 클러스터부(310)의 볼륨 스냅샷 생성 요청에 대응하여 볼륨 스냅샷의 식별자(identification, ID)를 마스터 클러스터부(310)로 전달할 수 있다.
일례로, 마스터 클러스터부(310)는 멤버 클러스터부(310)에 볼륨 스냅샷 생성 완료 체크를 요청하고, 멤버 클러스터부(320)로부터 생성된 볼륨 스냅샷을 수신하여 상기 수신된 볼륨 스냅샷을 마스터 분산 데이터 저장부(etcd)에 저장할 수 있다.
본 발명의 일실시예에 따르면 마스터 클러스터부(310)는 스냅샷 복구 요청에 기반하여 상기 마스터 분산 데이터 저장부(etcd)로부터 스냅샷 데이터를 획득하고, 상기 획득한 스냅샷 데이터에 기반하여 볼륨 스냅샷 기반 PVC 생성 요청을 멤버 클러스터부(320)로 전달하여 멤버 클러스터부(320)로부터 수신되는 볼륨 스냅샷 복구 완료 정보에 기반하여 볼륨 스냅샷 복구 완료를 확인한다.
또한, 마스터 클러스터부(310)는 확인된 볼륨 스냅샷 복구 완료에 기반하여 리소스 교체 요청 및 컨테이너 정보를 갱신함에 따라 스냅샷 복구를 수행할 수 있다.
도 4a는 본 발명의 일실시예에 따른 볼륨 스냅샷의 스냅샷 결과 저장을 설명하는 도면이다.
도 4a는 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치에서 스냅샷 결과 저장을 예시한다.
도 4a를 참고하면 마스터 클러스터부에 해당하는 Open MCP 제어부(400)는 ETCD 데이터베이스(401), 스냅샷 스케쥴러(402) 및 클러스터 API 제어부(403)를 포함한다.
한편 멤버 클러스터부에 해당하는 제1 클라스터(410)는 노드(411)를 포함하고, 노드(411) 내 스냅샷 제어부(412) 및 리소스(413)를 포함한다.
쿠버네티스 리소스인 팟 단위로 스냅샷을 추출하여 스냅샷 정보를 저장한다.
도 4b는 본 발명의 일실시예에 따른 마스터 클러스터부의 데이터 베이스 구조를 설명하는 도면이다.
도 4b는 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치에서 마스터 클러스터부에 의해 제어되는 데이터 베이스로 ETCD 데이터 베이스의 내부 저장 정보를 설명한다.
도 4b를 참고하면, Open MCP 제어부(420)는 ETCD 데이터베이스(421)를 포함하고, ETCD 데이터베이스(421) 내 저장된 정보는 클러스터별로, 키, 팟, 밸류로 저장된다.
즉, 스냅샷을 저장할 수 있는 데이터 베이스로서 키(key) 및 밸류(value)가 ETCD 데이터베이스에 저장된다.
ETCD 데이터베이스는 키-밸류 스토리지, 모든 클러스터 데이터를 담는 쿠버네티스 뒷 단의 저장소로 사용되는 일관성 및 고가용성 키-밸류 저장소일 수 있다.
도 5는 본 발명의 일실시예에 따른 볼륨 관련 리소스(resource) 별 관계도를 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따른 볼륨 관련 리소스를 예시하되, 볼륨 스냅샷 리소스는 사용자 및 관리자를 위한 볼륨을 프로비저닝(provisioning)할 때 사용되는 방법 퍼시스턴트 볼륨과 유사하며 API 리소스가 제공되어 사용자 및 관리자를 위한 볼륨 스냅샷을 생성할 수 있다.
도 5를 참고하면, 볼륨 관련 리소스는 스냅샷(510), 볼륨 스냅샷 데이터(520), 볼륨 스냅샷(530), 퍼시스턴트볼륨(540), 퍼시스턴트볼륨클레임(550) 및 볼륨(560)으로 구성된다.
CRD(custom resource definition)를 사용하여 쿠버네티스 리소스 형태로 볼륨 스냅샷을 추출한다.
저장된 스냅샷을 이용하여 해당 시점의 팟을 복구한다.
도 6은 본 발명의 일실시예에 따른 확장된 볼륨 스냅샷을 설명하는 도면이다.
현재 스냅샷 기능이 한계는 클러스터 내부에서만 스냅샷 기능을 사용할 수 있다는 것이다.
이유는 클러스터마다 api server와 etcd가 각각 존재하기 때문에 외부의 클러스터에서는 자신 이외의 api server에서 생성한 스냅샷으로 실제 볼륨 복구가 불가능하다.
이러한 기술적 한계를 뛰어 넘기 위해 각각의 클러스터에 존재하는 etcd db를 컨트롤 할 수 있는 master etcd db가 필요하다.
각각의 etcd db의 정보를 master etcd db가 가지고 있다가 외부의 클러스터에서 스냅샷을 이용하여 볼륨을 복구할때 기존 클러스터의 etcd db 데이터를 공유하면서 볼륨 복구를 가능하게 한다.
이러한 방식으로 각각의 클러스터를 컨트롤 한다면 클러스터간 고속 스냅샷 이동도 가능하다.
도 6을 참고하면, 확장된 볼륨 스냅샷 구성(600)은 제1 마스터부(610), 제2 마스터부(620) 및 제3 마스터부(630)를 포함하고, 제1 마스터부(610), 제2 마스터부(620) 및 제3 마스터부(630)가 공유하는 데이터 베이스(640)를 포함한다.
제1 마스터부(610), 제2 마스터부(620) 및 제3 마스터부(630) 각각은 클러스터 제어부(611, 621, 631), API 서버(612, 622, 632) 및 etcd 데이터베이스(613, 623, 633)를 포함한다.
예를 들어, 클러스터 제어부 클러스터 제어부(611, 621, 631)는 쿠버네티스 제어부 매니저(kube controller manager)로 지칭될 수 있다.
도 7은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 시스템을 설명하는 도면이다.
도 7을 참고하면, 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 시스템(700)은 마스터 클러스터부(710)에 해당하는 Open MCP 클러스터와 제1 멤버 클러스터부(740) 및 제2 멤버 클러스터부(750)를 포함하고, 마스터 클러스터부(710)는 글로벌 레지스트리(720) 및 외부 데이터베이스(730)와 연동한다. 예를 들어, 외부 데이터베이스(730)는 외부 etcd를 포함한다.
마스터 클러스터부(710)는 변경(migration)부(711), 변경 매니저(712), 스냅샷 매니저(713), 저장 에이전트(714), 내부 데이터베이스(715)를 포함한다. 예를 들어 변경은 마이그레이션(migration)을 지칭할 수 있다.
변경 매니저(712)는 서비스 변경 제어부, 서비스 변경부를 포함하고, 스냅샷 매니저(713)는 스냅샷 제어부, 서비스 스냅샷부, 서비스 스냅샷 복구부를 포함한다.
스냅샷 매니저(713)는 스냅샷 생성 및 복구 동작을 수행하는 스냅샷 제어부에 기반한다.
스냅샷 맞춤형 리소스(Custom Resource)는 스냅샷 생성 및 복구를 요청하는 CRD와 관련된다.
저장 에이전트(714)는 가비지 제어부, 이미지 업로드부, 이미지 블록 다운로드부, 플록시 캐시부를 포함한다.
내부 데이터베이스(715)는 스케쥴러, 외부 DNS, 마스터 API 서버를 포함한다.
제1 멤버 클러스터부(740)는 API 서버(741) ETCD 데이터베이스(742), 맞춤형 리소스 제어부(743), 볼륨 스냅샷 매니저(744), 삭제부(745) 및 저장 에이전트(746)를 포함한다.
맞춤형 리소스 제어부(743)는 볼륨 스냅샷부, 콘텐츠부를 포함한다.
볼륨 스냅샷 매니저(744)는 볼륨 스냅샷 촬영부, 볼륨 CSI 및 가상 저장부를 포함한다.
볼륨 스냅샷 촬영부는 볼륨 스냅샷의 정보를 추출하여 볼륨 스냅샷 정보(volume snapshot content) 및 볼륨 스냅샷을 만드는 컨트롤러에 해당된다.
볼륨 CSI는 볼륨 스냅샷을 동작시키기 위한 클라우드 스토리지 업체별 컨트롤러에 해당한다.
가상 저장부는 NAS 기준 현 클러스터의 볼륨 스냅샷 정보가 저장될 컨테이너이다.
삭제부(745)는 디플로이먼트, 서비스, PVC(persistent volume claim) 및 스토리지 클래스를 포함한다.
제2 멤버 클러스터부(750)는 API 서버(751) ETCD 데이터베이스(752), 삭제부(753) 및 저장 에이전트(754)를 포함한다.
삭제부(753)는 디플로이먼트, 서비스, PVC(persistent volume claim) 및 스토리지 클래스를 포함한다.
저장 에이전트(754)는 프록시 캐시, 이미지 업로드부, 이미지 블록 다운로드부, 로컬 저장소를 포함한다.
외부 저장부(760)는 PV(persistent volume) 및 클라우드 저장부를 포함한다.
볼륨 스냅샷은 스냅샷 생성을 요청하는 CRD이고, 볼륨 스냅샷 컨텐츠는 볼륨 스냅샷을 토대로 스냅샷이 완료된 결과물 CRD이며, 볼륨 스냅샷 복구는 스냅샷 복구를 요청하는 CRD이다.
도 8은 본 발명의 일실시예에 따른 함수 적용 예시를 설명하는 도면이다.
도 8은 서비스 스냅샷 함수 사용 예시를 위한 함수 내용(800)을 예시한다.
ETCD 관련 함수 프로토타입 인터페이스는 아래와 같이 정의할 수 있다.
함수 SetSnapshotInfo는 func SetSnapshotInfo(serviceInfo ServiceInfo)로 정의되고, KETI 의 ETCD 에 Nanum의 Snapshot 생성 함수가 실행된 뒤, 생성된 Snapshot 정보를 기입하는 함수로서 기능한다.
입력 인자 대 스냅샷 대상 서비스 정보를 정리하면 아래 표 1과 같다.
인자 의미 타입 및 유효 범위
ServiceInfo 스냅샷하는 서비스의 정보 map[string]interface{}
ClusterName 클러스터명 string
ResourceList 서비스 내 리소스 정보 map[string]interface{}
ResourceNamespace 네임스페이스명 string
ResourceType 리소스 종류 string
ResourceName 리소스명 string
ResourceVolume ResourceType이 PV 혹은 StorageClass인 경우 map[string]interface{}
volumeSnapshotClassName String
volumeSnapshotSourceKind
volumeSnapshotSourceName
출력 인자 대 성공 여부 반환 정보를 인다 Bool이 ETCD 등록 성공 여부를 의미하고, 타입 및 유효 범위는 Bool로 동일하며, Error는 오류 내용을 의미하고, 타입 및 유효 범위는 Error로 동일하다.
함수 GetSnapshotInfo는 func GetSnapshotInfo(snapshotKey string)로 정의되고, KETI 의 ETCD 에 저장된 SnapshotKey를 이용하여 정보는 하단 입력 인자의 Json String 형태로 저장된다.
입력 인자는 SnapshotKey로 의미는 스냅샷 키이고, 타입 및 유효 범위는 String이다.
출력 인자 및 추출한 내용은 SnapshotInfo 인자는 ETCD에서 추출한 SnapshotInfo에 해당하고 타입 및 유효 범위는 String(json)이다. Error는 오류내용을 의미한다.
스냅샷(Snapshot) 관련 함수 프로토타입 인터페이스는 아래와 같이 정의할 수 있다.
스냅샷 제어부에서 필요한 함수는 아래 표 2와 같이 정리할 수 있다.
함수명 기능 호출모듈
From D to N(Snapshot)
ServiceSnapshot
서비스에 대한 스냅샷 실행 OpenMCP
Nanumapi
From D to N(Snapshot)ServiceSnapshotRestore 서비스에 대한 스냅샷 복구 실행 OpenMCP
Nanumapi
함수 내용(800)은 서비스 스냅샷과 관련되며 함수정의는 func ServiceSnapshot(serviceList []ServiceInfo)로 가능하다.
기능은 서비스 스냅샷 함수 이며 입력 인자 대 스냅샷 대상 서비스 정보는 하기 표 3과 같이 정리할 수 있다.
인자 의미 타입 및 유효 범위
ServiceInfo 이동될 클러스터 서비스의 정보 map[string]interface{}
ClusterName 클러스터명 string
NamespaceName 네임스페이스명 string
ResourceList 서비스 내 리소스 정보 map[string]interface{}
ResourceType 리소스 종류 string
ResourceName 리소스명 string
ResourceVolume ResourceType이 PV 혹은StorageClass인 경우 map[string]interface{}
출력 인자 대 스냅샷 정보는 하기 표 4와 같이 정리할 수 있다.
인자 의미 타입 및 유효 범위
SnapshotInfo 스냅샷 결과 정보 map[string]interface{}
SnapshotKey 할당된 스냅샷 아이디 string
SnapshotVolumeKey ResourceType 이 PV 혹은 StorageClass 인 경우 스냅샷 볼륨 키 string
Error 오류 내용 Error
서비스 스냅샷 복구(service snapshot restore)와 관련하여 함수는 func ServiceSnapshotRestore()로 정의할 수 있다.
기능은 서비스 스냅샷으로부터 서비스를 복구하는 함수에 해당한다.
입력 인자 대 스냅샷 정보 및 복구 위치와 관련된 인자 및 의미와 타입 및 유효 범위는 하기 표 5로 정리할 수 있다.
인자 의미 타입 및 유효 범위
SnapshotInfo 스냅샷 결과 정보 map[string]interface{}
SnapshotKey 할당된 스냅샷 아이디 string
SnapshotVolumeKey ResourceType 이 PV 혹은 StorageClass 인 경우 스냅샷 볼륨 키 string
NamespaceName 복구된 서비스가 동작될 Namespace 명 String
출력 인자 및 성공 여부 반환은 인자 Bool이 Groupsnapshotresotre CRD 생성 성공 여부를 의미하며, Error는 오류 내용을 의미한다.
도 9는 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 방법을 설명하는 도면이다.
도 9는 본 발명의 일실시예에 따른 스냅샷 생성 방법을 예시한다.
본 발명의 일실시예에 따르면 스냅샷 생성 방법은 마스터 클러스터부와 멤버 클러스터부를 포함하는 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치의 동작 방법일 수 잇다.
마스터 클러스터부는 마스터 API 서버(900), 스냅샷 제어부(901) 및 ETCD(902)를 포함한다.
멤버 클러스터부는 멤버 API 서버(910), 볼륨 스냅샷 제어부(911), 볼륨(911), 스냅샷 볼륨(913) 및 노드(914)를 포함한다.
이하는 스냅샷 생성 과정에 해당된다.
단계(S901)에서 마스터 API 서버(900)는 스냅샷 제어부(901)로 스냅샷 생성 요청을 전달한다. 여기서, SnapshotCRD를 생성하여 요청한다.
단계(S902)에서 스냅샷 제어부(901)는 리소스 메타데이터 요청을 ETCD(902)로 전달한다.
이하는 볼륨 스냅샷 생성 과정에 해당된다.
단계(S903)에서 ETCD(902)는 리소스 메타 데이터를 스냅샷 제어부(901)로 전달한다.
단계(S904)에서 스냅샷 제어부(901)는 볼륨 스냅샷 생성 요청을 멤버 API 서버(910)로 전달한다.
이에 멤버 클러스터부는 순차적으로 스냅샷 볼륨(913)까지 볼륨 스냅샷 생성 요청을 전달한다.
즉, 멤버 API 서버(910), 볼륨 스냅샷 제어부(911) 및 볼륨(912)은 순차적으로 볼륨 스냅샷 생성 요청을 전달한다.
단계(S905)에서 스냅샷 볼륨(913)은 볼륨 스냅샷 생성 완료 및 전달을 볼륨(912)으로 진행한다.
단계(S906)에서 볼륨(912)은 볼륨 스냅샷 ID를 볼륨 스냅샷 제어부(911)로 전달한다.
이하는 컨테이너 스냅샷 생성 과정에 해당된다.
단계(S907)에서 스냅샷 제어부(901)는 컨테이너 스냅샷 생성 요청을 노드(914)로 전달한다.
단계(S908)에서 노드(914)는 켄테이너 스냅샷 생성 및 ID를 스냅샷 제어부(901)로 전달한다.
이하는 스냅샷 생성 여부 확인 과정에 해당된다.
단계(S909)에서 스냅샷 제어부(901)는 볼륨 스냅샷 생성 완료 체크를 볼륨 스냅샷 제어부(911)에 요청한다.
단계(S910)에서 볼륨 스냅샷 제어부(911)는 볼륨 스냅샷 생성 완료 여부를 스냅샷 제어부(901)로 전달한다.
이하는 스냅샷 데이터 갱신 과정에 해당된다.
단계(S911)에서 스냅샷 제어부(901)는 ETCD(902)에 볼륨 스냅샷 데이터를 저장하고, 단계S912)에서 ETCD(902)는 저장 완료로서 볼륨 스냅샷 생성 완료 정보를 스냅샷 제어부(901)에 전달한다.
즉 리소스 메타 데이터 컨테이너 스냅샷 ID, 볼륨 스냅샷 ID 정보를 저장하는 과정을 완료한다.
도 10은 본 발명의 일실시예에 따른 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 복구 방법을 설명하는 도면이다.
본 발명의 일실시예에 따르면 스냅샷 복구 방법은 마스터 클러스터부와 멤버 클러스터부를 포함하는 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치의 동작 방법일 수 잇다.
마스터 클러스터부는 마스터 API 서버(1000), 스냅샷 제어부(1001) 및 ETCD(1002)를 포함한다.
멤버 클러스터부는 멤버 API 서버(1010), 볼륨 스냅샷 제어부(1011), 볼륨(1011), 스냅샷 볼륨(1013) 및 노드(1014)를 포함한다.
이하는 스냅샷 복구 과정에 해당된다.
단계(S1001)에서 마스터 API 서버(1000)는 스냅샷 제어부(1001)로 스냅샷 복구 요청을 전달한다. 여기서, SnapshotRestoreCRD를 생성하여 요청한다.
단계(S1002)에서 스냅샷 제어부(1001)는 스냅샷 데이터 요청을 ETCD(1002)로 전달한다.
단계(S1003)에서 ETCD(1002)는 스냅샷 데이터를 스냅샷 제어부(1001)로 전달한다.
이하는 볼륨 스냅샷 복구 과정에 해당된다.
단계(S1004)에서 스냅샷 제어부(1001)는 볼륨 스냅샷 기반 PVC 생성 요청을 멤버 API 서버(1010)로 전달한다.
단계(S1005)에서 멤버 API 서버(1010)는 볼륨 스냅샷 제어부(1011)로 스토리지 클래스 PVC 생성 요청을 전달하고, 볼륨 스냅샷 제어부(1011)는 볼륨(1012)으로 스토리지 클래스 PVC 생성 요청을 전달한다.
단계(S1006)에서 볼륨(1012)은 볼륨 스냅샷 복구 요청을 스냅샷 볼륨(1013)으로 전달한다.
단계(S1007)에서 스냅샷 볼륨(1013)은 볼륨 스냅샷 복구 완료 및 전달을 볼륨(1012)에 수행한다.
이하는 컨테이너 스냅샷 복구 과정에 해당된다.
단계(S1008)에서 스냅샷 제어부(1001)는 컨테이너 스냅샷 복구 요청을 노드(1014)로 전달한다.
단계(S1009)에서 노드(1014)는 컨테이너 스냅샷 복구 및 복구 완료를 스냅샷 제어부(1001)에 전달한다.
이하는 스냅샷 PVC 생성 여부 확인하는 과정에 해당된다.
단계(S1010)에서 스냅샷 제어부(1001)는 볼륨 스냅샷 복구 완료 체크를 볼륨 스냅샷 제어부(1011)로 전달하고, 단계(S1011)에서 볼륨 스냅샷 복구 완료 여부를 전달한다.
스냅샷 PVC 생성 중 또는 컨테이너 복구 진행중에 반복적(loop)으로 수행될 수 있다.
단계(S1012)에서 스냅샷 제어부(1001)는 리소스 교체 요청을 멤버 API 서버(1010)로 전달하고, 단계(S1013)에서 멤버 API 서버로부터 리소스 교체 완료 내용을 전달 받는다.
리소스 교체는 현재 리소스에서 복구한 리소스로 교체하는 것으로 복구된 스냅샷 내용에 따른 리소스 내용을 수정하는 과정을 포함한다.
이하는 스냅샷 리소스 데이터 갱신 과정을 포함한다.
단계(S1014) 및 단계(S1015)에서 스냅샷 제어부(1001)와 ETCD(1002)는 컨테이너 정보 관련 갱신 요청 및 갱신 완료를 수행하고, 단계(S1016)에서 스냅샷 제어부(1001)는 복수 요청 완료에 대한 내용을 전달한다.
이때 복구된 스냅샷 내용에 따른 리소스 내용을 수정하고, 복구되어 변경된 전체 리소스 메타 데이터를 포함한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.
또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (3)

  1. 스냅샷 생성 요청에 기반하여 마스터 분산 데이터 저장부(etcd)에 리소스 메타데이터를 요청하고, 상기 요청된 리소스 메타데이터에 기반하여 볼륨 스냅샷 생성 요청을 전달하는 마스터 클러스터부; 및
    상기 전달된 볼륨 스냅샷 생성 요청에 기반하여 볼륨 스냅샷 및 상기 볼륨 스냅샷의 식별자(identification, ID)을 생성하고, 상기 생성된 식별자(identification, ID)를 이용하여 상기 생성된 볼륨 스냅샷을 관리하고, 상기 볼륨 스냅샷 생성 요청에 대응하여 상기 생성된 식별자(identification, ID)를 전달하는 멤버 클러스터부를 포함하는 것을 특징으로 하는
    엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치.
  2. 제1항에 있어서,
    상기 마스터 클러스터부는 상기 멤버 클러스터부에 볼륨 스냅샷 생성 완료 체크를 요청하고, 상기 멤버 클러스터부로부터 상기 생성된 볼륨 스냅샷을 수신하여 상기 수신된 볼륨 스냅샷을 상기 마스터 분산 데이터 저장부(etcd)에 저장하는 것을 특징으로 하는
    엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치.
  3. 제1항에 있어서,
    상기 마스터 클러스터부는 스냅샷 복구 요청에 기반하여 상기 마스터 분산 데이터 저장부(etcd)로부터 스냅샷 데이터를 획득하고, 상기 획득한 스냅샷 데이터에 기반하여 볼륨 스냅샷 기반 PVC 생성 요청을 상기 멤버 클러스터부로 전달하여 상기 멤버 클러스터부로부터 수신되는 볼륨 스냅샷 복구 완료 정보에 기반하여 볼륨 스냅샷 복구 완료를 확인하고, 상기 확인된 볼륨 스냅샷 복구 완료에 기반하여 리소스 교체 요청 및 컨테이너 정보를 갱신함에 따라 스냅샷 복구를 수행하는 것을 특징으로 하는
    엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치.
KR1020210117070A 2021-09-02 2021-09-02 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치 KR20230034005A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210117070A KR20230034005A (ko) 2021-09-02 2021-09-02 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210117070A KR20230034005A (ko) 2021-09-02 2021-09-02 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치

Publications (1)

Publication Number Publication Date
KR20230034005A true KR20230034005A (ko) 2023-03-09

Family

ID=85511482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210117070A KR20230034005A (ko) 2021-09-02 2021-09-02 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치

Country Status (1)

Country Link
KR (1) KR20230034005A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926098B1 (ko) 2008-11-18 2009-11-11 주식회사 네오플 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치
KR20140106588A (ko) 2011-12-21 2014-09-03 마이크로소프트 코포레이션 공유 볼륨의 어플리케이션 일관된 스냅샷 기법
KR101833114B1 (ko) 2013-03-15 2018-04-13 아마존 테크놀로지스, 인크. 분산 데이터베이스 시스템들을 위한 고속 장애 복구

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926098B1 (ko) 2008-11-18 2009-11-11 주식회사 네오플 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치
KR20140106588A (ko) 2011-12-21 2014-09-03 마이크로소프트 코포레이션 공유 볼륨의 어플리케이션 일관된 스냅샷 기법
KR101833114B1 (ko) 2013-03-15 2018-04-13 아마존 테크놀로지스, 인크. 분산 데이터베이스 시스템들을 위한 고속 장애 복구

Similar Documents

Publication Publication Date Title
KR102628362B1 (ko) 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
US9940203B1 (en) Unified interface for cloud-based backup and restoration
US8615588B2 (en) Accelerate copying of virtual machine images
US20160259811A1 (en) Method and system for metadata synchronization
CN102413167B (zh) 虚拟和物理企业系统映像
CN108513657B (zh) 数据转换方法及备份服务器
US10353872B2 (en) Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata
CN105830040A (zh) 用于访问存储器的存储器装置
US11080041B1 (en) Operating system management for virtual workspaces
US10754741B1 (en) Event-driven replication for migrating computing resources
US11604705B2 (en) System and method for cloning as SQL server AG databases in a hyperconverged system
US11695840B2 (en) Dynamically routing code for executing
CN104268001A (zh) 一种创建虚拟机的方法和创建虚拟机的装置
US11044312B2 (en) Storage segment server covered cache
US9152338B2 (en) Snapshot management in hierarchical storage infrastructure
US11151093B2 (en) Distributed system control for on-demand data access in complex, heterogenous data storage
US9092292B2 (en) Shared application binary storage
KR20230034005A (ko) 엣지 클라우드 컴퓨팅 환경에서 멀티 클러스터 스냅샷 생성 및 복구 장치
AU2021268828B2 (en) Secure data replication in distributed data storage environments
JP5956364B2 (ja) クラスタシステム
WO2016046951A1 (ja) 計算機システム及びそのファイル管理方法
WO2020256797A1 (en) Object storage system with meta object replication
US11526286B1 (en) Adaptive snapshot chunk sizing for snapshots of block storage volumes
US11593498B2 (en) Distribution of user specific data elements in a replication environment