정의
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가 각각 오픈소스 및 상용 버전을 유지·업데이트하고 있다.
구성 요소
- OpenVZ 커널 패치 – 리눅스 커널에 컨테이너 격리 기능을 삽입한다.
vzctl– 컨테이너 생성·삭제·시작·정지 등 관리 작업을 수행하는 명령줄 도구.vzquota– 파일 시스템 할당량(quota) 관리.vzkernel– OpenVZ 패치를 적용한 커널 배포판(예: Debian, CentOS).vzstat,vzlist– 상태 모니터링 및 목록 표시 도구.
주요 사용 사례
- 웹 호스팅: 다수의 저비용 VPS를 제공하여 공유 호스팅보다 격리성을 높인다.
- 개발·테스트 환경: 동일 하드웨어에서 서로 다른 리눅스 배포판 및 설정을 테스트할 수 있다.
- 클라우드 인프라: 비용 효율이 중요한 프라이빗 클라우드에서 컨테이너 기반 가상 서버 제공.
라이선스
OpenVZ 코어는 GNU General Public License version 2 (GPLv2) 하에 배포된다. 일부 추가 도구는 LGPL 또는 BSD와 같은 다른 자유 라이선스를 적용한다.
관련 기술과의 차이점
- Docker·LXC 등 컨테이너 런타임과 달리, OpenVZ는 커널 레벨에서 직접 격리 기능을 제공하고, 별도의 이미지 포맷을 사용하지 않는다.
- KVM, Xen 등 하이퍼바이저 기반 가상화와 비교하면, CPU 가상화 명령어를 사용하지 않으므로 성능 오버헤드가 현저히 낮다. 다만, 서로 다른 커널 버전을 동시에 실행할 수 없는 제약이 있다.
참고 자료
- OpenVZ 공식 위키 – https://openvz.org/
- Virtuozzo 공식 문서 – https://virtuozzo.com/documentation/
- VZLinux 프로젝트 페이지 – https://vzlinux.org/
본 설명은 2026년 현재 공개된 백과사전 및 공식 문서를 기반으로 작성되었습니다.