OpenStack的Nova组件是负责计算资源管理的核心服务,负责虚拟机的生命周期管理。以下是Nova组件的详细解析及创建虚拟机的完整流程:
一、Nova组件核心模块
-
Nova-api:
- 接收用户RESTful请求(如通过Dashboard或CLI),处理API调用。
- 验证用户身份(Keystone)、检查资源配额、参数合法性。
- 将请求转发至其他组件,并初始化虚拟机数据库记录。
-
Nova-scheduler:
- 根据资源可用性、策略(如过滤器Filter和权重Weight)选择合适计算节点。
- 过滤不符合条件的节点(如资源不足),按策略(如最小负载)排序候选节点。
-
Nova-compute:
- 在目标计算节点上执行虚拟机操作。
- 调用虚拟化驱动(如Libvirt/KVM、Hyper-V),管理虚拟机实例生命周期。
-
Nova-conductor:
- 代理计算节点与数据库的交互,避免直接访问,增强安全性。
- 处理复杂任务(如迁移操作),协调多组件状态更新。
-
数据库(通常为MySQL或PostgreSQL):