Novanova-compute 学习 启动时准备工作
发布时间
阅读量:
阅读量
在深入研究nova-compute每次启动前所提供的服务准备流程之前,先了解其相关背景。
nova-compute具备对多种虚拟化驱动的支持能力,其中包括LibvirtDriver、XenAPIDriver、FakeDriver、BareMetalDriver、VMwareESXDriver、VMwareVCDriver以及HyperVDriver。从驱动名称即可判断其对应的虚拟化技术类型。通常情况下,在Linux服务器环境中,Qemu与Kvm这两种虚拟化方案较为常见(尽管表述可能存在一定的不严谨性,因为Kvm本质上是在Qemu基础上实现的CPU硬件加速功能)。因此,在这种环境下,我们倾向于选择LibvirtDriver作为驱动方式,后续内容也将围绕该驱动展开说明。Libvirt是一种虚拟化API库,它通过对各类虚拟化后端进行抽象处理,从而为开发者提供统一的编程接口。目前该库支持包括KVM/QEMU/Xen/Virtuozzo/VMWare ESX/LXC/BHyve等多种技术方案,在nova-compute中会使用到Libvirt的Python绑定接口。
通过分析启动过程,大致可以划分为以下几个阶段:
- 对Libvirt驱动进行初始化处理,具体包括建立与Libvirt的连接、创建事件队列及事件调度循环,并通过原生线程运行Libvirt自带的事件循环机制。每当实例发生
全部评论 (0)
还没有任何评论哟~
