美文网首页
Learning Openstack part 7 Nova计算

Learning Openstack part 7 Nova计算

作者: drfung | 来源:发表于2017-07-03 21:03 被阅读66次

    Nova架构

    Nova计算服务是Openstack的核心服务,Nova的架构如下:

    Nova-架构.png

    Nova的服务架构比较复杂,众多子服务以后台demon的形式运行:

    • API

      • nova-api - 接受并响应用户请求
    • Compute Core

    • nova-scheduler - nova调度程序,通过定义过滤方法筛选哪个计算节点来运行instance。

    • nova-compute - 通过Hypervisor api来管理虚拟机的生命周期

    • Hypervisor - 计算节点上运行的虚拟机管理程序,如KVM,Xen,VMware等

    • nova-conductor - 以前版本的计算节点是可以直接访问数据库的,出于安全和伸缩性的考虑,新的版本增加了该组件,计算节点的访问数据库要求将托管给该服务代理。

    • Console Interface

      • nova-console - 支持多种方式访问控制台
        • nova-novncproxy
        • nova-spicehtml5proxy
        • nova-xvpnvncproxy - 基于java的客户端访问
      • nova-consoleauth - 为虚拟机console提供token支持
      • nova-cert - x.509证书支持
    • Database

      nova的持久性数据将存储在数据库中

      nova-database.png
    • Massage Queue - 为解耦各个子服务,nova通过Message Queue来做为各个服务的消息中心。


    查看nova-*各个子服务

    nova-*

    nova-*工作流

    image.png
    1. 用户对api发送一个创建虚拟机的请求
    2. API将请求发送给RabbitMQ
    3. Nova-scheduler从RabbitMQ得到请求,然后运用调度算法,挑选合适的计算节点。
    4. Message 向指定的算节点的compute服务发送请求,节点的nova-compute服务调用Hypervisor创建好虚拟机。
    5. 在创建虚拟机的过程中,如果需要查询或更新数据库,compute服务会通过message queque向conductor发送请求。

    Instance 管理常规操作

    instance-manage.png

    常规操作

    • Launch、Start、Reboot、Shut Off 和 Terminate 都很好理解。
    • resize - 通过应用不同的 flavor 调整分配给 instance 的资源。
    • Lock/Unlock - 可以防止对 instance 的误操作。
    • Pause/Suspend/Resume - 暂停当前 instance,并在以后恢复。
      Pause 和 Suspend 的区别在于 Pause 将 instance 的运行状态保存在计算节点的内存中,而 Suspend 保存在磁盘上。
      Pause 的优点是 Resume 的速度比 Suspend 快;缺点是如果计算节点重启,内存数据丢失,就无法 Resume 了,而 Suspend 则没有这个问题。
    • snapshot - 备份实例到glance中,snapshot可以用于生成image。

    故障处理

    计划内故障处理

    • migrate - 将 instance 迁移到其他计算节点。
      迁移之前,instance 会被 Shut Off,支持共享存储和非共享存储。
    • live migrate - 与 Migrate 不同,Live Migrate 能不停机在线地迁移 instance,保证了业务的连续性。也支持共享存储和非共享存储(Block Migration)
    • shelve migrate - Shelve 将 instance 保存到 Glance 上,之后可通过 Unshelve 重新部署。
      Shelve 操作成功后,instance 会从原来的计算节点上删除。
      Unshelve 会重新选择节点部署,可能不是原节点。

    计划外故障处理

    • instance故障
      • rescue - 用指定的启动盘启动,进入 Rescue 模式,修复受损的系统盘。成功修复后,通过 Unrescue 正常启动 instance。
      • rebuild - 如果 Rescue 无法修复,则只能通过 Rebuild 从已有的备份恢复。Instance 的备份是通过 snapshot 创建的,所以需要有备份策略定期备份。
    • 计算节点故障 - 利用 共享存储 上 Instance 的镜像文件在其他计算节点上重建 Instance。

    相关文章

      网友评论

          本文标题:Learning Openstack part 7 Nova计算

          本文链接:https://www.haomeiwen.com/subject/fheacxtx.html