O043、计算节点宕机了怎么办

 
Rebuild 可以恢复损坏的instance 。那如果是宿主机坏了怎么办呢?比如硬件故障或者断电造成整台计算机节点无法工作,该节点上运行的instance如何恢复呢?
 
用shelve或者Migrate可不可以?很不幸,这两个操作都要求instance 所在的计算节点的 nova-compute服务正常运行。幸运的是,还有 Evacuate
 
Evacuate 可在 nova-compute 无法工作的情况下将节点上的instance 迁移到其他计算节点上,但有个前提:instance的镜像文件必须放在共享存储上
 
我们可以通过断电模拟计算节点故障,然后执行Evacuate 操作恢复 instance。目前Evacuate只能通过CLI 执行。
 
stack@DevStack-Controller:~$ nova help evacuate
usage: nova evacuate [--password <password>] [--force] <server> [<host>]
 
Evacuate server from failed host.
 
Positional arguments:
  <server>               Name or ID of server.
  <host>                 Name or ID of the target host. If no host is
                         specified, the scheduler will choose one.
 
Optional arguments:
  --password <password>  Set the provided admin password on the evacuated
                         server. Not applicable if the server is on shared
                         storage.
  --force                Force to not verify the scheduler if a host is
                         provided. (Supported by API versions '2.29' -
                         '2.latest')
 
其实 Evacuate 是通过rebuild 操作实现的,因为Evacuate 是用共享存储上的instance的镜像文件重新创建虚机
 
1、先是 nova-scheduler 选择新的计算节点
2、nova-compute 在计算节点上执行rebuild操作
 
 
posted @ 2019-05-24 23:55  三角形  阅读(286)  评论(0编辑  收藏  举报