Windows Server 2012 R2 Hyper-V, 2세대 가상 머신

image

Windows Server 2012 R2 Preview내 Hyper-V를 설치해보셨다면, 가상 머신 신규 생성시, 기존에 없었던 세대 지정이라는 새로운 메뉴가 생겼다는 것을 아실 것입니다. Hyper-V에서 생성하는 VM의 경우 2012까지도 매우 높은 수준의 최적화가 되어져 있기에, 최고의 성능을 이끌어낼 수 있도록 설계되어져 있지만, 여기에 그치지 않고, 더 높은 수준의 환경이나 보안을 제공하기 위해서 Hyper-V 개발팀이 노력한 결과입니다.

기존 2012까지의 VM은 몇가지 제한사항이 있었습니다. 첫번째로 PXE 부트를 통해 가상 머신을 설치할 경우, 레가시 형태의 네트워크 아답터를 추가해야 합니다. PXE 기술을 Hyper-V에 최적화된 Synthetic 네트워크에서는 제공하지 않았기 때문입니다. 더불어 VM에서 에뮬레이션 형태로 제공되는 BIOS(컴퓨터에는 다 BIOS가 있죠.)는 PC-AT BIOS이기 때문에, 부트 볼륨이 최대 2.2TB까지 지원되며, 가상 IDE 컨트롤러로만 부팅을 지원하였습니다. (이런 사항들이 Windows Server 2012까지의 자격증 시험에 많이 나왔죠? 미소)

2세대 VM의 경우에는 다음과 같은 사항들을 지원합니다.

  • Synthetic 네트워크로의 PXE 부트 지원
  • UEFI 펌웨어 지원, 이를 통한 가상 SCSI 컨트롤러의 부팅 지원
  • GPT 파티션을 지원하기에 2.2TB 이상의 부트 볼륨 제공
  • 가상 SCSI 컨트롤러를 기본적으로 사용하므로, 가상 하드 디스크(VHD, VHDX) 및 DVD 드라이브 운영중 추가/제거 가능(Hot Add/Remove), Windows Server 2012 R2에서 개선된 운영 중 가상 하드 디스크 크기 조절 가능(추후 포스팅)
  • UEFI와 Windows Server의 보안 기술인 보안 부트(Secure Boot) 지원

2세대 VM의 형태는 다음과 같습니다.

image

기존 2012까지의 VM에서보다 매우 간결해진 모습입니다. (IDE 컨트롤러, COM 1, COM 2 포트, BIOS가 아닌 펌웨어 등) 당연한 이야기지만 Windows Server 2012 R2 Hyper-V의 경우 기존 형태의 1세대와 2세대를 모두 지원하고 있습니다.

image

1세대 VM과 2세대 VM에 대한 장치 관리자의 장치 연결별 모습입니다. 기존 1세대의 경우에는 레가시 형태의 VM을 제공하기 위해서, 일부는 에뮬레이션을 통해서 제공되거나, 실제 VMBus와 바로 교신하지 않고, PCI 버스, 그리고 PCI to ISA 브릿지를 통해서 연결되었습니다. 이 경우, Hyper-V 호스트의 리소스를 사용하거나, 성능에 대한 약간의 손해를 볼 수 있었죠.

image

TechED 2013에서 발표된 슬라이드의 내용을 인용해보면, 위의 그림과 같은 비교가 가능합니다. VM에서 많이 사용되지 않은 형태의 리소스는 제거하게 되거나, 다른 형태의 기술을 제공함으로써, 더 최적화된 VM 환경을 제공할 수 있게 되었죠.

2세대 VM의 경우에는 모든 형태의 게스트 운영 체제에서 지원하는 것은 아닙니다.

  • x64만
  • Windows 8/Windows Server 2012 이후
  • Linux에 대한 지원은 진행중

더불어 앞서 언급드린 2세대 VM을 통해 더 안전한 Hyper-V를 만들 수 있는 형태는 VM내 보안 부팅(Secure Boot, 허용되지 않은 소프트웨어가 부팅 시퀀스를 수정하는 것을 방지)에 대한 지원입니다.

image

Microsoft는 성숙된 기술에 대해서도 기술에 대한 개선 및 향상을 언제나 생각하고 있는 듯 합니다. Windows Server 2012 R2의 2세대 VM 역시 이러한 면을 엿볼 수 있는 좋은 사례이지 않나 싶습니다. 미소