Openstack 节点维护详细讲解
openstack 简介
openstack 是一个开源的 iaas 实现,它由一些相互关联的子项目组成,主要包括计算、存储、网络。由于以 apache 协议发布,自 2010 年项目成立以来,超过 200 个公司加入了 openstack 项目,其中包括 at&t、amd、cisco、dell、ibm、intel、red hat 等。目前参与 openstack 项目的开发人员有 17,000+,来自 139 个国家,这一数字还在不断增长中。
openstack 兼容一部分 aws 接口,同时为了提供更强大的功能,也提供 openstack 风格的接口(restful api)。和其他开源 iaas 相比,架构上松耦合、高可扩展、分布式、纯 python 实现,以及友好活跃的社区使其大受欢迎,每半年一次的开发峰会也吸引了来自全世界的开发者、供应商和客户。
openstack 节点维护
维护的动机
一台openstack节点进行维护的动机主要有三点:
- 硬件替换或升级
- 打安全补丁后需要重启
- 软件升级和服务重启
一般存在两种场景:
1.vm的磁盘存储在dfs上(cephfs, glusterfs, nfs),容易维护
2.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)
作为变通方案,你可以采用以下方式:
1.将新的instacnes指到其他位置;
2.禁用该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>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇: 重置Zabbix密码的方法(一步到位)
推荐阅读