이 문서에서는 중첩된 가상화에 대한 Compute Engine 지원을 설명합니다. 중첩된 가상화를 사용하면 다른 VM 내에서 가상 머신(VM) 인스턴스를 실행하여 자체 가상화 환경을 만들 수 있습니다. 중첩된 가상화를 지원하기 위해 Compute Engine은 VM에 Intel 가상화 기술 (VT-x) 명령을 추가하므로 VM을 만들 때 해당 VM에 이미 있는 하이퍼바이저는 추가 VM을 실행할 수 있습니다.
Compute Engine VM은 Google의 보안이 강화된 KVM 기반 하이퍼바이저가 있는 물리적 호스트에서 실행됩니다. 중첩된 가상화에서 물리적 호스트와 하이퍼바이저는 수준 0(L0) 환경입니다. L0 환경은 여러 수준 1(L1) VM을 호스팅할 수 있습니다. 각 L1 VM에는 또 다른 하이퍼바이저가 있으며 이 하이퍼바이저는 레벨 2(L2) VM을 설치하는 데 사용됩니다. 그림 1은 물리적 호스트, L1 VM, L2 VM 간의 관계를 보여줍니다.
사용 사례
중첩된 가상화를 사용할 수 있는 시나리오는 다음과 같습니다.
Compute Engine에서 실행할 수 없는 VM이 있는 경우: 예를 들어 Compute Engine VM으로 장애 조치되는 VM에서 실행 중인 온프레미스 워크로드를 위한 재해 복구 솔루션이 있을 수 있습니다. 중첩된 가상화를 실행하면 VM을 Compute Engine으로 포팅하는 데 소요되는 시간을 절약할 수 있습니다.
다양한 OS의 여러 버전에서 새로운 버전의 소프트웨어 패키지를 테스트하고 검사하는 데 사용하는 소프트웨어 검증 프레임워크가 있습니다. 중첩된 가상화를 사용하면 Compute Engine 이미지의 라이브러리를 변환하고 관리하지 않아도 됩니다.
성능에 대한 고려사항
하드웨어 지원 중첩된 가상화의 경우에도 중첩된 VM은 CPU에 종속된 워크로드의 경우 성능이 10% 이상 저하되고, 입력/출력에 종속된 워크로드는 성능이 10% 넘게 저하될 수 있습니다.
제한사항
L1 VM에는 다음과 같은 제한사항이 있습니다.
L1 VM에서 지원되는 유일한 하이퍼바이저는 Linux KVM이며 Microsoft Hyper-V는 지원되지 않습니다.
다음 VM은 사용할 수 없습니다.
E2 VM
AMD 및 Arm 프로세서로 구동되는 VM
각 영역에서 지원되는 프로세서에 대한 자세한 내용은 사용 가능한 리전 및 영역을 참조하세요.
L2 VM에는 다음과 같은 제한사항이 있습니다.
- 라이선스가 부여된 운영체제의 경우 사용자 라이선스를 사용해야 합니다.
중첩된 가상화 사용
중첩된 가상화를 사용하려면 다음 단계를 완료하세요.
중첩된 가상화가 사용 설정된 VM을 만들거나 중첩된 VM을 만드는 중에 문제가 발생하면 중첩된 가상화 문제 해결을 참조하세요.