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 会等待密码输入,但后台服务没有地方输入密码,然后迁移操作就会卡在那里。
 
 

O040、Migrate Instance 操作详解的更多相关文章

  1. Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)

    Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上. Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的. Migrate 前必须满足一个条件:计算 ...

  2. Unshelve Instance 操作详解 - 每天5分钟玩转 OpenStack(39)

    上一节我们 shelve instance 到 Glance,本节讨论如何通过 unshelve 操作恢复该 instance. 因为 Glance 中保存了 instance 的 image,uns ...

  3. Resize Instance 操作详解 - 每天5分钟玩转 OpenStack(41)

    Resize 的作用是调整 instance 的 vCPU.内存和磁盘资源. Instance 需要多少资源是定义在 flavor 中的,resize 操作是通过为 instance 选择新的 fla ...

  4. O041、Resize Instance 操作详解

    参考https://www.cnblogs.com/CloudMan6/p/5548294.html   Resize 的作用是调整instance的vCPU.内存和磁盘资源.   Instance  ...

  5. Start Instance 操作详解 - 每天5分钟玩转 OpenStack(31)

    本节通过日志文件详细分析 instance start 操作. 下面是 start instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执 ...

  6. Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)

    本节通过日志详细分析 Nova Terminate 操作. Terminate 操作就是删除 instance,下面是 terminate instance 的流程图 向 nova-api 发送请求 ...

  7. Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

    本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中.当需要恢复的时候,执 ...

  8. Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)

    本节我们通过日志详细讨论 instance 的 snapshot 操作. 有时候操作系统损坏得很严重,通过 Rescue 操作无法修复,那么我们就得考虑通过备份恢复了.当然前提是我们之前对instan ...

  9. Rebuild Instance 操作详解 - 每天5分钟玩转 OpenStack(37)

    上一节我们讨论了 snapshot,snapshot 的一个重要作用是对 instance 做备份. 如果 instance 损坏了,可以通过 snapshot 恢复,这个恢复的操作就是 Rebuil ...

随机推荐

  1. springboot使用RestTemplate以post方式发送json字符串参数(以向钉钉机器人发送消息为例)

    使用springboot之前,我们发送http消息是这么实现的 我们用了一个过时的类,虽然感觉有些不爽,但是出于一些原因,一直也没有做处理,最近公司项目框架改为了springboot,springbo ...

  2. Android跨进程通信Messenger

    一.概述 我们可以在客户端发送一个Message给服务端,在服务端的handler中会接收到客户端的消息,然后进行对应的处理,处理完成后,再将结果等数据封装成Message,发送给客户端,客户端的ha ...

  3. 宝塔安装Nextcloud,挂载在阿里云oss上,打造个人/企业高效私有云盘

    如下未完整整理,看懂看不懂随缘.... 准备条件: 1.阿里云oss 2.阿里云ecs 3.环境:centos7.x 步骤: 1.centos中安装宝塔面板 2.下载NextCloud安装包,上传到宝 ...

  4. JavaScript如何封装插件

    什么是封装呢? 我的理解就是 把一个功能单独做成一个组件,就像做饺子,以前做饺子必须自己先用面粉做饺子皮,再做饺子馅,然后再手工包饺子,但是现在人们发明了自动包饺子机器,虽然机器里面的每一步骤和你自己 ...

  5. JAVA反射机制,总结下

    1.总体概述 Java反射机制指的是在Java程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法:对于给定的一个对象,都能够调用它的任意一个属性和方法.这种动态获取类的内容以及动态调用对 ...

  6. sqliteDOC创建数据库

    上次刚接触SqlLite,不知道怎么创建数据库,现在做下总结: 界面和MYSQL一样,都是CMD界面,但不是在SQLite.exe中创建数据库: 首先还是说一下cmd下sqlite的使用网上已经很多了 ...

  7. mgo连接池

    package main import ( "log" "sync" "time" "gopkg.in/mgo.v2" ...

  8. LeetCode.1170-比较字符串中最小字符的出现频率(Compare Strings by Frequency of the Smallest Char)

    这是小川的第412次更新,第444篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第263题(顺位题号是1170).在一个非空字符串s上定义一个函数f(s),该函数计算s中最小字 ...

  9. CISC和RISC的区别

    转载于http://blog.sina.com.cn/s/blog_9d5430ce0100x5pb.html RISC(Reduced Instruction Set Computer)和CISC( ...

  10. 模型蒸馏(Distil)及mnist实践

    结论:蒸馏是个好方法. 模型压缩/蒸馏在论文<Model Compression>及<Distilling the Knowledge in a Neural Network> ...