OpenVZ、Xen 和 KVM – 差异、优势、比较
本概述旨在说明,这只是第一部分,并非一篇精细详细的技术论文,而只是一个严肃的概述,以帮助您在购买廉价的 vps 时做出决策哪种底层虚拟机管理程序技术最适合您的用例在 LowEndBox 上。
虽然这可能是旧新闻,但有些主题一次又一次地出现,有什么区别,哪个更快,我应该使用哪个等等,所以最初让我们从一个非详尽的比较表开始:
KVM
KVM 是完全硬件虚拟化的,您几乎可以将任何作系统作为客户机 BSD/Windows/Linux 运行,并且使用 virtio 驱动程序,您将获得接近本机的性能,一些实验表明,在理想情况下,本机硬件的损失仅为 3%。
它确实支持从 ISO 安装以及基于模板的安装,它在隐私方面具有良好的分离性,在重负载下可能会出现 I/O 滞后,这会影响客户作系统和主机作系统。
每个来宾 (VM) 在主机节点上作为一个进程运行,而这非常适合在需要时发现哪个来宾导致了问题,如果主机负载过重,所有来宾都会受到影响,它也可能导致问题。
您可以毫不费力地过度分配 Ram,但是在大多数情况下,除非主机是完整的 SSD,否则这不太可能发生,因为它会给主机节点带来开销以及随后的明显性能问题。
由于 KVM 在大多数现代内核中是原生的,因此在某些情况下它确实比其他内核具有性能优势,并且仍然相当新并且正在非常积极地开发中。
大多数人选择 KVM 是为了获得出色的性能和灵活性,尽管由于成熟度的原因,可能不如 Xen 稳定。
XEN
Xen 有两种版本,但可以在同一物理主机上同时运行,Xen PV(半虚拟化)和 HVM(完全硬件虚拟化)
Xen PV 客户机(在主机行业中)往往是基于模板的,以实现 repid 部署和快速性能,您可以在 Xen PV 中运行自己的内核,这几乎是现在的默认设置,您只能在 Xen PV 上运行 Linux(BSD 可以进行额外配置,但并不常见)。
Xen HVM 的运行方式与 KVM 非常相似,它具有更好的基于 Linux 的发行版驱动程序,因为自 2006 年左右以来,PV 在大多数内核中都默认可用,因此您无需安装 virtio 即可提高性能,但是与 KVM 相比,NetBSD 和 Windows 在 Xen HVM 上的性能不佳,虽然您可以在 Windows 上使用适用于 Windows 的 Xen PV 驱动程序在一定程度上克服这个问题,但它的运行效果不佳可以说,KVM 开箱即用。
Xen 现在已经很老了,而且非常成熟,大多数人选择 Xen 是因为性能好,稳定性好。
Xen 主机通常会将 RAM 和 CPU 内核预先分配给 Xen 虚拟机管理程序,以便它拥有自己的专用资源,来宾无法影响这些资源以实现稳定性。
OpenVZ
OpenVZ 因其快速部署和非常高密度而在托管行业广受欢迎,它之所以能实现这一点,是因为主机内核与 ram、cpu 和磁盘一起与客户机共享,客户机和主机之间有相当基本的分离,I/O 瓶颈几乎不存在。
在磁盘存取速度和磁盘延迟方面,OpenVZ 显然是赢家,相较于 KVM 及 Xen 而言,这代价是缺乏独立性,而且 1 个客户作系统对主机节点和其他客户的影响,所有单独的进程对主机节点都是可见的,而且你不能加密你的数据。
OpenVZ 只支持 Linux(除非使用商业的 parallels,它们会以某种方式支持 Windows)
OpenVZ 也可以嵌套在 Xen 或 KVM 内,以达到更大的密度,由于您可以在单个主机节点上运行大量容器,这使得 OpenVZ 的价格比 KVM 和 Xen 更具竞争力。