這篇文章將為大家詳細(xì)講解有關(guān)Ceph心跳機(jī)制的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
心跳是用于節(jié)點(diǎn)間檢測對方是否故障的,以便及時發(fā)現(xiàn)故障節(jié)點(diǎn)進(jìn)入相應(yīng)的故障處理流程。
問題:
故障檢測時間和心跳報文帶來的負(fù)載之間做權(quán)衡。
心跳頻率太高則過多的心跳報文會影響系統(tǒng)性能。
心跳頻率過低則會延長發(fā)現(xiàn)故障節(jié)點(diǎn)的時間,從而影響系統(tǒng)的可用性。
故障檢測策略應(yīng)該能夠做到:
及時:節(jié)點(diǎn)發(fā)生異常如宕機(jī)或網(wǎng)絡(luò)中斷時,集群可以在可接受的時間范圍內(nèi)感知。
適當(dāng)?shù)膲毫Γ喊▽?jié)點(diǎn)的壓力,和對網(wǎng)絡(luò)的壓力。
容忍網(wǎng)絡(luò)抖動:網(wǎng)絡(luò)偶爾延遲。
擴(kuò)散機(jī)制:節(jié)點(diǎn)存活狀態(tài)改變導(dǎo)致的元信息變化需要通過某種機(jī)制擴(kuò)散到整個集群。
ceph_heartbeat_mon.png
OSD報告給Monitor:
OSD有事件發(fā)生時(比如故障、PG變更)。
自身啟動5秒內(nèi)。
OSD周期性的上報給Monito
OSD檢查failure_queue中的伙伴OSD失敗信息。
向Monitor發(fā)送失效報告,并將失敗信息加入failure_pending隊列,然后將其從failure_queue移除。
收到來自failure_queue或者failure_pending中的OSD的心跳時,將其從兩個隊列中移除,并告知Monitor取消之前的失效報告。
當(dāng)發(fā)生與Monitor網(wǎng)絡(luò)重連時,會將failure_pending中的錯誤報告加回到failure_queue中,并再次發(fā)送給Monitor。
Monitor統(tǒng)計下線OSD
Monitor收集來自O(shè)SD的伙伴失效報告。
當(dāng)錯誤報告指向的OSD失效超過一定閾值,且有足夠多的OSD報告其失效時,將該OSD下線。
Ceph通過伙伴OSD匯報失效節(jié)點(diǎn)和Monitor統(tǒng)計來自O(shè)SD的心跳兩種方式判定OSD節(jié)點(diǎn)失效。
及時:伙伴OSD可以在秒級發(fā)現(xiàn)節(jié)點(diǎn)失效并匯報Monitor,并在幾分鐘內(nèi)由Monitor將失效OSD下線。
適當(dāng)?shù)膲毫Γ?/strong>由于有伙伴OSD匯報機(jī)制,Monitor與OSD之間的心跳統(tǒng)計更像是一種保險措施,因此OSD向Monitor發(fā)送心跳的間隔可以長達(dá)600秒,Monitor的檢測閾值也可以長達(dá)900秒。Ceph實(shí)際上是將故障檢測過程中中心節(jié)點(diǎn)的壓力分散到所有的OSD上,以此提高中心節(jié)點(diǎn)Monitor的可靠性,進(jìn)而提高整個集群的可擴(kuò)展性。
容忍網(wǎng)絡(luò)抖動:Monitor收到OSD對其伙伴OSD的匯報后,并沒有馬上將目標(biāo)OSD下線,而是周期性的等待幾個條件:
目標(biāo)OSD的失效時間大于通過固定量osd_heartbeat_grace和歷史網(wǎng)絡(luò)條件動態(tài)確定的閾值。
來自不同主機(jī)的匯報達(dá)到mon_osd_min_down_reporters。
滿足前兩個條件前失效匯報沒有被源OSD取消。
擴(kuò)散:作為中心節(jié)點(diǎn)的Monitor并沒有在更新OSDMap后嘗試廣播通知所有的OSD和Client,而是惰性的等待OSD和Client來獲取。以此來減少M(fèi)onitor壓力并簡化交互邏輯。
您已完成初始Ceph的配置之后,您可以部署和運(yùn)行的Ceph。當(dāng)你執(zhí)行一個命令,如ceph health 或 ceph -s , Ceph的監(jiān)視器將報告 CEPH存儲集群的當(dāng)前狀態(tài)。Ceph的監(jiān)視器通過每個 Ceph的OSD守護(hù)實(shí)例,以及相鄰的Ceph OSD守護(hù)實(shí)例,了解Ceph的存儲集群的相關(guān)狀態(tài)。Ceph的監(jiān)視器如果沒有收到報告,或者如果它接收Ceph的存儲集群的變化的報告,Ceph的監(jiān)視器更新的的 CEPH集群映射圖的狀態(tài)。
Ceph為Ceph的監(jiān)視器/ Ceph的OSD守護(hù)程序交互提供合理的默認(rèn)設(shè)置。但是,您可以覆蓋默認(rèn)值。以下部分描述如何用Ceph的監(jiān)視器和Ceph的OSD守護(hù)實(shí)例互動來達(dá)到Ceph的存儲集群監(jiān)控的目的。
每個Ceph的OSD守護(hù)程序檢查其他Ceph的OSD守護(hù)進(jìn)程的心跳每6秒。Ceph的配置文件下的[OSD]部分加入OSD osd heartbeat interval ,或通過設(shè)定值在運(yùn)行時,您可以更改心跳間隔。如果在20秒的寬限期內(nèi)鄰居的Ceph的OSD守護(hù)進(jìn)程不顯示心跳,Ceph的OSD守護(hù)進(jìn)程可能考慮周邊的Ceph OSD守護(hù)掛掉,并向一個Ceph的Monitor報告,這將更新的CEPH集群地圖。一個OSD osd heartbeat grace 可以在Ceph的配置文件下的[OSD]部分設(shè)置,或在運(yùn)行時,你通過設(shè)置這個值改變這個寬限期。
默認(rèn)情況下,Ceph的OSD守護(hù)程序必須向Ceph的監(jiān)視器報告三次:另一個Ceph的OSD守護(hù)程序已經(jīng)掛掉,在Ceph的Monitor承認(rèn)該報告Ceph的OSD守護(hù)掛掉之前。在(早期V0.62版本之前)Ceph的配置文件下的[MON]部分添加 osd min down reports setting,或者通過設(shè)定值在運(yùn)行時,您可以更改OSD報告的掛掉的最低數(shù)量 。默認(rèn)情況下,只有一個Ceph的OSD守護(hù)進(jìn)程是必需報告另一個Ceph的OSD守護(hù)進(jìn)程。您可以更改向Ceph監(jiān)視器報告Ceph的OSD守護(hù)進(jìn)程的Ceph的OSD Daemones 的數(shù)量,通過添加一個mon osd min down reporters設(shè)置在Ceph的配置文件中,或者通過設(shè)定值在運(yùn)行時。
Ceph的OSD守護(hù)進(jìn)程如果不能和Ceph的配置文件(或群集地圖)中定義的OSD守護(hù)同行,它將每30秒ping一個Ceph的監(jiān)視器,為了最新副本的集群映射圖。Ceph的配置文件 下的[OSD]部分加入 osd mon heartbeat interval 設(shè)置,或通過在運(yùn)行時設(shè)定值,您可以更改Ceph的監(jiān)控心跳間隔。
Ceph的OSD守護(hù)進(jìn)程如果不向Ceph的監(jiān)視器報告,至少每120秒一次,Ceph的監(jiān)視器會考慮Ceph的OSD守護(hù)已經(jīng)掛掉。您可以更改Ceph的監(jiān)控報告間隔,通過加入 osd mon report interval max 設(shè)置在Ceph的配置文件的[OSD]部分,或者通過設(shè)置在運(yùn)行時的值。Ceph的OSD守護(hù)進(jìn)程會嘗試報告其狀態(tài)每30秒。在Ceph的配置文件下的[OSD]部分加入 osd mon report interval min s設(shè)置,或者通過設(shè)定值在運(yùn)行時,您可以更改Ceph的OSD守護(hù)報告間隔。
修改心跳設(shè)置時,你應(yīng)該將它們包括在 您的配置文件的[global]部分。
參數(shù) | 說明 | 類型 | 默認(rèn)值 |
---|---|---|---|
mon OSD min up ratio | Ceph的OSD未掛掉的最低比率在Ceph的OSD守護(hù)程序被仍定掛掉之前 | double | 0.3 |
mon OSD min in ratio | Ceph的OSD實(shí)例的最低比率在Ceph的OSD守護(hù)程序被仍定出局之前 | double | 0.3 |
mon osd laggy halflife | laggy估計會腐爛的秒數(shù) | int | 60 * 60 |
mon osd laggy weight | laggy估計衰減的新樣本的權(quán)重 | double | 0.3 |
mon osd adjust heartbeat grace | 如果設(shè)置為true,Ceph將在laggy估計的基礎(chǔ)上擴(kuò)展 | bool | true |
mon osd adjust down out interval | 如果設(shè)置為true,Ceph基于laggy估計擴(kuò)展 | bool | true |
mon osd auto mark in | Ceph將標(biāo)記任何引導(dǎo)的Ceph的OSD守護(hù)進(jìn)程作為在 CEPH存儲集群 | bool | false |
mon osd auto mark auto out in | Ceph的標(biāo)記引導(dǎo)Ceph的OSD守護(hù) Ceph的存儲集群,集群中的自動標(biāo)記 | bool | true |
mon osd auto mark new in | 頭孢將迎來啟動新的Ceph的OSD守護(hù)在 Ceph的存儲集群 | bool | true |
mon osd down out subtree limit | 大的 CRUSH單位Ceph的類型,會自動標(biāo)記出來 | String | rack |
mon osd report timeout | 寬限期秒下來在聲明反應(yīng)遲鈍Ceph的OSD守護(hù)前 | 32-bit Integer | 900 |
mon osd min down reporters | Ceph的OSD守護(hù)報告向下 Ceph的OSD守護(hù)所需的最低數(shù)量 | 32-bit Integer | 1 |
mon osd min down reports | Ceph的OSD守護(hù)的最低次數(shù)必須報告說,另一個Ceph的OSD守護(hù)下來 | 32-bit Integer | 3 |
參數(shù) | 說明 | 類型 | 默認(rèn)值 |
---|---|---|---|
OSD heartbeat address | 一個Ceph的OSD守護(hù)進(jìn)程的網(wǎng)絡(luò)地址的心跳 | Address | The host address |
OSD heartbeat interval | 多久Ceph的OSD守護(hù)坪及其同行(以秒計) | 32-bit Integer | 6 |
OSD heartbeat grace | Ceph的OSD當(dāng)一個守護(hù)進(jìn)程并沒有表現(xiàn)出心跳Ceph的存儲集群認(rèn)為,經(jīng)過時間的 | 32-bit Integer | 20 |
OSD mon heartbeat interval | Ceph的的OSD守護(hù)坪一個Ceph的監(jiān)視器如果它沒有的CEPH OSD守護(hù)同行,多久 | 32-bit Integer | 30 |
OSD mon report interval max | Ceph的OSD守護(hù)進(jìn)程報告Ceph的監(jiān)視器Ceph的監(jiān)視器前認(rèn)為Ceph的OSD守護(hù)下來的時間以秒為單位的大 | 32-bit Integer | 120 |
OSD mon report inteval min | 秒為Ceph的OSD的守護(hù)Ceph的監(jiān)視器,以防止Ceph的監(jiān)視器考慮Ceph的OSD守護(hù)的最低數(shù)量 | 32-bit Integer | 5 (有效范圍:應(yīng)小于OSD 周一 報告 間隔 大) |
OSD mon ACK timeout | 等待的秒數(shù)為Ceph的監(jiān)視器確認(rèn)請求統(tǒng)計 | 32-bit Integer |
關(guān)于“Ceph心跳機(jī)制的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享文章:Ceph心跳機(jī)制的示例分析-創(chuàng)新互聯(lián)
文章URL:http://jinyejixie.com/article4/dsheie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、定制網(wǎng)站、網(wǎng)頁設(shè)計公司、面包屑導(dǎo)航、品牌網(wǎng)站制作、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容