blob.png blob.png

 上面左边是我的个人微信,如需进一步沟通,请加微信。  右边是我的公众号“Openstack私有云”,如有兴趣,请关注。


    OpenStack虚拟机由于一些特殊原因导致进入error状态,比如宿主机宕机,docker容器故障等等, 此时我们无法在界面上对虚拟机进行其他操作了,只能删除重建,但是如果是已经在用的虚拟机,那就要想办法恢复,有一些人是直接通过后台数据库直接修改数据,这种方式总觉得不安全,有一个方法更安全,就是直接通过nova命令的 reset-state子命令,这里要特别注意,子命令后面还可以加状态参数,比如 --active ,原来一直不知道,以为这个命令没有办法修改状态,后面发现可以加参数,这个问题就好办了。
    详细步骤:
     1.激活环境变量:  

source /etc/kolla/admin-openrc.sh

    2.查询虚拟机id 或者name:

nova list

    3.修改虚拟机状态

nova reset-state <name> --active

    4.关闭虚拟机

nova stop <name>

 

    5.启动虚拟机

nova start <name>

      

另外,当物理宿主机故障的时候,可以通过web管理界面疏散虚拟机,如果对单个虚拟机进行疏散可以使用这个命令: nova evacuate <vm-name> 。