目前,PC的虚拟化逐渐成为互联网发展的大趋势,我们知道,KVM、XEN、OpenVZ是虚拟化的三种方式,今天我们就来探讨这三种虚拟化的优势和劣势。
![fc43084bf79394ed92ba71c7720f03f4.png](https://i-blog.csdnimg.cn/blog_migrate/336e1888181accd9f7844f50a288aba7.jpeg)
1、pc虚拟化——KVM
KVM是完整的硬件虚拟化,可在Windows / Linux来完美运行操作系统,并且使用virtio驱动程序可以获得接近本机的性能,在理想情况下本机硬件的损失仅为3%。它支持从ISO进行安装,也支持基于模板的安装,在隐私方面具有良好的隔离性,在重负载下会遭受I / O延迟。
每个用户(VM)在主机节点上均作为进程运行,这适合发现用户在运行时发生的问题,如果主机承受的所有用户都承受重负载,只要关闭造成负载的源头用户即可解决问题。
由于KVM是大多数现代内核中的本机,在某些情况下,它的确比其他内核具有性能优势,并且仍然相当新,并且处于非常活跃的开发中。大多数人选择KVM是为了获得出色的性能和灵活性,尽管由于成熟度可能不如Xen稳定。
2、pc虚拟化——XEN
Xen的两种版本可以在同一物理主机Xen PV(半虚拟化)和HVM(完整的硬件虚拟化)上同时运行。Xen PV guest虚拟机(在托管行业中)倾向于基于模板,以实现快速部署和快速的性能,可以在Xen PV中运行自己的内核。
Xen HVM的运行方式与KVM十分相似,它具有更好的基于Linux发行版的驱动程序,因为大多数内核默认情况下自2006年左右开始提供PV,因此无需安装virtio即可提高服务器性能,但是与KVM,尽管可以在Windows上使用Xen PV驱动程序,不过总体还是比KVM差一些。
Xen现在已经很成熟,大多数人选择Xen来获得具有出色稳定性的出色性能。Xen主机通常会将Ram和CPU内核预先分配给xen虚拟机管理程序,因此它具有自己的专用资源,用户无法对其进行影响以实现稳定性。
3、pc虚拟化——OpenVZ
OpenVZ由于其快速部署和非常高的密度而在托管行业中广受欢迎,它可以实现这一点,因为主机内核与ram,cpu和磁盘一起与guest虚拟机共享,并且guest虚拟机和主机I / O之间有相当基本的分隔瓶颈几乎不存在。
与KVM和Xen相比,就磁盘访问速度和磁盘延迟而言,OpenVZ显然是赢家,但这是以缺乏分离度为代价的,同时也缺乏个体用户OS对两者的影响力。主机节点和其他用户,主机节点对所有单个进程都是可见的,并且无法加密数据。
OpenVZ仅支持Linux(除非使用商业并行将以某种方式支持Windows),OpenVZ也可以嵌套在Xen或KVM内以实现更大的密度,由于可以在单个主机节点上运行的容器数量众多,这使OpenVZ的价格比KVM和Xen更具竞争力。