安装

Calamari推荐使用vagrant + virtualbox的方式来build安装包,然后在对应的操作系统中进行安装,具体的安装过程请参照Ceph Calamari : step-by-step(http://ceph.com/category/ceph-gui/)里边有很详细的安装步骤。我使用的是Ubuntu13.10来创建Calamari的安装包,build后的安装包列表是:

  1. calamari-clients_1.2.1.1-29-g3790c24_all.deb (calamar客户端,WEB UI代码)
  2. calamari-clients-build-output.tar(同calamari-clients_1.2.1.1-29-g3790c24_all.deb内容一样,只是它解压后可以在任何平台上使用)
  3. calamari-repo-precise.tar.gz(安装源,安装calamari过程中依赖的包)
  4. calamari-server_1.2.1-56-gc09e8ed_amd64.deb(calamari服务端,它提供了calamari REST API,calamari 通过salt管理Ceph服务的cthulhu,以及一个calamari web的一个基本框架)
  5. diamond_3.4.67_all.deb(calamari监控客户端)

架构

下面Calamari的架构图能帮助更好的理解它的组件,其中红框部分为Calamari代码实现的部分,非红框部分为非Calamari实现的开源框架。

  1. 在Ceph server node安装的组件有Diamond和Salt-minion。Diamond负责收集监控数据,它支持非常多的数据类型和metrics,通过查看源代码,它支持90多种类型的数据;每一个类型的数据都是上图中的一个collector,它除了收集Ceph本身的状态信息,它还可以收集关键的资源使用情况和性能数据,包括CPU,内存,网络,I / O负载和磁盘指标,而且还能收集很多流行软件的性能指标,包括 Hadoop, Mongo, Kafka, MySQL, NetApp, RabbitMQ, Redis, and AWS S3等。Collector都是使用本地的命令行来收集数据,然后报告给Graphite。
  2. Graphite不仅是一个企业级的监控工具, 还可以实时绘图。carbon-cache是Python实现的高度可扩展的事件驱动的I/O架构的后端进程,它可以有效地跟大量的客户端通信并且以较低的开销处理大量的业务量。
  3. Whisper跟RRDtool类似,提供数据库开发库给应用程序来操纵和检索存储在特殊格式的文件数据(时间数据点数据),Whisper最基本的操作是创建作出新的Whisper文件,更新写入新的数据点到一个文件中,并获取检索的数据点
  4. Graphite_web是用户接口,用来生成图片,用户可以直接通过URL的方式访问这些生成的图片。
  5. Calamari 使用了Saltstack让Calamari Server和Ceph server node通信。Saltstack是一个开源的自动化运维管理工具,与Chef和Puppet功能类似。Salt-master发送指令给指定的Salt-minion来完成对Cpeh Cluster的管理工作;Salt-minion 在Ceph server node安装后都会从master同步并安装一个ceph.py文件,里面包含Ceph操作的API,它会调用librados或命令行来最终和Ceph Cluster通信。
  6. calamari_rest提供Calamari REST API,详细的接口请大家参照官方文档。Ceph的REST API是一种低层次的接口,其中每个URL直接映射到等效的CEPH CLI;Calamari REST API提供了一个更高层次的接口,API的使用者可以习惯的使用GET/POST/PATCH方法来操作对象,而无需知道底层的Ceph的命令;它们之间的主要区别在于,Ceph的REST API的使用者需要非常了解Ceph本身,而Calamari 的REST API更贴近对Ceph资源的描述,所以更加适合给上层的应用程序调用。
  7. cthulhu可以理解是Calamari Server的Service层,对上为API提供接口,对下调用Salt-master。但是代码美中不足的是calamari_rest有些功能直接调用了Salt-master而没有调用cthulhu。
  8. calamari_clients是一套用户界面,Calamari Server在安装的过程中会首先创建opt/calamari/webapp目录,并且把webapp/calamari下的manager.py(django 配置)文件考进去, calamari_web的所有内容到要放到opt/calamari/webapp下面来提供UI的访问页面。
  9. calamari-web包下面的文件提供所有web相关的配置,calamari_rest和calamari_clients都要用到。

功能

Calamari的最强的就是监控功能,在页面上可以浏览整个Ceph Cluster的使用状况,OSD状态,磁盘的IOPS,Ceph Server的系统资源使用情况等。

监控概要

OSD状态

Calamari 提供的管理功能非常的有限,用户只可以配置cluster的一些基本参数和添加修改pool

Cluster 配置

添加修改pool

总结:

Calamari为Ceph的运维和管理提供了一个统一的平台,而且用户还可以基于这个平台扩展自己的存储管理产品,但同时也存在着不足和需要改进的地方。

  1. 首先,Calamari还不能完成Ceph deploy所实现的部署功能,这是它最大一个不足;Fuel可以完成部署功能,并且可以选择Ceph server的数据盘和日志盘以及定制默认的备份数等,所以Calamari + Fuel可以来实现一个完成的基于Ceph的部署和管理工具。
  2. 其次,Calamari提供的管理功能太少,用户无法只使用它来运维一个Ceph环境。
  3. 最后,用户可以基于Calamari开发自己的Ceph管理软件,UI部分可以修改calamari_clients的页面,也可也单独实现一套自己的UI基于calamari_rest和Graphite_web,后端的功能的监控部分可以扩展diamond的collector实现,管理Ceph的功能可以扩展rest api,cthulhu,salt等来实现。

ceph存储 Ceph管理平台Calamari的架构与功能分析相关推荐

  1. Ceph管理平台Calamari的架构与功能分析

    alamari项目开始于2013年夏天,创立它的初衷是开发一个Ceph管理平台, Calamari对外提供了十分漂亮的web管理和监控界面,以及一套改进的REST API接口(不同于Ceph自身的RE ...

  2. ceph web监控管理平台calamari

    更新时间:20170803 (之前网盘链接被吞了) 前言 各种搜索无果,官方文档是基于Ubuntu,没有找到一篇清晰明朗的适合新手安装的centos7文档,之前测试环境倒腾过2次均不了了之,当集群正式 ...

  3. ceph监控管理平台calamari

    环境 已有: CentOS 7.3(基础设施服务器) Ceph 10.2.7(jewel) 后部署:Calamari 1.3.3 介绍 注:介绍和rpm包均出自磨大神博客http://www.zphj ...

  4. ceph存储 ceph集群ErasureCoding原理认知

    Ceph Erasure Coding Cognize 1.概述 RedHat公司日前发行了旗下Inktank Ceph企业版软件的1.2版本,增加了纠删码.缓存分层的特色,并且更新了管理和监控分布式 ...

  5. ceph存储 ceph整体学习记录(未整理较乱)

    转载:https://www.iyunv.com/thread-126458-1-4.html ceph源码下载: http://ceph.com/download/ 主要文档下载连接: http:/ ...

  6. ceph存储 ceph集群监视器设置

    监视器配置参考 了解如何配置Ceph的监视器是建立一个可靠的Ceph的存储集群的重要组成部分.所有Ceph的存储集群中至少有一个监视器.监视器配置通常是一致的,但你可以添加,删除或替换集群中的一个监视 ...

  7. 阿里云混合云管理平台多Region架构

    随着企业数字化进程加速,企业业务规模和迭代速度也不同于往日,在已具备一定规模的中大型电力系统中,面临着巨大的数字化压力,例如:复杂的组织架构管理.计算资源急需弹性扩展.IT运维提效等. 目前常见的做法 ...

  8. ceph存储 ceph集群Paxos算法实现

    Recovery阶段 在Leader选举成功后,Leader和Peon都进入Recovery阶段.该阶段的目的是为了保证新Quorum的所有成员状态一致,这些状态包括:最后一个批准(Committed ...

  9. 云管理平台:OpenStack架构设计及详细解读

    文章目录 简介 核心组件 简介 OpenStack 是当今最具影响力的云计算管理工具--通过命令或者基于 Web 的可视化控制面板来管理 IaaS 云端的资源池(服务器.存储和网络).它最先由美国国家 ...

最新文章

  1. 【c语言】字符串逆序
  2. 在 ASP.NET 使用 jQuery BlockUI 插件
  3. python核心编程——python对象
  4. Windows上的Java线程CPU分析
  5. php对角线数组代码,php数组内容查找代码
  6. 沙尘暴为何再次肆虐?
  7. python hello world程序编写_自动编写Python程序的神器,Python 之父都发声力挺
  8. CoppeliaSim用户手册中文翻译版(二)
  9. Unity项目优化——Web版
  10. springboot2.2.6文件上传、下载及文件超出大小限制的处理
  11. 激活win10专业版最简单的方法
  12. 大数据,云计算 核心体系
  13. mysql2008连接不上_sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(1814\18456)...
  14. Proxmox Mail Gateway (PMG) 安装及简单设置
  15. scuba 报表_是否想了解JavaScript的for循环? 这个动画的SCUBA潜水员可以提供帮助!...
  16. 芳香四十二点一九五里...
  17. 数字模拟电路课程设计multisim仿真源文件和设计原理
  18. “金链熊“已致200多家机构受害,或为年度最严重APT攻击事件
  19. idea创建maven项目没有src目录
  20. codeforces765F Souvenirs

热门文章

  1. 关于图片以及格式UTI
  2. android 键盘使用教程,用鼠标键盘控制你的Android手机完整图文教程
  3. 按键精灵脚本:采集鼠标当前所在坐标的颜色
  4. 【python】二进制与十进制的转换
  5. SSM基于java的线上阅读平台的设计与实现 毕业设计-附源码291023
  6. 腾讯地图Api 实现拾取坐标功能示例
  7. CANopen协议中文文档
  8. 记一次阴阳师挂机脚本开发
  9. Android 壁纸设置和确认
  10. 创维E900V22C、E900V22D系列-UWE5621DS芯片语音免拆卡刷固件(当贝桌面)《创维简约开机动画》