중첩 가상화 가상 머신 내에서 하이퍼바이저를 실행할 수 있습니다. Windows 10에는 중첩 가상화가 도입되었습니다. 필요 여부에 관계없이 다음은 귀하가 관심을 가질 만한 정보입니다.
컨테이너 내부 컨테이너:Windows의 중첩 가상화 정보
이전에는 주 메모리가 허용하고 다른 목적으로 사용할 수 있는 만큼 병렬 컨테이너를 만들 수 있었습니다. Microsoft는 이제 최신 Insider Build 10565로 중첩 가상화 기능을 출시했습니다. Windows의 중첩 가상화 기능을 사용하면 컨테이너 내부에 컨테이너를 만들 수 있습니다. 기능이 아직 완벽하지는 않지만 알아야 할 사항이 있습니다.
Hyper V를 사용한 가상화
Windows는 병렬로 사용할 수 있는 간단한 컨테이너를 만들거나 단순한 컨테이너보다 더 나은 것으로 간주되는 Hyber V 컨테이너를 만들 수 있는 Droka를 지원합니다. Windows 컨테이너를 병렬로 만들 수 있지만 결국 동일한 라이브러리와 리소스를 사용하게 되는 경우가 많습니다. 이 경우 하나 이상의 "불량" 컨테이너가 리소스를 보류하고 다른 컨테이너가 사용할 수 있도록 해제하지 않아 결국 정체를 일으킬 수 있습니다. 이것이 Hyper V 컨테이너의 도입으로 이어진 유일한 단점입니다.
Hyper V 컨테이너는 각 가상 분위기에 대해 모든 것을 별도로 생성합니다. 즉, OS도 다시 생성되어 해당 가상 구획에서 실행되는 응용 프로그램에 제공됩니다. 이는 공통 가상 리소스가 없으므로 충돌이 없음을 의미합니다.
Windows의 중첩 가상화는 Hyper V를 사용하여 가능합니다. 다른 방법을 시도해 볼 수도 있지만 Microsoft는 현재 중첩 가상화가 Hyper V 컨테이너에서만 작동한다고 말합니다. 따라서 하나의 컨테이너를 만든 다음 첫 번째 컨테이너 내부에 다른 컨테이너를 만드는 데 주의해야 합니다. 다른 하이퍼바이저를 사용하거나 이미 생성한 것과 병렬로 다른 Hyper V 컨테이너를 생성하려고 하면 작동하지 않을 수 있습니다. 내 마음에 질문을 제기합니다. 병렬 컨테이너는 Windows에서 가능하지 않습니까? 다음 섹션에서도 이에 대해 이야기하겠습니다.
중첩 가상화 – 무엇이며 어떻게 구현합니까?
앞서 말했듯이 Hyper V 컨테이너를 만들 수 있습니다. 이 컨테이너는 다른 하이퍼바이저가 볼 수 없도록 합니다. 즉, 컨테이너만 CPU로 표시되고 실제 CPU는 다른 하이퍼바이저에 표시되지 않아 다른 컨테이너를 병렬로 생성할 수도 없습니다. 이 경우 두 개 이상의 Hyper V 컨테이너를 병렬로 생성할 수 있는지 아니면 생성한 첫 번째 컨테이너 내부에만 컨테이너를 생성할 수 있는지 여부가 의심됩니다.
Microsoft 블로그에 따르면 Hyper V 컨테이너를 생성하면 다른 하이퍼바이저가 실제 CPU를 볼 수 없기 때문에 Hyper V 컨테이너를 더 이상 설치할 수 없습니다. 이미 생성한 컨테이너 외부에 더 이상 컨테이너를 생성할 수 없습니까? 그런 다음 다른 Virtualizer를 실행할 때 컨테이너가 실제 CPU라고 생각하고 해당 컨테이너 내부에 가상 컨테이너를 만듭니다.
그것은 중첩 가상화(컨테이너 내부에 컨테이너가 있는 경우)이며, 각 컨테이너는 완전히 독립적이며 공유 라이브러리나 드라이버가 없습니다. 병렬 컨테이너에 대한 한 가지 의심을 제외하고는 좋게 들립니다. 다음은 중첩 가상화 작업을 보여주기 위해 Microsoft에서 빌린 이미지입니다.
중첩 가상화의 구현에는 다양한 요소를 확인해야 합니다. 몇 가지 예는 다음과 같습니다.
- RAM 양(RAM은 제한 요소임을 기억하십시오. RAM이 보유할 수 있는 만큼만 컨테이너를 생성할 수 있음)
- 프로세서가 지원됩니까? (MS는 현재 Intel VT-X만 지원한다고 밝혔습니다.)
- 동적 메모리는 꺼져 있어야 합니다.
- 런타임 메모리 등에 대한 탭 유지
이 시점에서 Microsoft가 이후 단계에서 처리할 수 있는 많은 문제가 있습니다. 하지만 중첩된 가상화를 시도하기 위해 GitHub에서 호출할 수 있는 PowerShell 스크립트를 개발했습니다.
Windows 11/10은 중첩 가상화를 지원합니까?
예, Windows 11 및 Windows 10은 중첩 가상화를 지원합니다. 참고로 이는 소프트웨어 기반 기능이 아니라 하드웨어 기능입니다. 하지만 컴퓨터 하드웨어는 SLAT 또는 Second Level Address Translation을 지원해야 합니다. 그렇지 않으면 컴퓨터에서 중첩 가상화를 사용할 수 없습니다.
Windows 11/10에서 중첩 가상화를 어떻게 활성화합니까?
Hyper-V를 사용하여 가상 컴퓨터를 만드는 경우 추가 설정을 활성화하거나 켤 필요가 없습니다. 반면 Virtual Box나 VMware를 사용하여 가상 머신을 생성하면 해당 설정을 찾을 수 있습니다. 가상 OS 내에서 다른 가상 머신을 생성하여 사용할 수 있도록 가상 머신을 실행하기 전에 켜야 합니다.
Windows 10 등에서 중첩 가상화 컨테이너를 만드는 방법을 알아보려면 이 MSDN 블로그 게시물을 참조하세요.