维护的动机
一台Openstack节点进行维护的动机主要有三点:
- 硬件替换或升级
- 打安全补丁后需要重启
- 软件升级和服务重启
一般存在两种场景:
- VM的磁盘存储在dfs上(cephFS, glusterFS, NFS),容易维护
- VM磁盘存储在本地磁盘,最难维护的情况
将一台Openstack节点设为维护模式
在目前的 Openstack中已经有maintenance mode,但仅对Xen hypervisor有效,如果使用的是kvm,那么你会看到一条500错误:
nova host-update compute-01 --maintenance enable ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-5667d1ff-bgha-4veq-9drb-8c6'733f1s4b)
作为变通方案,你可以采用以下方式:
- 将新的instacnes指到其他位置;
- 禁用该compute node
私有云的解决方法
使用以下命令来强制vm创建到指定节点,默认zone是nova:
nova boot bla bla bla --availability-zone <your-zone>:<compute-node>
公有云的解决方法
直接disable该node,这样scheduler就不会尝试在该node上跑实例了:
$ sudo nova-manage service disable --host=<host> --service=<service>