1. 程式人生 > >Ceph管理平臺Calamari的架構與功能分析

Ceph管理平臺Calamari的架構與功能分析

Calamari專案開始於2013年夏天,創立它的初衷是開發一個Ceph管理平臺, Calamari對外提供了十分漂亮的web管理和監控介面,以及一套改進的REST API介面(不同於Ceph自身的REST API),在一定程度上簡化了Ceph的管理。最初Calamari是作為Inktank公司的Ceph企業級商業產品來銷售,紅帽今年5月30日收購Inktank後為了更好地推動Ceph的發展,對外宣佈Calamari開源,秉承開源開放精神的紅帽著實又做了一件非常有意義的事情。本文將簡單剖析Calamari的架構和功能。

安裝

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的系統資源使用情況等。

Mozilla Firefox_134

監控概要

Mozilla Firefox_135

OSD狀態

Calamari 提供的管理功能非常的有限,使用者只可以配置cluster的一些基本引數和新增修改pool
nodeb Virtual Machine_137

Cluster 配置

nodeb Virtual Machine_138

新增修改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管理平臺Calamari架構功能分析

Calamari專案開始於2013年夏天,創立它的初衷是開發一個Ceph管理平臺, Calamari對外提供了十分漂亮的web管理和監控介面,以及一套改進的REST API介面(不同於Ceph自身的REST API),在一定程度上簡化了Ceph的管理。最初Calama

ceph監控管理平臺calamari

calamari ceph監控平臺 centos7安裝calamari 支持jewel 環境已有: CentOS 7.3(基礎設施服務器) Ceph 10.2.7(jewel)後部署:Calamari 1.3.3介紹註:介紹和rpm包均出自磨大神博客http://www.zphj1987.co

社團管理平臺的設計實現(社團管理模塊)1

下一步 bsp post form 是我 執行 設計 href 解決 經過兩天的時間,平臺的社團管理模塊已經暫時告一段落,在這裏總結一下。 不足:界面還是沒有能夠很好地展現出來,js和css技術存在很大的不足。可以說是非常醜了。 放一張圖: 我傾向於采取業務分離的

Java開源生鮮電商平臺-系統架構技術選型(源碼可下載)

centos VC tis web服務器 可能 系統架構 系列 intellij mysql Java開源生鮮電商平臺-系統架構與技術選型(源碼可下載) 1. 硬件環境 公司服務器 2. 軟件環境 2.1 操作系統 Linux CentOS 6.8系列

基於 Java Web 的畢業設計選題管理平臺--測試報告用戶手冊

對話 不能 彈出 src 註冊 兼容性 優化 spa borde 一、測試報告 1、兼容性測試 功能 描述 效果 Chrome瀏覽器 FireFox瀏覽器 IE瀏覽器 war 端瀏覽器 管理員登錄 管理員用戶登錄功能 彈出“

基於SSH2的新聞資訊管理平臺的設計開發——論文隨筆

一、基本資訊 標題:基於SSH2的新聞資訊管理平臺的設計與開發 時間:2017-03 出版源:青島大學 領域分類:系統設計與架構 二、研究背景 問題定義:如何人性化、個性化的為不同使用者提供不同的特定的新聞以滿足使用者需求 難點:使用者的喜好各不同,如何精確的制定使用者畫像 相關工作:使用者可以通過分類

基於SSH2的新聞信息管理平臺的設計開發——論文隨筆

百度 完成 得到 技術分享 alt 搜索功能 方法 ron 身份驗證 一、基本信息 標題:基於SSH2的新聞信息管理平臺的設計與開發 時間:2017-03 出版源:青島大學 領域分類:系統設計與架構 二、研究背景 問題定義:如何人性化、個性化的為不同用戶提供不同的特定的新聞

大資料專案實戰之 --- 某App管理平臺的手機app日誌分析系統(三)

一、建立hive分割槽表 ---------------------------------------------------- 1.建立資料庫 $hive> create database applogsdb; 2.建立分割槽表 編寫指令碼。

高職院校學生工作管理平臺的設計實現--文獻隨筆(十三)

一、基本資訊 標題:高職院校學生工作管理平臺的設計與實現 時間:2013 出版源:湖南大學 關鍵詞:學生工作; 管理事務; 高職院校; ASP.net; 二、研究背景 問題定義:隨著高校學生管理改革的深入,在管理服務的質量、範圍上有新的要求,原來簡單的管理方法和手段,已經不能適應社會改革和市場競爭的需求

QA管理:組織架構職責篇

測試存在的意義:一是提高產品質量,二是提高開發效率。 一、測試組織架構 每位測試總監管理人數:50-70人左右,包括幾位測試經理,資深QA和測試技術負責人。每位測試經理管理人數:12-35人。人

java集合框架02——Collection架構原始碼分析

Collection是一個介面,它主要的兩個分支是List和Set。如下圖所示:         List和Set都是介面,它們繼承與Collection。List是有序的佇列,可以用重複的元素;而Set是數學概念中的集合,不能有重複的元素。List和Set都有它們各自

dubbo-admin管理平臺的搭建配置

先說明我的個人需求:在我的本地電腦上有zookeeper的啟動器,所以我想在本地配置一個dubbo-admin的管理平臺。一、掃盲:成功配置並訪問dubbo-admin管理平臺的前提。1.1.配置併成功

java集合框架(二) Collection架構原始碼分析

Collection是一個介面,它主要的兩個分支是List和Set。 List和Set都是介面,它繼承於Collection。 List是有序佇列,可以用重複的元素; Set元素無序,並且不可重複; List和Set都有他們各自的實現類 為了方便,我們

電商平臺-系統架構技術選型

1.  硬體環境公司伺服器2.   軟體環境2.1  作業系統Linux CentOS 6.8系列     2.2 反向代理/web伺服器        Nginx     2.3 應用伺服器        Jdk7+ Tomcat 7     2.4 資料庫       

centos7.2 sonarqube程式碼質量管理平臺的安裝使用

sonarqube是一個常用的程式碼管理平臺,在很多企業中都會使用到,方便進行程式碼質量管理,今天在這裡記錄下sonar的安裝與使用。廢話不多說,安裝如下: 一:環境: Sonarqube版本:5.6.7 sonar-runner版本:sonar-runner-dist-2

大資料管理平臺-資料處理資料集市

 對於資料的理解,不同行業不同人都有不同的見解。從計算機角度來說,全部資料包括食品、文字、資料....都是1和0,或者說是高低電平。對於化學家來說所有的資料也是各種元素的不同狀態的組成,哪怕是高低電平儲存到硬體上也是si材料或記憶材料的行變。但對於廣大群眾、對於人本身,還是

【SonarQube 】程式碼質量管理平臺的安裝搭建

準備工作:已安裝 JDK7 並配置好了環境變數 1 安裝 MySQL5.1 # rpm -qa | grep mysql   ## 檢視該作業系統上是否已經安裝了 mysql 資料庫, 有的話,可以通過 rpm -e 命令 或者 rpm -e --nodeps 命

AI中臺——智慧聊天機器人平臺架構應用(分享實錄)

內容來源:宜信技術學院第3期技術沙龍-線上直播|AI中臺——智慧聊天機器人平臺 主講人:宜信科技中心AI中臺團隊負責人王東 導讀:隨著“中臺”戰略的提出,目前宜信中臺建設在思想理念及架構設計上都已經取得了很多成果。宜信是如何藉助中臺化的思想打造&ld

大快政務大數據分析平臺架構特點介紹

政務大數據分析平臺 政務大數據解決方案 從事大數據行業的朋友應該都知道大數據已經上升到了國家戰略高度,2015年8月31日,×××印發了《促進大數據發展行動綱要》。旨在通過建立“用數據說話、用數據決策、用數據管理、用數據創新”的管理機制,實現基於數據的科學決策。目前,我國每年善生並被存儲的數據總量超過

後容器時代技術制高點:API管理平臺3Scale的架構設計部署[轉]

前言 時至今日,相信大多數人已經相信容器可以承載生產的應用了,就像當年大多數人相信vSphere虛擬化承載生產的過程一樣;歷史總是在重演,IT技術的更新總是很快,而作為IT技術人員,順應趨勢是非常重要的。我們當然可以固守已有的知識領域,並以此為生計,但這並不妨礙我們學習新技術、學習開源。