하이퍼-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 관리자

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