Ceph之RADOS設計原理與實現

Ceph之RADOS設計原理與實現

《Ceph之RADOS設計原理與實現》是2019年機械工業出版社出版的圖書,作者是謝型果、嚴軍。

基本介紹

  • 中文名:Ceph之RADOS設計原理與實現
  • 作者:謝型果、嚴軍
  • 出版時間:2019年1月1日
  • 出版社:機械工業出版社
  • ISBN:9787111613893
編輯推薦,內容簡介,作者簡介,圖書目錄,

編輯推薦

適讀人群 :本書適合於對 Ceph 有一定了解,想更進一步參與到 Ceph 開源項目中來,並致力於後續為 Ceph、特別是 RADOS 組件添磚加瓦的開發者或者高級開發者閱讀。此外,高級運維人員
(1)Ceph 創始人 Sage Weil 親自作序,王璞、陳緒、何寶宏、孫振鵬等專家力薦。
(2)作者是中興通訊Clove團隊核心成員,同時也是Ceph 開源社區技術委員會成員與 Ceph Member聯袂奉獻。
(3)中興通訊Clove團隊在Ceph項目的Commit數量,世界NO.2,僅次於創始團隊Red Hat
(4)系統剖析 Ceph 核心組件 RADOS 的設計原理與具體實現,全面掌握 Ceph 的核心設計理念與高級套用技巧,快速提升對於 Ceph 的研發與運維能力。

內容簡介

  《Ceph之RADOS設計原理與實現》是繼《Ceph設計原理與實現》之後,中興通訊Clove團隊在Ceph領域的又一全新力作。Clove團隊是Ceph開源社區國內負盛名的組織貢獻者之一,自Jewel版起,連續4個版本代碼貢獻量位列世界前三。目前該團隊擁有社區技術委員會成員一名,Ceph Mermber三名。鑒於Clove團隊在Ceph不斷發展與壯大過程中做出的傑出貢獻,創始人SageWeil先生再次為該書親自作序。
  存儲是雲計算的基石,Ceph是開源分散式軟體定義存儲解決方案中的領頭羊。該書以大量存儲技術的基本原理(例如分散式一致性、檔案系統等)為主線,系統剖析了Ceph核心組件RADOS的設計原理與具體實現。通過閱讀該書可以掌握Ceph的核心設計理念與高級套用技巧,從而快速提升自身對於Ceph的研發與運維能力。

作者簡介

作者簡介
謝型果
中興通訊軟體工程師,6 年存儲研發經驗,精通本地檔案系統ZFS。2014年開始研究Ceph,目前是 Ceph 開源社區技術委員會成員兼 Ceph Member,主要研究方向為 RADOS。
嚴 軍
中興通訊軟體工程師,6 年存儲研發經驗,先後從事 NAS 與分散式統一存儲產品研發。2016 年加入 Ceph 開源社區,主要研究領域為 RADOS 與分散式存儲系統 QoS,目前是 Ceph 開源社區的 Ceph Member。

圖書目錄

序1
序2
序3
前言
第1章 一生萬物——RADOS導論 1
1.1 RADOS概述 3
1.2 存儲池與PG 5
1.3 對象演進與排序 6
1.4 stable_mod與客戶端定址 10
1.5 PG分裂與集群擴容 13
1.6 總結和展望 17
第2章 計算定址之美與數據平衡之殤——CRUSH 19
2.1 抽籤算法 20
2.2 CRUSH算法詳解 24
2.2.1 集群的層級化描述——cluster map 25
2.2.2 數據分布策略——placement rule 27
2.3 調製CRUSH 33
2.3.1 編輯CRUSH map 34
2.3.2 定製CRUSH規則 38
2.4 數據重平衡 40
2.4.1 reweight 42
2.4.2 weightset 45
2.4.3 upmap 47
2.4.4 balancer 48
2.5 總結和展望 52
第3章 集群的大腦——Monitor 54
3.1 集群表OSDMap 56
3.2 集群管理 60
3.2.1 OSD管理 60
3.2.2 存儲池管理 63
3.2.3 告警管理 66
3.3 總結和展望 66
第4章 存儲的基石——OSD 68
4.1 OSD概述 69
4.1.1 集群管理 70
4.1.2 網路通信 71
4.1.3 公共服務 72
4.2 OSD上電 74
4.3 故障檢測 75
4.4 空間管理 78
4.5 總結和展望 82
第5章 高效本地對象存儲引擎——BlueStore 84
5.1 設計原理 85
5.2 磁碟數據結構 89
5.2.1 PG 89
5.2.2 對象 89
5.3 快取機制 97
5.3.1 概述 97
5.3.2 實現 100
5.4 磁碟空間管理 103
5.4.1 概述 103
5.4.2 BitmapFreelistManager 106
5.4.3 BitmapAllocator 107
5.5 BlueFS 109
5.5.1 概述 109
5.5.2 磁碟數據結構 112
5.5.3 塊設備 116
5.6 實現原理 116
5.6.1 mkfs 117
5.6.2 mount 117
5.6.3 read 119
5.6.4 write 121
5.7 使用指南 126
5.7.1 部署BlueStore 127
5.7.2 配置參數 129
5.8 總結和展望 132
第6章 移動的對象載體——PG 134
6.1 基本概念與術語 135
6.2 讀寫流程 138
6.2.1 訊息接收與分發 145
6.2.2 do_request 147
6.2.3 do_op 149
6.2.4 execute_ctx 155
6.3 狀態遷移 163
6.3.1 狀態機概述 164
6.3.2 創建PG 167
6.3.3 Peering 170
6.4 總結和展望 184
第7章 線上數據恢復——Recovery和Backfill 185
7.1 Recovery 186
7.1.1 資源預留 186
7.1.2 對象修復 187
7.1.3 增量Recovery和異步Recovery 191
7.2 Backfill 192
7.3 總結和展望 199
第8章 數據正確性與一致性的守護者——Scrub 201
8.1 Scrub的指導思想 202
8.2 Scrub流程詳解 207
8.2.1 資源預留 207
8.2.2 範圍界定 209
8.2.3 對象掃描 211
8.2.4 副本比對 213
8.2.5 統計更新與自動修復 215
8.3 Scrub搶占 215
8.4 總結和展望 218
第9章 基於dmClock的分散式流控策略 219
9.1 概述 220
9.2 dmClock基本原理 221
9.2.1 mClock 221
9.2.2 dmClock 224
9.3 dmClock算法實現 225
9.3.1 I/O請求入隊 227
9.3.2 I/O請求出隊 227
9.3.3 實例分析 229
9.4 在Ceph中的套用實踐 233
9.4.1 client的界定 233
9.4.2 支持頻寬限制 235
9.4.3 存儲卷的QoS 237
9.4.4 集群流控策略 240
9.5 總結和展望 244
第10章 糾刪碼原理與實踐 246
10.1 RAID技術概述 247
10.2 RSRAID和Jerasure 253
10.2.1 計算校驗和 254
10.2.2 數據恢復 255
10.2.3 算術運算 256
10.2.4 缺陷與改進 261
10.2.5 Jerasure 262
10.3 糾刪碼在Ceph中的套用 264
10.3.1 術語 266
10.3.2 新寫 268
10.3.3 讀 269
10.3.4 覆蓋寫 271
10.3.5 日誌 274
10.3.6 Scrub 275
10.4 總結和展望 275
......

熱門詞條

聯絡我們