KVM vs OpenVZ / LXC
KVM与OpenVZ:为什么虚拟化类型很重要
短い回答
KVM是完全硬件虚拟化:你的实例运行自己的内核,无法看到宿主机。OpenVZ和LXC是共享宿主机内核的容器技术,这意味着不支持自定义内核模块,旧宿主机上不支持WireGuard,Docker不可靠,并且内存记账允许提供商超卖。如果VPS异常便宜,通常是OpenVZ。
| 項目 | KVM | OpenVZ / LXC |
|---|---|---|
| 内核 | 你自己的 | 与宿主机共享 |
| 自定义内核模块 | はい | いいえ |
| Docker | 完全支持 | 不可靠或不支持 |
| 嵌套虚拟化 | はい | いいえ |
| 非Linux系统 | FreeBSD、OpenBSD、Windows | 仅Linux |
| 内存保证 | 真正保留 | 经常超卖 |
| 开销 | 2–5% | 接近零 |
| 交换空间 | 実際のスワップ | エミュレートまたは不在 |
どちらを選ぶべきか
KVM
本番用途にはKVMを選びましょう。OnionVPSのすべてのインスタンスは例外なくKVMです。
OpenVZ / LXC
OpenVZは、カーネルを一切制御できない最も安価な単一目的コンテナにのみ合理的です。
よくある質問
OpenVZ VPSでDockerを実行できますか?
通常はできません。また、動作するように見える場合も、安全でないホスト設定に依存しています。Dockerにはcgroupsとnamespacesが必要ですが、コンテナ型仮想化ではこれらを公開しません。KVMを使用してください。
VPSがKVMかOpenVZかをどう見分けるのですか?
systemd-detect-virtを実行するか、uname -r が置き換え可能なカーネルを示すかどうかを確認します。OpenVZでは別のカーネルをインストールすることはできません。