glusterfs分析-系列一:glusterfs整體分析

 首先,熟悉整個業務流程前先了解下glusterfs的幾個程序功能以及相互之間的關係!

gluster cli的命令執行工具,負責將glusterfs的請求傳遞給glusterd進程來執行;大家安裝後glusterfs後,執行gluster就會進入到該命令執行工具了;

glusterd:管理daemon進程,同時負責接收gluster發送過來的請求並執行相應的操作,比如:調用glusterfsd來啓動brick服務;另外負責與其他主機上面的glusterd進程來同步信息;

gusterfsd:服務進程,由glusterd進程啓動,並且根據卷配置信息執行從glusterfs發送過來的請求,同時也負責glusterd的請求處理;

glusterfs:客戶端的進程,根據卷配置信息將fuse發過來的操作請求逐層傳遞到最底層的protocol/clientxlator上,該xlator通過rpcglusterfs連接,將請求發送到glusterfsd服務器執行;

下面通過2個圖來說明上面幾個進程的具體關係;

1、進程:glusterglusterdglusterd之間的關係

1

2fuseglusterfsglusterfsd之間的關係(通過一個分佈式複雜卷的方式來說明,爲了突出重點,省略了部分xlator

2

 

     然後,我們進一步熟悉下整個glusterfs的幾個主要的業務功能,來幫助我們後面更好的去理解整個業務邏輯(畢竟,業務邏輯也是爲了去實現對應的功能的);

1、host的管理,比如:增加和刪除主機的相關處理,來實現擴容和縮容;

2、brick的管理,比如:新增和刪除brick的相關處理,來實現擴容和縮容;

3、數據的平衡等提高磁盤空間利用率相關處理;

4、副本的自我修復等可靠性處理;

5、文件的讀寫等基本業務相關處理;

6、其他提升性能以及異常相關的處理;

其中,其中圖1主要是負責系統相關的一些處理流程;圖2主要是負責文件的讀寫處理流程;應該說glusterfs的主要業務邏輯應該都在這裏了(小夥伴們是不是覺得其實還挺簡單的?),下面來詳細分析下整個glusterfs的整個業務邏輯;

我們將業務邏輯從3個方面進行分析:

1、整個glusterfs的初始化過程;

2、整個glusterfs對於文件的讀寫操作流程,即圖2的說明(也是glusterfs的核心);

3、整個glusterfs的命令操作流程,即圖1的說明;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章