KR-20260061992-A - Method, apparatus and system for cache-based workload migration in a multi-cluster environment
Abstract
본 발명은 멀티 클러스터 환경에서 캐시 기반의 워크로드 이전 방법, 장치 및 시스템을 개시한다. 본 발명에 따르면, 워크로드를 운용하는 복수의 멤버 클러스터; 및 클라우드 상의 제어평면에 구축되어 상기 복수의 멤버 클러스터에 워크로드를 배포하고, 제1 멤버 클러스터의 제1 워크로드에 장애가 발생하는 경우 마이그레이션 오퍼레이터를 통해 제2 멤버 클러스터의 캐시 멤버 노드에 백업된 상기 제1 워크로드의 체크포인트를 읽어 1단계 복원이 수행되도록 하고, 트랜잭션 큐를 통해 트랜잭션의 점진적 유입을 보장하면서 외부 저장소에 저장된 상기 제1 워크로드에 대한 최신 백업 파일을 가져와 2차 복원이 수행되도록 하는 매니지먼트 클러스터를 포함하는 캐시 기반 워크로드 이전 시스템이 제공된다.
Inventors
- 김영한
- 권무성
Assignees
- 숭실대학교산학협력단
Dates
- Publication Date
- 20260506
- Application Date
- 20241115
- Priority Date
- 20241028
Claims (15)
- 멀티 클러스터 환경에서 캐시 기반 워크로드 이전 시스템으로서, 워크로드를 운용하는 복수의 멤버 클러스터; 및 클라우드 상의 제어평면에 구축되어 상기 복수의 멤버 클러스터에 워크로드를 배포하고, 제1 멤버 클러스터의 제1 워크로드에 장애가 발생하는 경우 마이그레이션 오퍼레이터를 통해 제2 멤버 클러스터의 캐시 멤버 노드에 백업된 상기 제1 워크로드의 체크포인트를 읽어 1단계 복원이 수행되도록 하고, 트랜잭션 큐를 통해 트랜잭션의 점진적 유입을 보장하면서 외부 저장소에 저장된 상기 제1 워크로드에 대한 최신 백업 파일을 가져와 2차 복원이 수행되도록 하는 매니지먼트 클러스터를 포함하는 캐시 기반 워크로드 이전 시스템.
- 제1항에 있어서, 클러스터 레벨에서의 제1 워크로드 장애에 대한 재배포 스케줄링을 수행하는 스케줄러; 쿠버네티스 환경에서 복수의 멤버 클러스터 내의 리소스를 외부 저장소에 백업하는 워크로드 백업 컨트롤러; 및 쿠버네티스 환경에서 백업된 데이터를 활용하여 복수의 멤버 클러스터 내의 리소스를 원래 상태로 되돌리거나, 새로운 클러스터로 복원하는 워크로드 복원 컨트롤러를 포함하는 캐시 기반 워크로드 이전 시스템.
- 제2항에 있어서, 상기 마이그레이션 오퍼레이터는, 클러스터 간의 워크로드 이전 작업을 자동화하고 데이터 일관성과 서비스 연속성을 보장하는 캐시 기반 워크로드 이전 시스템.
- 제3항에 있어서, 상기 마이그레이션 오퍼레이터는, 제1 워크로드에 장애가 발생하는 경우 사전에 정의한 CRD(Custom Resource Definition)에 의해 캐시 복원 CR(Cache Restore CR)을 생성하고, 상기 워크로드 복원 컨트롤러는 상기 캐시 복원 CR을 감지하여 주기적으로 상기 제2 멤버 클러스터의 캐시 멤버 노드에 접근하여 상기 제1 워크로드의 체크포인트를 읽어와 1단계 복원을 수행하는 캐시 기반 워크로드 이전 시스템.
- 제4항에 있어서, 상기 마이그레이션 오퍼레이터는, 상기 캐시 복원 CR의 진행 상태 스펙에 “Ready”를 감지하는 경우 복원 CR을 생성하는 2단계 복원이 수행되도록 하는 캐시 기반 워크로드 이전 시스템.
- 제5항에 있어서, 상기 워크로드 복원 컨트롤러는 상기 복원 CR을 감지하는 경우, 상기 외부 저장소로부터 주기적으로 백업된 파일을 읽어와 2단계 복원을 수행하는 캐시 기반 워크로드 이전 시스템.
- 제6항에 있어서, 상기 2단계 복원 완료 후 상기 트랜잭션 큐에 저장된 트랜잭션이 순차적으로 처리되는 캐시 기반 워크로드 이전 시스템.
- 제1항에 있어서, 상기 장애는 네트워크 장애 또는 리소스 부족으로 인한 성능 저하가 발생하는 경우이며, 클러스터 레벨의 장애인지 클러스터 내부 워크로드 레벨의 장애를 포함하는 캐시 기반 워크로드 이전 시스템.
- 멀티 클러스터 환경에서 캐시 기반 워크로드 이전 장치로서, 워크로드를 운용하는 복수의 멤버 클러스터의 상태를 관리하여 클러스터 레벨의 워크로드 스케줄링을 수행하는 스케줄러; 상기 복수의 멤버 클러스터 중 제1 멤버 클러스터의 제1 워크로드에 장애가 발생하는 경우 제2 멤버 클러스터의 캐시 멤버 노드에 백업된 상기 제1 워크로드의 체크포인트를 읽어 1단계 복원이 수행되도록 하고, 트랜잭션 큐를 통해 트랜잭션의 점진적 유입을 보장하면서 외부 저장소에 저장된 상기 제1 워크로드에 대한 최신 백업 파일을 가져와 2차 복원이 수행되도록 하는 마이그레이션 오퍼레이터; 쿠버네티스 환경에서 복수의 멤버 클러스터 내의 리소스를 외부 저장소에 백업하는 워크로드 백업 컨트롤러; 및 쿠버네티스 환경에서 백업된 데이터를 활용하여 복수의 멤버 클러스터 내의 리소스를 원래 상태로 되돌리거나, 새로운 클러스터로 복원하는 워크로드 복원 컨트롤러를 포함하는 캐시 기반 워크로드 이전 장치.
- 제9항에 있어서, 상기 마이그레이션 오퍼레이터는, 제1 워크로드에 장애가 발생하는 경우 사전에 정의한 CRD(Custom Resource Definition)에 의해 캐시 복원 CR(Cache Restore CR)을 생성하고, 상기 워크로드 복원 컨트롤러는 상기 캐시 복원 CR을 감지하여 주기적으로 상기 제2 멤버 클러스터의 캐시 멤버 노드에 접근하여 상기 제1 워크로드의 체크포인트를 읽어와 1단계 복원을 수행하는 캐시 기반 워크로드 이전 장치.
- 제10항에 있어서, 상기 마이그레이션 오퍼레이터는, 상기 캐시 복원 CR의 진행 상태 스펙에 “Ready”를 감지하는 경우 복원 CR을 생성하는 2단계 복원이 수행되도록 하는 캐시 기반 워크로드 이전 장치.
- 제11항에 있어서, 상기 워크로드 복원 컨트롤러는 상기 복원 CR을 감지하는 경우, 상기 외부 저장소로부터 주기적으로 백업된 파일을 읽어와 2단계 복원을 수행하는 캐시 기반 워크로드 이전 장치.
- 제12항에 있어서, 상기 2단계 복원 완료 후 상기 트랜잭션 큐에 저장된 트랜잭션이 순차적으로 처리되는 캐시 기반 워크로드 이전 장치.
- 제1항에 있어서, 상기 장애는 네트워크 장애 또는 리소스 부족으로 인한 성능 저하가 발생하는 경우이며, 클러스터 레벨의 장애인지 클러스터 내부 워크로드 레벨의 장애를 포함하는 캐시 기반 워크로드 이전 장치.
- 클라우드 상의 제어평면에 구축된 매니지먼트 클러스터를 통해 멀티 클러스터 환경에서 캐시 기반 워크로드를 이전하는 방법으로서, 상기 복수의 멤버 클러스터에 워크로드를 배포하는 단계; 상기 복수의 멤버 클러스터 중 하나인 제1 멤버 클러스터의 제1 워크로드에 장애가 발생하는 경우 제2 멤버 클러스터의 캐시 멤버 노드에 백업된 상기 제1 워크로드의 체크포인트를 읽어 1단계 복원을 수행하는 단계; 및 트랜잭션 큐를 통해 트랜잭션의 점진적 유입을 보장하면서 외부 저장소에 저장된 상기 제1 워크로드에 대한 최신 백업 파일을 가져와 2차 복원을 수행하는 단계를 포함하는 캐시 기반 워크로드 이전 방법.
Description
멀티 클러스터 환경에서 캐시 기반의 워크로드 이전 방법, 장치 및 시스템{Method, apparatus and system for cache-based workload migration in a multi-cluster environment} 본 발명은 멀티 클러스터 환경에서 캐시 기반의 워크로드 방법, 장치 및 시스템에 관한 것이다. 쿠버네티스는 컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼이다. 쿠버네티스 기반 멀티 클러스터 환경에서 워크로드 이전 문제는 다양한 상황에서 발생할 수 있다. 예를 들어, 한 클러스터에서 트래픽 폭증이나 리소스 고갈이 발생하면 해당 클러스터의 워크로드가 적절히 처리되지 못해 서비스 장애로 이어질 수 있다. 이러한 장애는 특정 서비스뿐만 아니라 그와 연결된 다른 서비스들에도 영향을 미쳐 서비스 전반의 성능 저하를 유발할 수 있다. 이전 트랜잭션의 컨텍스트에 따라 수행되며, 현재 트랜잭션이 이전 트랜잭션에서 발생한 상황에 영향을 받는 특성을 갖는 Stateful 워크로드의 경우, 단순한 워크로드 이전으로는 이러한 문제를 해결하기 어렵다. 여기서, 트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 혹은 일련의 연산이다. Stateful 워크로드는 데이터의 일관성을 유지해야 하고, 네트워크 설정 및 복잡한 연결 의존성을 고려해야 하므로 기존의 과거 트랜잭션에 대한 정보 또는 참조가 저장되지 않는 특성을 갖는 Stateless 워크로드의 이전 방법을 사용할 수 없다. 기존 기술에서는 주로 Stateless 워크로드를 대상으로 한 복원이 이루어졌으며, 이는 서비스 복원 시간을 단축할 수는 있으나, Stateful 워크로드에서 발생하는 데이터 손실 및 네트워크 복잡성 문제를 충분히 해결하지 못했다. 따라서, Stateful 워크로드에 대한 백업 파일을 주기적으로 외부 저장소에 저장하고, 장애 발생 시 이를 통해 복원하는 방식이 제안되었다. 그러나 이 방식은 주로 복원 시간에 대한 고려가 부족했으며, 복원 과정 중 워크로드 이전 성능을 고려하지 않는 경우가 많았다. 이로 인해 복원 시간 지연이나 데이터 일관성 문제가 발생할 수 있으며, 실시간으로 서비스 중단을 방지하는 데에는 한계가 있다. 이러한 문제점을 해결하기 위해서는, Stateful 워크로드 장애 발생 시 신속하게 다른 클러스터로 이전될 수 있어야 하며, 데이터의 무결성을 유지하면서도 복원 시간을 줄일 수 있는 방법이 필요하다. 또한, 복원 중에도 서비스의 연속성을 유지할 수 있는 메커니즘이 요구된다. 트래픽 폭증이나 리소스 고갈로 인한 서비스 장애가 발생했을 때, 일반적으로 단일 또는 멀티 클러스터 환경에서 Stateless 및 Stateful 워크로드에 대한 장애 복구 메커니즘이 다수 논문에서 제시되었다. 기존 방식은 워크로드의 체크포인트 파일을 생성하여 쿠버네티스 리소스와 함께 저장하고, 이후 체크포인트와 백업 파일을 이용해 워크로드의 상태를 복원하는 방식이다. 체크포인트는 실행 중인 컨테이너 또는 개별 애플리케이션에 대한 이미지 혹은 스냅샷이다. 그러나, 기존 방식은 복원 성능에 초점을 맞추고 있으며, 복원 속도에 대한 구체적인 고려가 부족했다. 특히, 장애가 발생했을 때 실시간으로 워크로드의 상태를 보존하고 복원하는 방안은 제한적이었다. 일부 논문에서는 이러한 문제를 해결하기 위해 체크포인트 방식과 리소스 백업 파일을 병행 사용했으나, 여전히 복원 속도가 느려지는 한계가 있었다. 예를 들어, 데이터베이스와 같은 Stateful 워크로드의 경우 데이터 일관성을 유지하며 복원하는 것이 중요한데, 기존 연구들은 이러한 워크로드의 복원 시간이 긴 복원 절차로 인해 실시간 복원 시 서비스의 중단을 막기 어렵다는 문제점이 있었다. 또한, 기존 방식들은 주로 단일 복원 방법에 의존하고 있으며, 다단계 복원을 통한 신속한 서비스 복구를 고려하지 않았다. 도 1은 본 실시예에 따른 멀티 클러스터 환경에서 캐시 기반의 워크로드 이전 시스템을 도시한 도면이다. 도 2는 본 실시예에 따른 워크로드 이전 과정을 도시한 도면이다. 도 3은 본 실시예에 따른 장애 상황 발생 전 시나리오를 도시한 도면이다. 도 4 내지 도 5는 본 실시예에 따른 클러스터 레벨 장애 발생 시 복원 프로세스를 도시한 도면이다. 도 6 내지 도 7은 본 실시예에 따른 클러스터 내부 워크로드 레벨 장애 발생 시 2단계 복원 과정을 도시한 도면이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다. 또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 본 실시예는, 멀티 클러스터 환경에서, 한 클러스터에서 마이크로서비스를 운용하던 중 발생할 수 있는 네트워크 장애나 리소스 부족으로 인한 성능 저하를 대비하기 위해, 다른 클러스터로의 신속한 워크로드 이전 방법을 제안한다. 본 실시예에 따른 워크로드 이전은 캐시 기반의 백업 및 복원으로 정의될 수 있다. 본 실시예에 따른 워크로드 이전 방식은 캐시의 빠른 접근성과 높은 처리 속도를 활용하여, 서비스의 체크포인트를 미리 저장한 후 캐시로부터 체크포인트 데이터를 빠르게 읽어와 인프라 레벨의 초기 복원을 수행하는 1단계 복원과, 외부 저장소를 통한 쿠버네티스 리소스 백업 및 복원을 통해 완전한 데이터 무결성을 보장하는 2단계 복원으로 구성된다. 본 실시예에 따른 1단계 복원은 빠르게 서비스 상태를 복구하여, 시스템 중단 시간을 최소화하고 즉각적인 트랜잭션 수용을 가능하게 한다. 2단계 복원은 트랜잭션 큐를 통해 유입되는 트랜잭션을 임시로 저장하며, 1단계 복원 후에도 서비스의 연속성을 보장한다. 트랜잭션 큐는 2단계 복원과의 충돌을 방지하기 위해 사용되며, 최종 복원이 완료된 후, 트랜잭션 큐에 저장된 트랜잭션을 순차적으로 처리하여 완전한 서비스 복구를 달성한다. 이를 통해 서비스 중단 시간을 최소화하면서 신속하고 안정적인 워크로드 복원을 실현할 수 있다. 도 1은 본 실시예에 따른 멀티 클러스터 환경에서 캐시 기반의 워크로드 이전 시스템을 도시한 도면이다. 도 1을 참조하면, 본 실시예에 따른 시스템은 매니지먼트 클러스터(Management Cluster, 100) 및 복수의 멤버 클러스터(Member Cluster, 102-1 내지 102-3, 이하 '102'로 칭함)를 포함할 수 있다. 매니지먼트 클러스터(100)는 클라우드 내의 제어평면(Control Plane) 상에 구축되며, 복수의 멤버 클러스터(102)로 애플리케이션의 배포를 수행하고, 워크로드를 운용하는 복수의 멤버 클러스터(102)를 통합적으로 관리한다. 매니지먼트 클러스터(100)의 스케줄러(Scheduler, 110)는 복수의 멤버 클러스터(102)의 상태를 관리하여 클러스터 레벨의 워크로드 스케줄링을 수행한다. 워크로드 백업 컨트롤러(Workload Backup Controller, 112)는 쿠버네티스 환경에서 클러스터 내의 리소스를 백업하고, 백업된 데이터를 외부 저장소(150)로 전송하는 작업을 자동화하고 관리하는 컴포넌트로, 복수의 멤버 클러스터(102)에서 실행중인 워크로드의 주기적인 백업을 수행한다. 워크로드 복원 컨트롤러(Workload Backup Controller, 114)는 쿠버네티스 환경에서 백업된 데이터를 활용하여 클러스터 내의 리소스를 원래 상태로 되돌리거나, 새로운 클러스터로 복원될 수 있도록 지원하는 컴포넌트이다. 워크로드 복원 컨트롤러(114)는 각각의 멤버 클러스터(102)에 운용중인 워크로드의 백업 이후 복원을 수행한다. 본 실시예에 따른 복수의 멤버 클러스터(102)에는 캐시 관련 수집 및 백업, 복원의 역할을 하는 분산 캐시 시스템(Cache Sharing System, 104)이 제공된다. 분산 캐시 시스템(104)의 캐시 관련 수집 및 백업, 복원의 역할은 각 멤버 클러스터(102)에 제공되는 캐시 멤버 노드(130)에서 수행한다. 매니지먼트 클러스터(102)에는 복수의 캐시 멤버 노드(130)를 관리하는 캐시 매니지먼트(116)가 배치된다. 또한, 매니지먼트 클러스터(102)에는 본 실시예에 따른 워크로드 복원을 관리하는 마이그레이션 오퍼레이터(118)가 배치된다. 마이그레이션 오퍼레이터(118)는 클러스터 간의 워크로드 이전 작업을 자동화하고 데이터 일관성과 서비스 연속성을 보장하는 컴포넌트로 정의된다. APIserver(120)는 다른 모든 컴포넌트와 통신하는 REST 엔드포인트이며, 제어평면의 핵심 구성 요소로서, 클러스터 관리자와 다양한 컴포넌트들 간의 통신을 담당하는 중앙