Hyper-V

 


[image]
1. 개요
2. 상세
3. 단점
4. Hyper-V Server
5. 연관 항목


1. 개요


Windows Server 2008 R2 with Hyper-V 에디션부터 기본 제공되기 시작한 Type 1 하이퍼바이저. Windows 10 데스크탑은 Pro 에디션부터 사용 가능하다.

2. 상세


[image]
Type 1인 Hyper-V 를 활성화 하게 되면 호스트, 게스트 구분 없이 동작하는 OS는 모두 게스트로 취급된다. 구버전인 Windows Server 2008에서의 설치방법은 MS테크 문서 참고
세대를 거듭할 수록 성능이 좋아져서 지금은 서버 가상화로 쓰기에 아주 훌륭하다.
서버 2008부터 사용할 수 있었으며, 이전에는 '''Windows Server Virtualization'''라는 이름으로 불렸다. 말그대로 '''서버''' 가상화를 위해 나온 가상머신이다. 그래서인지 사운드 재생 등, 일반 유저를 위한 기능은 약간 빈약한 편. 그런데 서버용이 아닌 Windows 8 Pro 및 Enterprise 에도 클라이언트 Hyper-V라는 명칭으로 탑재됐다. 윈도우 10 Pro 버전 이상에서도 제어판-프로그램 및 기능-windows 기능 켜기/끄기[1]에서 해당 기능을 켜면 사용할 수 있다. Visual Studio를 깔면서 이를 이용하는 패키지를 설치할 경우 자동으로 켜진다.
Windows 7XP모드와 달리, Guest OS로 윈도우 뿐만 아니라 리눅스도 지원한다.[2] 기본적으로는 사운드 에뮬레이트와 그래픽 가속을 지원하지 않지만 각각 RDP와 RemoteFX[3]를 사용하여 활성화 할 수 있다.
다만 요구사항이 까다롭다. CPUSLAT(Second Level Address Translation)[4]이라는 기능을 지원해야 하고 게스트 OS가 Windows 7 이상이어야 RemoteFX를 사용할 수 있는 등 VMware와 비교하면 요구사항이 많다.
이외에는 동적 메모리 할당 등을 지원하며, 시스템 센터를 사용하면 가상 컴퓨터에 접속하지 않고 업데이트등의 관리를 쉽고 편하게 할 수 있지만.. 라이센스가 별도다.
경쟁제품은 널리 알려진 VMware 사의 VMware ESXi이다.
일반 사용자가 이용시 주의할 사항이 있는데, Hyper-V 설치시에는 인텔 가상화 기술을 다른 소프트웨어에서 사용하지 못한다. 즉 Hyper-v 전용으로 고정되어 버린다. VirtualBoxVMware등의 가상머신은 물론 녹스 앱플레이어블루스택 등의 VT-x 기반 가상 안드로이드 프로그램도 Hyper-V 설치시 상당히 불편할 수 있다.[5] 미뮤 앱플레이어의 경우 반대로 Hyper-V 기반이므로 앞의 예시들과 반대 경우로 작동한다. 따라서 앞에서 언급한 VT-x 가상 머신을 사용할 예정이라면 가급적 Hyper-V 외에 다른 선택지를 찾아보자. 블루스택은 Hyper-V 용 베타버전을 내었다.
윈도우 10 2018년 4월 업데이트 이후 추가된 Windows Hypervisor Platform API를 이용하여 타사 가상화 프로그램에서도 VT 기술을 사용할 수 있다. 프로그램에서 지원해줘야 쓸 수 있는데, VMWare, VirtualBox와 Google Android Emulator는 지원이 추가되어 있다.
일부 기기에서는 Hyper-V를 활성화하면 가동 여부와 상관 없이 CPU클럭이 항상 공정 최고클럭으로 고정되는 버그가 있다. 이 말은 즉 오버클럭을 해도 정상치의 최고클럭으로 고정된다는 것이다. 대부분의 기기는 CPU사용량에 따라 클럭이 잘 변동된다.
초기에는 VirtualBoxVMware Player, Workstation같은 개인용 가상머신 구동 프로그램들과는 다르게 자체적인 NAT(인터넷 공유 기능)를 제공하지 않았다. 1개의 공인IP만 할당되는 일반적인 가정용 인터넷 회선 환경에서는 가상머신에서 인터넷에 연결할 수 없게 되어 실사용에 애로사항이 꽃핀다[6]. NAT를 제공하지 않는 이유는 Hyper-V라는 하이퍼바이저(가상머신 구동 프로그램)의 개발 목적, 사용 용도와 관련이 있다. 개인 사용자의 업무 보조 목적으로 개발된 VirtualBox, VMware Workstation 등과 달리, Hyper-V는 본격적인 기업 엔터프라이즈 서버용 하이퍼바이저이기 때문이다.
기업용 가상화에서 가장 철저하게 준수해야 할 보안 사항 중 하나는 하이퍼바이저 컴퓨터가 직접적으로 외부 망과 연결되지 않는 것[7], 그리고 다른 하나는 관리자용을 제외한 나머지 가상머신들은 하이퍼바이저와 서로 통신이 불가능하도록 구성하는 것이다.[8]
하이퍼바이저에서 NAT를 제공한다는 것은 곧 가상머신을 작동시키고 있는 하이퍼바이저 및 메인 컴퓨터가 인터넷에 노출되며, 가상머신들과 같은 네트워크 안에서 직접 통신할 수 있다는 의미이다. 이는 큰 보안 사고를 야기할 수 있기 때문에 Hyper-V를 포함한 대부분의 기업용 하이퍼바이저들은 자체적인 NAT를 지원하지 않으며, 외부와의 통신에 하이퍼바이저의 간섭 없이 그대로 통과(bypass)시켜주는 가상 스위치허브 역할만 제공한다. 단, 파워셸 명령어를 이용해 호스트 컴퓨터에 NAT 네트워크를 만들어서 인터넷을 사용할 수 있게끔 설정이 가능하다. 다만 VirtualBox 등 타 제품과 달리 DHCP 기능은 제공하지 않기 때문에, 별도로 호스트 또는 VM상에 DHCP 서버를 구성하거나 수동으로 IP를 지정해 주어야 한다. 컨슈머 윈도우에서도 NAT 기능을 지원하지 않는 것은 아무래도 사용성 측면에서 문제가 많다는 불만이 많았던 만큼, 윈도우 10부터는 기본 스위치에 NAT 기능이 탑재되어 기본 스위치만 붙이면 별도 설정 없이 인터넷 사용이 가능하다.
[image]
Docker의 경우 윈도우에서는 Hyper-V를 통한 사용만을 지원한다. Windows 10에서 추가된 WSL 2는 Hyper-V를 기반으로 개발되었다. 따라서 WSL 2를 활성화하면 Hyper-V도 자동으로 활성화된다.

3. 단점


Hyper-V는 무료제공이라는 점 하나만 보고 개인 유저가 쓰기에는 진입장벽이 높은 전문적인 하이퍼바이저다. 따라서 운영체제를 하나 더 깔아서 써야 하는 경우나 새로 접한 운영체제를 재부팅 없이 시험해 보는 목적이라면 비교적 간편한 VirtualBox나 VMware Player를 쓰는 편이 좋다. 무료이고 그 쪽이 더 편하다. 오디오나 웹캠같은 호스트 PC 의 장치에 연결하는 것도 클릭 몇번이면 된다. 병렬로 돌아갈 필요가 없고, Hyper-V에서 지원하는 윈도우즈 계열을 사용할 것이라면 차라리 멀티부팅 구성이 편하다. 이미 VIrtual PC쪽에서 파생된 VHD, VHDX가 있으므로 저장소 관리도 쉽다. 대신 Hyper-V 쪽이 성능은 확실하게 좋다.

4. Hyper-V Server


#다운로드
마이크로소프트가 Hyper-V 구동에 필요한 필수적인 기능만 포함하여 무료로 배포하는 Windows Server의 변종이다. VMWare의 ESXi와 동일한 정책(기본적인 기능은 무료, 추가 기능은 유료)을 펼치고 있다고 보면 편하다. 기본적으로 서버 코어로 배포되며, Windows Server의 장기 채널의 출시 일정 및 업데이트 일정을 따라간다. Hyper-V Server에서 Windows Server의 업그레이드는 불가능하다.

5. 연관 항목


  • VMware
  • VirtualBox
  • Windows Virtual PC
  • Windows 샌드박스
  • 유닉스/MS 윈도우
  • 엑스박스 원[9]
  • Xbox Series X, Xbox Series S[10]

[1] 기본적으로는 꺼져있다.[2] 초기 버전의 Hyper-V에서는 지원이 미비했으나, Hyper-V가 나온지 꽤 흐른 시점인 현재에는 대부분 잘 동작한다.[3] DirectX 11을 지원하며 하드웨어가 해당 기능을 지원해야 한다. 지원 중단 예정인 기능으로 Windows 10 1809 빌드부터 새로운 가상머신에 RemoteFX를 추가할수 없게 막혔다. 다만 기존 가상머신에 추가된 RemoteFX는 계속 사용 가능하며 명령어를 통해 추가하는 방법은 아직 사용할수 있다.[4] i3, i5, i7, 옵테론 등의 CPU에 있는 기능, 셀러론 샌디브릿지 이상에서도 실행 가능하다. 단 Core 2에서는 지원 안 한다. AMD쪽은 애슬론64부터 지원했기 때문에 다 된다 생각하면 편하다.[5] 대부분 안드로이드 플레이어는 Vt를 사용하지 않아도 돌아가긴 하지만, 성능이 형편없이 떨어져 버린다.[6] 기업용 가상머신이 외부와 인터넷 통신을 하도록 하는 정석은 가상머신이 단독으로 사용할 공인IP를 할당하는 방법이다. 이것이 여의치 않을 경우 메인 컴퓨터의 네트워크 카드 상단에 물려있는 NAT장비(인터넷 공유기 등)의 도움을 받는 방법, NAT를 제공하는 가상머신을 구성하여 내부 IP를 받는 방법 등이 있다. 메인 컴퓨터에서 ICS, 마스커레이드 등의 인터넷 공유 기능을 켜는 방법은 어쩔 수 없을 때 하는 최후의 선택이다.[7] 하이퍼바이저 관리용 가상 스위치를 하나 생성하고, 하이퍼바이저와 관리자용 가상머신 하나를 물려서 관리자용 가상머신을 통하여 하이퍼바이저를 제어하는 것이 정석이다. 즉, 하이퍼바이저는 관리자용 가상머신 1개 외엔 철저하게 외부 망과 격리된 형태가 되도록 하는 것.[8] 만약 이것이 지켜지지 않는다면, 가상머신 중 단 하나만 해커에게 뚫려도 하이퍼바이저에서 가동중이던 수십, 수백개의 가상머신과 그 데이터가 위험에 노출되게 된다.[9] 엑스박스 원의 운영체제는 하이퍼바이저와 두 개의 게스트 운영체제로 되어있으며, 하이퍼바이저로 Hyper-V의 변형버전을 이용한다. 게임기의 기능이 늘어나고 게임구동과 동시에 다른 복잡한 작업들을 수행하다 보니 하이퍼바이저를 쓰는 편이 유리하게 된 것이며, 그렇게 최근의 일도 아니다.[10] 위와 마찬가지로 Hyper-V기반의 OS로 구동되며 이 기능을 최대한 활용해서 빠른 재개등의 신기술을 구현했다.