日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CynosDB技术详解——存储集群管理【文末有福利】

發布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CynosDB技术详解——存储集群管理【文末有福利】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文由騰訊云數據庫發表

前言

CynosDB是架構在CynosFS之上的分布式關系數據庫系統,為最大化利用存儲資源,平衡資源之間的競爭,檢查資源使用情況,需要一套高效穩定的分布式集群管理系統(SCM: Storage Cluster Manager),SCM使用Etcd作為存儲,利用Etcd Raft算法完成SCM Leader的選舉,對外提供HTTP API 查詢CynosFS 狀態,負責CynosFS調度,其包含兩類調度:

lPool調度:對SCM 中所有Pool進行調度,每個Pool的調度將根據其狀態,產生相關調度操作,包括Pool的初始化,Pool自動擴縮容,以及Pool的銷毀等。

lSegment Group調度: 每個Pool內有一個SG調度器,負責該Pool內所有SG的調度,根據每個SG的狀態,產生相關的調度操作,包括增減副本,Leader切換,副本遷移,副本離線等。

相關組件和名詞解釋如下:

l**DBEngine:**數據庫引擎,支持一主多從。

lDB Cluster **Manager(DCM):**數據庫集群管理,其負責一主多從DB集群的HA管理。

lStorage Service或**Storage Node(SN):**Storage Service是個邏輯概念,泛指實際提供服務的Storage Node。SN則是1個具體的服務進程,負責日志的處理、BLOCK數據的異步回放、讀請求的多版本支持等,同時還負責將WALLOG備份到Cold Backup Storage。

lSegment(Seg):Storage Service管理數據塊BLOCK和日志的最小單元(大小為10GB),也是數據復制的實體。通過一致性協議(Raft)進行同步,形成Segment Group(SG)

l**Pool:**多個SG從邏輯上構成一個連續的存儲數據BLOCK的塊設備,供上層的Distributed File System分配使用。Pool和Seg Group是一對多的關系。

lStorage Cluster **Manager(SCM):**負責管理Storage Service,維護Pool和SG的對應關系,以及Segment Group內部成員的調度。

數據模型

SCM數據模型包含4類信息:API信息,系統信息,調度信息,存儲服務信息

lAPI信息(API Info):SCM對外提供服務的接口,包括SCM自身運行情況,Pool信息,以及Storage Service信息等,提供RESTFul風格的接口(管理類接口)和GRPC接口(數據交互類)。

l系統信息(System Info):SCM自身運行的全局配置信息,以及多個SCM主從Member信息,此外還包括外部系統訪問的地址ClientUrls和Member之間的訪問地址PeerUrls等信息。

l調度信息(Schedule Info):SCM內部調度的作業信息和狀態信息,包括Pool和SG的調度信息,以及相關調度產生的任務,這些任務將會通過心跳下發給Storage Service。

l存儲服務(Store Info):SCM保存的Storage Service信息、調度的狀態信息、Storage Service上報的統計信息以及內部作業定期計算產生的統計信息等,主要包括Pool信息,Storage Service元數據及Storage Service運行時統計信息,以及SG相關信息。

I/O模型

SCM Master主要與如下模塊進行交互:

lStorage Service:進行資源調度,接收心跳,下發命令等交互

lDistributed File System:為其提供對應Pool和pool下所屬SG的信息,以幫助其完成讀寫請求的正確路由

lDCM:為其提供包括創建Pool,查看Pool信息,以及SG調度情況等接口。

lSCM Slave:通過Etcd同步SCM的數據,包括調度信息和資源信息等,維護高可用性的心跳信息。

對上圖的詳細說明:

1.SN注冊到SCM,SN的物理布局信息通過標簽組labels(每個標簽label采用key-value鍵值對表示)進行定義,標簽名依次是Region->Zone->Rack->Host,標簽值是具體部署的物理信息,如北京->北京一區->rack_01->host_01。一個SN負責處理一個SSD設備上的數據讀寫。

2.DCM開始創建Pool,SCM接收到創建操作后,保存該Pool的元數據信息到Etcd上,然后把該Pool加入到內部調度隊列。

3.Pool調度器:定期從調度隊列上獲取各個Pool來調度,調度包括Pool的初始化(分配第一個SG),根據Pool狀態及使用情況進行擴縮容,以及Pool的銷毀。

4.SG調度器:每個Pool下對應一個SG調度器,負責該Pool內所有SG的調度,包括SG的初始化,增減副本,SG內leader切換,遷移等,通過裝箱算法選擇最佳Storage Node作為該SG的成員以及整個存儲資源的調度。

5.Distributed File System會定期同步SG的使用情況,Pool信息到SCM,并從SCM獲取該Pool的所有SG信息以及SG的變更情況(如SG內leader切換)。

調度原理

通過SCM發送心跳信息來驅動的,包括Store Node(SN)心跳和Segment Group(SG)心跳,心跳消息采用Protobuf V3定義,GRPC進行交互,由SN發起,SCM負責接收,接收到心跳信息后,將根據SN運行情況產生相關的調度命令,并通過心跳響應信息下發給SN,SN接收命令,并執行命令,然后更新相應的狀態信息,通過下一次心跳發送給SCM。

Pool調度

Pool調度將對SCM所有Pool進行調度,每隔5秒輪詢一次所有的Pool,檢查是否有新的Pool加入,檢測每個Pool的狀態,根據Pool狀態進行調度,如初始化,擴縮容和銷毀等。

Pool狀態包括:UNINITIALIZE,NORMAL,DISABLE,DELETE,其調度狀態包括:INITIATING,EXPANDING,EXPANDED,IDLE。Pool調度狀態變更如下:

擴容過程如下:

1.當前Pool存在SG0,新增SG1并對SG1進行初始化。

2.當Pool調度器檢查到Pool需擴容時,更新其狀態為EXPANDING,并持久化該Pool信息,然后添加一個SG的元數據到Pool的SG內部調度隊列中,并持久化到Etcd中,SG的ID從0開始編號,依次遞增,保持連續性,避免產生空洞,采用一次擴展一個SG的方式,完成后更新其狀態為EXPANDED。

3.該Pool的SG調度器進行調度,檢測到有新SG,對該SG進行初始化,補充副本。

4.當Pool調度器檢查到該Pool的狀態為EXPANDED,判斷該新的SG是否創建完成(補充完所有副本),如創建完成則更新Pool的調度狀態為IDLE,否則忽略本次調度。

調度狀態需進行持久化,當SCM發生主從切換時,能恢復到崩潰時的調度狀態。

Pool縮容是擴容的逆過程,從id最大的SG開始往0方向收縮,以免產生空洞,具體的操作由SG調度器執行每個SG回收。

Pool釋放是對該Pool的所有SG進行釋放,回收將從從id最大的SG開始回收,回收過程將通過心跳信息下發指令給SN,具體的操作由SG調度器執行每個SG的回收。

SG調度

CynosDB每個Pool都對應一個SG調度器,每個調度器按1秒輪詢一次該Pool內的所有SG,每個Segment Group之間是相互隔離的,其調度不受影響,調度主要通過SN的心跳和SG心跳完成的,調度包括segment的添加,刪除,切主等。

SG狀態包括:UNINITIALIZE,NORMAL,DISABLE。

Segment調度狀態包括:UNINITIALIZE,INITIATING,ALLOCATING,ALLOCATED,BOOTSTRAPPING,ADDING,ADDED,REMOVING,RELEASING,調度狀態如下:

SN心跳:SCM接收store的統計信息,然后下發Segment操作(分配和銷毀Segment)和SG操作(啟動和銷毀Segment Group)給Store,然后Store執行操作,而Store操作的結果通過GRPC API匯報給元數據。如分配一個Segment給某個Pool的SG過程:

1.保存Segment的元數據信息到KV系統中。

2.接收到Store的心跳信息。

3.下發分配Segment信息。

4.接收到分配Segment信息,進行本地操作,操作完成后直接通過grpc匯報分配結果給元數據。

SG心跳:SCM獲取SG的心跳信息,更新SG的元數據信息,然后根據SG的狀態,產生相應操作(如添加,刪除副本)或空操作,通過心跳的響應信息反饋給SN,如有下發操作,SCM通過下一次心跳信息來檢查本次操作是否成功,如往某個SG中添加一個副本的過程:

1.SCM接收到SG上報的心跳信息,更新該SG的信息到KV系統。

2.SCM通過響應下發添加Segment請求給SG。

3.SG接收到請求后,向該SG加入新的Segment,添加后,更新SG信息,下一次心跳周期發送更新后的SG信息.

4.SCM接收到SG的心跳信息,檢查添加Segment操作是否成功。

裝箱算法

假設SCM中存在Region1,該Region1存在Zone1,Zone2兩個區域,Zone1有三個機架Rack1,Rack2,Rack3,存在三個主機Host1,Host2,Host3,每個主機有4個SN,每個SN保存已分配的Segment,選擇一個Store作為SG 副本分四個步驟:篩選,過濾,打分,比較。

1.篩選:根據Pool注冊的標簽信息(為一組Key-Value數組),如[{REGION:Region1},{ZONE:Zone1}],選擇出可用的PoolStores1集合,如{S1,S2,S3,S4,S5...,S12}。

2.過濾:從PoolStores1集合中過濾不符合規則的store信息,如根據其狀態(在線,離線),工作負載(空閑,忙碌),使用率(CPU,內存,磁盤,網絡等),以及該Store已在該SG中等進行過濾,得到PoolStores2集合{S1,S2,S4,S7,S8,S9,S10,S12}。

3.打分:假設SG0的segment所在的store的集合為{S5,S3},其中S5為leader所在的store,對PoolStores2中的store進行打分,遍歷PoolStores,針對每個pStore,遍歷SGStores,比較pStore和sgStore的位置,計算pStore的分值pScore,遍歷完SGStores后,得到該pStore在該SG上的分值pScore的總分值,即{100,100,100,100,100,200,200,200}。

4.比較:如選擇的Stores的分數相同,則按Store上Segment數量進一步比較,數量少的為選擇的Store,如選擇出Store10作為為SG0{S5,S3}的另一個副本。

【騰訊云100元無門檻代金券開搶】各位新老鄉親,騰訊云數據庫年終福利來啦!為了更好地為廣大開發者提供服務,數據君誠摯的邀請您參與本次有獎調研,說你最想說的話,用最好用的數據庫!問卷會占用您兩分鐘左右的時間,回答完畢后將有機會獲得騰訊云100元無門檻代金券,限云數據庫和云服務器使用哦~如您抽中獎品,請在頁面填寫手機號,該手機號將用于接收兌換券碼。數量有限先到先得,12月15日抽獎入口將關閉,快點擊參與吧!

此文已由作者授權騰訊云+社區發布

搜索關注公眾號「云加社區」,第一時間獲取技術干貨,關注后回復1024 送你一份技術課程大禮包!

總結

以上是生活随笔為你收集整理的CynosDB技术详解——存储集群管理【文末有福利】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一二 | 精品午夜一区二区 | 一级特级毛片 | 用力插视频 | 最近最经典中文mv字幕 | 中文字幕日韩电影 | 亚洲欧美综合另类自拍 | 久色免费视频 | 成人欧美一区二区三区在线观看 | 日本久操 | 色哟哟免费在线观看 | 捆绑调教sm束缚网站 | 丁香六月综合 | 欧美成人免费一级 | 欧美怡红院视频 | 色婷婷婷 | 夜夜嗨aⅴ一区二区三区 | 最近中文字幕第一页 | 免费黄色美女网站 | 久久久久久日产精品 | 狠狠鲁影院 | 免费三级大片 | 伊人免费在线观看高清版 | 天天干天天弄 | 大肉大捧一进一出视频 | 国产又粗又猛又黄又爽无遮挡 | 成年人拍拍视频 | 亚洲av无码国产精品久久久久 | 久久久久人妻精品一区二区三区 | 中文字幕免费视频 | 日韩毛片无码永久免费看 | 欧美极品在线播放 | 国产精品女优 | 国产美女裸体无遮挡免费视频 | 中文字幕视频一区二区 | 色网网站 | 免费黄色一级大片 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 美女免费福利视频 | 男人的天堂在线播放 | 亚洲一级在线播放 | 一级黄色性视频 | 亚洲AV成人精品 | 国产aⅴ片 | 精品国产制服丝袜高跟 | 国产成人精品一区二区三区在线 | 久久综合激情网 | 性中国xxx极品hd | 日韩资源网 | 久久青青草原亚洲av无码麻豆 | 熟女少妇一区二区 | 天天看黄色片 | 97视频一区二区 | 91黄色大片| 午夜激情福利在线 | 国产精品成人免费看片 | 又黄又免费的视频 | 国产最新av| 国产a久久 | 天天插天天操天天干 | 中文在线字幕免费观 | 成人av免费网站 | 无码人妻av一区二区三区波多野 | 国产精品视频麻豆 | 日韩av二区| 潮见百合子| 91天堂网 | 欧美午夜精品久久久久久浪潮 | 爱爱免费视频 | 水多多在线 | 亚洲视频手机在线观看 | jizzjizz欧美69巨大 | 女生的胸无遮挡 | 91chinese在线 | 五月婷婷丁香在线 | 欧美激情综合色综合啪啪五月 | 久久精品无码中文字幕 | 日本手机看片 | 97精品人妻一区二区三区香蕉 | 中文字幕+乱码+中文乱码www | 激情视频网址 | 精品伦精品一区二区三区视频 | 日本老妇高潮乱hd | 亚洲色图五月天 | 国产欧美日韩视频 | 日韩在线免费视频 | 漂亮人妻被中出中文字幕 | 伊人狼人综合 | 一二区免费视频 | 中文字幕欧美在线 | 爽爽窝窝午夜精品一区二区 | 成人小视频免费看 | 国产又黄又粗 | 欧美3p在线观看 | 在线超碰91| 欧美午夜精品久久久久久浪潮 | 国产调教打屁股xxxx网站 | 人妖粗暴刺激videos呻吟 | 不卡国产在线 |