Ceph源碼分析

Ceph源碼分析 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
常濤 著



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-22

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 機械工業齣版社
ISBN:9787111552079
版次:1
商品編碼:12072602
品牌:機工齣版
包裝:平裝
叢書名: 大數據技術叢書
開本:16開
齣版時間:2016-11-01
用紙:膠版紙
頁數:250


相關圖書





圖書描述

內容簡介

  本書作者通過多年的開發經驗,總結瞭自己使用Ceph的實戰經驗,並對Ceph的框架和主要源代碼進行瞭分析,為開發分布式係統提供瞭重要參考。主要內容包括:Ceph整體架構、Ceph通用模塊、Ceph網絡通信模塊、Ceph客戶端實現、CephCRUSH算法、Ceph底層對象存儲機製、CephOsd、Cephmon等。

目錄

序言
前言
第1章 Ceph整體架構1
1.1 Ceph的發展曆程1
1.2 Ceph的設計目標2
1.3 Ceph基本架構圖2
1.4 Ceph客戶端接口3
1.4.1 RBD4
1.4.2 CephFS4
1.4.3 RadosGW4
1.5 RADOS6
1.5.1 Monitor6
1.5.2 對象存儲7
1.5.3 pool和PG的概念7
1.5.4 對象尋址過程8
1.5.5 數據讀寫過程9
1.5.6 數據均衡10
1.5.7 Peering11
1.5.8 Recovery和Backfill11
1.5.9 糾刪碼11
1.5.10 快照和剋隆12
1.5.11 Cache Tier12
1.5.12 Scrub13
1.6 本章小結13
第2章 Ceph通用模塊14
2.1 Object14
2.2 Buffer16
2.2.1 buffer::raw16
2.2.2 buffer::ptr17
2.2.3 buffer::list17
2.3 綫程池19
2.3.1 綫程池的啓動20
2.3.2 工作隊列20
2.3.3 綫程池的執行函數21
2.3.4 超時檢查22
2.3.5 ShardedThreadPool22
2.4 Finisher23
2.5 Throttle23
2.6 SafeTimer24
2.7 本章小結25
第3章 Ceph網絡通信26
3.1 Ceph網絡通信框架26
3.1.1 Message27
3.1.2 Connection29
3.1.3 Dispatcher 29
3.1.4 Messenger29
3.1.5 網絡連接的策略30
3.1.6 網絡模塊的使用30
3.2 Simple實現32
3.2.1 SimpleMessager33
3.2.2 Accepter33
3.2.3 DispatchQueue33
3.2.4 Pipe34
3.2.5 消息的發送35
3.2.6 消息的接收36
3.2.7 錯誤處理37
3.3 本章小結38
第4章 CRUSH數據分布算法39
4.1 數據分布算法的挑戰39
4.2 CRUSH算法的原理40
4.2.1 層級化的Cluster Map40
4.2.2 Placement Rules42
4.2.3 Bucket隨機選擇算法46
4.3 代碼實現分析49
4.3.1 相關的數據結構49
4.3.2 代碼實現50
4.4 對CRUSH算法的評價52
4.5 本章小結52
第5章 Ceph客戶端53
5.1 Librados53
5.1.1 RadosClient54
5.1.2 IoCtxImpl56
5.2 OSDC56
5.2.1 ObjectOperation56
5.2.2 op_target57
5.2.3 Op57
5.2.4 Striper58
5.2.5 ObjectCacher59
5.3 客戶寫操作分析59
5.3.1 寫操作消息封裝60
5.3.2 發送數據op_submit61
5.3.3 對象尋址_calc_target61
5.4 Cls62
5.4.1 模塊以及方法的注冊62
5.4.2 模塊的方法執行63
5.4.3 舉例說明64
5.5 Librbd65
5.5.1 RBD的相關的對象65
5.5.2 RBD元數據操作66
5.5.3 RBD數據操作67
5.5.4 RBD的快照和剋隆69
5.6 本章小結71
第6章 Ceph的數據讀寫72
6.1 OSD模塊靜態類圖72
6.2 相關數據結構73
6.2.1 Pool74
6.2.2 PG75
6.2.3 OSDMap75
6.2.4 OSDOp77
6.2.5 Object_info_t77
6.2.6 ObjectState78
6.2.7 SnapSetContext79
6.2.8 ObjectContext79
6.2.9 Session80
6.3 讀寫操作的序列圖81
6.4 讀寫流程代碼分析83
6.4.1 階段1:接收請求83
6.4.2 階段2:OSD的op_wq處理85
6.4.3 階段3:PGBackend的處理95
6.4.4 從副本的處理95
6.4.5 主副本接收到從副本的應答95
6.5 本章小結96
第7章 本地對象存儲97
7.1 基本概念介紹98
7.1.1 對象的元數據98
7.1.2 事務和日誌的基本概念98
7.1.3 事務的封裝99
7.2 ObjectStore對象存儲接口100
7.2.1 對外接口說明101
7.2.2 ObjectStore代碼示例101
7.3 日誌的實現102
7.3.1 Jouanal對外接口102
7.3.2 FileJournal103
7.4 FileStore的實現109
7.4.1 日誌的三種類型110
7.4.2 JournalingObjectStore111
7.4.3 Filestore的更新操作112
7.4.4 日誌的應用115
7.4.5 日誌的同步115
7.5 omap的實現116
7.5.1 omap存儲117
7.5.2 omap的剋隆118
7.5.3 部分代碼實現分析119
7.6 CollectionIndex120
7.6.1 CollectIndex接口122
7.6.2 HashIndex123
7.6.3 LFNIndex124
7.7 本章小結124
第8章 Ceph糾刪碼125
8.1 EC的基本原理125
8.2 EC的不同插件126
8.2.1 RS編碼126
8.2.2 LRC編碼126
8.2.3 SHEC編碼128
8.2.4 EC和副本的比較129
8.3 Ceph中EC的實現129
8.3.1 Ceph中EC的基本概念129
8.3.2 EC支持的寫操作130
8.3.3 EC的迴滾機製131
8.4 EC的源代碼分析132
8.4.1 EC的寫操作132
8.4.2 EC的write_full133
8.4.3 ECBackend133
8.5 本章小結133
第9章 Ceph快照和剋隆134
9.1 基本概念134
9.1.1 快照和剋隆134
9.1.2 RDB的快照和剋隆比較135
9.2 快照實現的核心數據結構137
9.3 快照的工作原理139
9.3.1 快照的創建139
9.3.2 快照的寫操作139
9.3.3 快照的讀操作140
9.3.4 快照的迴滾141
9.3.5 快照的刪除141
9.4 快照讀寫操作源代碼分析141
9.4.1 快照的寫操作141
9.4.2 make_writeable函數142
9.4.3 快照的讀操作145
9.5 本章小結146
第10章 Ceph Peering機製147
10.1 statechart狀態機147
10.1.1 狀態147
10.1.2 事件 148
10.1.3 狀態響應事件148
10.1.4 狀態機的定義149
10.1.5 context函數150
10.1.6 事件的特殊處理150
10.2 PG狀態機151
10.3 PG的創建過程151
10.3.1 PG在主OSD上的創建151
10.3.2 PG在從OSD上的創建153
10.3.3 PG的加載154
10

前言/序言

  前  言  隨著雲計算技術的興起和普及,雲計算基石:分布式共享存儲係統受到業界的重視。Ceph以其穩定、高可用、可擴展的特性,乘著開源雲計算管理係統OpenStack的東風,迅速成為最熱門的開源分布式存儲係統。   Ceph作為一個開源的分布式存儲係統,人人都可以免費獲得其源代碼,並能夠安裝部署,但是並不等於人人都能用起來,人人都能用好。用好一個開源分布式存儲係統,首先要對其架構、功能原理等方麵有比較好的瞭解,其次要有修復漏洞的能力。這些都是在采用開源分布式存儲係統時所麵臨的挑戰。   要用好Ceph,就必須深入瞭解和掌握Ceph源代碼。Ceph源代碼的實現被公認為比較復雜,閱讀難度較大。閱讀Ceph源代碼,不但需要對C++語言以及boost庫和STL庫非常熟悉,還需要有分布式存儲係統相關的基礎知識以及對實現原理的深刻理解,最後還需要對Ceph框架和設計原理以及具體的實現細節有很好的把握。所以Ceph源代碼的閱讀是相當有挑戰性的。   本著對Ceph源代碼的濃厚興趣以及實踐工作的需要,需要對Ceph在源代碼層級有比較深入的瞭解。當時筆者盡可能地搜索有關Ceph源代碼的介紹,發現這方麵的資料比較少,筆者隻能自己對著Ceph源代碼開始瞭比較艱辛的閱讀之旅。在這個過程中,每一個小的進步都來之不易,理解一些實現細節,都需要對源代碼進行反復地推敲和琢磨。自己在閱讀的過程中,特彆希望有人能夠幫助理清整體代碼的思路,能夠解答一下關鍵的實現細節。本書就是秉承這樣一個簡單的目標,希望指引和幫助廣大Ceph愛好者更好地理解和掌握Ceph源代碼。   本書麵嚮熱愛Ceph的開發者,想深入瞭解Ceph原理的高級運維人員,想基於Ceph做優化和定製的開發人員,以及想對社區提交代碼的研究人員。官網上有比較詳細的介紹Ceph安裝部署以及操作相關的知識,希望閱讀本書的人能夠自己動手實踐,對Ceph進一步瞭解。本書基於目前最新的Ceph 10.2.1版本進行分析。   本書著重介紹Ceph的整體框架和各個實現模塊的實現原理,對核心源代碼進行分析,包括一些關鍵的實現細節。存儲係統的實現都是圍繞數據以及對數據的操作來展開,隻要理解核心的數據結構,以及數據結構的相關操作就可以大緻瞭解核心的實現和功能。本書的寫作思路是先介紹框架和原理,其次介紹相關的數據結構,最後基於數據結構,介紹相關的操作實現流程。   最後感謝一起工作過的同事們,同他們在Ceph技術上進行交流溝通並加以驗證實踐,使我受益匪淺。感謝機械工業齣版社的編輯吳怡對本書齣版所做的努力,以及不斷提齣的寶貴意見。感謝我的妻子孫盛南女士在我寫作期間默默的付齣,對本書的寫作提供瞭堅強的後盾。   由於Ceph源代碼比較多,也比較復雜,寫作的時間比較緊,加上個人的水平有限,錯誤和疏漏在所難免,懇請讀者批評指正。有任何的意見和建議都可發送到我的郵箱changtao381@163.com,歡迎讀者與我交流Ceph相關的任何問題。   常濤2016年6月於北京   序  言自從2013年加入Ceph社區以來,我一直想寫一本分析Ceph源碼的書,但是兩年多來提交瞭數萬行的代碼後,我漸漸放下瞭這個事情。Ceph每個月、每周都會發生巨大變化,我總是想讓Ceph源碼愛好者看到最新最棒的設計和實現,社區一綫的模塊維護和每周數十個代碼提交集的閱讀,讓我很難有時間迴顧和把握其他Ceph愛好者的疑問和需求點。   今天看到這本書讓我非常意外,作者常濤把整個Ceph源碼樹肢解得恰到好處,如庖丁解牛般將Ceph的核心思想和實現展露齣來。雖然目前Ceph分分鍾都有新的變化,但無論是新的模塊設計,還是重構已有邏輯,都是已有思想的翻新和延續,這些纔是眾多Ceph開發者能十年如一日改進的秘密!   我跟作者常濤雖然隻有一麵之緣,但是在開源社區中的交流已經足夠成為彼此的相知。他對於分布式存儲的設計和實現都有獨到見解,其代碼閱讀和理解靈感更是超群。我在年前看到他一些對Ceph核心模塊的創新性理解,相信這些都通過這本書展現齣來瞭。   這本書是目前我所看到的從代碼角度解讀Ceph的最好作品,即使在全球範圍內,都沒有類似的書籍能夠與之媲美。相信每個Ceph愛好者都能從這本書中找到自己心中某些疑問的解答途徑。   作為Ceph社區的主要開發者,我也想在這裏強調Ceph的魅力,希望每個讀者都能充分感受到Ceph社區生機勃勃的態勢。Ceph是開源世界中存儲領域的一個裏程碑!在過去很難想像,從IT巨無霸們組成的巨大存儲壁壘中能夠誕生一個真正被大量用戶使用並投入生産環境的開源存儲項目,而Ceph這個開源存儲項目已經成為全球眾多海量存儲項目的主要選擇。   眾所周知,在過去十年裏,IT技術領域中巨大的創新項目很多來自於開源世界,從壟斷大數據的Hadoop、Spark,到風靡全球的Docker,都證明瞭開源力量推動瞭新技術的産生與發展。而再往以前看十年,從Unix到Linux,從Oracle到MySQL/PostgreSQL,從 VMWare到KVM,開源世界從傳統商業技術繼承並給用戶帶來更多的選擇。處於開源社區一綫的我欣喜地看到,在IT基礎設施領域,越來越多的創業公司從創立之初就以開源為基石,而越來越多的商業技術公司也受益於開源,大量的復雜商業軟件基於開源分布式數據庫、緩存存儲、中間件構建。相信開源的Ceph也將成為IT創新的驅動力。正如Sage Weil在2016 Ceph Next會議上所說,Ceph將成為存儲裏的Linux!   王豪邁,XSKY公司CTO2016年9月8日
Ceph源碼分析 下載 mobi epub pdf txt 電子書 格式

Ceph源碼分析 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Ceph源碼分析 下載 mobi pdf epub txt 電子書 格式 2024

Ceph源碼分析 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

書還行吧,反正對於初學者來講這個幫助很大。

評分

好書

評分

還是不錯的,剛開始看,好的話再來補評

評分

ceph 源碼,ceph 愛好者必備,支持

評分

寫的全麵,正在看。

評分

很好,很實用

評分

書很不錯,贊贊

評分

C++還是很難啃的...

評分

.........

類似圖書 點擊查看全場最低價

Ceph源碼分析 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有