• O040、Migrate Instance 操作详解


     
    Migrate 操作的作用是将instance 从当前的计算节点迁移到其他的计算节点上。
     
    Migrate 不要求源节点和目标节点共享存储,当然共享存储也是可以的。
     
    Migrate 前必须满足一个条件:计算节点间需要配置 nova 用户无密码访问。
     
    Migrate 实现过程如下:
     
        1、nova-api 发送Migrate 消息,告知有一个Migrate的请求(使用的是resize方法,详见后面章节)    n-api.log
        2、nova-scheduler 执行调度,选择最合适的计算节点。有可能会选中源计算节点,这时会抛出一个 UnableToMigrateToSelf 异常,由于又RetryFilter,nova-scheduler 会重新调度,而且重新调度的时候会先过滤掉源计算节点,这样就能Migrate到其他计算节点上了。    n-sch.log
        3、nova-scheduler发送消息到Messaging,告知可以进行Migrate了
        4、nova-compute 先会通过ssh 在目标节点上的instance 目录中touch一个文件,来判断使用的是否是共享存储
        5、如果上面是共享存储省略磁盘文件传输过程,如果不是共享存储需要在目标节点上创建instance目录
        6、关闭instance 
        7、将磁盘文件传输到目标计算节点
        8、在目标节点上启动instance,过程和 launch instance类似
        9、Web UI 上会提示 Confirm Or Revert Resize / Migrate ,用户可以选择确认或者回退
        10、如果用户选择确认,会在源节点上执行删除instance操作
        11、如果用户选择回退,会启动源节点上的instance ,并删除目标节点上的instance
     
    注意:迁移过程中源和目标节点之前会使用ssh和scp,为了使操作顺利进行,必须要保证nova-compute 进程的启动用户(通常是nova,也可能是root)能都在计算节点间无密码访问。否则nova-compute 会等待密码输入,但后台服务没有地方输入密码,然后迁移操作就会卡在那里。
     
     
  • 相关阅读:
    数据结构与算法之并查集的精简要点总结
    Python/C++ API使用指南 (Python & C++ 混编)
    Visual Studio 动态链接库(dll)文件使用
    C++ 之 多态(虚函数与虚继承)
    Map与Set关于迭代
    Mybatis配置解析
    mybatis入门
    数据结构与算法概念回顾
    利用commons工具包实现文件上传
    JavaWeb开发中的分层思想(一)
  • 原文地址:https://www.cnblogs.com/www1707/p/10920827.html
Copyright © 2020-2023  润新知