OpenStack Nova:计算服务详解

0 下载量 162 浏览量 更新于2024-08-03 收藏 1.08MB PDF 举报
"OpenStack之计算服务(Nova)详解" OpenStack是开源的云计算平台,而Nova作为其核心组件,专注于处理计算服务,包括云主机实例的生命周期管理,如创建、删除、启动和停止等操作。Nova自身并不具备虚拟化能力,而是依赖于各种虚拟机管理器(Hypervisor),如KVM、Xen、VMware ESX和QEMU等,来实现这些功能。 在Nova的组件架构中,有几个关键模块: 1. **Nova-scheduler**:这个模块扮演着调度器的角色,与Placement服务协同工作,根据资源需求和可用性从整个计算集群中选择合适的主机来创建新的虚拟机实例。 2. **Nova-api**:这是Nova对外的主要接口,接收并响应来自外部世界的请求,比如通过OpenStack的Dashboard(Horizon)或命令行工具(CLI)发起的操作。 Nova还采用了单元(Cell)管理模式来优化大规模环境下的性能和可扩展性。计算节点被划分为多个单元,每个单元有自己的消息队列和数据库。单元“cell0”是顶层管理单元,包含接口模块和调度模块,而其他单元如“cell1”、“cell2”等则负责实际的实例管理。数据库分为三部分:“nova_api”、“nova_cell0”和“nova”。 - **nova_api**数据库存储全局信息,如单元配置、实例类型等。 - **nova_cell0**数据库用于处理调度失败的实例,保存这些异常情况的数据以便集中管理。 - **nova**数据库服务于所有单元,存储具体的实例和单元内的相关信息。 Nova的工作流程大致如下: 1. 用户通过管理界面或命令行向**nova-api**发起创建云主机的请求。 2. **nova-api**将请求放入消息队列,然后由对应的后台进程处理。 3. **Nova-scheduler**根据策略和资源选择合适的计算节点。 4. 选择的计算节点上的**Nova-compute**服务接收到消息,开始在Hypervisor上创建虚拟机实例。 5. 实例创建完成后,相关信息更新到相应的数据库中,完成整个流程。 Nova还与其他OpenStack服务紧密集成,如Glance(镜像服务)、Cinder(块存储服务)和Neutron(网络服务),它们共同提供了全面的云基础设施服务。例如,Glance提供镜像资源,Cinder负责卷管理,Neutron则为虚拟机提供网络连接和服务。 Nova是OpenStack中实现弹性计算的关键组件,通过其组件和单元管理模式,能够高效、灵活地管理大量云主机实例,为用户提供按需计算的能力。了解和掌握Nova的工作原理和架构对于管理和运维OpenStack云环境至关重要。