vMotion 기능이 vSphere 7에서 크게 업데이트되어 실시간 마이그레이션이 빨라지는 동시에 소스 및 대상 ESXi 호스트 간에 가상 시스템(VM)을 훨씬 효율적으로 전환하는 방법과 함께 vMotion 프로세스 중에 게스트 성능에 미치는 영향을 크게 낮추었다. vSphere 7에서는 Fast Suspend and Resume(FSR) 처리를 위한 개선도 소개되었다.
FSR은 Storage vMotion으로 VM 스토리지를 실시간 마이그레이션할 때 사용되지만 VM Hot Add에도 사용된다. Hot Add는 vCPU, 메모리 및 기타 선택된 VM 하드웨어 디바이스를 전원이 켜진 VM에 추가하는 기능이다. VM 전원이 꺼져 있을 때 계산 리소스나 가상 하드웨어 디바이스를 추가하는 것은 .vmx 구성 파일 변경에 불과하다. FSR은 실시간 VM에 대해 동일한 작업을 수행하는 데 사용된다.
참고: vCPU Hot Add를 사용하면 이 문서에서 설명한 대로 워크로드 성능에 영향을 줄 수 있다.
FSR 프로세스
FSR은 vMotion 프로세스와 많은 유사점을 가지고 있다. 가장 큰 차이점은 FSR이 로컬 실시간 마이그레이션이라는 점이다. 로컬은 동일한 ESXi 호스트 내를 의미한다. 컴퓨팅 vMotion의 경우 메모리 데이터를 소스에서 대상 ESXi 호스트로 복사해야 한다. FSR의 경우 메모리 페이지는 동일한 호스트 내에 유지된다.
Storage vMotion이 시작되거나 Hot Add가 사용되면 대상 VM이 생성된다. 이 이름은 오해의 소지가 있을 수 있으며, 소스 VM이 실행되고 있는 위치와 동일한 ESXi 호스트에서 실행되는 ‘고스트’ VM이다. ‘대상’ VM이 생성되면 FSR 프로세스는 소스 VM이 디바이스 상태와 메모리 메타데이터를 전송하기 전에 실행을 일시 중단한다. 마이그레이션은 호스트의 로컬이기 때문에 메모리 페이지를 복사할 필요가 없고 메타데이터만 복사할 수 있다. 이 작업이 완료되면 대상 VM이 재개되고 소스 VM이 정리, 전원 끄기 및 삭제된다.
vMotion과 마찬가지로 VM 일시 중단과 재개 사이의 시간을 1초로 유지하여 게스트 OS에 미치는 영향을 최소화해야 한다. 일반적으로 소규모 VM 환경에서는 이러한 문제가 전혀 발생하지 않았다. 그러나 대규모 워크로드(‘몬스터’ VM)의 경우 VM 크기 조정 및 워크로드 특성에 따라 상당한 영향을 미칠 수 있다.
메모리 메타데이터 전송 방법
FSR 프로세스 동안 메모리 메타데이터 전송에 가장 많은 시간이 소비된다. 메모리 메타데이터를 VM의 포인터로 보고 글로벌 시스템 메모리의 데이터가 배치되는 위치를 파악할 수 있다. 메모리 메타데이터는 VM의 가상 메모리와 물리적 메모리의 데이터를 식별하는 실제 Machine Page Numbers(MPN) 사이의 매핑을 제공하는 Page Frames(PFrames)을 사용하고 있다.
메모리 데이터를 복사할 필요가 없기 때문에 FSR은 동일한 호스트의 대상 VM에 메타데이터(PFrames)를 복사하여 시스템 메모리에서 데이터를 찾을 수 있는 위치를 알려주면 된다.
vSphere 7 이전 버전의 vSphere에서는 메모리 메타데이터의 전송이 단일 스레드로 처리된다. PFrames를 일괄 전송하는 데 vCPU는 하나만 할당되고 사용된다. 다른 모든 vCPU는 VM이 잠시 일시 중단되므로 메타데이터 전송 중에 절전 모드다. 이 방법은 크기가 작은 VM에는 괜찮지만, 특히 메모리 용량이 큰 대규모 VM에는 문제가 발생할 수 있다.
단일 스레드 전송은 대규모 VM 구성으로 확장되지 않으므로 1초 이상 전환 시간이 발생할 수 있다. 따라서 vSphere 7의 vMotion과 마찬가지로 FSR을 사용할 때 전환 시간(일명 스턴 시간)을 단축해야 한다.
vSphere 7의 향상된 FSR
그러면 모든 VM의 vCPU를 사용하여 PFrames를 전송하는 것은 어떨까? 메타데이터 전송 중에 VM이 일시 중단되므로 vCPU를 유휴 상태로 유지할 필요가 없다는 점을 기억하자. PFrames의 이송 속도를 높이기 위해 이들을 투입한다. VM 메모리는 세그먼트로 나뉘며 각 vCPU에는 전송할 메모리 메타데이터 세그먼트가 할당된다.
vSphere 7에서 FSR 논리는 직렬화된 방식에서 분산 모델로 이동했다. 이제 PFrames 전송은 VM에 대해 구성된 모든 vCPU에 분산되며 전송은 병렬로 실행된다.
모든 vCPU 활용 효과
FSR 프로세스 중 메모리 메타데이터 전송에 모든 vCPU를 활용하는 순 결과는 전환 시간을 크게 단축한다. 성능 팀은 Storage vMotion 및 Hot Add를 사용하여 여러 VM 구성 및 워크로드를 테스트했다. 1TB의 메모리와 48개의 vCPU로 구성된 VM을 사용하여 메타데이터 전송에 1개의 vCPU를 사용하는 전환 시간이 7.7초에서 모든 vCPU를 사용할 때 500밀리초로 단축됐다!
FSR 개선 사항은 VM 크기 조정 및 워크로드 특성에 크게 좌우된다. 최대 6.7 버전의 vSphere에서는 Storage vMotion 또는 Hot Add 작업을 사용할 때 1초 SLA에 문제가 발생함 vSphere 7을 실행하면 전환 시간이 단축되어 고객이 다시 이러한 기능을 편안하게 사용할 수 있다!