美文网首页
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