회사에서 소프트웨어를 개발한 후에는, 이를 실제 장비에 올려 테스트하는 과정이 필요하다.
하지만 현실적으로 실물 장비는 대부분 고객사에 납품되어 있거나 예비 장비로 지정되어 있어, 개발 단계에서 자유롭게 사용할 수 없는 경우가 많다.
이처럼 하드웨어 사용에 제약이 따를 때, 가장 유용하게 활용할 수 있는 것이 가상화 기반의 테스트 환경이다.
우리 회사에서는 이러한 문제를 해결하기 위해 **XenServer(젠서버)**를 활용해 내부 테스트 환경을 구축하고 있다.
이번 글에서는 테스트를 진행하면서 정리한 가상머신(VM), 하이퍼바이저(Hypervisor), 그리고 XenServer에 대한 개념을 공유해보고자 한다.
가상머신(Virtual Machine)이란?
가상머신(VM)은 물리적인 컴퓨터 환경을 소프트웨어적으로 에뮬레이션한 것이다. 하나의 물리 서버 위에서 여러 개의 가상머신을 실행할 수 있으며, 각 가상머신은 자신만의 운영체제(OS)를 가지고 독립적으로 작동한다. CPU, 메모리, 디스크, 네트워크 등 실제 자원을 논리적으로 분리하여 사용하므로, 마치 별도의 컴퓨터처럼 활용 가능하다.
예를 들어, 노트북에 VirtualBox를 설치하고 Ubuntu를 실행하면, 해당 Ubuntu가 바로 가상머신이다. 이 가상머신 안에서는 일반적인 OS처럼 프로그램 설치, 서버 구동, 개발 테스트 등을 수행할 수 있다.
하이퍼바이저(Hypervisor)란?
하이퍼바이저는 가상머신을 생성하고 구동하며 자원을 분배하는 핵심 소프트웨어다. 하이퍼바이저 위에 가상머신들이 생성되며, 각각의 가상머신은 하이퍼바이저를 통해 CPU, 메모리, 스토리지 등 물리 자원을 배정받는다.
하이퍼바이저는 크게 두 가지로 나뉜다:
유형 | 설명 | 예시 |
🧱 타입 1 | 하드웨어에 직접 설치되어 동작 | Xen, VMware ESXi, KVM |
🧰 타입 2 | 기존 OS 위에 설치되어 동작 | VMware Workstation, VirtualBox |
타입 1 하이퍼바이저는 운영체제를 거치지 않고 하드웨어 위에서 바로 실행되기 때문에, 성능이 뛰어나고 대규모 서버 환경에서 많이 사용된다. 반면, 타입 2 하이퍼바이저는 이미 실행 중인 운영체제 위에서 작동하기 때문에 설정이 쉽고 접근성이 좋지만, 성능은 상대적으로 떨어진다.
서버에서 다양한 VM을 운영하거나, 운영체제가 없는 환경에서 가상화가 필요할 때는 보통 타입 1 하이퍼바이저를 사용한다.
Xen Server란? 어떻게 사용되는가?
Xen은 가상화 기술 중에서도 고성능이며, 오픈소스로 제공되는 타입 1 하이퍼바이저다.
AWS의 초기 EC2 인스턴스도 Xen 기반으로 구성되었다.
Xen의 구조적 특징:
- 하드웨어에 직접 설치되는 타입 1
- Dom0: 가상머신을 관리하는 특수 Linux 기반 가상머신
- DomU: 사용자가 생성하는 일반 가상머신들
[물리 서버]
↓
[Xen Hypervisor]
├── Dom0 (관리 VM)
└── DomU (여러 가상머신들)
일반 PC에서 VMware를 사용하는 것과의 차이점은?
이 경우는 타입 2 하이퍼바이저를 사용하는 것이다.
기존 OS 위에 VMware나 VirtualBox를 설치하여 그 위에서 가상머신을 실행하는 방식이다.
타입 2 예시 (개인 PC / 실습용)
[Windows 또는 macOS]
↓
[VMware Workstation / VirtualBox]
↓
[Ubuntu 또는 기타 가상머신]
타입 1 예시 (회사 서버)
[물리 서버]
↓
[Xen / ESXi / KVM]
↓
[가상머신 여러 개 실행]
결론
가상화 기술은 서버 인프라의 핵심이다.
그 중심에는 가상머신, 하이퍼바이저, 그리고 Xen과 같은 고성능 가상화 플랫폼이 있다.
일반 개발자는 VMware 같은 툴이 더 편리하고 쉽게 느껴지겠지만,
회사의 서버나 데이터센터에서 운영되는 가상화 환경은 보통 Xen이나 KVM과 같은 타입 1 기반 구조로 구성된다.
'서버 인프라 & 가상화' 카테고리의 다른 글
Podman이란? (Podman 명령어) (0) | 2025.05.16 |
---|---|
[가상화] Ubuntu 24.04.2 LTS 설치하기 (0) | 2025.03.19 |