다음을 통해 공유


부록 B: Hyper-V 아키텍처 및 기능 개요

이 항목에서는 Hyper-V 아키텍처에 대한 개요를 제공하고 Hyper-V의 장점과 단점을 설명합니다.

Hyper-V 아키텍처

Hyper-V는 하이퍼바이저 기반 가상화 플랫폼이며 Windows Server의 선택 윤곽 기능 중 하나인 실시간 마이그레이션을 지원하는 기술입니다. Hyper-V를 사용하면 Windows Server는 몇 초의 가동 중지 시간으로 실제 호스트 간에 VM을 이동할 수 있는 빠른 마이그레이션을 수행할 수 있습니다. 실시간 마이그레이션을 사용하면 물리적 대상 간의 이동이 밀리초 단위로 발생하므로 마이그레이션 작업이 연결된 사용자에게 보이지 않게 됩니다. Windows Server의 Hyper-V의 새로운 기능 을 참조하세요.

하이퍼바이저는 서로 격리되어 있지만 프로세서, 메모리 및 I/O 디바이스를 가상화하여 기본 하드웨어 리소스를 공유하는 여러 VM(가상 머신)을 호스트할 수 있는 프로세서별 가상화 플랫폼입니다.

Hyper-V 가상 머신에서 실행되는 게스트 운영 체제는 필요한 VSC(가상 서버 클라이언트) 드라이버 및 서비스가 게스트 운영 체제에 설치된 경우 물리적 하드웨어에서 실행되는 운영 체제의 성능에 근접하는 성능을 제공합니다. Hyper-V 인식 I/O라고도 하는 Hyper-V VSC(가상 서버 클라이언트) 코드는 Hyper-V "Virtual Machine Bus"에 직접 액세스할 수 있도록 하며 Hyper-V 통합 서비스를 설치할 때 사용할 수 있습니다. VSC 드라이버를 제공하는 Hyper-V 통합 서비스는 다른 클라이언트 운영 체제에서도 사용할 수 있습니다.

Hyper-V는 파티션의 측면에서 격리를 지원합니다. 파티션은 하이퍼바이저에서 지원하는 논리적 격리 단위로, 여기서 운영 체제가 실행됩니다. Microsoft 하이퍼바이저에는 Windows Server를 실행하는 부모 또는 루트 파티션이 하나 이상 있어야 합니다. 가상화 스택은 부모 파티션에서 실행되며 하드웨어 디바이스에 직접 액세스할 수 있습니다. 그 후 루트 파티션에서는 게스트 운영 체제를 호스트하는 자식 파티션을 만듭니다. 루트 파티션은 hypercall API(애플리케이션 프로그래밍 인터페이스)를 사용하여 자식 파티션을 만듭니다.

파티션은 물리적 프로세서에 직접 액세스할 수 없고 프로세서 인터럽트도 처리할 수 없습니다. 그 대신 프로세서의 가상 보기를 갖고 있으며 각 게스트 파티션의 프라이빗 가상 메모리 주소 지역에서 실행됩니다. 하이퍼바이저는 프로세서 인터럽트를 처리한 후 각 파티션으로 리디렉션합니다. 또한 Hyper-V는 CPU에서 사용하는 메모리 관리 하드웨어에 관계없이 작동하는 IOMMU(입출력 메모리 관리 장치)를 사용하여 다양한 게스트 가상 주소 공간 사이의 주소 변환을 가속화합니다. IOMMU는 실제 메모리 주소를 자식 파티션에서 사용하는 주소로 다시 매핑하는 데 사용됩니다.

또한 자식 파티션은 다른 하드웨어 리소스에 직접 액세스할 수 없으며 가상 디바이스(VDev)와 마찬가지로 리소스 가상 보기가 제공됩니다. 가상 디바이스에 대한 요청은 VMBus 또는 하이퍼바이저를 통해 요청을 처리하는 부모 파티션의 하이퍼바이저로 리디렉션됩니다. VMBus는 논리적 파티션 간 통신 채널입니다. 부모 파티션은 VMBus를 통해 통신하여 자식 파티션의 디바이스 액세스 요청을 처리하는 VSP(가상화 서비스 공급자)를 호스트합니다. 자식 파티션은 VMBus를 통해 디바이스 요청을 부모 파티션의 VSP로 리디렉션하는 VSC(가상화 서비스 소비자)를 호스트합니다. 이 전체 프로세스는 게스트 운영 체제에 대해 투명합니다.

또한 가상 디바이스는 인식 I/O라고 하는 Windows Server 가상화 기능을 스토리지, 네트워킹, 그래픽 및 입력 하위 시스템에 활용할 수 있습니다. 인식 I/O는 모든 디바이스 에뮬레이션 계층을 무시하고 VMBus를 직접 활용하는 상위 수준 통신 프로토콜(예: SCSI)의 전문적인 가상화 인식 도구입니다. 따라서 통신의 효율성이 향상되지만 게스트가 하이퍼바이저와 VMBus에 대해 알고 있어야 합니다. Hyper-V 인식 I/O 및 하이퍼바이저 인식 커널은 Hyper-V 통합 서비스를 설치하면 함께 제공됩니다. VSC(가상 서버 클라이언트)를 포함하고 있는 통합 구성 요소는 다른 클라이언트 운영 체제에도 사용할 수 있습니다. Hyper-V를 사용하려면 Intel VT 또는 AMD-V(AMD 가상화) 기술과 함께 제공되는 하드웨어 지원 가상화가 포함된 프로세서가 필요합니다.

다음 다이어그램은 Windows Server에서 실행되는 Hyper-V 환경의 아키텍처에 대한 개략적인 개요를 제공합니다.

Hyper-V 아키텍처 개요

위 다이어그램에 사용된 약어와 용어는 아래에 설명되어 있습니다.

  • APIC – 고급 프로그래밍 가능한 인터럽트 컨트롤러. 우선 순위 수준을 인터럽트 출력에 할당할 수 있는 디바이스입니다.

  • 자식 파티션 – 게스트 운영 체제를 호스트하는 파티션입니다. 자식 파티션에 의한 물리적 메모리 및 디바이스에 대한 모든 액세스는 VMBus(Virtual Machine Bus) 또는 하이퍼바이저를 통해 제공됩니다.

  • Hypercall – 하이퍼바이저와의 통신을 위한 인터페이스입니다. 하이퍼콜 인터페이스는 하이퍼바이저에서 제공하는 최적화에 대한 액세스를 수용합니다.

  • 하이퍼바이저 - 하드웨어와 하나 또는 여러 운영 사이에 위치하는 소프트웨어 계층입니다. 주요 작업은 파티션이라고 하는 격리된 실행 환경을 제공하는 것입니다. 하이퍼바이저는 기본 하드웨어에 대한 액세스를 제어 및 중재합니다.

  • IC – 통합 구성 요소입니다. 자식 파티션이 다른 파티션 및 하이퍼바이저와 통신할 수 있도록 하는 구성 요소입니다.

  • I/O 스택 – 입력/출력 스택입니다.

  • MSR – 메모리 서비스 루틴입니다.

  • 루트 파티션 – 디바이스 드라이버, 전원 관리 및 디바이스 핫 추가/제거와 같은 컴퓨터 수준 함수를 관리합니다. 루트(또는 부모) 파티션은 실제 메모리 및 디바이스에 직접 액세스할 수 있는 유일한 파티션입니다.

  • VID – 가상화 인프라 드라이버. 파티션에 대한 파티션 관리 서비스, 가상 프로세서 관리 서비스 및 메모리 관리 서비스를 제공합니다.

  • VMBus - 활성 가상화 파티션이 여러 개 있는 시스템에서 파티션 간 통신 및 디바이스 열거에 사용되는 채널 기반 통신 메커니즘입니다. VMBus는 Hyper-V 통합 서비스와 함께 설치됩니다.

  • VMMS – Virtual Machine Management Service. 자식 파티션에 있는 모든 가상 머신의 상태를 관리하는 역할을 담당합니다.

  • VMWP – Virtual Machine Worker 프로세스. 가상화 스택의 사용자 모드 구성 요소입니다. 작업자 프로세스는 부모 파티션의 Windows Server instance 자식 파티션의 게스트 운영 체제에 가상 머신 관리 서비스를 제공합니다. 가상 컴퓨터 관리 서비스는 실행되는 가상 컴퓨터마다 별도의 작업자 프로세스를 생성합니다.

  • VSC – 가상화 서비스 클라이언트. 자식 파티션에 있는 가상 디바이스 instance. VSC는 부모 파티션의 VSP(가상화 서비스 공급자)가 제공하는 하드웨어 리소스를 활용합니다. VMBus를 통해 부모 파티션의 해당 VSP와 통신하여 자식 파티션 디바이스 I/O 요청을 충족합니다.

  • VSP – 가상화 서비스 공급자. 루트 파티션에 상주하며 VMBus(Virtual Machine Bus)를 통해 자식 파티션에 가상 디바이스 지원을 제공합니다.

  • WinHv – Windows 하이퍼바이저 인터페이스 라이브러리. WinHv는 기본적으로 분할된 운영 체제의 드라이버와 하이퍼바이저 간의 브리지로, 드라이버가 표준 Windows 호출 규칙을 사용하여 하이퍼바이저를 호출할 수 있도록 합니다.

  • WMI - 가상 컴퓨터 관리 서비스는 가상 컴퓨터를 관리하고 제어하기 위한 WMI(Windows Management Instrumentation) 기반 API 집합을 노출합니다.

    이러한 용어의 대부분은 용어집에 정의되어 있습니다.

참고

Hyper-V 기술 개요 는 좋은 리소스입니다.

장점

Hyper-V 가상화된 환경에서 엔터프라이즈 수준 솔루션을 실행할 때의 이점은 다음과 같습니다.

  1. 하드웨어 리소스 통합 - Hyper-V를 사용하여 가상화를 구현하여 여러 물리적 서버를 비교적 적은 수의 서버로 쉽게 통합할 수 있습니다. 통합은 배포된 하드웨어 리소스의 전체 사용을 수용합니다. Windows Server의 Hyper-V는 호스트 컴퓨터에서 최대 64개의 논리 CPU에 액세스할 수 있습니다. 이 기능은 새로운 멀티코어 시스템을 활용할 뿐만 아니라 실제 호스트당 더 큰 가상 머신 통합 비율을 의미합니다.

  2. 관리 용이성:

    • 리소스의 통합 및 중앙 집중화는 관리를 간소화합니다.

    • 스케일 업 및 스케일 아웃 구현은 훨씬 더 쉽게 수용됩니다.

  3. 상당한 비용 절감:

    • 여러 가상 머신이 단일 물리적 컴퓨터에서 실행될 수 있으므로 하드웨어 비용이 크게 절감되므로 모든 컴퓨터에 별도의 물리적 컴퓨터가 필요하지 않습니다.

    • Hyper-V 라이선스 비용은 Windows Server의 라이선스 비용에 포함될 수 있으며 독립 실행형 제품으로 구입할 수도 있습니다.

    • 필요한 물리적 하드웨어 "공간"이 줄어들기 때문에 기존 애플리케이션을 가상화된 Hyper-V 환경에 통합하여 전원 요구 사항을 크게 줄일 수 있습니다.

  4. Hyper-V 클러스터링 통한 내결함성 지원 – Hyper-V는 클러스터 인식 애플리케이션이므로 Windows Server는 Hyper-V 가상화된 환경에서 만든 가상 머신에 대한 네이티브 호스트 클러스터링 지원을 제공합니다.

  5. 배포 및 관리의 용이성:

    • 기존 서버를 더 적은 수의 물리적 서버로 통합하면 배포가 간소화됩니다.

    • 포괄적인 Hyper-V 관리 솔루션은 System Center Virtual Machine Manager 사용할 수 있습니다. System Center의 VMM의 새로운 기능은 몇 가지 지침을 제공합니다.

  6. 주요 Hyper-V 성능 특성:

    • 향상된 하드웨어 공유 아키텍처 - Hyper-V는 하이퍼바이저 인식 커널을 사용하여 게스트 운영 체제를 실행하고 필요한 VSC(가상 서버 클라이언트) 코드(Hyper-V 인식 I/O라고 함)를 갖춘 게스트 운영 체제를 실행할 때 디스크, 네트워킹 및 비디오와 같은 핵심 리소스의 향상된 액세스 및 사용률을 제공합니다. 인식 기능은 메모리 관리와 같은 특정 운영 체제 기능의 비용을 줄이는 데 도움이 되는 운영 체제의 향상된 기능입니다. VSC 드라이버를 포함하는 통합 구성 요소는 다른 클라이언트 운영 체제에서도 사용할 수 있습니다.

      디스크 성능은 Microsoft BizTalk Server 같은 디스크 I/O 집약적 엔터프라이즈 애플리케이션과 Hyper-V 지원 I/O에 매우 중요합니다. Hyper-V는 실제 디스크 성능과 동등한 디스크 성능을 제공하는 "통과" 디스크 지원을 제공합니다. "통과" 디스크 지원은 편의를 위해 적은 비용으로 향상된 성능을 제공합니다. "통과" 디스크는 기본적으로 가상 머신에 연결된 실제 디스크/LUN이며 가상 머신 스냅샷과 같은 가상 디스크의 일부 기능을 지원하지 않습니다.

    • 프로세서 하드웨어 지원 가상화 지원 – Hyper-V는 최근 프로세서 기술에서 사용할 수 있는 프로세서 하드웨어 지원 가상화 지원을 최대한 활용합니다.

    • SMP(다중 코어) 게스트 운영 체제 지원 – Hyper-V는 가상 머신 환경에서 최대 4개의 프로세서를 지원하는 기능을 제공하므로 애플리케이션이 가상 머신의 다중 스레딩 기능을 최대한 활용할 수 있습니다.

    • 32비트 및 64비트 게스트 운영 체제 지원 – Hyper-V는 Windows, Linux® 등과 같은 다양한 서버 플랫폼에서 32비트 및 64비트 시스템을 포함하여 다양한 유형의 운영 체제를 동시에 실행하기 위한 광범위한 지원을 제공합니다.

  7. 포괄적인 제품 지원 – Microsoft 엔터프라이즈 애플리케이션(예: Exchange Server 및 SQL Server)은 Hyper-V에서 실행되는 완전히 테스트되므로 Microsoft는 Hyper-V 환경에서 배포 및 실행할 때 이러한 애플리케이션에 대한 코드 수정 지원을 제공합니다.

  8. 확장성 – 호스트 컴퓨터에서 게스트 가상 머신으로 사용 가능한 추가 리소스를 할당하여 추가 처리 능력, 네트워크 대역폭 및 스토리지 용량을 빠르고 쉽게 수행할 수 있습니다. 이렇게 하려면 호스트 컴퓨터를 업그레이드하거나 게스트 가상 머신을 더 지원 가능한 호스트 컴퓨터로 이동해야 할 수 있습니다.

    Hyper-V와 함께 제공되는 가상화 기술을 활용하는 이점에 대한 자세한 내용은 Hyper-V 기술 개요를 참조하세요.

단점

Hyper-V 가상화된 환경에서 엔터프라이즈 수준 솔루션을 실행할 때의 몇 가지 단점은 다음과 같습니다.

  • 하드웨어 요구 사항 – 서버 통합 요구로 인해 Hyper-V 가상 머신은 CPU 및 메모리를 더 많이 사용하는 경향이 있으며, 비교 가능한 컴퓨팅 부하가 있는 물리적 서버보다 디스크 I/O 대역폭이 더 많이 필요합니다. Hyper-V 서버 역할은 64비트에서만 사용할 수 있고 Windows Server의 모든 버전은 64비트 전용이므로 물리적 하드웨어는 하드웨어 지원 가상화를 지원해야 합니다. 즉, 프로세서는 Intel VT 또는 AMD-V(AMD 가상화) 기술과 호환되어야 하며 시스템 BIOS는 DEP(데이터 실행 방지)를 지원해야 하며 DEP를 사용하도록 설정해야 합니다.

  • 소프트웨어 요구 사항 – 대부분의 Microsoft 소프트웨어는 Hyper-V 가상 머신에서 실행되도록 지원되지만 일부 Microsoft 소프트웨어는 여전히 Hyper-V 가상화된 환경과의 호환성을 보장하기 위해 테스트 중입니다. 예를 들어 대부분의 Microsoft 엔터프라이즈 수준 애플리케이션은 Hyper-V에서 실행을 지원하거나 Hyper-V에서 지원을 테스트하는 중입니다. Hyper-V에서 BizTalk Server 및 SQL Server 지원 가능성에 대한 자세한 내용은 부록 C: BizTalk Server 및 SQL Server Hyper-V 지원 가능성을 참조하세요.