-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Ceph源碼分析

( 簡體 字)
作者:常濤類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社Ceph源碼分析 3dWoo書號: 45569
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:11/1/2016
頁數:250
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111552079
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書作者通過多年的開發經驗,總結了自己使用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.4 PG創建后狀態機的狀態轉換154
10.5 Ceph的Peering過程分析156
10.5.1 基本概念156
10.5.2 PG日志159
10.5.3 Peering的狀態轉換圖166
10.5.4 pg_info數據結構167
10.5.5 GetInfo169
10.5.6 GetLog176
10.5.7 GetMissing181
10.5.8 Active操作183
10.5.9 副本端的狀態轉移187
10.5.10 狀態機異常處理188
10.6 本章小結188
第11章 Ceph數據修復189
11.1 資源預約190
11.2 數據修復狀態轉換圖191
11.3 Recovery過程193
11.3.1 觸發修復193
11.3.2 ReplicatedPG195
11.3.3 pgbackend199
11.4 Backfill過程205
11.4.1 相關數據結構205
11.4.2 Backfill的具體實現205
11.5 本章小結210
第12章 Ceph一致性檢查211
12.1 端到端的數據校驗211
12.2 Scrub概念介紹213
12.3 Scrub的調度213
12.3.1 相關數據結構214
12.3.2 Scrub的調度實現214
12.4 Scrub的執行217
12.4.1 相關數據結構 217
12.4.2 Scrub的控制流程219
12.4.3 構建ScrubMap221
12.4.4 從副本處理224
12.4.5 副本對比225
12.4.6 結束Scrub過程228
12.5 本章小結228
第13章 Ceph自動分層存儲230
13.1 自動分層存儲技術230
13.2 Ceph分層存儲架構和原理231
13.3 Cache Tier的模式231
13.4 Cache Tier的源碼分析234
13.4.1 pool中的Cache Tier數據結構234
13.4.2 HitSet236
13.4.3 Cache Tier的初始化237
13.4.4 讀寫路徑上的Cache Tier處理238
13.4.5 cache的flush和evict操作245
13.5 本章小結250
序: