




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Glusterfs簡介基本概念整體架構進程類型Xlator和Xlator樹接入方式基本概念GlusterFS是一個開源的分布式文件系統,具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。GlusterFS借助TCP/IP或InfiniBandRDMA網絡將物理分布的存儲資源聚集在一起,使用單一全局命名空間來管理數據。GlusterFS基于可堆疊的用戶空間設計,可為各種不同的數據負載提供優異的性能。整體架構整體架構進程類型Gluster:CLI命令執行工具,負責把對GlusterFS的操作請求發送到glusterfsd上執行。Glusterd:管理daemon進程,負責接收gluster發送過來的操作請求,并執行相關的操作,如調用glusterfsd啟動brick服務。Glusterfsd:服務進程,由glusterd啟動。根據卷配置信息執行由glusterfs發送過來的請求。Glusterfs:客戶端進程,根據卷配置信息將FUSE發過來的操作請求逐層傳遞到最底層的protocol/clientxlator上,該xlator通過RPC與glusterfsd連接,將請求發送到glusterfsd服務端繼續執行。進程類型進程類型glusterd:glusterfs:glusterfsd:進程類型Xlator和Xlator樹Xlator和Xlator樹Xlator和Xlator樹Xlator和Xlator樹Xlator和Xlator樹Xlator和Xlator樹Xlator動態鏈接庫:Xlator和Xlator樹卷配置文件:Xlator和Xlator樹Xlator和Xlator樹Xlator和Xlator樹接入方式之前版本的存儲接入方式:接入方式之前版本的存儲接入方式:接入方式之前版本的存儲接入方式:接入方式V2.7及之后版本的存儲接入方式:接入方式通過NFS掛載點訪問:接入方式通過libnfs訪問:Xlator開發基礎Xlator結構Xlator調用關系常用數據結構調試手段Xlator結構Xlator是高度模塊化的組件,具有良好定義的內部結構,包括結構體和接口函數原型定義;要實現一個xlator,必須嚴格按照定義來實現;xlator.h頭文件中定義,包括xlator_fops、xlator_cbks、init、fini、volume_options等結構體中的參數和函數指針。Xlator結構Xlator結構Init、fini分別用于xlator加載和卸載時的處理工作,這個對于每個xlator的個性化私有數據處理非常有用。如果xlator模板提供的接口和參數無法滿足需求,可以有效利用這兩個接口進行處理。Xlator結構xlator_fops是Linux中file_operations、inode_operations和super_operatioins的組合。xlator并不一定要實現全部的函數指針和變量,可以僅實現特定相關的部分,其它的部分會在運行時自動填入默認的值。Xlator結構Xlator結構Xlator結構Xlator調用關系Translator采用異步和回調函數的實現機制;一個xlator的函數調用下一個translator的函數,然后無阻塞的返回。當調用下一個translator的函數時,回調函數可能會立即被調用,也可能稍后在一個不同的線程上被調用。在兩種情況下,回調函數都不會像同步函數那樣獲取其上下文。Translator的回調機制主要采用了STACK_WIND和STACK_UNWIND。當xlatorfops某個函數被調用,表示接受到一個請求,使用framestack來表示。Fops函數中執行相應操作,然后可把該請求使用STACK_WIND傳遞給下一個或多個translator。當完成一個請求而不再需要調用下一個translator,或者當任務完成從回調函數中回到上一個translator時需要調用STACK_UNWIND;Xlator調用關系Xlator調用關系Xlator調用關系example:Xlator調用關系example:常用數據結構call_frame_t:常用數據結構inode表示文件系統中的一個文件。常用數據結構fd表示一個打開的文件,一個inode可以對應多個fd。常用數據結構Xlator上下文:常用數據結構loc_t:常用數據結構dict_t:調試手段日志(/sf/log/today/vs/log/glusterfs/)客戶端日志:glustervolumesetvs_vol_rep2diagnostics.client-log-level[DEBUG|WARNING|ERROR|INFO|CRITICAL|NONE|TRACE]服務端日志:glustervolumesetvs_vol_rep2diagnostics.brick-log-level[DEBUG|WARNING|ERROR|INFO|CRITICAL|NONE|TRACE]stadedump命令gl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論