open falcon graph擴容 縮容

2021-10-19 22:21:17 字數 1219 閱讀 4443

方案原理

從修改transfer開始,流量會按新的雜湊規則進入到原始集群和擴容集群;此時擴容集**現,migrate開關是開啟狀態;於是,擴容集群接收到流量之後,並沒有很著急的去落盤,而是先按照舊的雜湊規則從原始集群拉取歷史資料(本質上就是乙個rrd檔案),拉取成功則將整個rrd檔案寫入本地,若拉取超時(預設1s),則將此次接收到的資料傳送給舊的集群,下乙個週期會再次重複此過程。

同樣的,query的查詢,也是按照新的雜湊規則。當查詢的流量到達擴容集群,如果graph發現,本地已有rrd檔案,則直接查詢返回;如果本地無rrd檔案,則graph會通過舊的雜湊規則,去原始集群中拉取到舊資料;然後跟自己cache中的資料做乙個聚合,再返回給查詢者。

整個過程從技術上來說,可以說是:無損的、可以熱遷移。

擴容流程

修改修改新增加的graph的cfg.json如下:

"migrate"

:}

啟動新增加的graph(作者文件說是重啟所有的graph)

修改所有transfer的cfg.json如下:

"graph"

:},

重啟所有的transfer

這時候,transfer就會將接收到的資料,傳送給擴容後的graph例項;同時graph例項,會自動進行資料的rebalance,rebalance的過程持續時間長短,與待遷移的counter數量以及graph機器的負載、效能有關係。

修改api的配置,並重啟所有的api程序。

"graph"

:},

如何確認資料rebalance已經完成?

目前只能通過觀察graph內部的計數器,來判斷整個資料遷移工作是否完成;觀察方法如下:對所有新擴容的graph例項,訪問其統計介面 觀察到所有的計數器都不再變化,那麼就意味著遷移工作完成啦。

遷移完成後關閉migrate後服務重啟。

總結擴容失敗對導致遷移期間資料丟失,建議分批擴容。

根據原理可以知道在開啟migrate開關後會對寫入的資料進行rrd檔案同步,達到資料遷移的效果。根據這一特性來思考下如何進行縮容操作。本人實際測試了下沒走通(由於我先進行擴容操作,又進行縮容操作,導致資料沒有進行同步)。如果是單純的縮容操作應該可行。

LVM(ext4 xfs的擴容和縮容)

4.10 4.11 4.12 lvm講解 lvm簡介 lvm是 logical volume manager 邏輯卷管理 的簡寫,它由heinz mauelshagen在linux 2.4核心上實現。lvm將乙個或多個硬碟的分割槽在邏輯上集合,相當於乙個大硬碟來使用,當硬碟的空間不夠使用的時候,可以...

linux資料遷移,資料擴容與縮容

建立pv 必須對整體進行pv化 pvcreate dev 磁碟名 pvs 檢視磁碟是否有pv化 pvscan 得到回顯建立vg vgcreate 卷組名 dev 磁碟名 vgscan 得到回顯 vgs 顯示磁碟容量建立lv lvcreate l 邏輯卷大小 n 邏輯卷名 卷組名 lvscan 得到回...

資料庫分庫分表,動態擴容縮容方案

昨天我們分享了怎麼不停機進行分庫分表資料遷移 資料庫分庫分表,生產環境不停機資料遷移 後來有好多朋友問我,說他們的系統雖然也到了差不多分表的地步了,但是,不知道具體拆分多少張表,分多了又怕浪費公司資源,分少了又怕後面怎麼去擴容,還有另一些朋友說,所在的公司規模還不大,尚在發展中,公司壓根就沒這麼資源...