OpenStack技术和实战详解
消息来源:baojiabao.com 作者: 发布时间:2024-05-15
谈到OpenStack,大家对其多多少少都有所了解,其常见的服务包括Nova、Swift、Glance、Keystone、Neutron、Cinder、Horizon、Ceilometer、Heat、Trove、TripleO、Sahara等等。
Nova:提供Compute(计算服务),主要的作用是管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。
Glance:提供Image Service(镜像管理服务),镜像服务器是一套虚拟机镜像发现、注册、检索系统,但它不提供镜像文件的存储功能。
Swift:提供Object Storage(对象存储服务),存储数量到一定级别,而且是非结构化数据,通常才会有使用对象存储的需求。镜像文件通常存储在Swift中。
其中Ceilometer为计量服务,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其他服务提供数据支持,今天我们主要谈的也是Ceilometer服务。
Ceilometer模块主要负责OpenStack的“计量”、“监控”以及“告警”功能。
计量主要负责和计费相关的指标度量采集和存储;
监控主要负责和非计费相关的指标、状态的采集和存储;
告警可分为性能相关的告警分析产生以及通过插件在openstack各服务运行时及时产生的故障。
Ceilometer功能是以数据库和消息队列为中心的数据采集、订阅分析和存储、分发一系列活动。Ceilometer主要组成部分有:
ceilometer-api:向用户展示聚合后的数据
ceilometer-polling:使用polling plug-in去获取数据
ceilometer-agent-central:调用不同的组件的API以监控某种资源是否存在(L版本后不使用)
ceilometer-agent-compute:监控Hypervisor或者libvirt以获取实例的性能数据,并通过MQ发布出去(L版本后不再使用)
ceilometer-agent-ipmi:利用服务器上的IPMI感测器获取物理机信息(L版本后不再使用)
ceilometer-agent-notification:从MQ获取其他组件的消息
ceilometer-collector:从MQ获取ceilometer其他agent的信息,并将这些数据分配到不同的数据库。
ceilometer-alarm-X:告警相关
除了ceilometer-agent-compute和ceilometer-agent-ipmi,其他组件都要部署在一个或者多个控制节点,ceilometer高度依赖MQ服务,包括组件之间和组件内部。Ceilometer的主要功能是数据收集和数据处理。
Ceilometer的数据采集方式主要分为Poll和Push方式两种。
其中Push方式主要采集为OpenStack中各个组件模块中无法定时主动获取的事件消息,例如,虚拟机的创建,镜像的上传等等。该种方式的消息的采集依赖各个组件在事件发生时,依赖Ceilometer提供的消息机制将事件消息上报至消息队列当中。
然后由Ceilometer-Collector中的notification-agent收集消息队列中的事件消息,然后交由指定的Pipeline将消息转换为指定的采样数据(Samples),转换之后的采样数据会被重新发送至消息队列当中,然后由Collector收集处理并存入数据库当中(MongoDB)。主要架构如下图:
Poll方式主要采集OpenStack中的各个组件的统计数据和计算节点中的实时数据(该数据也是可以被随时统计获取的)。
在Controller节点上,Poll方式主要是启动相应的轮询进程(Pollsters),依靠轮询进程定期调用组件模块的APIs获取各个组件的数据信息。然后将数据交由Pipeline进行处理,最后由Collector处理存储。此过程与上述Push方式一致。
在Compute节点上,Poll方式也是启动相应的轮询进程(Pollsters),依靠轮询进程定期查询相应的信息,只是在数据采集方式上,采用虚拟机的相关驱动获取虚拟机的信息,目前主要的部署方案都是采用KVM-QEMU实现虚拟化,因此,底层信息获取上,采用的为LibVirt操纵虚拟机,同时也是通过LibVirt获取虚拟机的相关信息。当数据被采集之后,其之后的处理流程与上述两种方式都是一致的。
前面的数据采集工作完成之后,采集来的数据会交由Pipeline进行数据处理,Pipeline主要实现的是一个数据处理链的功能。Pipeline会根据不同的配置将0个或一个或多个Transformers组装成为一条数据处理链,在这条数据处理链的末端,会被装配一个Publisher。
当数据进入这条数据处理链后,会被Transformers加工处理,然后由Publisher发送至消息队列当中,由Collector收集。
Collector会时刻监听着消息队列,从消息队列中获取监控数据,然后将数据存入MongoDB中进行持久化。
OpenStack不但是开源私有云的实际标准,而且已经广泛的应用在各个行业,包括社区版和厂商企业版。
在OpenStack大规模部署,特性丰富,并逐步走向商用的过程中,有很多经验和方法论值得参考和借鉴。笔者基于实战和网络资料,对OpenStack及相关知识进行了梳理,整理成书(OpenStack技术和实战详解),供学习者学习和参考。
相关文章
- 中兴受美国制裁事件 被罚了20亿美元过程事件始末 中兴被制裁后公司现状
2023-11-02 22:12:46
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因
2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓
2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?
2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元
2023-02-17 18:58:09
- 科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯
2023-02-17 18:46:15
- 华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比
2023-02-17 18:42:49
- 小米MAX4手机上市日期首发价格 骁龙720打造大屏标准
2023-02-17 18:37:22
- 武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱
2023-02-16 15:53:18
- 谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠
2023-02-16 13:34:45
- 巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注
2023-02-13 16:49:06
- 人手不足 韵达快递客服回应大量包裹派送异常没有收到
2023-02-07 15:25:20
- 资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东
2023-02-02 09:24:38
- 三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办
2023-01-24 10:10:02
- 华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone14
2023-01-06 20:27:09
- 芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?
2022-12-02 17:25:17
- 华为暂缓招聘停止社招了吗?官方回应来了
2022-11-19 11:53:50
- 热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全
2022-11-16 16:59:09
- 东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?
2022-10-22 15:21:55
- 苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次
2022-10-03 22:13:45