
상명대학교 / 서광규 교수
가상 머신 마이그레이션은 가상 머신이 하나의 물리적 호스트에서 다른 물리적 호스트로 전송되는 프로세스이다. 클라우드 컴퓨팅에서 라이브 가상 머신 마이그레이션 기술 제1부에서는 라이브 가상 머신 마이그레이션의 구성 요소와 라이브 가상 머신 마이그레이션 유형을 중점적으로 살펴보았다. 제 2부에서는 라이브 가상 머신 마이그레이션 모델과 라이브 가상 머신 마이그레이션 프레임워크에 대하여 기술하기로 한다.
1. 라이브 가상 머신 마이그레이션 모델
라이브 VM 마이그레이션의 "모델"이라는 용어는 라이브 VM 마이그레이션과 관련된 단계의 이론적 표현에 사용된다. 모델이 구현되거나 구현되지 않았을 수 있다. 또한 기존 모델을 기반으로 라이브 VM 마이그레이션의 필수 단계를 고려한 라이브 VM 마이그레이션의 일반 모델을 제안한다.
CDC 리소스의 효율적인 활용을 위해 라이브 마이그레이션을 자주 사용하지만 라이브 마이그레이션 성능이 문제이다. 이를 위해서는 최적의 라이브 VM 마이그레이션 성능을 얻을 수 있는 최적의 소프트웨어와 하드웨어 조합 환경을 선택하기 위한 의존적 평가 방법이 필요하다. 이를 위해 라이브 마이그레이션 벤치마크인 Virt-LM 솔루션을 제안되었는데, Virt-LM 벤치마크는 서로 다른 소프트웨어 및 하드웨어 환경 간에 서로 다른 CDC 환경에서 실시간 마이그레이션 성능을 비교하는 데 사용된다. 다양한 유형의 성능 메트릭, 응용 프로그램, 안정성, 호환성, 사용성 및 공정한 점수 방법론이 Virt-LM 설계의 주요 목표이다.
라이브 VM 마이그레이션 기능을 사용하여 클라우드 서비스 제공자는 적은 워크로드를 가진 많은 VM을 몇 대의 서버로 통합하여 높은 리소스 활용도를 달성할 수 있다. 또한 부하 분산을 위해 서버에 부하가 많은 VM(부하가 낮은 서버)을 다른 서버로 마이그레이션한다. VMware는 데이터 센터에서 시간당 0~80 범위의 자동화된 로드 밸런싱 기능에 의해 호출된 라이브 VM 마이그레이션 실행 빈도가 라이브 마이그레이션의 성능 저하를 초래한다고 보고했다. 또한 클라우드 공급자가 요청한 리소스를 최종 사용자에게 적시에 제공하기가 어렵다.
클라우드는 온디맨드 기능을 기반으로 호스팅된 애플리케이션의 리소스 가용성을 동적으로 늘리거나 줄이는 전례 없는 탄력성을 지원한다. VM 마이그레이션은 탄력성 기능을 가능하게 하고 리소스 사용량은 물리적 서버를 통해 동적으로 균형을 이룰 수 있으므로 애플리케이션을 동적으로 재배치하여 안정성과 성능을 향상시킬 수 있다. VM을 마이그레이션해야 하는 시기와 필요한 리소스를 할당하는 방법, 리소스 가용성은 이러한 종류의 결정을 내리는 데 도움이 될 수 있다. 회귀 통계 방법을 사용한 성능 모델도 제안되었다.
기존 접근 방식은 정의된 제약 조건으로 성능 향상을 위한 VM 배치 기술에 중점을 두었다. 일부 연구에서는 VM 통합을 처리하는 동안 성능 및 에너지 비용에 대해 우려하고 있다. CDC는 과도한 양의 에너지를 소비한다. 이는 에너지 소비의 글로벌 증가와 IT 비용의 일부로 추가로 에너지 비용을 담당한다. 또한 마이그레이션 비용은 워크로드 유형, 워크로드 특성 및 필요한 VM 구성에 따라 다르기 때문에 상당히 다를 수 있다. 마이그레이션 의사 결정 시 마이그레이션 오버헤드를 고려하면서 에너지 비용 및 마이그레이션 성능을 정량적으로 예측하기 위한 설계 방법이 제안되었다. 이 모델은 VM 마이그레이션 비용 측면에서 에너지와 성능을 모두 나타낸다. 마이그레이션 성능 메트릭은 워크로드 특성, VM 메모리 크기, 메모리 더티 속도 및 네트워크 전송 속도와 같은 여러 요소를 처리하는데, 제안된 모델이 측정된 비용과 관련하여 약 90% 이상의 예측 정확도를 보여주고 모델 기반 결정이 73.6%의 에너지 절약과 함께 마이그레이션 비용을 72.9% 이상 상당히 감소시키는 것으로 나타났다.
클라우드 기반 에지 네트워크에서 협력하는 VM의 수는 전통적으로 중단되고 값비싼 네트워크 미들 박스로 수행되는 작업을 구현할 수 있다. 클라우드 기반 에지 네트워크 모델은 사용자 프로필을 구현한 협력 VM에 대한 라이브 VM 마이그레이션의 성능을 평가한다. 이 모델에서는 네트워크 프로파일링 및 시스템 설계 매개변수의 표현으로 서비스 다운타임 및 총 마이그레이션 시간에 대한 함수를 도출했다. 서비스 다운타임은 최종 사용자 품질 지표이며 총 마이그레이션 시간은 운영 환경의 네트워크 대역폭 가용성과 관련이 있다. 여기에서는 두 가지 유형의 마이그레이션 스케줄링 대안, 즉 순차 마이그레이션 전략과 병렬 마이그레이션 전략을 고려했으며 결과는 이들 사이에 절충점이 있음을 보여준다. 또한 병렬 마이그레이션이 많은 리소스를 점유하면서 마이그레이션 다운타임을 줄이는 상황을 찾는다. 작업 확장은 에지 네트워크에 대한 보다 정확한 메모리 프로파일링을 고려하고 실제 시스템에서 전체 기능을 테스트하는 모델의 일반적인 시나리오를 포함할 수 있다.
라이브 VM 마이그레이션에서 축출 시간(소스 서버에서 VM 상태를 축출하는 시간) 메트릭은 제거 시간 메트릭은 원본 서버가 오프라인 모드로 전환되는 속도 또는 다른 VM에 대한 추가 가용성을 위해 해제된 리소스를 결정한다. 사전 복사 및 사후 복사와 같은 기존 라이브 VM 마이그레이션 기술은 원본 서버와 대상 서버 모두 마이그레이션 기간에 따라 제한되기 때문에 제거 시간을 총 마이그레이션 시간으로 처리한다. Eviction 시간 값은 들어오는 VM 트래픽의 수신 속도에 영향을 미치기 때문에 대상 서버가 충분한 메모리 또는 네트워크 대역폭을 운반하지 않으면 계속 증가하며 이러한 상황에서 원본 서버도 묶인다. 이러한 문제를 위해 Scatter-Gather 라이브 마이그레이션 접근 방식을 제안했다. Scatter-Gather 접근 방식은 대상 서버에 리소스가 제한되어 있을 때 원본 서버와 대상 서버를 분리하여 제거 시간을 줄인다. 소스 서버는 VM의 메모리 상태를 클러스터의 여러 중간 상자에 분산시키고 동시에 대상 서버는 사후 복사 변형을 사용하여 중간 상자에서 VM의 메모리를 수집하기 시작한다. 이 모델에서는 Scatter-Gather는 제거 시간을 최대 6배까지 줄인다. VM eviction 시간이 짧아야 하는 경우 데이터 센터 관리자의 도구 상자에 중요하다.
WAN을 통한 스토리지 및 메모리 마이그레이션을 위한 부분 하이브리드 사전 복사 마이그레이션 모델은 일종의 적응형 라이브 마이그레이션 접근 방식이다. 이름에서 알 수 있듯이 메모리와 스토리지의 일부는 복사 전 단계에서 전송된다. 나머지 메모리 및 저장 내용은 복사 후 마이그레이션(요구 페이징)의 변형을 통해 전송된다. 마이그레이션하는 VM의 성능을 원래 수준으로 복원하는 데 도움이 되도록 비율이 조정된다. 제안된 접근 방식은 스토리지 콘텐츠 마이그레이션이 중요한 연구 문제인 WAN을 통한 VM 마이그레이션을 강조한다. LAN을 통한 스토리지 마이그레이션은 해당 서버 간에 공유되기 때문에 종종 필요하다. 이 모델은 마이그레이션할 스토리지 및 메모리 부분을 적응적으로 찾기 위해 확률적 예측 모델 및 프로파일링 프레임워크를 개발한다. 이 모델에서는 WAN 네트워크에서 에뮬레이트되었으며 결과는 부분 하이브리드 사전 복사 마이그레이션 솔루션이 사후 복사 알고리즘의 응답성을 유지하면서 다른 솔루션보다 훨씬 향상된 적응성을 달성한다는 것을 보여준다.
VM 애플리케이션 트래픽과 마이그레이션 트래픽 간의 네트워크 경합은 라이브 VM 마이그레이션을 처리하는 동안 중요한 문제이다. VM 마이그레이션이 사전 복사로 처리되면 VM은 원본 서버에서 계속 실행되는 반면 사후 복사에서는 VM이 ??대상 서버에서 계속 실행된다. 주로 아웃바운드 트래픽이 있는 VM 마이그레이션 애플리케이션은 소스 서버에서 나가는 마이그레이션 트래픽을 처리하는 반면, 인바운드 트래픽이 대부분인 경우 대상 서버에서 들어오는 트래픽을 처리한다. 따라서 네트워크 경합은 총 마이그레이션 시간을 늘리고 애플리케이션 성능을 저하시킨다. 동일한 문제에 대해 마이그레이션 트래픽과 VM 트래픽의 네트워크 경합을 줄이기 위해 트래픽에 민감한 라이브 VM 마이그레이션 모델을 제안되었다. 이 모델에서는 모든 VM을 마이그레이션하기 위해 미리 결정된 VM 마이그레이션 기술 중 하나와 함께 작업하는 것 외에 함께 배치된 VM(같은 서버에 있는 VM)의 마이그레이션을 위해 하이브리드 기술을 사용했고 마이그레이션 기술 선택의 기반을 제공하는 대부분의 VM 애플리케이션 트래픽 방향을 보완하는 네트워크 트래픽 프로필을 사용한다.
1.1 라이브 가상 머신 마이그레이션의 일반 모델
라이브 VM 마이그레이션의 일반 모델은 그림 1과 같다. 여기에는 마이그레이션 결정을 내리는 동안 필요한 여러 단계가 포함된다. 로드 밸런싱 및 서버 통합의 필요성으로 인해 마이그레이션하려면 서버에서 VM의 일부 또는 전체를 마이그레이션해야 한다. 이를 위해 마이그레이션 목표 또는 선택 기준을 충족하는 가장 적절한 VM 또는 VM 집합을 선택해야 한다. 이를 위해 먼저 현재 및 과거 페이지 액세스 패턴에서 각 VM 메모리 더티 레이트를 측정한다. 그런 다음 컨트롤러는 메모리 페이지 전송 속도를 조정하여 더티 레이트를 조정한다. 그 후 성능 예측 모델은 마이그레이션 시간, 마이그레이션 비용, 가동 중지 시간, 데이터 전송량 등과 같은 성능 메트릭을 기반으로 VM의 성능을 추정한다. VM의 기록 데이터는 추가 마이그레이션을 위해 업데이트 된다(필요한 경우).
<그림1. 라이브 가상 머신 마이그레이션의 일반 모델>
2. 라이브 가상 머신 마이그레션 프레임워크
여기에서는 기존 라이브 VM 마이그레이션 프레임워크에 대해 논의하고 비교하는데, "프레임워크"라는 용어는 실제 구현된 기술에 사용된다. 프레임워크에는 제안된 기술과 구현이 포함된다.
2.1 마이그레이션 매커니즘의 분류
VM 마이그레이션 메커니즘의 분류는 그림 2와 같은데 사용하는 목적과 기법에 따라 크게 세 가지로 분류되고 마이그레이션 유형, 복제 기반 마이그레이션 및 컨텍스트 인식 기반 마이그레이션에 따라 분류된다.
<그림2. 마이그레이션 매커니즘의 분류>
마이그레이션 유형은 다음과 같다. 마이그레이션이 수행될 때마다 워크로드 및 환경 조건에 따라 단일 또는 여러 VM이 마이그레이션 된다.
- 단일 VM 마이그레이션: 한 번에 하나의 VM만 마이그레이션 된다.
- 다중 VM 마이그레이션: 두 개 이상의 VM이 동시에 마이그레이션 된다.
- 단일 및 다중 VM 마이그레이션: 하나 이상의 VM이 동시에 마이그레이션 된다.
2.2 다중 VM 마이그레이션
다중 VM 마이그레이션에서는 같은 위치에 있는 VM 그룹이 동시에 마이그레이션 된다. 서비스 중단을 최소화하면서 다양한 CDC에서 대량의 워크로드를 유연하게 이동할 수 있다. 다중 VM 마이그레이션의 비교는 표 1과 같다. 최신 CDC에서는 라이브 마이그레이션 기술이 널리 사용된다. 다중 VM 마이그레이션은 대상 서버의 리소스 부족 및 VM의 동시 마이그레이션과 같은 여러 가지 이유로 인해 매우 복잡해진다. 예를 들면 자원 예약에 기반한 프레임워크에서는 원본 서버에서 예약된 리소스에는 CPU 주기와 메모리 용량이 포함되며 대상 서버에서는 VM 호스팅에 필요한 모든 유형의 리소스가 포함된다.
<표1. 다중 VM 마이그레이션 접근 방식 비교>
2.3 단일 및 다중 VM 마이그레이션
하대역폭 인식 VM 마이그레이션과 같은 일부 특정 상황에서는 단일 및 다중 VM 마이그레이션 접근 방식이 모두 필요하다. 표 2에서는 단일 및 다중 VM 마이그레이션 비교 결과를 보여준다. 메모리 집약적 애플리케이션 성능은 메모리 더티 비율이 메모리 전송 비율보다 높기 때문에 사전 복사로 마이그레이션을 수행할 때 큰 영향을 받는다. 이러한 애플리케이션의 경우 복사 후 VM 마이그레이션 패턴이 더 잘 수행된다.
<표2. 단일 및 다중 VM 마이그레이션 접근 방식 비교>
2.3.1 단일/다중 VM 마이그레이션의 일반 단계
여러 VM 마이그레이션의 핵심은 동일한 OS, 애플리케이션 또는 라이브러리를 사용하는 VM에 상당한 수의 동일한 페이지가 포함될 수 있다는 것이다. 따라서 여러 VM 마이그레이션 트랙 중에 같은 위치에 있는 VM에 있는 모든 동일한 페이지와 이러한 동일한 페이지의 단일 복사본을 전송하는 소스 서버 측에서 마이그레이션 컨트롤러가 이 작업을 수행한다. 따라서 마이그레이션 컨트롤러는 동일한 위치에 있는 모든 VM을 대상 시스템으로 병렬 마이그레이션을 시작한다. 대상 서버에서 마이그레이션 컨트롤러는 들어오는 마이그레이션 VM의 수신을 위해 서버를 준비한다. 여러 VM 마이그레이션 단계가 그림 2와 같다.
<그림2. 단일/다중 VM 마이그레이션의 일반 단계>
2.4 복제 기반 VM 마이그레이션
마이그레이션 프로세스 중에 VMM은 단일 VM에서 동일한 페이지의 여러 복사본을 감지하거나 여러 서버에서 여러 VM을 감지하여 불필요한 메모리 페이지 마이그레이션을 유도한다. 마이그레이션 중에 더 많은 네트워크 대역폭이 필요하거나 네트워크 트래픽이 증가하는 많은 수의 페이지를 처리하는 경우. 다양한 유형의 메모리 압축 기술이 사용된다.
- 복제 기반
- 중복 제거 기반
- 이중화 기반
- 압축 기반
복제 기반 VM 마이그레이션 단계는 그림 3과 같다. Domain0에서 실행되는 마이그레이션 데몬 또는 컨트롤러는 실행 중인 VM의 마이그레이션을 수행한다. 사전 복사 단계에서 마이그레이션 컨트롤러는 사전 복사 단계에서 마이그레이션된 VM의 수정된 페이지를 추적하기 위해 하이퍼바이저 계층에 있는 섀도우 페이지 테이블에 액세스한다. 섀도우 페이징을 사용하여 대상 VM에 존재하지 않는 페이지에 대한 액세스를 트랩할 수도 있다. 섀도우 페이지 테이블 항목은 더티 비트맵의 변경 사항을 반영한다. 각 사전 복사 라운드가 시작될 때 마이그레이션 데몬은 먼저 비트맵을 보낸다. 그 후, 지워지고 삭제된다. 나중에 다음 라운드를 위해 비트맵 및 섀도우 페이지 테이블이 생성된다. 마이그레이션 데몬은 더티 비트맵 항목을 기반으로 마이그레이션할 페이지를 선택하고 압축을 수행하여 네트워크 오버헤드를 줄인다. 대상 머신 마이그레이션 시 데몬은 압축된 데이터를 수락하고 압축 해제 기술을 적용하여 실제 페이지에 액세스한다. 또한 마이그레이션 데몬에 의해 마이그레이션된 VM에 대해 VM 메모리 페이지 매핑이 수행된다.
<그림3. 복제 기반 VM 마이그레이션 일반 단계>
2.5 컨텍스트 인식 VM 마이그레이션
일부 메모리 페이지의 마이그레이션 결정은 페이지 내용에 따라 다른데, 컨텍스트 인식 VM 마이그레이션은 다음과 같이 네 가지 범주로 분류한다.
- 종속성 인식 VM 마이그레이션
- ?소프트 페이지 인식 VM 마이그레이션
- 더티 페이지 인식 VM 마이그레이션
- 페이지 오류 인식 VM 마이그레이션
분류된 범주는 단일 또는 다중 VM 페이지, 제로 콘텐츠 메모리 페이지, 페이지 더티 빈도 및 네트워크/페이지 오류 인식 간의 상호 종속성을 기반으로 한다.
컨텍스트 인식 VM 마이그레이션의 일반 단계는 그림 4와 같다. 가상 페이징 접근 방식을 사용하여 VM의 모든 페이징 가능한 메모리를 게스트 커널 내의 메모리 내 의사 페이징 메모리로 교체한다. 소스 시스템에서 페이지 오류 감지 및 서비스는 두 개의 로드 가능한 커널 모듈을 사용하여 구현된다. 하나는 Dom0 내부에 있고 다른 하나는 마이그레이션 VM 내부에 있다.
<그림4. 컨텍스트 인식 VM 마이그레이션의 일반 단계>
3. 제 2부 결언
라이브 VM 마이그레이션은 실행 중인 VM 또는 여러 VM을 한 서버에서 다른 서버로 이동하는 프로세스이다. VM에서 실행되는 서비스는 사용자가 항상 사용할 수 있어야 하므로 지속적으로 실행되는 동안 마이그레이션해야 한다. 이는 VM이 가동 중지 시간 없이 마이그레이션되는 경우에만 가능하다. 라이브 VM 마이그레이션의 동기는 부하 분산, 사전 예방적 내결함성, 전원 관리, 리소스 공유 및 온라인 시스템 유지 관리이다. 마이그레이션 시 마이그레이션해야 하는 콘텐츠 유형, 즉 CPU 상태, 메모리 콘텐츠, 스토리지 콘텐츠를 식별한다. 제1부에 이어서 제2부에서는 라이브 가상 머신 마이그레이션 모델과 라이브 가상 머신 마이그레이션 프레임워크에 대하여 살펴보았다. 본 고에서 기술하지 않았으나 라이브 VM 마이그레이션의 위협, CDC의 마이그레이션 프로세스와 효율성을 개선하기 위한 방법이 연구되고 있다.
참 고 문 헌
- 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 클라우드혁신센터의 저작물인 『[2부] 클라우드 컴퓨팅에서의 라이브 가상 머신 마이그레이션 기술』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.