Virtualisation
What is OpenVZ?
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.
Why OpenVZ matters
OpenVZ is why unusually cheap virtual servers exist: density is much higher and memory is routinely oversold. It is also why Docker, WireGuard on older hosts and custom kernels frequently fail on budget providers.
OpenVZ in practice
When you run an OpenVZ VPS, you live inside the host's kernel. You see this in `/proc` and in the modules you cannot load: try `modprobe wireguard` and it fails with a message about permissions, not a missing file. Changing the kernel is out of the question, so you adapt the workload, not the host. Memory is shared and often oversold, so a neighbour's spike can pressure yours. A mistake here is costly: pick an OpenVZ box for a task that needs kernel control, and you face rebuilding on KVM or replacing the plan entirely.
What people get wrong about OpenVZ
A common error is assuming OpenVZ is just an older or cheaper kind of KVM. It is not. OpenVZ containers cannot load kernel modules, run a different OS, or use features like WireGuard on older hosts. The correction: treat OpenVZ as a distinct constraint, not a subset. If you need kernel-level control, choose a KVM plan from the start.
OpenVZ — common questions
Can I run Docker on OpenVZ?
Often not directly. Because OpenVZ shares the host kernel and may restrict kernel features, Docker's usual container runtime may fail, especially on older hosts. You might use workarounds like lxc or run containers in a VM, but it's not guaranteed. Check your host's capabilities before relying on Docker.
What is OpenVZ good for?
OpenVZ is good for high-density environments where many instances run on one host, making it cheap. It suits typical web servers, lightweight applications, and any workload that doesn't need kernel modifications. Just avoid tasks requiring custom kernels, nested virtualisation, or exotic network features.
Where OpenVZ comes up
- How do I choose a VPS provider? Check five things: virtualisation type (KVM, not OpenVZ), whether cores are dedicated, which jurisdiction the server sits in, what identity data the provid…
- Can I install any operating system on a VPS? On KVM, yes. OnionVPS provides templates for Ubuntu, Debian, AlmaLinux, Rocky, Fedora, Arch, Alpine, NixOS, FreeBSD, OpenBSD, Windows Server, Proxmox and o…
- What is KVM virtualisation? KVM (Kernel-based Virtual Machine) is full hardware virtualisation built into the Linux kernel, using processor extensions to run each guest with its own k…
- Can I run Docker on a VPS? On a KVM VPS, yes, without restriction — install Docker Engine from the official repository and everything works, including buildx, Compose and Docker-in-D…
- KVM vs OpenVZ: why the virtualisation type matters KVM is full hardware virtualisation: your instance runs its own kernel and cannot see the host. OpenVZ and LXC are container technologies that share the ho…
- How much does a VPS cost? A usable VPS starts at about $4 a month for 1 vCPU, 1 GB of RAM and 20 GB of NVMe storage. A production instance with dedicated cores, 8 GB of RAM and 160 …
More from virtualisation
- KVM
- KVM is full hardware virtualisation built into the Linux kernel, giving each guest its own kernel and hardware-enforced isolation from other tenants.
- LXC
- LXC is Linux-native containerisation that isolates processes with namespaces and cgroups while sharing the host kernel.
- Hypervisor
- A hypervisor is the software layer that creates and runs virtual machines, allocating physical CPU, memory and IO between them.
- Nested virtualisation
- Nested virtualisation lets a virtual machine itself run virtual machines, by exposing the processor virtualisation extensions to the guest.
- vCPU
- A vCPU is a virtual processor presented to a guest, backed by scheduling time on a physical core or thread.
- cloud-init
- cloud-init is the standard mechanism for configuring a virtual machine on first boot, using metadata supplied by the platform.