在现代 IT 系统的核心组件中开源技术已经成为不可或缺的力量, 比如 x86 架构操作系统 Linux,Unix 操作系统 BSD,MySQL 数据库, Apache web 服务等.
据统计, 超过 50% 的技术开发人员都信奉开源哲学, 时至今日, 已经完全形成了一套成熟完整的开源软件生态体系. 在开源技术欣欣向荣的现象背后, 真正推动其迅速发展的本质往往是因为其蕴含的价值:
开源软件普遍价格实惠, 用户能够将更多的资金投入到核心业务上;
开源软件使得厂商甚至客户有权利自由的修改软件, 产生不同形态的产品, 用户能有更多选择产品的空间, 防止被某一厂商绑定;
开源软件在定制化开发方面有天然优势, 可以根据用户业务系统特点定制化, 为业务系统的高效稳定运行提供良好的支撑.
主流服务器虚拟化技术的开源门派有两个 --KVM 和 Xen.
广义上的 KVM 架构由 KVM 内核模块 (狭义的 KVM) 和 QEMU-KVM 模拟模块组成. KVM 内核模块是在 Linux 内核的基础上增加的虚拟机管理模块, 通过重用 Linux 内核中已经完善的进程调度, 内存管理, I/O 管理等模块. QEMU-KVM 模拟模块负责为虚拟机提供一个互相隔离的虚拟化资源环境, 包括 vCPU,vRAM,vDisk,vNIC 等, 每一个虚拟机都是 QEMU-KVM 的一个进程, 由 Hypervisor 中的进程调度模块统一管理调度.
广义上的 Xen 架构由 Xen Hypervisor 和虚拟域 (Domain) 两大部分组成. Xen Hypervisor 负责将 CPU 和 RAM 两大硬件资源虚拟出互相隔离的资源, 供虚拟域使用, 同时管理和监控虚拟域的资源和系统运行情况; 每个虚拟域就是一个虚拟机环境, 其中虚拟域又分为特权虚拟域 (Dom0) 和非特权虚拟域(DomU),Dom0 先于 DomU 启动, DomU 访问 I/O 资源必须要经过 Dom0,Dom0 负责 I/O 资源的虚拟化, 可以直接访问 I/O 物理资源. 如果将 Xen 架构比作完整的汽车, Xen Hypervisor 就是其中的发动机, 安装了一系列域管理和控制工具的 Dom0 就是其他零部件, 两者合一才能使虚拟化系统正常运转起来.
相比于 Xen 架构, KVM 架构有三大的优势:
同等硬件资源环境下, KVM 的性能表现更优;
KVM 架构天然的继承 Linux 内核更新迭代带来的系统优化, 几乎不费力气, 就完成了一次功能升级, 但对于 Xen 架构来说, 每一次 Xen Hypervisor 内核或者 Linux 内核版本升级, Xen 架构需要同步优化联调 Xen Hypervisor 内核和特权域基于 Linux 的内核, 才能实现整个虚拟化内核的升级;
KVM 架构与 Openstack 云平台架构衔接地最好, Openstack 架构对 KVM 架构的支持最好, 目前, OpenStack 云平台 95% 以上的虚拟化计算资源池使用了 KVM 架构.
来源: http://virtual.51cto.com/art/201812/589084.htm