WIPIVERSE

OpenVZ

정의
OpenVZ는 리눅스 커널 기반의 OS‑레벨 가상화(컨테이너) 기술이다. 하나의 물리적 서버에서 여러 개의 격리된 사용자 공간(컨테이너, 혹은 VPS)을 동시에 실행할 수 있도록 하며, 각 컨테이너는 독립적인 파일 시스템, 프로세스 트리, 네트워크 인터페이스 등을 가진다.

주요 특징

특징 설명
OS‑레벨 가상화 하이퍼바이저가 아닌 커널 자체에서 격리 기능을 제공한다.
경량성 하드웨어 가상화에 비해 오버헤드가 낮아 동일 하드웨어에서 더 많은 인스턴스를 운영할 수 있다.
공유 커널 모든 컨테이너가 동일한 리눅스 커널을 공유하므로 커널 버전 및 모듈이 동일해야 한다.
리소스 할당 제어 ulimit, cgroups, quota 등을 이용해 CPU, 메모리, 디스크, 네트워크 대역폭을 제한한다.
Migration 지원 일부 버전에서는 라이브 마이그레이션 기능을 제공한다.
오픈소스 GPLv2 라이선스로 배포되며, 커뮤니티와 기업이 함께 개발·보완한다.

역사

  • 2005년: 처음 공개된 이후 러시아의 기업 SWsoft(후에 Parallels에 인수)에서 활발히 개발.
  • 2007년: OpenVZ 2.6.18 커널 패치를 공식 릴리스, 주요 기능으로 vpsadmin 관리 도구 제공.
  • 2010년: vzctl 및 vzlist 등 관리 명령어가 정착, 대규모 호스팅 서비스에 채택 확대.
  • 2014년: OpenVZ 커널 개발이 중단되고, 프로젝트는 Virtuozzo(상용 제품)와 VZLinux(오픈소스 포크)로 분화.
  • 현재: 커뮤니티 기반 포크인 VZLinux와 Virtuozzo가 각각 오픈소스 및 상용 버전을 유지·업데이트하고 있다.

구성 요소

  1. OpenVZ 커널 패치 – 리눅스 커널에 컨테이너 격리 기능을 삽입한다.
  2. vzctl – 컨테이너 생성·삭제·시작·정지 등 관리 작업을 수행하는 명령줄 도구.
  3. vzquota – 파일 시스템 할당량(quota) 관리.
  4. vzkernel – OpenVZ 패치를 적용한 커널 배포판(예: Debian, CentOS).
  5. vzstat, vzlist – 상태 모니터링 및 목록 표시 도구.

주요 사용 사례

  • 웹 호스팅: 다수의 저비용 VPS를 제공하여 공유 호스팅보다 격리성을 높인다.
  • 개발·테스트 환경: 동일 하드웨어에서 서로 다른 리눅스 배포판 및 설정을 테스트할 수 있다.
  • 클라우드 인프라: 비용 효율이 중요한 프라이빗 클라우드에서 컨테이너 기반 가상 서버 제공.

라이선스
OpenVZ 코어는 GNU General Public License version 2 (GPLv2) 하에 배포된다. 일부 추가 도구는 LGPL 또는 BSD와 같은 다른 자유 라이선스를 적용한다.

관련 기술과의 차이점

  • Docker·LXC 등 컨테이너 런타임과 달리, OpenVZ는 커널 레벨에서 직접 격리 기능을 제공하고, 별도의 이미지 포맷을 사용하지 않는다.
  • KVM, Xen 등 하이퍼바이저 기반 가상화와 비교하면, CPU 가상화 명령어를 사용하지 않으므로 성능 오버헤드가 현저히 낮다. 다만, 서로 다른 커널 버전을 동시에 실행할 수 없는 제약이 있다.

참고 자료

  1. OpenVZ 공식 위키 – https://openvz.org/
  2. Virtuozzo 공식 문서 – https://virtuozzo.com/documentation/
  3. VZLinux 프로젝트 페이지 – https://vzlinux.org/

본 설명은 2026년 현재 공개된 백과사전 및 공식 문서를 기반으로 작성되었습니다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기