가상화

OpenVZ란 무엇인가요?

다른 이름: Virtuozzo
정의

OpenVZ is container-based virtualisation in which every instance shares the host kernel, so guests cannot load kernel modules or run a different operating system. OpenVZ is why unusually cheap virtual servers exist: density is much higher and memory is routinely oversold.

OpenVZ가 중요한 이유

OpenVZ는 비정상적으로 저렴한 가상 서버가 존재하는 이유입니다. 밀도가 훨씬 높고 메모리는 일상적으로 오버셀링됩니다. 또한 Docker, 구형 호스트의 WireGuard 및 맞춤형 커널이 예산 제공업체에서 자주 실패하는 이유이기도 합니다.

OpenVZ 실제 적용

OpenVZ VPS를 실행하면 호스트 커널 안에서 살게 됩니다. 이는 `/proc`과 로드할 수 없는 모듈에서 확인할 수 있습니다. `modprobe wireguard`를 실행하면 파일이 없다는 메시지가 아니라 권한 문제로 실패합니다. 커널을 바꾸는 것은 불가능하므로, 워크로드를 호스트에 맞추어야 합니다. 메모리는 공유되고 과판매되는 경우가 많아 이웃의 사용량 급증이 당신에게 압박을 줄 수 있습니다. 여기서 실수는 비용이 큽니다. 커널 제어가 필요한 작업에 OpenVZ를 선택하면 KVM으로 재구축하거나 플랜 전체를 교체해야 합니다.

OpenVZ에 대한 사람들의 오해

흔한 실수는 OpenVZ가 그냥 더 오래되었거나 더 저렴한 KVM이라고 생각하는 것입니다. 그렇지 않습니다. OpenVZ 컨테이너는 커널 모듈을 로드할 수 없고, 다른 운영 체제를 실행할 수 없으며, 오래된 호스트에서 WireGuard와 같은 기능을 사용할 수 없습니다. 정정: OpenVZ를 하위 집합이 아닌 별개의 제약 조건으로 취급하십시오. 커널 수준 제어가 필요하다면 처음부터 KVM 플랜을 선택하십시오.

OpenVZ — 일반적인 질문

Can I run Docker on OpenVZ?

종종 직접적으로는 아닙니다. OpenVZ는 호스트 커널을 공유하고 커널 기능을 제한할 수 있기 때문에, Docker의 일반적인 컨테이너 런타임은 특히 오래된 호스트에서 실패할 수 있습니다. lxc와 같은 해결 방법을 사용하거나 VM에서 컨테이너를 실행할 수 있지만 보장되지는 않습니다. Docker에 의존하기 전에 호스트의 기능을 확인하십시오.

What is OpenVZ good for?

OpenVZ는 많은 인스턴스가 단일 호스트에서 실행되는 고밀도 환경에 적합하여 비용이 저렴합니다. 일반적인 웹 서버, 경량 애플리케이션, 커널 수정이 필요 없는 모든 워크로드에 적합합니다. 사용자 지정 커널, 중첩 가상화, 특수 네트워크 기능이 필요한 작업은 피해야 합니다.

OpenVZ가 등장하는 곳

가상화에서 더 보기

KVM
KVM은 Linux 커널에 내장된 완전한 하드웨어 가상화로, 각 게스트에 자체 커널과 다른 테넌트로부터 하드웨어 강제 격리를 제공합니다.
LXC
LXC는 커널을 공유하면서 네임스페이스와 cgroups로 프로세스를 격리하는 Linux 네이티브 컨테이너화입니다.
하이퍼바이저
하이퍼바이저는 가상 머신을 생성하고 실행하며 물리적 CPU, 메모리 및 IO를 그들 사이에 할당하는 소프트웨어 계층입니다.
嵌套虚拟化
중첩 가상화는 프로세서 가상화 확장을 게스트에 노출하여 가상 머신 자체가 가상 머신을 실행할 수 있게 합니다.
vCPU
vCPU는 게스트에게 제공되는 가상 프로세서로, 물리적 코어 또는 스레드의 스케줄링 시간을 기반으로 합니다.
cloud-init
cloud-init는 플랫폼에서 제공하는 메타데이터를 사용하여 가상 머신을 첫 부팅 시 구성하는 표준 메커니즘입니다.