
상명대학교 / 서광규 교수
클라우드 컴퓨팅에서 리소스는 사용량에 따라 제공되는데, 이러한 리소스는 물리적리소스보다 가상 리소스를 제공한다. 클라우드 컴퓨팅에서 가상화는 분할 및 분산 개념에서 작동한다. 클라우드 컴퓨팅의 급속한 성장으로 새로운 플레이어가 시장에 합류했는데, 클라우드 컴퓨팅의 주요 업체는 Rack Space, Amazon Web Services, Dimension Data, Apple, Cisco, Citrix, IBM, Google, Microsoft 및 Salesforce.com 등이다. Amazon은 Amazon Simple Storage Service(Amazon S3)라는 이름으로 서비스를 제공한 최초의 주요 클라우드 서비스 제공업체로 현재 수천 개의 클라우드 호스팅 회사가 고객에게 다양한 클라우드 서비스를 제공하고 있다.
클라우드 서비스 제공업체는 새로운 과제에 직면해 있으며, 최소한의 비용으로 고객에게 최대의 서비스를 제공해야 한다. 비용을 줄이기 위해서는 최소한의 응답 시간으로 기존 리소스를 최대한 활용하는 것이 바람직하다. 따라서 클라우드 서비스 제공업체는 리소스 활용도를 극대화하고 클라이언트에게 더 나은 클라우드 경험을 제공해야 한다.
클라이언트의 컴퓨팅 요구 사항은 변동하며 때로는 높은 컴퓨팅 성능을 요구하고 때로는 매우 적은 컴퓨팅 성능을 필요로 한다. 이러한 변동하는 컴퓨팅 성능 요구 사항의 균형을 맞추기 위해 클라우드 서비스 공급자는 컴퓨팅 요구 사항에 따라 높은 컴퓨팅 서버에서 낮은 컴퓨팅 서버로 VM을 마이그레이션한다. 또한 가상 머신 마이그레이션에는 부하 분산, 하드웨어 유지 관리, 에너지 절감 및 시스템 가용성을 높이기 위한 동적 크기 조정이 필요하다.
가상 머신 마이그레이션은 가상 머신이 하나의 물리적 호스트에서 다른 물리적 호스트로 전송되는 프로세스이다. 클라우드 공급자는 총 마이그레이션 시간, 총 다운 시간 및 네트워크 부하라는 세 가지 성능 지표 중 하나를 최소화하려고 한다. 일부 클라우드 애플리케이션의 경우 최소 다운타임이 가장 중요하며, 다른 클라우드 애플리케이션의 경우 네트워크 리소스 소비 최적화가 필요하다. 또한 VM 마이그레이션은 허용 가능한 가동 중지 시간에 대한 제약 조건을 충족해야 할 수도 있다.
먼저 제1부에서는 라이브 가상 머신 마이그레이션의 구성 요소와 라이브 가상 머신 마이그레이션 유형을 중점적으로 살펴보기로 한다. 그리고 제2부에서는 라이브 가상 머신 마이그레이션 모델과 라이브 가상 머신 마이그레이션 프레임워크에 대하여 기술하기로 한다.
1. 라이브 가상 머신 마이그레이션의 구성 요소
실행 중인 애플리케이션 리소스 요구를 충족하려면 실시간 VM 마이그레이션이 필요한데, 다음과 같은 기능을 지원합니다.
1) 로드 밸런싱: 로드가 상당히 불균형하고 다운타임이 임박한 경우 VM을 동시에 마이그레이션해야 하는 경우가 많다. 지속적으로 모니터링된 후 다른 호스트로 분산된 호스트에 로드되고 더 이상 해당 호스트로 트래픽을 전송하지 않는 구성 요소의 페일오버 후 지속적인 서비스에 사용된다.
2) 사전 결함 톨러런스(Proactive fault tolerance): 장애는 중요한 서비스 가용성과 신뢰성을 보장하는 또 다른 과제이다. 애플리케이션 실행 및 시스템 성능에 미치는 장애 영향을 최소화하기 위해 장애를 예측하고 사전 예방적으로 처리해야 한다. 이와 같은 다양한 유형의 내결함성 기법이 사용된다.
3) 전원 관리: 리소스 요구에 따라 유휴 모드 서버를 절전 모드 또는 끄기 모드로 전환한다. 유휴 모드 서버가 최대 전력의 70%를 소비하기 때문에 에너지 절약 효과가 크며 실행 중인 VM을 더 적은 활성 호스트로 통합하면 에너지 절약 효과가 크다. 따라서 VM을 소수의 활성 서버에 최대한 동적으로 할당하는 것은 클라우드 전력 효율성을 위한 좋은 기술이다.
4) 리소스 공유: 메모리, 캐시 및 CPU 사이클과 같은 제한된 하드웨어 리소스를 공유하면 애플리케이션 성능이 저하된다. 이 문제는 VM을 과부하된 서버에서 과부하된 서버로 재배치하여 해결할 수 있다. 비록 자원의 공유는 불필요하거나 유휴 상태인 서버의 스위치를 끄기 때문에 운영 비용을 절감한다.
5) 온라인 시스템 유지 관리: 물리적 시스템을 업그레이드하고 서비스해야 하므로 유지보수를 위해 물리적 서버의 모든 VM을 대체 서버로 이동해야 하며 서비스를 중단 없이 사용자가 사용할 수 있다.
라이브 VM 마이그레이션 시 마이그레이션할 대상 또는 마이그레이션해야 하는 콘텐츠에 대해 아는 것이 중요하다. 마이그레이션 프로세스에서 마이그레이션 프로세스가 CPU 상태, 메모리 내용 및 저장 내용을 어떻게 처리하는지 관찰하는 것이 필수적이다. CPU 상태는 약간의 정보이며 서비스 다운타임의 하한을 나타낸다.
1.1 메모리 콘텐츠
메모리 콘텐츠는 VM 내에서 실행 중인 프로세스 메모리와 게스트 OS 메모리를 통합하는 더 많은 양의 정보이다. VM은 많은 양의 메모리로 구성되지만 VM에서 완전히 활용되지 않을 수 있으므로 사용하지 않는 메모리를 전송할 필요가 없다. 또한 압축 기술은 마이그레이션 프로세스의 속도를 높이는 데 사용된다. 마이그레이션 과정에서 이동해야 하는 메모리 모듈은 다음과 같다.
1) VM 구성 메모리: 하이퍼바이저에서 게스트 VM에 제공한 실제 물리적 메모리의 양입니다. 게스트 VM은 이 메모리를 자체 물리적 메모리로 사용한다.
2) 하이퍼바이저 할당 메모리: VM 구성 메모리의 일부이며 VM에서 적극적으로 사용하지만 크기가 VM 구성 메모리보다 작다. VM이 이 메모리에 액세스하여 해제하지만 메모리 해제 여부는 하이퍼바이저에 따라 다르다.
3) VM 사용 메모리: 현재 VM OS 및 실행 중인 모든 프로세스를 통해 자주 액세스된다. 이러한 메모리 페이지는 게스트 VM에서 추적한다.
4) 애플리케이션 요청 메모리: 애플리케이션 실행에 필요한 메모리 양으로 게스트 VM OS에서 할당한다. 요청된 메모리가 물리적 메모리 내에 있을 필요는 없으며 VM 구성 메모리가 모두 사용 중일 때 디스크 스토리지에 있을 수 있다.
5) 응용 프로그램 활성 더티 메모리(Application Actively Dirtied Memory): 응용 프로그램 요청 메모리의 일부로, 자주 액세스하고 실행 중인 응용 프로그램에 의해 수정되고 일반적으로 메모리에 상주한다.
1.2 스토리지 콘텐츠
클러스터 및 CDC와 같은 LAN 연결에서는 NAS 스토리지를 사용하므로 스토리지 콘텐츠를 전송할 필요가 없다. 디스크 저장소를 전송할 수 없거나 대상이 원본 디스크 저장소에 액세스할 수 없는 경우 대상 서버에 새 가상 디스크 저장소를 등록해야 하고 마지막으로 콘텐츠를 원본 서버와 동기화해야 한다. 저장 내용은 네트워크를 통해 전송하는 동안 많은 양의 정보를 전송하고 전체 디스크 이미지를 전송하는 데 상당한 시간이 소요된다. 전송 시간을 줄이기 위해 하이퍼바이저는 불필요한 저장 내용과 사용되지 않은 공간을 식별하여 전송을 방지할 수 있으므로 마이그레이션 시간이 단축된다. 마이그레이션해야 하는 다양한 유형의 스토리지 콘텐츠는 다음과 같다.
1) 가상 디스크 크기: VM에 사용하기 위해 할당된 디스크 크기를 가상 디스크 크기라고 하며 그 크기는 VM이 ??생성될 때 정의된다. 일반적으로 하이퍼바이저는 VM이 ??생성될 때 모든 디스크 공간을 사용하거나 스토리지 사용에 따라 동적으로 확장하는 선택을 권장한다.
2) VM 사용 블록: VM 이미지에 저장되는 시스템 및 사용자 데이터 블록이다. 이 블록은 게스트 VM OS에서 액세스하고 사용한다. VM 파일에 실제로 포함된 데이터의 크기이며 데이터로 완전히 채워지지 않을 수 있다.
3) 하이퍼바이저 할달 블록(Hypervisor Allocated Blocks): 데이터 저장을 위해 Hypervior에 의해 VM에 실제로 할당된 공간이며 사전 할당을 수행하면 그 크기가 가상 디스크 저장 크기와 같을 수 있다. VM이 일부 블록을 해제하면 hypervior가 VM 수준 저장소를 확인하는 것이 더 어렵거나 보이지 않기 때문에 hypervior는 할당된 블록 크기를 축소하지 않을 수 있다. 따라서 미사용 공간과 가비지 컬렉션 블록을 피하면 마이그레이션 시간을 상당히 줄일 수 있지만 하이퍼바이저 구현에서는 가비지 컬렉션 블록 정보를 전달하지 않기 때문에 하이퍼바이어에서는 쉽지 않다.
2. 라이브 가상 머신 마이그레이션 유형
2.1 사전 복사 기술(Pre-copy techniques)
사전 복사 기술은 순서도 형식으로 그림 1과 같이 중지 및 복사 단계가 뒤따르는 반복적인 푸시 단계를 사용한다. 반복적인 절차로 인해 더티 페이지라고 하는 일부 메모리 페이지가 업데이트/수정되었으며 마이그레이션 반복 중에 원본 서버에서 재생성된다. 이러한 더티 페이지는 향후 반복에서 대상 호스트로 다시 전송되므로 일부 또는 자주 액세스하는 메모리 페이지가 여러 번 전송된다. 마이그레이션 시간이 오래 걸린다. 첫 번째 단계에서는 VM이 ??소스 호스트에서 계속 실행되는 동안 모든 페이지가 전송된다. 다음 라운드에서 더티 페이지가 다시 전송된다. 두 번째 단계는 정의된 임계값에 따라 달라지는 종료 단계이다. 세 가지 조건 중 하나가 충족되면 종료가 실행된다. 이전 라운드는 정의된 임계값 아래로 떨어진다. 마지막, 중지 및 복사 단계에서 VM 마이그레이션은 소스 서버에서 일시 중단되고 그 후 프로세서 상태와 남아 있는 더티 페이지가 이동한다. VM 마이그레이션 프로세스가 올바른 방식으로 완료되면 하이퍼바이저는 대상 서버에서 마이그레이션 VM을 재개한다. KVM, Xen 및 VMware 하이퍼바이저는 라이브 VM 마이그레이션을 위해 사전 복사 기술을 사용한다.

<그림1. 사전 복사 기술에서 VM 마이그레이션의 기본 단계>
2.2 사후 복사 기술(Post-copy techniques)
복사 후 마이그레이션 기술에서는 메모리 콘텐츠 이전에 프로세서 상태가 전송된 다음 대상 서버에서 VM이 시작될 수 있다. VM의 라이브 마이그레이션을 최적화하기 위해 사후 복사 기술을 제안되었다. 복사 후 VM 마이그레이션 기술은 대상 서버에서 메모리 페이지를 미리 가져오기 위한 수요 페이징, 활성 푸시, 사전 페이징 및 DSB(Dynamic Self-Ballooning) 최적화 접근 방식을 조사한다. 복사 후 기술 변형 또는 복사 후 최적화 접근 방식은 다음과 같다.
1) 페이징 요청: VM 요청 페이지가 네트워크를 통해 한 번만 전송되도록 한다. VM이 대상 서버에서 재개되고 읽기/쓰기 작업을 위한 메모리 페이지를 요청하면 페이지 폴트가 발생하면 소스 서버에서 재전송하여 결함 페이지를 서비스한다. 따라서 결함이 있는 페이지를 서비스하면 애플리케이션 성능이 상당히 저하된다. 따라서 요구 페이징은 가장 간단하고 느린 옵션을 제공한다.
2) 액티브 푸시: 소스 서버에서 잔여 종속성을 제거하고 VM이 대상 서버에서 실행 중일 때도 VM 페이지를 대상 서버로 사전에 푸시한다. 대상 VM에서 페이지 오류가 발생하면 요청 페이징을 사용하여 오류를 처리한다. 따라서 페이지는 활성 푸시 또는 요청 페이징을 통해 한 번만 전송된다.
3) 사전 페이징: 대상 서버에 향후 액세스 페이지를 요청하여 페이지 폴트율을 방지하거나 완화하는 데 도움이 된다. 이를 위해 대상 VM에서 페이지 액세스 패턴의 힌트를 사용한다. 따라서 미래의 페이지 오류를 미리 방지하고 패턴에 액세스하기 위해 더 나은 페이지 푸시 시퀀스를 받아들일 수 있다.
4) DSB(Dynamic Self-Ballooning): DSB는 여유 메모리 페이지의 전송을 방지하는 데 사용된다. 이 접근 방식은 VM의 여유 페이지를 하이퍼바이저에 주기적으로 해제하여 성능 저하를 무시하면서 마이그레이션 프로세스의 속도를 높인다. 따라서 미사용 페이지 수의 전송이 증가하고 미사용 페이지가 대상 서버로 전송되는 것을 방지하여 총 마이그레이션 시간이 단축된다.
복사 후 VM 마이그레이션의 기본 단계는 그림 2와 같다.
<그림2. 사후 복사 기술에서 VM 마이그레이션의 기본 단계>
2.3 하이브리드 기술(Hybrid technique)
하이브리드 VM 마이그레이션 기술에는 총 마이그레이션 시간과 서비스 다운타임을 개선하기 위해 사전 복사 및 사후 복사 VM 마이그레이션 단계가 모두 포함된다.
다음과 같은 5단계로 작동한다.
1) 마이그레이션 준비 단계: 이 단계에서 필요한 리소스는 대상 서버에 예약된니다. 2) 제한된 사전 복사 라운드: 이 단계에서 VM 작업 집합을 식별하고 대상 서버로 전송한다.
3) VM 상태 전송 단계: VM 최소 상태가 기록되어 대상 서버로 전송된다.
4) VM 재개 단계: 전송된 VM은 목적지 서버에서 재개된다.
5) 페이징 요구 단계: VM에서 요청한 오류 페이지(읽기/쓰기 작업으로 인해)는 VM 실행을 계속하고 원본 VM 이미지와 동기화하기 위해 원본 서버에서 대상 서버로 가져온다.
하이브리드 VM 마이그레이션의 기본 단계는 그림 3과 같다.
<그림3. 하이브리드 기술에서 VM 마이그레이션의 기본 단계>
Live Virtual Machine Migration 기법의 효과는 다음과 같다. 전송된 VM의 상태를 최소화하여 다운타임을 최소화하여 애플리케이션 서비스가 중단 없이 실행되거나 VM 전송이 원활하게 유지되도록 사전 복사 기법에 중점을 둔다. 그러나 더티 페이지의 반복적인 전송으로 인해 총 마이그레이션 시간이 늘어난다. 사후 복사 기술에서 모든 메모리 페이지는 최대 한 번 전송되며 대상 서버에서 오류가 발생하기 전에 활성 푸시 메모리 페이지에 의해 네트워크 페이지 오류를 줄인다. 마이그레이션하는 동안 두 가지 접근 방식 모두에서 무료 페이지가 전송되어 총 마이그레이션 시간이 늘어난다. 이 문제를 피하기 위해 DSB 메커니즘이 사용된다.
사전 복사와 비교하여 사후 복사 기술은 전송된 페이지 수와 총 마이그레이션 시간을 줄인다. 그러나 사후 복사 기술은 대상 서버에서 VM을 재개하기 전에 페이지 가져오기의 마이그레이션 대기 시간으로 인해 사전 복사 기술보다 다운타임이 더 많다. 또 다른 단점은 마이그레이션 중에 어떤 종류의 장애가 발생하면 복구가 불가능할 수 있다는 것이다. 표 1은 성능 메트릭을 기반으로 한 사전 복사와 사후 복사 기술의 비교를 보여준다.
<표1. 성능 메트릭을 기반으로 한 사전 복사 및 사후 복사 비교>
3. 제 1부 결언
가상화 기술은 대규모 CDC(클라우드 데이터 센터)에서 컴퓨팅, 스토리지 및 통신 리소스에 대한 증가하는 수요를 효과적으로 처리합니다. VM(가상 머신) 마이그레이션을 통해 부하 분산, 온라인 시스템 유지 관리, 사전 예방적 내결함성, 전원 관리 및 리소스 공유와 같은 다양한 리소스 관리 목표를 달성하는 데 도움이 된다. VM 마이그레이션은 VM이 적절한 CPU 주기, 캐시 메모리, 메모리 용량 및 통신 대역폭을 지속적으로 요구하기 때문에 리소스 집약적인 절차이다. 따라서 이 프로세스는 특히 SLA(서비스 수준 계약) 및 중요한 비즈니스 목표를 충족해야 하는 경우 실행 중인 애플리케이션의 성능을 저하시키고 데이터 센터의 효율성에 부정적인 영향을 미친다. Live VM 마이그레이션은 마이그레이션이 수행되는 동안 응용 프로그램 서비스의 가용성을 허용하기 때문에 자주 사용된다. 제1부에서는 라이브 가상 머신 마이그레이션의 구성 요소와 라이브 가상 머신 마이그레이션 유형을 중점적으로 살펴보았다. 다음 제2부에서는 라이브 가상 머신 마이그레이션 모델과 라이브 가상 머신 마이그레이션 프레임워크에 대하여 기술하기로 한다.
참 고 문 헌
- Bhagyalakshmi and D. Malhotra, "A Critical Survey of Virtual Machine Migration Techniques in Cloud Computing," 2018 First International Conference on Secure Cyber Computing and Communication (ICSCCC), 2018, pp. 328-332, doi: 10.1109/ICSCCC.2018.8703322.
- Anita Choudhary et al., A critical survey of live virtual machine migration techniques, Journal of Cloud Computing: Advances, Systems and Applications, Vol. 6(1), pp. 1?41, 2017.
- ARaja Wasim Ahmad et al., A survey on virtual machine migration and server consolidation frameworks for cloud data centers, Journal of Network and Computer Applications 52, pp. 11?25. 2015.
- Prateek Jain, Optimized Pre-Copy Live Virtual Machine Migration for Memory-Intensive Workloads, MSc Research Project Cloud Computing, School of Computing National College of Ireland, 2021.
- Suruchi Talwani, Jimmy Singla, A Comprehensive Review of Virtual Machine Migration Techniques in Cloud Computing, Proceedings of the International Conference on Innovative Computing & Communications (ICICC), 2020.
저작권 정책
K-ICT 클라우드혁신센터의 저작물인 『[1부] 클라우드 컴퓨팅에서의 라이브 가상 머신 마이그레이션 기술』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.