
0. 들어가기 전, 한 장 요약

서버를 운영하다 보면 Hyper-V, 가상머신(VM), 클러스터, CSV, 쿼럼(Quorum)이라는 용어를 자주 만나게 됩니다.
각각은 어떤 의미이며, 왜 함께 사용되는 걸까요?
이번 글에서는 Hyper-V의 탄생 배경부터 내부 아키텍처, 가상머신의 디스크·네트워크 처리 방식, 그리고 여러 서버를 묶어 고가용성을 구현하는 방법까지 차근차근 살펴보겠습니다.
핵심 요약: Hyper-V는 한 대의 물리 서버에서 여러 운영체제를 독립적으로 실행하게 해주는 Microsoft의 가상화 기술입니다.
여기에 Windows Failover Clustering을 결합하면, 호스트 장애 시 다른 서버에서 가상머신을 다시 실행하는 고가용성 구성을 만들 수 있습니다.
1. 가상화가 등장하기 전, 서버 운영에는 어떤 문제가 있었을까?
과거에는 웹 서버, 데이터베이스 서버, 파일 서버, 업무 서버를 각각 별도의 물리 장비에 설치하는 방식이 흔했습니다.
예를 들어 네 가지 서비스를 운영한다면 물리 서버도 네 대를 준비하는 식입니다.

이 방식의 가장 큰 한계는 서버 자원의 비효율적인 사용입니다.
CPU와 메모리 사용량이 낮은 서버라도 여유 자원을 다른 장비에서 활용하기 어렵고, 장비가 늘어날수록 전력·냉각·랙 공간·유지보수 비용도 증가합니다.
이 문제를 해결하는 대표적인 방법이 서버 가상화(Server Virtualization)입니다.
2. Hyper-V란 무엇인가?

Hyper-V는 Microsoft가 제공하는 하이퍼바이저 기반 가상화 기술입니다.
하나의 물리 서버에서 Windows 또는 Linux를 실행하는 여러 가상머신(Virtual Machine, VM)을 만들고, 각 VM에 가상 CPU(vCPU), 메모리, 디스크, 네트워크를 할당할 수 있습니다.
예를 들어 CPU 32코어와 메모리 256GB를 가진 물리 서버에 ERP, DB, WEB, FILE용 VM 네 대를 구성할 수 있습니다.
각 VM은 자신만의 운영체제와 IP 주소를 가지며, 논리적으로 분리된 서버처럼 동작합니다.
[물리 서버 1대]
├─ ERP-VM : Windows Server / 업무 애플리케이션
├─ DB-VM : Windows Server / 데이터베이스
├─ WEB-VM : Linux / 웹 서비스
└─ FILE-VM : Windows Server / 파일 공유
↓
Hyper-V 가상화 계층
↓
물리 CPU · RAM · NIC · 스토리지
단, VM에 할당하는 vCPU 개수는 물리 CPU 코어를 그대로 독점한다는 뜻이 아닙니다. 하이퍼바이저가 실제 하드웨어 자원의 사용을 중재하기 때문입니다.
3. Hyper-V는 어떤 역사를 거쳐 발전했을까?
가상화 자체는 Hyper-V보다 훨씬 오래된 개념입니다.
1960년대 메인프레임의 자원 분할 기술에서 출발해, 이후 x86 서버에서도 여러 운영체제를 구동하는 방식으로 발전했습니다.
| 시기 | 주요 변화 |
| 1960년대 | IBM 메인프레임에서 가상화 개념 발전 |
| 1990~2000년대 | x86 서버 가상화와 기업용 가상화 시장 성장 |
| 2008년 | Windows Server 2008에 Hyper-V 도입 |
| 2009년 | Windows Server 2008 R2에서 Live Migration과 CSV 지원 |
| 2012년 | Windows Server 2012에서 VHDX, Hyper-V Replica 등 기능 확장 |
| 2016년 이후 | 중첩 가상화, Shielded VM 등 기능 및 보안·운영 능력 발전 |
| 현재 | Windows Server 기반 온프레미스·하이브리드 가상화에 활용 |
Hyper-V의 발전 방향은 단순히 '가상머신을 더 많이 만드는 기능'에서 가상머신을 유연하게 이동하고, 복구하고, 안정적으로 관리하는 기능으로 확장되어 왔다고 볼 수 있습니다.
4. Hyper-V의 내부 아키텍처
4-1. 하이퍼바이저(Hypervisor)란?
하이퍼바이저는 물리 CPU와 메모리 등의 자원을 가상화하고, 여러 운영체제가 서로 격리된 환경에서 동작하도록 하는 핵심 계층입니다.
일반적으로 하드웨어 기반의 Type 1과 일반 호스트 운영체제에서 프로그램으로 실행하는 Type 2로 구분합니다. Hyper-V와 VMware ESXi는 Type 1의 대표적인 예입니다.
Hyper-V는 Windows Server에 역할을 추가하는 방식이라 Type 2처럼 보일 수 있습니다.
그러나 실제 구조에서는 하이퍼바이저가 하드웨어 위에 위치하고, Windows Server는 특별한 관리 파티션인 Root Partition에서 실행됩니다.
4-2. Root Partition과 Child Partition
Hyper-V의 중요한 특징은 Root Partition(루트 파티션)과 Child Partition(자식 파티션)을 구분한다는 점입니다.

- Root Partition은 VM 생성·관리, 물리 장치 드라이버, 가상 디스크 및 가상 네트워크 서비스를 담당합니다.
- Child Partition은 ERP나 웹 서비스 등 실제 게스트 운영체제가 실행되는 독립적인 환경입니다.
- 이때 VMBus(Virtual Machine Bus)는 두 파티션 사이에서 가상 장치 요청을 전달하는 통신 경로입니다.
- 루트 파티션의 VSP(Virtualization Service Provider)와 자식 파티션의 VSC(Virtualization Service Client)가 이를 통해 협력합니다.

쉽게 비유하면 하이퍼바이저가 건물의 공간과 자원을 나누고, 루트 파티션이 관리실 역할을 하며, 각 자식 파티션은 독립적인 입주 사무실처럼 동작하는 셈입니다.
5. 가상머신의 디스크와 네트워크는 어떻게 동작할까?

5-1. 가상 디스크: VHDX
가상머신 내부에서는 C:나 D: 드라이브가 일반 컴퓨터의 디스크처럼 보입니다.
하지만 호스트에서는 VM의 디스크가 VHDX(Virtual Hard Disk v2) 파일로 저장될 수 있습니다.
예를 들어 게스트 VM의 데이터 저장 요청은 가상 디스크 장치를 거쳐 호스트의 스토리지 I/O 계층으로 전달되고, 최종적으로 물리 저장소에 기록됩니다.
게스트 VM의 파일 저장 요청
↓
가상 디스크 장치(VSC)
↓ VMBus
호스트의 가상화 서비스(VSP)
↓
VHDX 및 호스트 스토리지 계층
↓
물리 스토리지
VM의 상태를 특정 시점으로 되돌리는 체크포인트(Checkpoint) 기능을 사용하면 차분 디스크인 AVHDX 파일이 생성될 수 있습니다.
다만 체크포인트는 백업 자체를 대체하는 개념이 아닙니다.
5-2. 가상 스위치: vSwitch
VM이 외부와 통신하려면 네트워크도 필요합니다. Hyper-V의 Virtual Switch(가상 스위치)가 이 연결을 담당합니다.
기업 네트워크
│
물리 NIC
│
Hyper-V Virtual Switch
├─ WEB-VM (가상 NIC)
├─ ERP-VM (가상 NIC)
└─ DB-VM (가상 NIC)
외부 가상 스위치를 사용하는 경우 VM들은 호스트의 물리 NIC를 통해 네트워크와 통신할 수 있습니다.
실제 운영 환경에서는 VM 통신, 호스트 관리, 스토리지 및 마이그레이션 트래픽을 목적에 맞게 분리하기도 합니다.
6. Hyper-V 클러스터가 필요한 이유
물리 서버 한 대에 VM 여러 대를 통합하면 효율성은 높아집니다.
그러나 물리 서버 한 대가 고장 나면 그 안의 VM이 모두 영향을 받을 수 있습니다.
이를 보완하는 대표 기술이 Failover Clustering(장애 조치 클러스터링)입니다.
여러 Hyper-V 호스트를 Node(노드)로 묶어, 한 노드에 장애가 발생했을 때 다른 노드에서 가상머신을 복구할 수 있도록 구성합니다.

[Hyper-V Failover Cluster]
┌────────┬────────┬────────┐
│ HV01 │ HV02 │ HV03 │
│ ERP VM │ WEB VM │ DB VM │
└───┬────┴────┬───┴────┬───┘
│ │ │
└─────────┼────────┘
│
공유 스토리지 / CSV
(VM 파일과 VHDX)
위 아키텍처는 공유 스토리지를 사용하는 심플한 구성 예시입니다.
실제 클러스터는 SAN, SMB 스토리지, Storage Spaces Direct(S2D) 등 다양한 아키텍처로 구축할 수 있습니다.
그리고 한 VM이 여러 호스트에서 동시에 실행되는 것이 아니라, 일반적인 클러스터 VM은 어느 한 노드에서 활성 실행되며 필요하면 다른 노드로 이동합니다.
7. CSV(Cluster Shared Volumes)는 무엇인가?
CSV는 Cluster Shared Volumes(클러스터 공유 볼륨)의 약자로, 클러스터의 여러 노드가 동일한 스토리지 볼륨에 동시에 접근할 수 있게 하는 기능입니다.
일반적인 경로 예시는 다음과 같습니다.
C:\ClusterStorage\Volume1\ERP-VM\ERP-Disk.vhdx
예를 들어 ERP-VM이 HV01에서 실행되고 있을 때, 그 VM 디스크가 CSV에 저장되어 있다면 HV02도 동일한 볼륨에 접근할 수 있습니다.
따라서 VM을 다른 노드로 이동하거나 장애 조치할 때 저장소 연결을 보다 일관되게 유지할 수 있습니다.
CSV에는 볼륨을 조정하는 Coordinator Node(코디네이터 노드) 개념과, 일부 상황에서 I/O를 다른 노드를 통해 처리하는 리디렉션 I/O(Redirected I/O) 방식도 존재합니다.
다만 CSV를 사용한다고 저장소 자체의 모든 장애가 자동으로 해결되는 것은 아닙니다.
스토리지의 가용성과 이중화도 별도로 설계해야 합니다.
8. Live Migration과 Failover는 어떻게 다를까?

두 기술 모두 VM의 실행 위치가 바뀔 수 있다는 공통점이 있지만 목적이 다릅니다.
| 구분 | Live Migration | Failover |
| 발생 상황 | 계획된 유지보수·부하 재배치 | 노드 또는 리소스 장애 |
| 실행 방식 | 실행 중인 VM 상태를 다른 호스트로 이동 | 다른 노드에서 VM 복구·재시작 가능 |
| 서비스 영향 | 일반적으로 체감 중단을 최소화 | 재시작 등에 따른 중단 가능 |
| 주된 목적 | 유연한 운영 | 고가용성 및 장애 복구 |
예를 들어 HV01을 유지보수해야 한다면 ERP-VM을 Live Migration으로 HV02에 옮길 수 있습니다.
반면 HV01이 갑자기 중단되었다면 클러스터는 ERP-VM을 다른 사용 가능한 노드에서 Failover 방식으로 복구할 수 있습니다.
중요한 점은 클러스터를 만들었다고 모든 장애가 무중단으로 처리되는 것은 아니라는 것입니다.
9. Quorum(쿼럼)은 무엇이며 왜 중요할까?

클러스터의 여러 노드가 서로 통신할 수 없게 되었을 때, 각 노드가 독립적으로 같은 서비스를 운영하려 하면 데이터 불일치 문제가 생길 수 있습니다.
이를 Split-Brain(스플릿 브레인)이라고 합니다.
Quorum(쿼럼)은 클러스터가 운영을 계속해도 되는지 투표를 통해 판단하는 메커니즘입니다.
세 노드가 각각 한 표를 가진 단순한 예시에서는 다음과 같습니다.
- HV01 + HV02가 통신 가능: 3표 중 2표이므로 과반수 확보
- HV03만 따로 분리: 3표 중 1표이므로 과반수 미달
실제 Windows 클러스터에서는 Dynamic Quorum(동적 쿼럼) 및 Witness 구성에 따라 투표가 조정될 수 있으므로, 언제나 고정적인 2/3 규칙만 적용되는 것은 아닙니다.
여기서 Witness(감시자)는 필요할 때 클러스터 투표에 참여하는 구성요소입니다.
대표적으로 Disk Witness, File Share Witness, Cloud Witness가 있습니다.
CSV와 Witness는 이름 때문에 혼동하기 쉽지만 역할이 다릅니다.
CSV는 VM 데이터를 저장·접근하기 위한 볼륨이고, Witness는 쿼럼 판단을 보조하는 구성요소입니다.
10. Hyper-V 구축 시 함께 생각할 것들
Hyper-V 도입은 단순히 VM을 만드는 작업으로 끝나지 않습니다. 실제 운영에서는 다음 요소들을 함께 설계해야 합니다.
- 자원 계획: CPU, 메모리, 스토리지 용량 및 장애 시 여유 용량 확보
- 네트워크 설계: 관리망, VM 네트워크, 마이그레이션 및 스토리지 트래픽 구분
- 스토리지 가용성: 공유 스토리지 또는 분산 스토리지의 장애 대응과 성능 검토
- 고가용성 구성: 노드 수, 장애 조치 정책, Quorum 및 Witness 설정 검토
- 백업과 복구: 체크포인트와 별개로 일관성 있는 백업·복원 절차 마련
11. 핵심 용어 정리
| 용어 | 뜻 |
| Hyper-V | Microsoft의 하이퍼바이저 기반 가상화 기술 |
| Hypervisor | 물리 자원 가상화와 VM 격리를 담당하는 핵심 계층 |
| Host | Hyper-V가 동작하는 물리 서버 및 호스트 환경 |
| Guest VM | 호스트 안에서 독립적으로 실행되는 가상 컴퓨터 |
| Root Partition | 하드웨어 드라이버·VM 관리를 담당하는 특권 파티션 |
| Child Partition | 게스트 OS가 실행되는 파티션 |
| VMBus | 루트·자식 파티션 사이의 가상 I/O 통신 채널 |
| VHDX | Hyper-V의 대표적인 가상 하드 디스크 파일 형식 |
| vSwitch | 가상머신을 네트워크에 연결하는 가상 스위치 |
| Failover Cluster | 여러 노드를 묶어 서비스 가용성을 높이는 구성 |
| CSV | 여러 클러스터 노드가 함께 사용하는 스토리지 볼륨 |
| Live Migration | 실행 중인 VM을 다른 호스트로 이동하는 기능 |
| Failover | 장애 발생 시 다른 노드에서 서비스를 복구하는 동작 |
| Quorum | 클러스터의 운영 지속 여부를 결정하는 합의 메커니즘 |
| Witness | 쿼럼 투표를 보조하는 구성요소 |
마무리
- Hyper-V의 출발점은 물리 서버 자원을 더 효율적으로 사용하자는 요구였습니다.
- 이후 VM을 자유롭게 이동하고, 여러 호스트를 클러스터로 묶어 장애 상황에서도 서비스를 복구할 수 있도록 기능이 확장되었습니다.
- 정리하면 Hyper-V는
- 가상머신을 만드는 기술,
- Failover Clustering은 여러 호스트가 협력해 가용성을 높이는 기술,
- CSV는 노드 간 공유 저장소,
- Quorum은 클러스터가 안전하게 운영을 계속할지 결정하는 메커니즘이라고 이해하면 됩니다.
이 네 가지 관계를 이해하면 Hyper-V 인프라의 전체 구조가 훨씬 명확해집니다.
참고 자료
- Microsoft Learn — Hyper-V 아키텍처
- Microsoft Learn — Failover Clustering 개요
- Microsoft Learn — Cluster Shared Volumes 관리
- Microsoft Learn — Live Migration 개요
- Microsoft Learn — Quorum Witness