KVM vs OpenVZ / LXC

KVM 与 OpenVZ:虚拟化类型为何重要

简短回答

KVM 是完全硬件虚拟化:你的实例运行自己的内核,且无法看到宿主机。OpenVZ 和 LXC 是共享宿主内核的容器技术,这意味着无法使用自定义内核模块、在旧宿主机上无法使用 WireGuard、Docker 不可靠,并且内存记账允许提供商超卖。如果 VPS 异常便宜,通常是 OpenVZ。

KVM vs OpenVZ / LXC — 并列对比
维度KVMOpenVZ / LXC
内核独立与宿主机共享
自定义内核模块
Docker完全支持不可靠或不受支持
嵌套虚拟化
非 Linux 系统FreeBSD, OpenBSD, Windows仅 Linux
内存保证真正预留经常超卖
开销2–5%接近零
Swap真实交换模拟或缺失

你应该选择哪个?

KVM

选择KVM用于任何真实用途。每个OnionVPS实例都是KVM,无一例外。

OpenVZ / LXC

OpenVZ仅适用于最便宜的单用途容器,在这些容器中你无法控制内核的任何部分。

常见问题

我能在OpenVZ VPS上运行Docker吗?

通常不能,即使看似可行,也依赖于不安全的宿主机配置。Docker需要cgroups和命名空间,而基于容器的虚拟化不提供这些。使用KVM。

如何判断VPS是KVM还是OpenVZ?

运行systemd-detect-virt,或者检查uname -r是否显示你可以更换的内核。在OpenVZ上,你根本无法安装不同的内核。