虚拟化架构KVM和XEN对比

在实际生产中KVM的虚拟化架构和XEN的虚拟化架构我都使用过 。如果应用的不深入,看不出有什么性能上的差异,但是一旦大规模部署,他们之间的性能差异就比较明显了 。下面是我找到和梳理的两种虚拟化架构的异同,供大家参考吧
计算虚拟化,目前业界主要有两大开源技术,KVM 和 XEN,关于KVM 和 XEN 架构的对比:
架构上的主要差异在于:
序号
KVM 直接基于 Linux 内核
XEN 实现了一个完整的微内核系统
KVM 模块只完成对虚拟化硬件的操作
XEN 自己实现了内存、调度、中断管理功能
所有的诸如内存、调度、中断管理等功能由 Linux 内核直接完成
XEN 使用 Dom0 Linux 内核主要完成 IO管理功能
KVM已可以支持 X86/ARM/PPC/MIPS多种硬件架构
Xen 由于需要更多研发资源,目前只能支持 X86 和 ARM 这两种硬件架构
IO 操 作 性 能 高,KVM 只 需 要VM->Linux的切换过程
IO 操作性能低,Xen 为了执行 IO 操作,必须要 dom0 的辅助,因此其 IO 会VM>->dom0 的切换过程
社区人气活跃度超过 XEN
社区人气活跃度下降
KVM 更加灵活 。由于操作系统直接和整合到 Linux 内核中的虚拟化管理程序交互,所以在任何场景下都可以直接和硬件进行交互,而不需要修改虚拟化的操作系统 。同时 KVM 也作为默认的开源软件,获得了开源虚拟化联盟 OVA 的认可 。各大厂商和组织都在推广 KVM,这使得 Xen 在开源虚拟化市场上难以立足 。Xen 这个成熟的平台在可用资源、可管理性、性能等方面的优势在快速发展的KVM 面前也略显暗淡 。随着时间的推移,虚拟化技术后来者 KVM 将会超越 Xen,拥有开源虚拟化市场 。
服务器虚拟化系统的逻辑架构主要包括以下几个部分:
(一)虚拟化控制器()
底层物理设备与虚拟机之间的控制层,实现底层物理资源的抽象化和资源隔离,并对上层虚拟机运行进行控制,虚拟化系统支持裸金属架构 。在虚拟机运行过程中,将对虚拟机的磁盘映象
进行读写操作 。
(二)虚拟机(,VM)
【虚拟化架构KVM和XEN对比】指对通过各种虚拟化技术,为用户提供的与原有物理服务器不同的操作系统和应用程序运行环境的统称 。虚拟机通常使用物理服务器的部分资源,在用户看来它与物理服务器的使用完全相同 。
(三)物理存储
虚拟化环境中支持不同存储设备和存储协议组成的物理存储,通常分布式存储系统磁盘存储 。
(四)虚拟化管理中心
由运行在虚拟化管理服务器上的管理软件和对应的管理客户端、外部 Web 门户等部分构成 。对系统中的各类物理或虚拟资源进行统一管理,实现资源发现、资源调配、批量部署、HA 和自动迁移以及其它基于策略的高级控制功能,并对外提供管理接口 。
(五)磁盘映象(Image)
在虚拟化系统中,通过磁盘映象为虚拟机提供本地硬盘存储空间 。磁盘映象可以表现为物理存储设备上的文件,或者磁盘逻辑卷(,LV) 。