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>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!