하이퍼-V

하이퍼-V(Hyper-V)는 마이크로소프트가 개발한 네이티브 하이퍼바이저이다. 윈도우를 실행하는 x86-64 시스템에서 가상 머신을 생성할 수 있다. 윈도우 8부터) Pro 및 Enterprise 에디션에 선택적 기능으로 포함되어 수동으로 활성화할 수 있다. 하이퍼-V를 실행하는 서버는 개별 가상 머신을 하나 이상의 네트워크에 노출하도록 구성할 수 있다.

 개요 
코드명 비리디안(Viridian)으로 불렸으며 출시 전 잠시 윈도우 서버 가상화로 알려졌던 베타 버전은 특정 x86-64 에디션의 윈도우 서버 2008에 포함되어 출시되었다. 최종 버전은 2008년 6월 26일 출시되었으며 윈도우 업데이트를 통해 제공되었다. 하이퍼-V는 이후 윈도우 서버 2012 버전부터 모든 윈도우 서버 버전과 함께 출시되었으며, 마이크로소프트 버추얼 서버를 대체했고, 윈도우 8부터 개인용 컴퓨터를 위한 하드웨어 가상화 구성 요소가 되어 윈도우 가상 PC를 대체했다.

마이크로소프트는 두 가지 채널을 통해 하이퍼-V를 제공한다:

 윈도우의 일부: 하이퍼-V는 윈도우 서버 2008 이상 버전의 선택적 구성 요소이다. 또한 윈도우 8, 윈도우 8.1, 윈도우 10 및 윈도우 11의 Pro 및 Enterprise 에디션 x64 SKU에서도 사용할 수 있다.
 하이퍼-V 서버: 기능이 제한된 윈도우 서버의 프리웨어 에디션으로 하이퍼-V 구성 요소를 포함한다.

 하이퍼-V 서버 
하이퍼-V 서버 2008은 2008년 10월 1일에 출시되었다. 이는 윈도우 서버 2008 서버 코어와 하이퍼-V 역할을 포함하며, 다른 윈도우 서버 2008 역할은 비활성화되고 윈도우 서비스는 제한적이다. 하이퍼-V 서버 2008은 호스트 OS, 물리적 하드웨어 및 소프트웨어를 구성하는 데 사용되는 명령줄 인터페이스로 제한된다. 메뉴 기반 CLI 인터페이스와 일부 무료 다운로드 스크립트 파일이 구성을 단순화한다. 또한 하이퍼-V 서버는 원격 데스크톱 연결을 통한 원격 액세스를 지원한다. 그러나 호스트 OS와 게스트 가상 머신의 관리 및 구성은 일반적으로 다른 윈도우 컴퓨터의 마이크로소프트 관리 콘솔 또는 시스템 센터 버추얼 머신 매니저를 사용하여 네트워크를 통해 수행된다. 이를 통해 훨씬 더 쉬운 "클릭 투 구성" 및 하이퍼-V 서버 모니터링이 가능하다.

하이퍼-V 서버 2008 R2(윈도우 서버 2008 R2의 에디션)는 2009년 9월에 출시되었으며, 더 강력한 CLI 제어를 위해 파워셸 v2를 포함한다. 하이퍼-V 서버에 대한 원격 액세스는 네트워크 인터페이스 및 윈도우 방화벽의 CLI 구성을 필요로 한다. 또한 윈도우 비스타 PC를 사용하여 하이퍼-V 서버 2008 R2를 관리하는 것은 완전히 지원되지 않는다.

마이크로소프트는 하이퍼-V 서버 2019 무료 버전의 주류 지원을 2024년 1월 9일에 종료했으며, 연장 지원은 2029년 1월 9일에 종료된다. 하이퍼-V 서버 2019는 무료 독립 실행형 제품의 마지막 버전이 될 것이다. 하이퍼-V는 윈도우 서버 2022의 역할로 계속 사용할 수 있으며, 현재 2031년 10월 14일로 예정된 연장 지원 종료일까지 해당 운영 체제가 지원되는 동안 지원될 것이다.

 아키텍처 
450px|섬네일|right|alt=하드웨어부터 사용자 모드까지 네 개의 계층 스택을 보여주는 하이퍼-V의 블록 다이어그램|하이퍼-V 아키텍처
하이퍼-V는 파티션이라는 측면에서 가상 머신의 격리를 구현한다. 파티션은 하이퍼바이저가 지원하는 논리적 격리 단위로, 각 게스트 운영체제가 실행된다. 하이퍼바이저 인스턴스에는 지원되는 버전의 윈도우를 실행하는 적어도 하나의 부모 파티션이 있어야 한다. 부모 파티션은 게스트 OS를 호스트하는 자식 파티션을 생성한다. 가상화 서비스 공급자 및 가상 머신 관리 서비스는 부모 파티션에서 실행되며 자식 파티션을 지원한다. 부모 파티션은 하이퍼-V가 노출하는 API인 하이퍼콜 API를 사용하여 자식 파티션을 생성한다.

자식 파티션은 물리적 프로세서에 직접 접근할 수 없으며, 실제 인터럽트도 처리하지 않는다. 대신, 프로세서의 가상 뷰를 가지며 게스트 가상 주소에서 실행되는데, 이는 하이퍼바이저 구성에 따라 반드시 전체 가상 주소 공간일 필요는 없다. VM 구성에 따라 하이퍼-V는 각 파티션에 프로세서의 일부만 노출할 수 있다. 하이퍼바이저는 프로세서에 대한 인터럽트를 처리하고 논리적 합성 인터럽트 컨트롤러(SynIC)를 사용하여 해당 파티션으로 리디렉션한다. 하이퍼-V는 CPU가 제공하는 2단계 주소 변환을 사용하여 게스트 가상 주소 공간의 주소 변환을 하드웨어 가속화할 수 있으며, 인텔에서는 EPT, AMD에서는 RVI (이전에는 NPT)라고 한다.

자식 파티션은 하드웨어 리소스에 직접 접근할 수 없지만, 가상 장치 측면에서 리소스의 가상 뷰를 가진다. 가상 장치에 대한 모든 요청은 VMBus를 통해 부모 파티션의 장치로 리디렉션되며, 이 장치가 요청을 관리한다. VMBus는 파티션 간 통신을 가능하게 하는 논리적 채널이다. 응답 또한 VMBus를 통해 리디렉션된다. 부모 파티션의 장치 또한 가상 장치인 경우, 물리적 장치에 접근할 수 있는 부모 파티션에 도달할 때까지 계속 리디렉션된다. 부모 파티션은 VMBus에 연결하고 자식 파티션의 장치 접근 요청을 처리하는 가상화 서비스 공급자(VSP)를 실행한다. 자식 파티션 가상 장치는 내부적으로 가상화 서비스 클라이언트(VSC)를 실행하며, 이 클라이언트는 VMBus를 통해 부모 파티션의 VSP로 요청을 리디렉션한다. 이 전체 프로세스는 게스트 OS에 투명하다.

가상 장치는 또한 스토리지, 네트워킹 및 그래픽 서브시스템 등을 위한 Enlightened I/O라는 윈도우 서버 가상화 기능을 활용할 수 있다. Enlightened I/O는 SCSI와 같은 고급 통신 프로토콜에 특화된 가상화 인식 구현으로, 장치 에뮬레이션 계층을 우회하고 VMBus를 직접 활용한다. 이는 통신을 더 효율적으로 만들지만, 게스트 OS가 Enlightened I/O를 지원해야 한다.

현재 다음 운영 체제만 Enlightened I/O를 지원하며, 따라서 속도가 느린 에뮬레이트된 하드웨어를 사용해야 하는 다른 운영 체제보다 하이퍼-V에서 게스트 운영 체제로 더 빠르게 실행될 수 있다.
 윈도우 서버 2008 이상
 윈도우 비스타 이상
 3.4 이상의 커널을 사용하는 리눅스
 FreeBSD

 시스템 요구 사항 
하이퍼-V 역할은 윈도우 서버 2008 이상 버전의 Standard, Enterprise, Datacenter 에디션 x86-64 변형과 윈도우 8 이상 버전의 Pro, Enterprise, Education 에디션에서만 사용할 수 있다. 윈도우 서버에서는 전체 설치 또는 코어 설치 여부에 관계없이 설치할 수 있다. 또한, 하이퍼-V는 윈도우 서버의 프리웨어 에디션인 하이퍼-V 서버 운영체제의 일부로 제공될 수 있다. 어떤 경우든 호스트 컴퓨터는 다음을 필요로 한다.
 다음 기술을 지원하는 CPU:
 NX 비트
 x86-64
 하드웨어 가상화 (인텔 VT-x 또는 AMD-V)
 2단계 주소 변환 (윈도우 8 이상)
 각 게스트 머신에 할당된 메모리 외에 최소 2GB 메모리

가상 머신에 할당되는 메모리 양은 운영 체제에 따라 달라진다.
 윈도우 서버 2008 스탠다드는 VM 실행을 위해 최대 31GB 메모리와 호스트 OS를 위해 1GB 메모리를 지원한다.
 윈도우 서버 2008 R2 스탠다드는 최대 32GB를 지원하지만, Enterprise 및 Datacenter 에디션은 최대 2TB를 지원한다. 하이퍼-V 서버 2008 R2는 최대 1TB를 지원한다.
 윈도우 서버 2012는 최대 4TB를 지원한다.

각 가상 머신에 할당되는 CPU 수도 OS에 따라 달라진다.
 윈도우 서버 2008 및 2008 R2는 VM당 1, 2 또는 4개의 CPU를 지원하며, 하이퍼-V 서버 2008 R2도 동일하게 적용된다.
 윈도우 서버 2012는 VM당 최대 64개의 CPU를 지원한다.

동시 활성 가상 머신 수에도 최대값이 있다.
 윈도우 서버 2008 및 2008 R2는 서버당 384개를 지원하며, 하이퍼-V 서버 2008도 동일하게 지원한다.
 윈도우 서버 2012는 서버당 1024개를 지원하며, 하이퍼-V 서버 2012도 동일하게 적용된다.
 윈도우 서버 2016은 클러스터 및 노드당 8000개를 지원한다.

 지원되는 게스트 
 윈도우 서버 2008 R2 
다음 표는 윈도우 서버 2008 R2 SP1에서 지원되는 게스트 운영 체제를 나열한다.

페도라 8 또는 9는 지원되지 않지만, 실행되는 것으로 보고되었다.

넷앱과 시트릭스 간의 파트너십을 통해 FreeBSD 8.2 이상 게스트에 대한 타사 지원이 제공된다. 여기에는 에뮬레이트 및 반가상화 작동 모드뿐만 아니라 여러 하이퍼-V 통합 서비스가 포함된다.

데스크톱 가상화 (VDI) 제품(예: 퀘스트 소프트웨어 vWorkspace, 시트릭스 젠데스크톱, 시스탄시아 AppliDis Fusion 및 에리콤 파워텀 웹커넥트)은 데이터 센터에서 데스크톱 가상 머신을 호스트하고 중앙에서 관리하는 기능을 제공하면서 최종 사용자에게 완전한 PC 데스크톱 환경을 제공한다.

Enlightened I/O와 하이퍼바이저 인식 커널(예: 윈도우 서버 2008 이상 서버 버전, 윈도우 비스타 SP1 이상 클라이언트 및 시트릭스 젠서버, 노벨의 서비스)을 사용하는 게스트 운영 체제는 VSC 드라이버가 VMBus를 통해 VSP와 직접 통신하므로 호스트 리소스를 더 잘 사용할 수 있다. "Enlightened" 되지 않은 운영 체제는 에뮬레이트된 I/O로 실행된다. 그러나 윈도우 서버 2003 SP2, 윈도우 비스타 SP1 및 리눅스용 통합 구성 요소(VSC 드라이버 포함)를 사용할 수 있어 성능이 향상된다.

 리눅스 지원 
2009년 7월 20일, 마이크로소프트는 GPL 조건에 따라 하이퍼-V 드라이버를 리눅스 커널에 포함시키기 위해 제출했다. 마이크로소프트는 GPL 라이선스 구성 요소를 폐쇄 소스 바이너리에 정적으로 연결한 하이퍼-V 네트워크 드라이버를 포함한 사실이 발견되어 코드를 제출해야 했다. 2.6.32부터 시작하는 커널은 윈도우 호스트 환경에서 가상 리눅스 게스트 시스템의 성능을 향상시키는 내장 하이퍼-V 반가상화 지원을 포함할 수 있다. 하이퍼-V는 리눅스 게스트를 위한 기본적인 가상화 지원을 기본적으로 제공한다. 반가상화 지원은 리눅스 통합 구성 요소 또는 사토리 InputVSC 드라이버를 설치해야 한다. 젠 (하이퍼바이저) 지원 리눅스 게스트 배포판 또한 하이퍼-V에서 반가상화될 수 있다. 마이크로소프트는 공식적으로 수세 리눅스 엔터프라이즈 서버 10 SP1/SP2 (x86 및 x64)만 이러한 방식으로 지원했지만, 젠 지원 리눅스는 모두 실행할 수 있다. 2008년 2월, 레드햇과 마이크로소프트는 각 서버 운영 체제와의 하이퍼바이저 상호 운용성을 위한 가상화 협약을 체결하여 레드햇 엔터프라이즈 리눅스 5가 하이퍼-V에서 공식적으로 지원될 수 있도록 했다.

 윈도우 서버 2012 
윈도우 서버 2012 및 윈도우 서버 2012 R2의 하이퍼-V는 위 지원 목록을 다음과 같이 변경한다.

 윈도우 서버 2012의 하이퍼-V는 윈도우 8.1 (최대 32개 CPU) 및 윈도우 서버 2012 R2 (64개 CPU) 지원을 추가한다. 윈도우 서버 2012 R2의 하이퍼-V는 윈도우 10 (32개 CPU) 및 윈도우 서버 2016 (64개 CPU) 지원을 추가한다.
 CentOS의 최소 지원 버전은 6.0이다.
 레드햇 엔터프라이즈 리눅스의 최소 지원 버전은 5.7이다.
 윈도우 서버 및 리눅스 운영 체제에서 지원되는 최대 CPU 수는 4개에서 64개로 증가했다.

 윈도우 서버 2012 R2 
윈도우 서버 2012 R2와 함께 마이크로소프트는 새로운 기능 세트를 도입했다.
 공유 가상 하드 디스크
 스토리지 서비스 품질
 2세대 가상 머신
 향상된 세션 모드
 자동 가상 머신 활성화

 윈도우 서버 2016 
윈도우 서버 2016 및 윈도우 10 1607의 하이퍼-V에는 다음이 추가되었다.
 중첩 가상화 (인텔 프로세서만 해당, 하이퍼-V의 호스트 및 게스트 인스턴스 모두 윈도우 서버 2016 또는 윈도우 10 이상이어야 함)
 개별 장치 할당(DDA), 호환 가능한 PCI 익스프레스 장치를 게스트 가상 머신에 직접 통과할 수 있도록 허용
 윈도우 컨테이너 (OS 수준이 아닌 앱 수준에서 격리 달성)
 원격 증명 서버를 사용하는 보호된 VM
 게스트에 의한 호스트 CPU 리소스 사용 모니터링 및 보호 (게스트에 의한 CPU 사용 제한)

 윈도우 서버 2019 
윈도우 서버 2019 및 윈도우 10 1809의 하이퍼-V에는 다음이 추가되었다.
 리눅스 호환성을 포함한 보호된 가상 머신 개선 사항
 가상 머신 암호화 네트워크
 vSwitch 수신 세그먼트 통합
 동적 가상 머신 멀티 큐 (d. VMMQ)
 영구 메모리 지원
 스토리지 스페이스 다이렉트 및 장애 조치 클러스터링에 대한 중요한 기능 및 성능 개선

 윈도우 서버 2022 
윈도우 서버 2022의 하이퍼-V에 추가된 사항:
 AMD 프로세서용 중첩 가상화
 가상 스위치용 업데이트된 수신 세그먼트 통합(RSC)

 윈도우 서버 2025 
윈도우 서버 2025의 하이퍼-V 변경 사항:
 하이퍼-V 관리자의 새 가상 머신 마법사에서 2세대가 기본 옵션이 됨
 GPU 분할(VM 간에 GPU 공유)
 하이퍼바이저 적용 페이징 변환(HPVT)
 하이퍼-V 호스트당 4페타바이트 메모리 및 2,048 논리 프로세서 지원
 워크그룹 클러스터(액티브 디렉터리 없는 장애 조치 클러스터 지원)

 같이 보기 
 플랫폼 가상화 소프트웨어 비교
 윈도우 8의 새로운 기능
 가상 디스크 이미지
 마이크로소프트 오픈 스페시피케이션 프라미스
 마이크로소프트 원격 웹 워크플레이스
 가상 사설 서버
 리눅스용 윈도우 하위 시스템

 각주 

 참고 자료 

 
 
 
 
 

 외부 링크 
 
 가상화 패브릭 설계 고려 사항 가이드
 마이크로소프트 테크넷의 하이퍼-V
 윈도우 서버 2008 R2 x64에서 하이퍼-V 벤치마킹 
 하이퍼-V 아키텍처
 윈도우 관리 센터
 Hv 관리자

분류:가상화 소프트웨어
분류:윈도우 구성 요소
분류:윈도우 서버