• 第 5 章 Nova


    计算节点宕机了怎么办?

     

    Evacuate 可在 nova-compute 无法工作的情况下将节点上的 instance 迁移到其他计算节点上。

    但有个前提: Instance 的镜像文件必须放在共享存储上。

     

    下面是 Evacuate instance 的流程图

    1、向 nova-api 发送请求

    2、nova-api 发送消息

    3、nova-scheduler 执行调度

    4、nova-scheduler 发送消息

    5、nova-compute 执行操作

     

     

    实验场景如下:

    Instance c2 运行在 devstack-compute 上。

    通过断电模拟计算节点故障,然后执行 Evacuate 操作恢复 instance c2。

     

    详细分析:

    1、向 nova-api 发送请求

    目前 Evacuate 只能通过 CLI 执行。

    nova evacuate c2 --on-shared-storage

     

    2、nova-api 发送消息

    nova-api 向 Messaging(RabbitMQ)发送了一条消息:“Evacuate 这个 Instance”。查看源代码 /opt/stack/nova/nova/compute/api.py,方法是 evacuate。

     

    evacuate 实际上是通过 rebuild 操作实现的。

    evacuate 是用共享存储上 instance 的镜像文件重新创建虚机

     

    3、nova-scheduler 执行调度

    nova-scheduler 收到消息后,会为 instance 选择合适的计算节点。

    nova-scheduler 最后选择在 devstack-controller 计算节点上重建 instance。

     

    4、nova-scheduler 发送消息

    nova-scheduler 发送消息,通知计算节点可以创建 instance 了。源代码在 /opt/stack/nova/nova/scheduler/filter_scheduler.py ,方法为 select_destinations。

     

    5、nova-compute 执行操作

    • 计算节点上的工作是用共享存储上的镜像文件重建 instance。
    • 为instance分配资源
    • 使用共享存储上的镜像文件
    • 启动 instance
    • Evacuate 操作完成后,instance 在 devstack-controller 上运行。

     

    --------------------------------------------------引用来自------------------------------------------------------------------

    https://www.cnblogs.com/CloudMan6/p/5562131.html

    https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587778&idx=1&sn=c63c96bb83a201fcb42d26b032089513&chksm=8d30815bba47084d4b92b72bc250c358a31f280fb74c1c0a020f1dffde3cc2f89396e9df4455&scene=21#wechat_redirect

  • 相关阅读:
    201771010135 杨蓉庆《面对对象程序设计(java)》第十五周学习总结
    201771010135 杨蓉庆/张燕/杨玲《面对对象程序设计(java)》第十四周学习总结
    201771010135 杨蓉庆/张燕《面对对象程序设计(java)》第十三周学习总结
    团队作业6—复审与事后分析
    团队作业6——Alpha阶段项目复审
    团队作业6——事后分析
    团队作业5——测试与发布(Alpha版本)
    团队作业4-项目汇总
    团队作业4-Day7
    团队作业4-Day6
  • 原文地址:https://www.cnblogs.com/gsophy/p/11058867.html
Copyright © 2020-2023  润新知