概念梳理
先明确几个概念。
随着历史的推演,openstack 的文档和命令中有些概念趋于模糊和混淆,我们常常弄不清,比如 instance 和 server,host 和 node,migration 和 evacuate ,它们有什么区别的呢?
ServerFault 上有人提了问,然后有大神做了详细的解释,引用一下,同时无比感激。
https://serverfault.com/a/761882/368226
evacuate vs migrate
做个简要整理:
在 OpenStack 中,指的是(实例),host 指的是物理主机,如:、、、等;
关于实例疏散和迁移,分两种情况:
计算节点宕机无法恢复
执行在其它主机启动一个新的实例
执行在其它主机启动全部实例
计算节点正常运行
执行尝试热疏散所有实例到其它主机
执行迁移所有停机的实例到其它主机
执行热迁移单个实例到其它主机
执行迁移单个停机的实例到其它主机
疏散单个实例
疏散实例的前提是使用了共享存储。
openstack 主机疏散的文档非常简单,它只写了疏散单个实例的功能
https://docs.openstack.org/nova/queens/admin/evacuate.html
但帮助文档提供了更详细的用法:
nova help evacuate
示例操作
疏散全部实例
实际上 nova 还有疏散整个故障主机上全部实例的功能,文档参考红帽的:
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html/instances_and_images_guide/ch-manage_instances#section-move-all-instances
帮助文档也提供了稍微详细的用法:
nova help host-evacuate
示例操作
手动疏散(更新数据库)
这里不做介绍,详细参考:
https://docs.openstack.org/nova/queens/admin/node-down.html
疏散实例的前提是使用了共享存储。
由于 OpenStack Dashboard 上的主机疏散功能一直不能用,命令行的一键疏散就显得十分有用。掌握了这个疏散实例的技能,计算节点宕机就不再那么可怕了。
领取专属 10元无门槛券
私享最新 技术干货