openstack 虚机热迁移问题:虚机状态一直处于迁移中的情况处理

前提:在偶尔的虚机热迁移中,发现虚机一直属于迁移状态中。 但是查看后台流量监控,发现没有流量已经下来了。然后在目标机器上查看,发现kvm已经在目标机器上。

1、查看kvm 实际所处宿主机方法;

  a、拿到一直处于迁移状态的虚机ID

    

  b、查看虚机对应的kvm实例名称

    web界面:管理员 | 系统 | 虚拟机管理器 |  选择“compute-8.ops.ft1”

    

     通过实例ID,获取到实例名称: instance-00000a57   

  c、在目标宿主机上查看 kvm 实例是否存在:

    

  d、 在原宿主机上查不到现有的实例进程。

所以问题来了:  虚机一直处于迁移中,但是kvm 已迁移到目标宿主机。

解决办法:

  第一种:如果虚机可以重启。 在后台修改虚机状态,然后重启虚机后重新迁移。

    1、修改状态  # openstack server set --state active  d28c79b3-460b-4163-981a-b5d9f5eb9d00 

    2、重启

    3、重新迁移

  第二种:修改数据库记录,(必须确认处于以上问题,否则后期无法通过控制台操作虚机)

  1、修改状态  # openstack server set --state active  d28c79b3-460b-4163-981a-b5d9f5eb9d00    

  2、进入nova库中修改 instances 表记录

      # UPDATE instances SET host='目标宿主机' where hostname='实例名称';

      # UPDATE instances SET launched_on='目标宿主机' where hostname='实例名称';

      # UPDATE instances SET node='目标宿主机' where hostname='实例名称';

  

  附:查看 instances 表结构

    # desc instances;

IT运维开发路上的点点滴滴。。。
原文地址:https://www.cnblogs.com/weijie0717/p/15503632.html