Ceph MGR 集群管理工作原理解析

2021-10-13 13:11:19 字數 1445 閱讀 5885

ceph mgr 作為 ceph 12.2 主推的功能之一,是負責 ceph 集群管理的元件。本文深入介紹 ceph-mgr 的工作原理,目的是提供乙個思維框架,在該元件出現問題或是有新的需求時,讀者有能力修改原始碼對其進行改進。

監控是管理的第一步,所以 ceph-mgr 目前的主要功能是把集群的一些指標暴露給外界使用。

監控是什麼東西呢?舉個例子,例如使用者訪問** 5xx 了,那麼監控就是這麼乙個系統:採集** 5xx 的個數,存起來,然後在 5xx 多的時候通過報警簡訊報給開發,然後為開發解決該問題提供其他資訊(例如日誌,指標圖表)。關於監控,在此之前 ceph 以及社群有不少嘗試。

calamari 是 ceph 背後的公司 inktank 為 ceph 企業版開發的監控管理程式,在 red hat 收購該公司後開源,目前基本處於停滯狀態。其基本原理是利用 salt 遠端執行 python 指令碼,該指令碼通過 ceph 每個守護程序暴露在本地的 admin socket 採集到資料或者執行命令。其主要包含幾部分:

儲存:自帶了乙個 graphite

分析:沒有

視覺化:專門定製了乙個前端

評價: 專案已停滯,開發資源轉向 ceph-mgr。從 該專案 github insights 可以看出 2017 年後 commit 較少,commit 較多的人有兩個,排第一的 jcsp 目前主要在開發 ceph-mgr。

cephmetrics 基本原理是基於 collectd 外掛程式,從 admin socket 中採資料發往 graphite,用 grafana 做圖。

評價:

ceph_exporter 基本原理是利用 librados,從 ceph monitor 中取資料,通過 http 協議把指標以 prometheus 規定的格式暴露出來。

評價:

在以上背景下,ceph 官方開發了 ceph-mgr,主要目標實現 ceph 集群的管理,為外界提供統一的入口。要深入了解 ceph-mgr,就得了解 ceph-mgr 是如何跑起來的。

由 官方文件 可知,ceph-mgr 是通過可執行檔案ceph-mgr跑起來的,在原始碼src/cmakelists.txt搜尋ceph-mgr可以搜到add_executable(ceph-mgr $...,從中可以看出 ceph-mgr 主要由src/mgr裡的檔案編譯出來(猜也猜的出來),main 函式在src/ceph_mgr.cc。以上就是相關檔案,有需要深入的人可以去讀,這裡介紹整理之後的 ceph-mgr 工作原理。

ceph-mgr 工作的模式是事件驅動型的,意思就是等待事件,事件來了則處理事件返回結果,又繼續等待。其主要執行的執行緒包括:

滴滴雲官網:https://www.

滴滴雲瘋狂雙十一,伺服器最低35折起

專案管理工作

作為前端開發人員,我們通常希望的專案經理應該是 1 主動性強 你不可能指望同級別的同事拋開自己的事情不做跑過來幫你解決問題,這時候專案經理起到的就是協調作用,應該經常跟商業方進行溝通,徹底理解業務需求,也應該經常向前端開發人員詢問情況,有什麼困難需要什麼幫助,盡最大的努力利用自己手上的權利去幫助前端...

DBA日常管理工作

dba一般職責 1.安裝和公升級資料庫伺服器,以及應用程式工具構建和配置網路環境.2.熟悉資料庫系統的儲存結構 未來的儲存需求,制訂資料庫的儲存方案.3.根據開發人員設計的應用系統需求建立資料庫儲存結構.4.根據開發人員設計的應用系統需求建立資料庫物件 5.根據開發人員的反饋資訊,在必要的時候修改資...

程式管理 工作管理

程式program 以二進位制程式放置在儲存媒介中 硬碟 光碟 軟盤 磁碟等 以物理檔案的形式存在 程序process 程式被觸發後,執行者的許可權與屬性 程式的程式 與所需資料都被載入到記憶體中,作業系統會給予這個記憶體內的乙個單元識別符號pid。程序,就是執行中的乙個程式。服務daemon 在後...