Openstack 节点维护详细讲解
OpenStack简介
OpenStack是一个开源的IaaS实现,它由一些相互关联的子项目组成,主要包括计算、存储、网络。由于以Apache协议发布,自2010年项目成立以来,超过200个公司加入了OpenStack项目,其中包括AT&T、AMD、Cisco、Dell、IBM、Intel、RedHat等。目前参与OpenStack项目的开发人员有17,000+,来自139个国家,这一数字还在不断增长中。
OpenStack兼容一部分AWS接口,同时为了提供更强大的功能,也提供OpenStack风格的接口(RESTFulAPI)。和其他开源IaaS相比,架构上松耦合、高可扩展、分布式、纯Python实现,以及友好活跃的社区使其大受欢迎,每半年一次的开发峰会也吸引了来自全世界的开发者、供应商和客户。
Openstack节点维护
维护的动机
一台Openstack节点进行维护的动机主要有三点:
- 硬件替换或升级
- 打安全补丁后需要重启
- 软件升级和服务重启
一般存在两种场景:
1.VM的磁盘存储在dfs上(cephFS,glusterFS,NFS),容易维护
2.VM磁盘存储在本地磁盘,最难维护的情况
将一台Openstack节点设为维护模式
在目前的Openstack中已经有maintenancemode,但仅对Xenhypervisor有效,如果使用的是kvm,那么你会看到一条500错误:
novahost-updatecompute-01--maintenanceenable ERROR:Theserverhaseithererredorisincapableofperformingtherequestedoperation.(HTTP500)(Request-ID:req-5667d1ff-bgha-4veq-9drb-8c6'733f1s4b)
作为变通方案,你可以采用以下方式:
1.将新的instacnes指到其他位置;
2.禁用该computenode
私有云的解决方法
使用以下命令来强制vm创建到指定节点,默认zone是nova:
novabootblablabla--availability-zone<your-zone>:<compute-node>
公有云的解决方法
直接disable该node,这样scheduler就不会尝试在该node上跑实例了:
$sudonova-manageservicedisable--host=<host>--service=<service>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!