VMware Nested Virtualization 설명: 사용 사례 및 자습서

最新版本的虚拟化监视器(hypervisor), 包括VMware虚拟化监视器, 作为硬件虚拟化的附加特性支持嵌套虚拟化。嵌套虚拟化究竟是什么呢? 在VMware环境中如何启用嵌套虚拟化? 阅读本文以了解VMware嵌套虚拟化以及如何配置VMware虚拟化监视器使用此特性。

嵌套虚拟化是什么

嵌套虚拟化是指作为虚拟机(VM)在物理虚拟机内运行虚拟化监视器。此特性允许您在虚拟监视器上运行虚拟机。简单来说, 嵌套虚拟化就是在虚拟机中运行虚拟机。在虚拟监视器上运行的虚拟机称为嵌套虚拟机。虚拟监视器在虚拟硬件之上运行, 将此虚拟硬件视为实际的宿主机硬件。感到困惑了吗? 让我们更深入地了解一下这些术语。

  • A host hypervisor is a hypervisor running on physical hardware.
  • A guest hypervisor is a hypervisor running on virtual hardware (on a VM).
  • 一个外部宿主是运行在物理硬件上的虚拟机。宿主操作系统是在虚拟机上运行的操作系统。
  • VMware用内部宿主来指在一个虚拟机内运行的虚拟机(在虚拟硬件上)。

下面的截图展示了VMware虚拟化的不同层次。第2层的ESXi虚拟机是外部宿主, 第3层的嵌套虚拟机是内部宿主。从技术上讲, 如果您的计算机有这个高性能级别的资源, 您可以使用更深层次的嵌套(第4层, 第5层等)。更深层次的嵌套在这张图片中没有说明。

하드웨어 지원 가상화(하드웨어 가상화, HV 또는 네이티브 가상화로도 불림)는 소프트웨어를 통해 컴퓨터의 하드웨어를 사용하여 가상 머신을 실행합니다. 이 경우 하드웨어 기능은 바이너리 변환과 파라가시벌라이제이션과 비교하여 효율적으로 기계를 가상화하는 데 도움이 됩니다. 인텔과 AMD는 하드웨어 수준에서의 네이티브 가상화 지원을 인텔 VT-X와 AMD-V 기능으로 제공합니다. 하드웨어 가상화는 64비트 게스트를 실행하기 위해 필요합니다. 인텔 VT-X 또는 AMD-V가 UEFI/BIOS에서 활성화되어야 함을 유의하십시오.

지원되는 하이퍼바이저

타입 1 및 타입 2 하이퍼바이저는 중첩된 VM을 실행할 수 있습니다. 타입 1 하이퍼바이저는 물리 하드웨어 상단에 실행되며 베어 메탈 하이퍼바이저로도 불립니다. 타입 2 하이퍼바이저는 물리 하드웨어에 설치된 기본 운영 체제에 설치됩니다(호스트 하이퍼바이저로도 불림). VMware 환경에서 ESXi는 타입 1 하이퍼바이저입니다. 타입 2 하이퍼바이저는 VMware Workstation, VMware Player, 및 VMware Fusion입니다.

요구 사항:가상화된 하드웨어 지원 가상화(가상화된 HV)는 중첩 가상화를 가능하게 하고 중첩된 VM을 실행하기 위해 하이퍼바이저에서 지원되어야 합니다. 외부 게스트에 가상화된 HV가 활성화된 경우 하드웨어 가상화를 지원하는 모든 하이퍼바이저를 VM 내에서 실행할 수 있습니다.

  • 가상化 하드웨어- assist 가상화 (가상화 HV)는 嵌套 가상화를 가능하게 하고 嵌套 VM을 실행하기 위해 하이퍼ว이저에서 지원되어야 합니다. 外 来 게스트에 가상화 HV를 활성화하면, 하드웨어 가상화를 지원하는 하이퍼visor의 VM 내에서 任意하게 실행할 수 있습니다.
  • 하드웨어- assist 가상화와 가상화 HV은 VMware 형 2 하이퍼visor에서 VMware Workstation 8, VMware Player 4, VMware Fusion 4 이상부터 지원되며, ESXi 에서는 ESXi 5.0 이상부터 지원됩니다.
  • VM (外 来 게스트)에서는 가상 하드웨어 9 또는 更高 version을 사용해야 합니다.

사용 가능한 배포 구성:

  • VMware ESXi가 VMware Workstation, VMware Player, VMware Fusion에서 虚拟机로 실행되는 것
  • VMware ESXi가 VMware ESXi에서 虚拟机로 실행되는 것
  • VMware ESXi가 微软 Hyper-V나 VirtualBox과 같은 第三方 하이퍼visor에서 虚拟机로 실행되는 것
  • VMware ESXi, VMware Workstation, VMware Player, VMware Fusion에서 非 VMware 하이퍼visor를 虚拟机로 실행하는 것

VMware 지원

技术和적으로 嵌套 가상화는 위에 提到的 VMware 하이퍼visor에서 작동합니다. 동시에 VMware는 嵌套 VM을 생산 环境에서 실행하는 것을 지원하지 않습니다. 这意味着如果您使用 가상화 하이퍼visor와 嵌套 VM, 您不能从 VMware 获得正式的 技术 支持. VMware는 VMware vSphere에서 嵌套 VM을 사용하는 것에 대한 한 가지 예외를 허용하고 있으며, 그것은 vSAN witeness Appliance로 嵌套 ESXi 安装 의 한 형태입니다.

VMware는 가상화 기반 보안(VBS)을 위해 VM에서 Hyper-V를 활성화하는 것을 지원합니다. Microsoft Virtualization-Based Security는 Windows 10Windows Server 2016과 함께 제공되는 새로운 기능입니다. VMware는 VMware vSphere 6.7부터 실행되는 Windows를 사용하는 가상 머신에서 VBS를 지원합니다.

라이선싱 옵션

ESXi 및 다른 vSphere 구성 요소를 중첩 환경으로 설치하면 이러한 구성 요소를 물리적 서버에서 사용하는 것처럼 라이선스를 부여해야 합니다. 이 규칙은 어떤 하이퍼바이저에 대한 중첩 VMware 하이퍼바이저를 설치할 때도 적용됩니다. ESXi, vCenter 및 기타 VMware 구성 요소의 평가판을 사용하거나 무료 ESXi를 설치할 수 있습니다. 라이선싱 규칙을 준수한다면 가상 ESXi를 실행하는 VM에 여러 CPU 코어로 하나의 CPU를 할당할 수 있습니다. 각 CPU 코어마다 하나의 CPU를 할당하는 대신에요. cpuid.coresPerSocket 매개변수를 조정하는 것을 고려하십시오.

라이센스 규칙을 준수한다면 가상 ESXi를 실행하는 VM에 여러 CPU 코어로 하나의 CPU를 제공할 수 있습니다. 각각 하나의 CPU 코어를 가진 여러 CPU를 제공하는 대신 cpuid.coresPerSocket 매개 변수를 조정하는 것이 좋습니다.

VMware Nested Virtualization의 사용 사례

중첩 가상화의 장점은 물리적인 기계에 설치된 실제 하이퍼바이저 상에서 여러 가상 하이퍼바이저와 중첩된 VM을 실행할 수 있다는 것입니다. 비용을 절약할 수 있는 것도 장점입니다. 중첩 가상화는 여러 시나리오에 사용될 수 있습니다. 가장 일반적인 시나리오를 살펴보겠습니다.

교육. VMware vSphere의 기능을 알아보기 위해 VM에 VMware ESXi를 설치할 수 있습니다. 공유 스토리지를 위한 VM과 여러 ESXi VM을 배포하여 클러스터를 생성한 다음, 클러스터를 구성하고 중첩 VM을 생성하며 VM 라이브 마이그레이션을 수행하고 HA, DRS, 스토리지 DRS 및 기타 vSphere 기능이 작동하는 방식을 탐색할 수 있습니다. 이 접근 방식의 장점은 VMware vSphere를 배포하기 위해 어떤 하드웨어 구성이 필요한지 결정할 때까지 SAS 컨트롤러, SAS 디스크 드라이브, 스위치 또는 기타 장비를 구매할 필요가 없다는 것입니다. 개인 컴퓨터가 요구 사항을 충족한다면 VMware 홈 랩을 구축하는 데 사용할 수 있습니다.

개발. VMware vSphere용 응용 프로그램을 개발하는 경우 팀 또는 개인은 가상 ESXi 서버에서 실행되는 중첩된 VM을 사용할 수 있습니다.

테스트. VMware vSphere에서 실행되는 응용 프로그램을 가상 ESXi 서버에서 테스트할 수 있습니다. 그러나 물리적 하드웨어에 따라 달라질 수 있는 문제를 발견하기 위해 최종 테스트를 실제 vSphere 환경에서 수행하십시오. 또 다른 사용 사례는 하드웨어에 이 하이퍼바이저 버전을 설치할지 또는 기존에 설치된 버전을 업그레이드할지 결정하기 전에 가상 환경에서 VMware 하이퍼바이저의 새 버전을 테스트하는 것입니다. VMware vSphere 구성 요소를 업그레이드한 적이 없는 경우 가상 환경에서 실험하는 것이 좋습니다. 다양한 시나리오를 테스트하고 새로운 기능을 확인할 수 있습니다.

데이터 손실을 방지하고 문제가 발생할 경우 다운타임을 방지하기 위해 vSphere 환경을 업그레이드하기 전에 VMware VM 백업을 수행하는 것이 좋습니다.

데모. 영업 관리자는 데모 목적으로 가상 ESXi 호스트 및 가상 vSphere 환경을 사용하여 필요한 소프트웨어의 기능을 검토할 수 있습니다.공용 클라우드에서 VMware VM 실행. 중첩 가상화의 또 다른 사용 사례는 관리 서비스 제공 업체가 자신의 공용 클라우드에 다른 가상화 플랫폼의 VM을 배포하는 것입니다.

VMware VM 备份을 VMware VM 备份 하는 것을 建议받으면서, vSphere 환경을 업그레이드 하기 전에 데이터 잃어가기 和使用 중断을 防范하며 문제가 발생할 경우 아이템을 유지할 수 있습니다.

Demo를 사용할 수 있습니다. 영업 관리자는 가상 ESXi 호스트와 가상 vSphere 환경을 시험 목적으로 사용할 수 있으며 필요한 소프트웨어의 기능을 재현할 수 있습니다.

Public Cloud에서 VMware VMs 실행하는 것도 嵌套 가상화의 또 다른 사용 사례입니다.가상화 플랫폼을 다양하게 사용하는 관리 서비스 제공업체는 공개 클라우드에서 자신의 가상 호스트에 VMs를 배치할 수 있습니다.

하이퍼 Ви서이어(outer guests)를 실행하는 VMs 备份하거나 嵌套 VMs(inner guests) 本身을 备份하는 것으로 嵌套 환경을 备份할 수 있습니다. VMware VM 备份과 재난 Recovery에 대한 자세한 정보를 이 白皮书을 통해 읽을 수 있습니다.

嵌套 VM의 パフォーマン스

VMware 하이퍼 viewer를 사용하여 가상 머신을 실행하는 것과 관련된 하이퍼 viewer 上의 실행 중 VM에 대한 하나의 프로세스가 존재합니다. 이 프로세스는 VM이 사용하는 가상 램에 따라 호스트의 실제 Random Access Memory를 CONSUME 합니다. 다섯 가상 머신을 실행하면 다섯 프로세스가 생성되며, 이렇게 host에서 실행되는 프로세스가 많으면 컨텍스트 전환과 물리적 프로세서 计划在调度 시간이 더 많이 필요하며 실행 중인 것들의 준비 시간이 增长하여 パフォーマン스 수준이 떨어지게 됩니다.

가상 ESXi를 적절히 종료하고 다시 시작할 수 있는 능력은 vSphere API 및 vSphere Client를 통해 있습니다(인터페이스에서 적절한 버튼을 클릭할 때)

ESXi 호스트의 전원 상태가 변경될 때 스크립트를 실행할 수 있는 능력은(전원 켜기, 전원 끄기 등)

VM 내에서 작업을 위한 Guest Operations API 지원(이 경우 가상 ESXi의 콘솔)

  • VMware VM에서 실행 중인 ESXi용 VMware Tools는 처음에는 vSphere 5.0, 5.1 및 5.5용으로 출시되었습니다. 수동 설치용 VMware Tools는 ESXi 5.x 버전용으로 VIB 패키지로 제공됩니다. VMware vSphere 6.0부터 VMware Tools가 ESXi에 내장되어 있으며 VMware VM으로 실행 중인 ESXi에 VMware Tools를 수동으로 설치할 필요가 없습니다.
  • 가상 ESXi에서 VMware Tools 상태를 확인할 수 있습니다:
  • /etc/init.d/vmtoolsd status
  • 네트워킹

ESXi 중첩 가상화를 구성할 때 네트워크 구성은 도전이 될 수 있습니다. 그러나 L2 및 L3 네트워크의 작동 원리 및 가상 스위치를 알면 VMware 중첩 가상화를 위한 네트워크 구성을 단순화할 수 있습니다.

ESXi에 중첩 하이퍼바이저를 설치하려면 프로미스큐어스 모드변조된 전송vSwitch 구성에서 활성화해야 합니다. 선택적으로 MAC 주소 변경도 활성화할 수 있습니다. 이 세 가지 옵션은 보안상의 이유로 기본적으로 비활성화되어 있습니다(거부 상태).

/etc/init.d/vmtoolsd status

네트워킹

ESXi 내시adic 仮想化을 조정할 때 네트워킹 구성이 어려울 수 있습니다. 그러나 L2과 L3 네트워크의 작동 원리, 및 仮想 스위치에 대한 이해를 통해 VMware 내시adic 仮想化의 네트워킹 구성을 간단하게 할 수 있습니다.

ESXi에 내시adic 하이퍼밴러를 설치하려고 하면 모두 읽기 모드偽装 전송vSwitch의 구성에 사용해야 합니다. 옵션적으로 MAC 주소 변경을 사용할 수 있습니다. 이 세 옵션은 기본적으로(허가되지 않은 상태) 보안 이유로 사용하지 않습니다.

모두 읽기 모드

프로미스크 모드은 仮想交换機에서 가상 交换機 阶层 또는 포트 그룹 阶层에서 구성 可能한 보안 정책입니다. 프로미스크 모드이 사용 가능한 포트 그룹에 연결된 VMkernel과 다른 네트워크 인터페이스는 이 vSwitch(virtual switch)를 통해 이어지는 모든 네트워크 장치의 L2 네트워크 전송을 확인할 수 있습니다. (인터페이스는 鳗鱼 802.3 Ethernet 框架에 정의 된 대상 MAC 주소가 무엇이든 모두 수신합니다.) 기본적으로, 네트워크 인터페이스는 이 인터페이스를 대상으로 주소 된 框架만 수신하며, 다른 대상 MAC 주소를 가진 框架은 丢弃됩니다. 프로미스크 모드은 기医 목적으로 네트워크 모니터링과 전송 훔치기 / 분석을 수행하는 것을 도울 수 있습니다. 프로미스크 모드이 사용 가능한 경우, 가상 交换机은 허브처럼 동작합니다. 포트 그룹 阶层의 설정은 交换机 阶层의 설정을 盖过了 할 수 있습니다.

A hardware (physical) switch learns MAC addresses of the network devices connected to the switch. Unlike traditional physical switches, a virtual switch doesn’t learn MAC addresses of connected network interface controllers. This is because VMware vSphere (ESXi and vCenter) already knows the MAC addresses of the virtual machines that have virtual network adapters connected to a virtual switch. In this situation, a virtual switch forwards only frames to a VM if the destination MAC address is the MAC address of the ESXi physical or virtual network interface controller (NIC).

ESXi 嵌套 가상화를 사용하는 경우, 嵌套 VM에 대한 VM NIC의 대상 MAC 주소가 가상 ESXi 호스트에 대한 MAC 주소와 다릅니다. 이러한 이유로 물리 ESXi 호스트의 가상 交换机에서는 이러한 框架을 丢弃합니다(만약 프로미스크 모드이 비활성화 되어 있다면).

프로미스크 모드와 성능

virtual switch나 port group에 프로미스크 모드을 활성화 하면 네트워크 성능이 下降합니다. 이러한 변화를 경험할 수 있으며, 가상 鳗鱼 인터페이스를 사용하여 네트워크 이ensive workloads를 실행할 때입니다.

MAC 주소 변경과 보안

MAC 주소 스킵핑은 ARP 毒害에 사용되는 허위 MAC 주소를 사용하는 것을 指代する 것이다. 이러한 이유로 게스트 OS로 수정할 수 있는 MAC 주소가 중요하다. VM의 네트웍 어댑터의 MAC 주소를 VMX 구성 파일에 지정된 MAC 주소와 결합하는 능력이 보안을 높이고 ARP 毒害 攻撃 危険性을 줄여준다. VMware의 이러한 기능은 전통적인 물리적 환경에서 사용할 수 있는 보안 수준을 달성할 수 있게 해준다. 그러나 MAC 주소 변경은 기본적으로 사용이 안 되는 이유가 있다.

고시: vSwitch는 traditonal physical switches과 달리 통과하는 트래픽을 배ined하는 대신 的通知mechanism에 의해 연결된 네트웍 어댑터의 MAC 주소를 알고 있다.

Forged transmits

Forged transmits는 VM로 생성되는 outing traffic(VM에 Connected한 가상 어댑터를 통한 가상 switch)에 영향을 미치는 보안 정책이다. Forged transmits는 MAC 주소 변경 정책과 유사하나 인bound而不是outbound traffic에 적용되는 정책입니다.

한 번 조작된 전송이 수락되면 ESXi 호스트는 가상 머신이 효과적인 MAC 주소가 프레임 헤더에 정의된 소스 MAC 주소와 다른 경우에만 프레임을 보낼 수 있도록 허용합니다(이를 MAC 위조라고도 합니다). 효과적인 주소는 게스트 OS에서 설정한 MAC 주소입니다. 위조된 전송의 거부 모드에서 호스트는 이 VM이 사용하는 효과적인 MAC 주소가 헤더에 정의된 소스 MAC 주소와 다른 경우에는 해당 VM에 프레임을 보내지 않습니다. 이 경우 게스트 OS는 MAC 주소 스푸핑으로 인한 네트워크 문제임을 식별할 수 없습니다. 기본적으로 위조된 전송은 거부 모드로 설정됩니다.

예를 살펴보겠습니다. 가상 ESXi 호스트에서 실행되는 세 개의 중첩된 VM이 있습니다. 각 기계에는 고유한 MAC 주소가 있습니다.

ESXi – 00:50:56:DD:DD:DD

중첩된 VM 1 - 00:50:56:AA:AA:AA

중첩된 VM 2 - 00:50:56:BB:BB:BB

중첩된 VM 3 - 00:50:56:CC:CC:CC

이 VM 중 하나가 가상 ESXi 호스트의 네트워크 어댑터를 통해 가상 스위치 외부에 연결을 시도하면 가상 ESXi 호스트의 이 네트워크 어댑터에 연결된 가상 스위치는 VM이 보낸 이더넷 프레임에 정의된 소스 MAC 주소를 확인합니다. 소스 MAC 주소가 가상 ESXi 호스트의 효과적인 MAC 주소와 일치하지 않습니다. 이 VM에서 보낸 프레임은 위조된 전송으로 처리되어 삭제됩니다. 이 경우 위조된 전송 정책은 거부로 설정됩니다.

VMware vSphere 6.7 내에서 분산 가상 스캔(VDS)는 MAC 주소 학습 기능을 지원하며, 이는 vSphere 6.7부터 표준 가상 스캔의 모든 분산 가상 스캔(VDS) 이하에서 모든 merits를 가진 이전 버전의 가상 스캔을 사용하여 가상 switches에 橋接 모드(Promiscuous mode)와 偽装 전송(Forged transmits)을 활성화하지 않고도 VMware nested virtualization을 구성할 수 있다는 의미이다. 이를 위해서는 VDS 구성에 macManagementPolicy를 활성화해야 한다.

VMware nested virtualization을 구성하는 方法

이론적인 부분을 涵蓋하고 실제적인 부분으로 이동하여 VMware nested virtualization을 구성할 수 있다. 이번에는 ESXi 7.0.3을 실행하는 가상 머신을 배포하고 ESXi 가상 머신에 嵌套 Windows VM을 실행할 것이다. 이를 실제로 실행하기 위해서는 물리 서버에서 包括 ESXi 6.7을 실행하는 vSphere 6.7을 사용하고 vCenter 6.7을 사용해야 한다. 이는 기존 vSphere 환경에서 VMware vSphere의 最新 버전을 확인하는 ESXi nested virtualization의 예이다.

I use the following machines:

  • 192.168.101.205 – ESXi 6.7을 실행하는 물리 호스트이다. 이 호스트에는 다수의 VMFS datastore가 연결되어 있다.
  • 192.168.101.103 – 다른 호스트에서 VMware vCenter Server를 실행하고 있다. 호스트 이름은 vcenter6-7(vcenter6-7.localdomain)이며 이 vCenter Server는 ESXi 호스트(192.168.101.205)를 관리하는 데 사용되며
  • 192.168.101.131 – ESXi 7.0 Update 3(ESXi 7.0.3)을 실행하는 VM이며 VM의 이름은 ESXi7-VM이다.
  • 192.168.101.0/24 – 물리 및 가상 머신을 연결하는 데 사용되는 네트워크 주소입니다.

동일한 구성을 사용하거나 실험실에서 VMware 중첩 가상화를 사용하여 가상 환경을 배포할 수 있습니다.

ISO 이미지 업로드

I need to upload the ESXi 7.0.3 installation ISO image to the datastore on ESXi 6.7, which is my physical ESXi host.

  1. VMware vSphere 클라이언트를 열고 Datastores로 이동합니다.
  2. 파일을 업로드할 데이터스토어를 선택합니다. 저는 ESXi 6.7 호스트(192.168.101.205)에 위치한 데이터스토어 11를 선택했습니다.
  3. 파일 탭을 선택합니다.
  4. 파일 업로드를 클릭합니다.

  1. 컴퓨터에서 ESXi 7.0.3 설치 ISO 이미지 파일을 선택하고 열기를 클릭합니다.

파일이 데이터스토어에 업로드될 때까지 기다립니다.

VMware 하이퍼바이저 VM 생성

이제 ESXI 7.0.3을 설치할 새 VM을 만듭니다.

  1. 호스트 및 클러스터로 이동합니다.
  2. 필요한 ESXi 호스트(192.168.101.205 이 경우)를 선택합니다.
  3. 작업 > 새 가상 머신을 클릭합니다.

A New Virtual Machine wizard opens. Follow the steps to create the machine.

1) 생성 유형 선택

  1. 새 가상 머신 만들기를 클릭합니다.
  2. 마법사의 각 단계에서 다음을 클릭하여 계속합니다.

2) 이름 및 폴더 선택

다음 매개변수를 지정합니다.

  • 가상 머신 이름: ESXi7-VM
  • VM 위치: Datacenter1

이러한 매개변수는 귀하의 인프라에서 다를 수 있습니다.

3) 컴퓨팅 리소스 선택

ESXi 7 VM을 배포할 물리적 ESXi 호스트를 선택하십시오. 예를 들어 192.168.101.205를 선택합니다.

4) 스토리지 선택

VM 파일을 위치시킬 데이터스토어를 선택하십시오. 충분한 여유 공간이 있는지 확인하십시오. 이 예에서 데이터스토어42를 선택합니다.

5) 호환성 선택

선택한 호환성은 VM 하드웨어 버전을 정의합니다. 더 높은 버전은 더 많은 기능을 제공하지만, 낮은 버전은 이전 버전의 VMware ESXi 및 VMware Workstation에서 VM을 실행할 수 있습니다. VM을 이전 버전의 하이퍼바이저를 실행하는 호스트로 이동할 계획이라면 더 낮은 호환성 버전을 선택해야 할 수도 있습니다. 저는 ESX 6.7에서 VM을 생성하고 호환성으로 ESXi 6.5 및 이후를 선택합니다(VM 버전 13). 기억하세요, VM 하드웨어 버전 9부터 중첩 가상화가 지원됩니다.

6) 게스트 OS 선택

다음 매개변수를 선택하십시오.

  • 게스트 OS 패밀리: 기타
  • 게스트 OS 버전: VMware ESXi 6.5 이상

ESXi 버전을 선택하면 경고 메시지가 표시됩니다: 이 운영 체제는 지원되지 않습니다. 이는 VMware에서 ESXi를 VM에서 사용할 때 문제가 발생할 경우 기술 지원을 요청할 수 없음을 알리는 것입니다. 이 메시지를 무시하고 설치를 계속하십시오.

7) 하드웨어 사용자 정의

이 단계는 ESXi 중첩 가상화를 올바르게 구성하는 데 중요합니다. 새 VM의 가상 하드웨어를 구성해야 합니다.

CPU. 적어도 2 개의 CPU를 선택하십시오. CPU 당 여러 개의 코어를 선택할 수 있습니다. VMware 중첩 가상화를 활성화하기 위해 하드웨어 지원 가상화 노출 확인란을 게스트 OS에 선택하십시오.

참고: 하드웨어 지원 가상화를 노출하지 않으면 VM에 ESXi를 설치할 때 다음 오류가 발생합니다. <하드웨어 가상화 경고: CPU에서 하드웨어 가상화 기능을 지원하지 않거나 BIOS에서 활성화되지 않음>. 이 오류가 발생하면 가상 ESXi 호스트에서 중첩된 VM을 시작할 수 없습니다.

메모리. 메모리를 8GB 이상 선택하십시오. ESXi 자체는 실행에 4GB의 메모리가 필요합니다. 중첩된 VM을 실행하려면 4GB 이상의 메모리를 추가해야 합니다.

하드 디스크. 가상 하드 디스크 옵션을 설정하십시오. ESXi 7.0.3 저장 요구 사항을 충족하는 새 가상 하드 디스크 크기를 설정하십시오(최소 32GB의 디스크 공간 필요). 여기서는 ESXi 7.0.3을 설치할 VM을 위해 40GB의 가상 디스크를 생성합니다.

디스크 프로비저닝. Thin provision을 선택하십시오. 이 옵션을 선택하면 VM이 위치한 데이터스토어의 저장 공간을 절약할 수 있습니다.

  1. 네트워크. 필요한 VM 네트워크를 선택하십시오. 최적의 성능을 위해 네트워크 어댑터로 VMXNET3를 사용합니다.
  2. 새 CD/DVD 드라이브. 새 CD/DVD 드라이브 섹션을 확장하십시오.
  3. 드롭다운 메뉴에서 Datastore ISO 파일을 선택하십시오.
  4. CD/DVD 미디어 줄에서 찾아보기를 클릭하고 데이터스토어에서 ISO 파일을 선택합니다.

  1. 이전에 업로드한 ESXi 7.0.3 설치 ISO 이미지 파일을 데이터스토어에서 선택합니다.

8) 완료 준비

VM 구성 요약을 확인하고 모든 항목이 올바른 경우 완료를 누릅니다.

ESXi VM 시작

VM이 생성되면 이 VM을 시작합니다. VMware vSphere Client에서 ESXi7-VM을 선택하고 VM을 마우스 오른쪽 버튼으로 클릭한 다음 작업 메뉴에서 전원 >전원 켜기를 클릭합니다.

VM이 시작되면 웹 브라우저나 VMware 클라이언트(예: VMware Workstation 또는 VMware Remote Console 애플리케이션)에서 VM 콘솔을 열고 일반적으로 ESXi를 설치하는 방식으로 ESXi 7.0.3를 설치합니다. ESXi에서 IP 주소와 호스트 이름을 설정합니다(ESXi7-VM에서 사용하는 IP 주소는 192.168.101.131입니다).

VM에 ESXi 7.0.3를 설치한 후 VMware vSphere Client에서 VM 이름을 클릭하여 VM 정보를 확인할 수 있습니다. 아래 스크린샷에서 확인할 수 있듯이 VMware Tools가 자동으로 ESXi 7.0.3 VM에 설치되었습니다.

가상 스위치 구성

외부 ESXi VM(192.168.101.131)에 중첩 VM을 생성하기 전에, 물리적 ESXi 호스트(192.168.101.205)에서 가상 스위치를 구성해야 합니다. 이 블로그 게시물의 이론적 부분에서 설명한 대로, 물리적 ESXi 호스트의 가상 스위치에서 중첩 VM이 가상 ESXi 호스트 외부의 네트워크 연결을 허용하려면 프로미스큐어스 모드Forged transmits를 활성화해야 합니다.

    1. VMware vSphere Client에서 호스트 및 클러스터로 이동합니다.
    2. ESXi VM을 설치한 ESXi 호스트를 마우스 오른쪽 버튼으로 클릭하고 설정을 클릭하여 ESXi 구성을 엽니다. 구성 탭이 열립니다.
    3. 네트워크 범주에서 가상 스위치를 클릭합니다.
    4. 그런 다음 필요한 가상 스위치(vSwitch0의 경우)를 선택하고 편집을 클릭합니다.

  1. 가상 스위치의 보안 정책을 구성합니다. 프로미스큐어스 모드, MAC 주소 변경, Forged transmits에 대해 수락을 선택합니다. 설정을 저장하고 창을 닫으려면 확인을 클릭합니다.

가상 스위치가 이제 ESXi 중첩 가상화를 위해 구성되었습니다.

ESXi VM에 데이터 저장소 만들기

ESXi 7.0.3 VM을 만들 때 ESXi 설치용 40GB 가상 디스크 하나를 만들었습니다. ESXi 7의 새 파티션 레이아웃으로 인해 VMFSL 파티션이 생성되고 작은 디스크(128GB 미만)에 데이터 저장소를 만들기 위해 사용해야 하는 VMFS 파티션을 위한 공간이 없습니다. 그래서 ESXi 7.0.3을 설치한 가상 디스크에 VM을 저장할 수 없으며, ESX7 VM에 두 번째 가상 디스크를 만들어야 합니다.

VMFSL 파티션은 ESXi OS 데이터, 코어덤프, 도구 및 스크래치를 저장하는 데 사용됩니다. 디스크 크기가 128GB보다 큰 경우 시스템 디스크의 추가 파티션에 VMFS 데이터 저장소가 만들어집니다.

ESXi7-VM을 위한 두 번째 가상 디스크를 만들어 봅시다. 이 가상 디스크를 가상 ESXi 호스트의 VMFS 데이터 저장소로 사용하겠습니다. 이를 위해 가상 디스크를 추가하기 전에 ESXi7-VM을 종료하세요.

  1. VMware vSphere Client로 이동하여 ESXi7-VM을 선택하세요.
  2. VM 이름을 마우스 오른쪽 버튼으로 클릭하고 나타나는 메뉴에서 설정 편집을 클릭하세요.

  1.  설정 편집 창에서 새 장치 추가를 클릭하고 하드 디스크를 선택하세요. 그런 다음 새로운 하드 디스크 옵션을 설정하세요.

I select the following configuration:

  • 디스크 크기: 30GB
  • 유형: Thin provision

확인을 눌러 VM 구성을 저장하고 창을 닫으세요.

VMESXi7-VM에서 두 번째 가상 디스크를 생성한 후, VM을 시작합니다. 그 다음 웹 브라우저에서 VMESXi 7.0.3을 실행하고 있는 가상 compute node (192.168.101.131)에 연결하고 VMware Host Client에 로그인합니다.

StorageNavigator 탭에서 클릭하고 New datastore을 클릭합니다.

1) Datastore 이름

Create a new VMFS datastore을 선택하고 새 datastore의 이름을 입력합니다. 예를 들어 ds-nested01이 좋습니다. 每一步骤에서 Next를 클릭하여 계속합니다.

2) 파티tiOng 옵션 선택

한 번의 사용 가능한 가상 디스크가 있으므로, 이 30GB의 디스크를 선택합니다. drop-down 목록에서 Use full diskVMFS 6를 선택합니다.

3) 완료하기 전에

datastore 구성 요약을 확인하고 Finish를 눌러 완료합니다.

A datastore is created. You can use this datastore to store a nested VM (for example, a VM running Windows) in a virtual VMware hypervisor, that is, ESXi 7.0.3 in my case.

嵌套 VM의 ISO 이미지 업로드

가상 ESXi 호스트에서 嵌套 VM을 생성하여 VMware nested virtualization을 실제로 구성하는 방법을 설명하기 위한 준비가 거의 끝났습니다. 이러한 操作系统은 가벼우며, 嵌套 환경에서 성능이 충분히 oboole 하며, Windows XP를 嵌套 VM에 설치하고자 합니다. 안보 면과 최신 버전의 Windows를 사용하시기 바랍니다. 다른 지원 guest operating system (VMware Tools가 제공되는 guest OS)을 설치할 수 있습니다. guest Windows OS를 설치하기 위해서는 Windows 설치 ISO 이미지 파일을 사용하지 않을 수 있습니다. OS 설치 도구를 引导하고 嵌套 VM에 guest OS를 설치하는 것이 목적입니다.

윈도우 설치 ISO 이미지를 업로드하는 데는 두 가지 주요 경로가 있습니다.

  1. 가상 ESXi 호스트의 데이터스토어에 ISO 이미지를 업로드합니다(내 경우 ESXi 7.0.3 VM의 30GB 데이터스토어, IP는 192.168.101.131입니다). CD/DVD 드라이브 설정에서 데이터스토어의 ISO 이미지를 선택하여 중첩된 Windows VM에서 사용합니다.
  2. 물리적 ESXi 호스트의 데이터스토어에 ISO 이미지를 업로드합니다. 이 ISO 이미지를 ESXi7-VM의 CD/DVD 드라이브에 장착합니다. 새로운 중첩 VM을 만들 때 중첩된 Windows XP VM의 VM 설정에서 호스트 장치를 선택합니다. VM에서 사용하는 CD/DVD 드라이브의 호스트 장치 옵션은 패스스루 모드를 활성화하고 VM을 물리적 ESXi 호스트의 실제 CD/DVD 드라이브에 연결합니다. VMware 중첩 가상화의 경우 ESXi 호스트 7.0.3가 가상이므로 호스트 장치 옵션은 ESXi7-VM의 가상 CD/DVD 드라이브를 중첩된 VM의 가상 CD/DVD 드라이브에 연결합니다.

두 번째 방법의 장점은 가상 ESXi VM의 데이터스토어 공간을 사용할 필요가 없으며 모든 ISO 이미지를 단일 위치에 저장할 수 있으며 전반적인 성능이 약간 더 좋아질 수 있습니다. ESXi 중첩 가상화의 구성을 설명하기 위해이 안내서에서는 두 번째 방법을 사용합니다.

윈도우 XP 설치 ISO 이미지 파일을 데이터스토어(우리 경우 datastore11)에 ESXi 7.0.3 ISO 이미지 파일을 vSphere 클라이언트에 업로드한 것처럼 업로드합니다.

  1. 데이터스토어로 이동합니다.
  2. 필요한 데이터스토어를 선택합니다.
  3. 파일 탭을 클릭합니다.
  4. 파일 업로드를 클릭합니다.
  5. 필요한 ISO 파일을 선택하고 열기를 클릭한 후 ISO 파일이 데이터 스토어에 업로드될 때까지 기다립니다.

ESXi7-VM의 설정을 편집합니다(이를 위해 VMware vSphere Client를 사용합니다).

  1. CD/DVD 드라이브 1을 선택합니다.
  2. Datastore ISO 파일 옵션을 선택합니다.
  3. CD/DVD 미디어 섹션에서 찾아보기를 클릭하고 데이터 스토어에 있는 Windows ISO 이미지를 선택합니다.
  4. 다음 확인란이 선택되었는지 확인합니다: 연결됨, 전원 켜기시 연결.

중첩 VM 만들기

가상 ESXi 7 호스트(내 경우 192.168.101.131)의 웹 인터페이스인 VMware Host Client에 로그인합니다.
Navigator 패널에서 가상 머신을 선택하고 VM 생성/등록을 클릭합니다.

A new virtual machine wizard opens in VMware Host Client.

1) 생성 유형 선택

새 가상 머신 생성을 선택합니다. 마법사의 각 단계에서 다음을 클릭하여 계속합니다.

2) 이름 및 게스트 OS 선택

VM에 고유한 이름과 OS를 지정합니다. 다음 매개변수를 선택합니다.

  • A VM name: WindowsXP
  • 호환성: ESXi 7.0 U2 가상 머신
  • 게스트 OS 패밀리: Windows
  • 게스트 OS 버전: Microsoft Windows XP Professional (32비트)

VM에 다른 게스트 OS를 설치하려면 옵션에서 해당 OS를 선택합니다.

3) 저장소 선택

이전에 가상 ESXi 호스트에서 만든 데이터 저장소를 선택하십시오. VM 파일을 저장하기 위해 ds-nested01를 선택했습니다.

4) 설정 사용자 정의

VM 하드웨어 및 추가 VM 옵션 구성

I select:

  • CPU: 1 CPU
  • 메모리: 512 MB의 RAM(Windows XP 32 비트의 경우 최대 3.3GB의 RAM 선택 가능)
  • 하드 디스크: 8 GB
  • 디스크 프로비저닝: Thin provisioned

CD/DVD 드라이브 1: 호스트 장치

다른 설정에 대해서는 기본값을 유지할 수 있습니다.

5) 완료 준비

중첩된 VM의 구성을 확인하고 모든 것이 올바르면 완료를 누르십시오.

ESXi 7.0.3에서 중첩된 VM을 전원을 켜십시오. VM은 가상 ESXi 7.0.3 VM에 장착된 ISO 이미지에서 부팅해야 합니다. 중첩된 VM에 게스트 운영 체제를 설치하십시오. 웹 인터페이스에서 VM 화면 미리보기를 클릭하여 게스트 OS와 상호 작용할 수 있습니다.

중첩된 VM에 게스트 OS를 설치한 후 VMware Tools를 설치하십시오. ESXi 배포본에 VMware Tools ISO 이미지가 포함되어 있지 않은 경우, 공식 VMware 웹 사이트에서 VMware Tools 설치 이미지를 다운로드할 수 있습니다. VMware Tools 설치에 대한 자세한 정보는 이 기사를 읽어주십시오.

VMware Tools를 설치한 후 중첩된 VM의 네트워크가 제대로 작동해야 합니다. 물리적 ESXi 호스트에서 중첩된 VM을 핑하고 그 반대도 시도해 보십시오.

ESXi VM 복제

하나의 VM에서 ESXi를 구성한 후에는 물리적인 ESXi 서버에 더 많은 ESXi VM을 배포해야 할 수도 있습니다. 또한 중첩된 vCenter Server Appliance와 공유 스토리지를 사용하는 VM(예: FreeNAS)를 배포하여 클러스터링 기능을 포함한 다양한 vSphere 기능을 테스트할 수 있습니다.

항상 새로운 VM에 ESXi를 처음부터 설치할 수 있지만, 여러 개의 동일한 ESXi VM을 배포해야 하는 경우 이 작업을 정기적으로 수행해야 할 수 있습니다. 따라서 하나의 ESXi VM을 구성하고 이 VM을 복제하는 것이 더 나은 솔루션입니다. 그러나 올바르게 작동하는 VM 복제본을 생성하기 위해 몇 가지 추가 단계를 수행해야 합니다.

  1. ESXCLI에서 명령을 실행하여 VMkernel MAC 주소를 변경하세요.
    esxcli system settings advanced set -o /Net/FollowHardwareMac -i 1
  2. UUID 값은 호스트에서 고유해야 하므로 esx.conf에서 UUID 레코드를 삭제하세요.
    시스템 UUID 레코드는 /etc/vmware/esx.conf에 저장되어 있습니다.
  3. 이 파일을 열고 /system/uuid로 시작하는 줄을 삭제하세요.
  4. 원본 ESXi VM을 종료하세요. 이제 ESXi VM을 복제할 수 있습니다. VM(VM 복제본 포함)을 다음에 전원을 켤 때 새 UUID가 생성됩니다. ESXi VM 복제본을 전원을 켠 후에는 네트워크 설정(IP 주소, 호스트 이름 등)을 변경하세요.

이제 실제로 VMware의 중첩 가상화를 사용하는 방법과 ESXi 중첩 가상화를 사용하여 가상 환경을 배포하는 방법을 알았습니다. 동일한 아이디어를 사용하여 다른 하이퍼바이저에서 중첩 환경을 배포할 수 있습니다.

VMware Workstation에서의 중첩 가상화에 대해 더 자세히 설명 된 블로그 게시물인 VMware home lab 6.7VMware home lab 7.0을 참조하십시오.

또한 Hyper-V를 위한 중첩 가상화Hyper-V VM에 ESXi를 설치하는 방법에 대해 읽어볼 수 있습니다.

Hyper-V 기반 보안에 대해 자세히 알아보고 VMware는이 호스트에서 중첩 가상화를 지원하지 않습니다 오류를 해결하는 방법을 알 수 있습니다. ESXi에서 실행되는 VM에서 Hyper-V를 배포하고 가상 Hyper-V 서버에서 중첩 VM을 실행할 수 있습니다.

결론

중첩 가상화는 VM 내에서 VM을 실행할 수 있는 기능입니다. 이 블로그 글은 VMware의 중첩 가상화를 다루며 가상 ESXi 호스트에 중첩된 Windows VM을 배포하는 방법을 설명합니다. ESXi 중첩 가상화를 구성하는 가장 중요한 단계는 하이퍼바이저 게스트에 하드웨어 지원 가상화를 노출하고 올바른 네트워크 기능을 위해 가상 스위치에 보안 정책을 구성하는 것입니다. ESXi VM에서 실행되는 하이퍼바이저 VM 및 중첩된 VM을 평소와 같이 백업할 수 있습니다. 신뢰할 수 있는 VMware VM 백업을 찾고 있다면 NAKIVO Backup & Replication을 사용해보세요.

Source:
https://www.nakivo.com/blog/vmware-nested-virtualization-explained-use-cases-and-tutorial/