정보관리기술사/디지털서비스

가상화(Virtualization) 기술

알로그 2025. 5. 3. 12:54
반응형

가상화(Virtualization)는 현대 IT 환경의 핵심 기술 중 하나로, 서버 자원의 효율적인 활용은 물론, 클라우드 인프라, 소프트웨어 테스트, 개발 환경 격리 등 다양한 분야에서 필수적으로 사용됩니다.

 

가상화 기술의 개념부터 종류, 하이퍼바이저, LXC, Docker까지 구조와 비교를 포함해 쉽게 정리해봅시다.

 


1. 가상화란?

가상화란, 물리적인 자원을 논리적으로 분리하여 하나의 시스템에서 여러 개의 독립된 시스템처럼 운영할 수 있게 하는 기술입니다. 서버, 운영체제, 저장소, 네트워크 등 다양한 자원을 가상화할 수 있으며, 효율성, 확장성, 보안성 측면에서 큰 이점을 제공합니다.

예를 들어, 하나의 서버에서 여러 개의 운영체제를 동시에 실행하거나, 하나의 운영체제 안에서 여러 개의 앱을 각각 격리된 환경에서 실행할 수 있습니다.

 


 

2. 가상화 기술의 분류

<목적에 따른 분류>

서버 가상화 물리 서버를 여러 가상 머신으로 분할
데스크탑 가상화 사용자 환경을 중앙 서버에서 가상으로 제공
스토리지 가상화 다양한 저장소를 하나의 논리 저장소처럼 운영
네트워크 가상화 네트워크를 논리적으로 분리하여 다중 네트워크 구현
애플리케이션 가상화 OS와 애플리케이션 간의 실행 환경을 분리
 

 

<실행 방식에 따른 분류>

✅ 하이퍼바이저 기반 가상화

  • Type 1 (Bare-Metal): 하드웨어에 직접 설치되어 실행 (ex. VMware ESXi, KVM)
  • Type 2 (Hosted): 기존 운영체제 위에서 실행 (ex. VirtualBox, VMware Workstation)

✅ 컨테이너 기반 가상화

  • 리눅스 커널의 namespace, cgroups 등을 이용하여 사용자 공간 격리
  • 대표 기술: LXC, Docker, Podman

 


 

3. 하이퍼바이저란?

하이퍼바이저(Hypervisor)는 가상 머신(VM)을 생성하고 관리하는 소프트웨어입니다.

 

Type 1 하드웨어에서 직접 실행 VMware ESXi, Hyper-V, KVM
Type 2 OS 위에서 실행되는 애플리케이션 형태 VirtualBox, VMware Workstation
 

하이퍼바이저는 CPU, 메모리, I/O 등의 자원을 분리하여 각 VM에 분배하고, 격리된 환경을 제공합니다.

Hypervisor 유형

 

4. LXC(Linux Containers)

LXC는 리눅스 커널의 Namespaces와 Cgroups 기능을 활용하여 컨테이너를 구현하는 운영체제 수준 가상화 기술입니다.

  • 하이퍼바이저 없이 커널을 공유
  • 컨테이너: 격리된 사용자 공간에서 앱 실행
  • libvirt / LXC 도구: 컨테이너 생성 및 관리
  • 커널 공유: 모든 컨테이너가 동일한 리눅스 커널 사용

Docker의 초기 버전도 내부적으로 LXC를 기반으로 했으며, 지금은 runc라는 런타임을 사용합니다.



5. Docker

Docker는 컨테이너 기술을 더 쉽게 사용할 수 있도록 만든 애플리케이션 중심의 가상화 플랫폼입니다. LXC와 유사하게 리눅스 커널을 공유하지만, 애플리케이션 단위로 패키징하고 배포할 수 있어 DevOps, CI/CD, 마이크로서비스 환경에서 널리 활용됩니다.

 

  • Docker Engine: 컨테이너 생성·실행·관리 (runc + containerd)
  • 이미지 기반 배포: 앱과 환경을 하나로 패키징
  • 오케스트레이션: Kubernetes와 연동하여 대규모 운영 가능
 

 

 

 

6. 차이점 분석

구분 가상머신 LXC 도커
격리 수준 하드웨어 수준 OS 수준 OS 수준 (경량화됨)
부팅 속도 느림 빠름 매우 빠름
커널 공유 X (자체 커널 사용) O O
용도 OS 환경 전체 가상화 시스템 단위 컨테이너 애플리케이션 단위 컨테이너
대표 기술 VMware, Hyper-V, KVM LXC Docker, Kubernetes
 

 

결론

가상화 기술은 클라우드 컴퓨팅, 개발 환경 구성, 인프라 통합, 보안 강화 등 다양한 분야에서 핵심 역할을 합니다.
특히, 컨테이너 기반 기술은 최근 DevOps와 마이크로서비스 아키텍처에서 표준처럼 사용되고 있습니다.

 

가상화를 통한 자원 효율성 향상, 비용 절감, 유연한 확장성, 격리성, 빠른 배포와 백업이 가능해집니다.

반응형