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.   硬件替换或升级
  2.   打安全补丁后需要重启
  3.       软件升级和服务重启

 一般存在两种场景:

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>

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!