IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Neutron社区每周记(11.5-11.14)| OPNFV Doctor 项目详解;OPNFV Summit 开放注册

    鲁, 媛媛发表于 2016-11-14 09:51:28
    love 0

    在今年 OpenStack 巴塞罗那峰会上,OPNFV 在 Keynote 上现场表演了剪线后迅速恢复的高可用演示,在现场获得了众人的关注,根据 Keynote 上 Slides 所述,高可用技术主要来自两大组织的五个项目:
    •    OpenStack
    •    Aodh
    •    Congress
    •    Nova
    •    Vitrage
    •    OPNFV
    •    Doctor

    image2016-11-14 11_56_54
    图为现场演示剪断线路

    其中 Nova 是 OpenStack 从业者无人不知的,Aodh 为从 Liberty 版逐渐进入用户视野的报警服务,Congress 进入 OpenStack 已经比较久了,可以提供相当复杂的策略服务,但目前应用还比较少,Vitrage 曾经在之前有云的文章中有过介绍,而 Doctor 目前在业界中声音一直比较小,这里介绍下。

    OPNFV 类似于 OpenStack 的项目组织,由社区自行提交项目,OPNFV 目前最新版本为 Colorado,今年 9 月底发布的的一个版本,是 OPNFV 的第三个正式大版本。Doctor 是 OPNFV 比较早期的项目,从第一个版本就进入社区,并且是社区几个大规模在宣传的项目之一。

    Doctor 的源代码可以从 https://gerrit.opnfv.org/gerrit/doctor 下载,其目录结构如下(由于图片比较多,因此排除掉):

    image2016-11-14 14_24_34

    可以看到 Doctor 大部分文件都是文档,只有五个 Python 源码文件和一个 Shell 脚本!这是怎么回事呢?其实,Doctor 项目看似是一个独立项目,但需要和很多 OpenStack 项目集成,所有 Doctor 的开发者大量 BP 是在其他 OpenStack 项目中完成的,下面表格是今年 OPNFV Summit 中介绍 Doctor 的进展制作的表格,可以看到开发者在 Ceilometer、Aodh、Nova、Congress 中都有贡献。

    火狐截图_2016-11-14T07-39-17.985Z

    Doctor 的工作原理比较简单,下面这两张图可以说明大概,第一张图表示工作的原理,管理员设置报警信息,报警由 Aodh 控制,如果 Monitor 检测到异常数据,由 Congress、Vitrage 来分析或者聚合,根据受影响资源来控制 Nova、Neutron、Cinder 等服务的状态,然后发送到 Ceilometer、Aodh,后者发送报警到 Manager,再由 Manager 出发动作,疏散或恢复相应资源。

    image2016-11-14 14_35_30

    举个服务器宕机的例子,用户开/关虚拟机,不关心服务器的状态,管理员(这里的管理员也可能是服务)监控虚拟机、物理服务器状态,一旦服务器有异常,迅速关闭(Force Down)服务器,并执行疏散迁移。

    image2016-11-14 14_40_20

    这里边很多东西都是 OPNFV 提交到 OpenStack 社区后才实现的 API,例如 Nova 的强制标记服务器为 Down 状态,给虚拟机添加 host state 字段,Ceilometer 里的迅速通知的时间类型等,虽不在 Doctor 仓库,但也是 Doctor 社区的贡献。

    Doctor 本身的代码要简单很多,Monitor 就是一个一个不断发送 ping 指令的循环,默认的超时非常的小,inspector 可以设置为 Congress 或 Sample,in-tree 的 sample inspector 是一个 flask app,用来执行 Nova 的 host down API 接口,consumer.py 也是一个 flask app,在运行 run.sh 坐 demo 时 ceilomter 如果受到相应类型事件会执行 consumer.py,consumer 则会打印相应数据,前面图中的 Manager。

    总之,Doctor 项目是一个很特别的项目,其目录内的代码更多的是一个演示,其更大的价值在于提供实现一个高可用服务的可能和演示、搭齐需要的环境和 API,更具体和细节的工作则需要厂商来完成,例如如何确保监控准确性、如何提升高可用服务本身可用性、如何避免脑裂和误判等等,还有很多事情需要厂商来完成。

    最后,将在北京举行的 OPNFV 2017 Summit 已经开放注册,目前可以注册早鸟票,感兴趣的同学不妨注册一下:http://events.linuxfoundation.org/events/opnfv-summit/attend/registration(作者:王为,UnitedStack有云)



沪ICP备19023445号-2号
友情链接