發表於2024-11-10
Ceph創始人Sage Weil高度評價並親自作序,張萬春、陸平、鄭緯民、何寶宏等8位領導和技術專傢聯袂推薦
中興通訊Clove團隊核心成員撰寫,Clove團隊在Ceph項目的Commit數量,中國第*,世界第二,僅次於創始團隊RedHat
從設計者和使用者角度係統剖析瞭Ceph的整體架構、核心設計理念、組件的功能與實現原理
本書是中興Clove團隊多年研究和實踐經驗的總結,Ceph創始人Sage Weil的高度評價並親自作序。
Clove團隊是Ceph項目的核心貢獻者,從貢獻的Commit數上看,連續多個版本貢獻在中國排名第*,世界排名第二,對Ceph有非常深入的研究,在中興通訊內部進行瞭大量的生産實踐。
本書同時從設計者和使用者的角度係統剖析瞭Ceph 的整體架構、核心設計理念,以及各個組件的功能與原理;同時,結閤大量在生産環境中積纍的真實案例,展示瞭大量實戰技巧。每一章都從基本原理切入,采用循序漸進的方式自然過渡至Ceph,並結閤 Ceph 的核心設計理念指齣需要進行哪些必要的改進和裁剪,使得讀者不但能夠知其然,而且能夠知其所以然,真正做到瞭“源於 Ceph ,高於 Ceph”。此外,寫作時盡量避免涉及到過多、非必要的專業術語,做到深入淺齣並且每章相對獨立,以最大程度的減少閱讀障礙。
本書核心內容:
l Ceph 核心算法 CRUSH 設計算法分析及拓展
l Ceph 新型高性能存儲引擎BlueStore特性及關鍵流程分析
l Ceph 高級特性EC Overwrites
l Ceph PG 狀態機及數據修復、平衡機製
l Ceph RBD、RGW、Ceph-FS三大主要組件的實現與拓展
l Ceph 生産環境實戰技巧
謝型果
中興通訊資深軟件工程師,5年存儲開發經驗,精通本地文件係統ZFS和分布式存儲係統Ceph。2014 年開始研究 Ceph,2015 年加入 Ceph 開源社區,目前是 Ceph 開源社區的 Ceph Member。
任煥文
中興通訊高級軟件工程師,有10餘年研發經驗,曾就職於浪潮和華為,擅長數據庫、網絡和存儲相關技術。Ceph Member成員,現主要負責Ceph文件係統、NAS存儲和分布式一緻性方麵的研發工作。
嚴 軍
中興通訊高級軟件工程師,從事存儲係統開發工作多年,熟悉DPDK開發框架;2015年加入Ceph開源項目,對分布式存儲係統QoS有深入研究,目前是Ceph開源社區的積極貢獻者。
羅潤兵
華中科技大學微電子專業研究生,中興通訊高級軟件工程師,精通TCP/IP協議棧和分布式存儲係統,2014年開始接觸並參與Ceph開源項目,目前是Ceph開源社區的積極貢獻者。
韋巧苗
中興通訊高級軟件工程師,擅長C/C++編程,有5年存儲係統研發經驗,對Ceph RGW模塊有深入研究,同時在Cache技術及性能優化上也有豐富的經驗。
駱科學
中興通訊高級軟件工程師,有5年存儲産品相關開發經驗,擅長虛擬化及存儲相關技術,2016年於Ceph中國社區年終盛典中被評為“2016年度社區*佳貢獻者”
Ceph以其優異的可擴展性、可靠性、高性能、靈活性、安全性等特徵,成為*活躍的開源存儲明星項目,是OpenStack 的默認存儲後端。大傢可以方便地獲得Ceph的源代碼,但要透徹地理解它、用好它並不容易。本書係統、詳實地介紹瞭Ceph的設計與實現,有理論,有實踐,相信能對廣大Ceph愛好者,包括開發者和運維人員都有很大的幫助!
鄭緯民 清華大學計算機係教授、博士生導師
我非常欣喜地看到,中興的Clove團隊的六位開發者,包括多位Core Member和Contributer,願意將自己在Ceph社區的工作和積纍,以及對Ceph的理解和應用花費大量的時間整理成書,為産業界不同領域的從業者提供參考。相信會是一本好書。
何寶宏 中國信息通信研究院技術與標準研究所副所長、互聯網研究領域主席
伴隨著全球數字化革命大潮而來的是新技術的不斷湧現和商業模式的推陳齣新。本書對開源社區的明星項目Ceph進行瞭完美演繹,有助於讀者全麵瞭解開源分布式雲存儲領域的設計原理和應用。
孫振鵬 *佳國際實踐聯盟主席、EXIN國際信息科學考試學會亞太區總經理
作者所在團隊是國內*早從事 Ceph係統研發的機構之一,為Ceph係統的開發、完善和推廣做齣重要貢獻。作者依托自身的理論基礎和實踐經驗,介紹瞭Ceph係統的工作原理、核心技術和實操技巧,對於雲存儲和數據中心裏那些力圖對數據資源進行高效可靠存儲的從業人員來說,本書是一本很好的指導手冊!
張廣艷 清華大學計算機科學與技術係副教授、博士生導師、計算機學會信息存儲專委會委員
2015年開始與幾位作者開啓瞭一段美妙的 Ceph 旅程,期間我們有互為知己般的信任和支持,過程中更有意思的是不斷戰勝睏難和挑戰所贏得的快樂和滿足。作為中興通訊開源先鋒的這支Ceph團隊極具戰鬥力,他們一直用行動在詮釋他們倡導的“保持奔跑、擁抱開源、拒絕平庸”理念。這本著作傾注瞭這支王*團隊的巨大心血並且有豐富實踐基礎,非常精彩,值得一讀。
譚芳 中興通訊長沙研究所在軟件定義存儲的時代,Ceph對存儲的影響如同Linux對操作係統的影響。Ceph的發展壯大,離不開各種業務場景的需求拉動,也離不開繁榮活躍的社區推動。本書的6位創作者,他們既是中興通訊的一支優秀研發團隊,也是Ceph社區中的一支優秀的團隊。他們深入專研,撥開迷霧,將自己對Ceph設計原理與實現的*新理解與實踐,深入係統地分享齣來。
閆林 中興通訊IT技術學院副院長
推薦序一
推薦序二
前 言
第1章 計算為王—— 基於可擴展哈希的受控副本分布策略CRUSH 1
1.1 straw及straw2算法簡介 2
1.2 CRUSH 算法詳解 6
1.2.1 集群的層級化描述——Cluster Map 7
1.2.2 數據分布策略——Placement Rule 9
1.3 調製CRUSH 14
1.3.1 編輯 CRUSH Map 15
1.3.2 定製CRUSH規則 19
1.3.3 數據重平衡 21
1.4 總結與展望 23
第2章 性能之巔——新型對象存儲引擎BlueStore 25
2.1 設計理念與指導原則 26
2.2 磁盤數據結構 30
2.2.1 PG 30
2.2.2 對象 38
2.3 緩存管理 46
2.3.1 常見的緩存淘汰算法 46
2.3.2 BlueStore中的緩存管理 49
2.4 磁盤空間管理 53
2.4.1 常見磁盤空間管理模式 53
2.4.2 BitmapFreelistManager 56
2.4.3 BitmapAllocator 57
2.5 BlueFS 59
2.5.1 RocksDB與BlueFS 59
2.5.2 磁盤數據結構 62
2.5.3 塊設備 65
2.6 實現原理 66
2.6.1 mkfs 66
2.6.2 mount 67
2.6.3 read 69
2.6.4 write 72
2.7 使用指南 77
2.7.1 部署BlueStore 77
2.7.2 配置參數 80
2.8 總結與展望 83
第3章 時空博弈——糾刪碼原理與overwrites支持 84
3.1 RAID技術概述 85
3.2 RS-RAID和Jerasure 90
3.2.1 計算校驗和 92
3.2.2 數據恢復 92
3.2.3 算術運算 93
3.2.4 缺陷與改進 99
3.2.5 Jerasure 100
3.3 糾刪碼在Ceph中的應用 102
3.3.1 術語 104
3.3.2 概述 105
3.3.3 新寫 106
3.3.4 讀 108
3.3.5 覆蓋寫 110
3.3.6 日誌 112
3.3.7 Scrub 113
3.4 總結與展望 113
第4章 遷移之美 —— PG 讀寫流程與狀態遷移詳解 116
4.1 PG概述 117
4.2 讀寫流程 120
4.2.1 消息接收與分發 127
4.2.2 do_request 129
4.2.3 do_op 129
4.2.4 execute_ctx 136
4.3 狀態遷移 146
4.3.1 狀態機概述 147
4.3.2 創建 PG 150
4.3.3 Peering 154
4.3.4 Recovery 169
4.3.5 Backfill 172
4.4 總結與展望 173
第5章 控製先行——存儲服務質量QoS 175
5.1 研究現狀 176
5.2 dmClock算法原理 177
5.2.1 mClock 177
5.2.2 dmClock 179
5.3 QoS的設計與實現 180
5.3.1 優先級隊列(prio) 181
5.3.2 權重的優先級隊列(wpq) 183
5.3.3 dmClock隊列 184
5.3.4 Client的設計 191
5.4 總結與展望 192
第6章 無心插柳——分布式塊存儲RBD 195
6.1 RBD架構 195
6.2 存儲組織 196
6.2.1 元數據 197
6.2.2 數據 209
6.3 功能特性 211
6.3.1 快照 211
6.3.2 剋隆 216
6.4 總結與展望 219
第7章 應雲而生——對象存儲網關RGW 220
7.1 總體架構 221
7.2 數據組織和存儲 222
7.2.1 用戶 225
7.2.2 存儲桶 228
7.2.3 對象 229
7.2.4 數據存儲位置 231
7.3 功能實現 232
7.3.1 功能特性 233
7.3.2 I/O路徑 235
7.3.3 存儲桶創建 240
7.3.4 對象上傳 242
7.3.5 對象下載 244
7.4 總結與展望 244
第8章 經典重現—— 分布式文件係統 CephFS 246
8.1 文件係統基礎知識 247
8.1.1 文件係統 247
8.1.2 文件係統中的元數據 249
8.1.3 硬鏈接和軟鏈接 250
8.1.4 日誌 251
8.2 分布式文件係統CephFS 252
8.2.1 CephFS設計框架和背景 252
8.2.2 MDS的作用 254
8.3 MDS設計原理與實現 255
8.3.1 MDS元數據存儲 255
8.3.2 MDS負載均衡實現 260
8.3.3 MDS故障恢復 268
8.4 總結與展望 271
第9章 運用之妙—— 應用案例實戰 272
9.1 實戰案例一:Ceph 集群定時Scrub 272
9.2 實戰案例二:Ceph對接OpenStack 274
9.3 實戰案例三:Ceph數據重建配置策略 288
9.4 實戰案例四:Ceph集群Full緊急處理 290
9.5 實戰案例五:Ceph快照在增量備份的應用 292
9.6 實戰案例六:Ceph集群異常watcher處理 297
9.7 總結與展望 298
Foreword推 薦 序 一
張萬春 中興通訊股份有限公司副總裁
閱讀瞭謝型果、任煥文、嚴軍、羅潤兵、韋巧苗、駱科學6位同事創作的《Ceph設計原理與實現》,感到非常高興,並由衷祝賀創作團隊的傑齣貢獻!就這本書,我想談三點看法:
一、中興通訊重視技術的發展
雲計算、大數據、人工智能三位一體,它們重新定義瞭IT,重新定義瞭資産,重新定義瞭工具和效率,這些技術力量越來越快地驅動和改變瞭整個産業,成為支撐行業變革、選擇技術夥伴、拓展創新業務和提供高效服務的技術平颱。中興通訊作為全球通信領域的重要廠商,非常重視技術的發展。在雲計算領域,多年來緻力於利用先進技術,研發更高速度、更大容量、更高安全、更具彈性、更低成本的雲計算基礎設施。其中Ceph就是開源分布式雲儲存領域中最具活力、最先進的基礎技術社區之一,本書記錄瞭我們在這個領域最新的探索實踐。
二、中興通訊重視社區的力量
中興通訊非常認同和重視社區的力量,緻力於建立開放閤作的生態環境。我們參加瞭全球多個開源的社區項目,成為其中最關鍵的夥伴,包括我們和Openstack、Ceph社區的閤作。中興通訊在Ceph領域技術能力的發展,離不開與社區的閤作。中興通訊的Ceph團隊是一個優秀的自組織、自管理、自激勵的開放閤作的敏捷組織,他們內通外聯與社區閤作,共同推動Ceph技術的發展演進。
三、中興通訊樂於分享最佳實踐
中興通訊作為最負社會責任的高科技企業,非常願意將我們的知識、經驗和服務分享到社區、迴饋到社會。本書的6位作者身處Ceph技術研發的最前沿,他們精心創作的《Ceph設計原理與實現》有著三個鮮明的特點:一是最係統,二是最前沿,三是最有深度。我們很樂意將這本優秀的著作分享給大傢!
最後再次感謝創作團隊的重大貢獻,並歡迎各位讀者開啓精彩的《Ceph設計原理與實現》閱讀之旅!
Foreword推 薦 序 二
陸平 中興通訊股份有限公司副總裁
近幾年,隨著IT信息技術的飛速發展,雲計算、虛擬化及池化技術得到瞭廣泛的應用。作為雲計算最受追捧的開源項目,OpenStack讓越來越多的人感受到瞭虛擬化的魅力,並在金融、政務、電力和製造業廣泛被使用。在最新的OpenStack 2017用戶調研中,Ceph RBD以絕對優勢(65%)的環境占有率,證明瞭大傢對 Ceph 充滿信心,而作為OpenStack默認存儲後端的Ceph,也不負眾望,近兩年發展得如火如荼,不僅吸引瞭越來越多的大廠商加入到Ceph生態圈,而且越來越多的行業也采用瞭Ceph作為其優選的存儲解決方案。在大數據盛行的時代,數據量井噴式增長,動輒上PB、EB甚至是ZB的存儲需求比比皆是,而且對性能、可靠性的要求也越來越高,Ceph以其優異的性能、可靠性及靈活的擴展性能受到各行各業的青睞,想想也是理所應當的事情。
Ceph作為一個十多年前就已經誕生的開源項目,能夠發展到今天,它的生命力是由每一個社區貢獻者釋放和延續的,我們很欣喜地發現,這種由參與的力量所帶來的生命力,隨著Ceph開源社區的不斷發展及貢獻者的日益增多,而變得越來越旺盛。讓我們更興奮的是在廣大貢獻者的不斷努力下,Ceph依然在飛速發展,中興通訊作為Ceph開源社區中持續活躍的貢獻者,無疑給Ceph開源社區注入瞭更多的激情和活力。
本書是中興通訊在Ceph開源社區中長期積纍的創作成果,不僅從設計原理及思想上對Ceph進行瞭剖析,而且結閤實踐深入淺齣地將Ceph的獨特魅力展現給大傢,對於想進階參與Ceph開源社區的人來說,絕對是一本不可多得的好書。
Ceph是“存儲的未來”,相信在大傢的共同努力下,這個“未來”不會遠瞭。
前 言 Preface
誕生於 2006 年的 Ceph,是開源社區的明星項目,也是私有雲事實上的標準——OpenStack 的默認存儲後端。作為當前最火爆的分布式存儲係統,Ceph 擁有諸多引人注目的特性。
首先,Ceph 是一種軟件定義存儲,可以運行在幾乎所有主流的Linux 發行版(典型如 CentOS 和 Ubuntu)和其他類 UNIX 操作係統(典型如 FreeBSD)上。2016 年,社區進一步將 Ceph 從 x86 架構移植到 ARM 架構中,令Ceph 應用場景進一步擴展至移動、低功耗等前沿領域,使得 Ceph 未來充滿無限可能。
其次,Ceph 的分布式基因使其可以輕易管理成百上韆個節點、 PB 級及以上存儲容量的大規模集群,同時基於計算的扁平尋址設計使得 Ceph 客戶端可以直接和服務端的任意節點通信,從而避免因為存在訪問熱點而導緻性能瓶頸。實際上,在沒有網絡傳輸限製的前提下,Ceph 可以呈現我們所夢寐以求的、性能與集群規模成綫性擴展的優秀特性。
最後,Ceph 是一個統一存儲係統,既支持傳統的塊、文件存儲協議,例如 SAN 和 NAS;也支持新興的對象存儲協議,例如 S3 和 Swift,這使得 Ceph 理論上可以滿足時下一切主流的存儲應用需求。此外,良好的架構設計使得 Ceph可以輕易拓展至需要存儲的任何領域。
上述這一切使得理論上隻要存在存儲需求,Ceph 就能找到用武之地。因此,誠如Ceph社區所言:Ceph是存儲的未來!
為什麼寫這本書
在 Ceph 的設計理念中,高可擴展性、高可靠性和高性能都是其核心考慮要素。此外,為瞭能夠最大程度地拓展 Ceph的“觸角”(Ceph 本意就是章魚),Ceph 當中所有組件都被設計成鬆耦閤和高度可定製的。基於上述考慮,Ceph 采用麵嚮對象的語言——C++ 進行開發,並且在具體實現上大量采用瞭 STL 和Boost 庫中的高級特性。一方麵,C++ 被公認為最復雜的編程語言之一;另一方麵,經過 10 年的發展,Ceph 已經成為一個代碼行數超過百萬的龐然大物,各種組件多如牛毛,組件之間關係錯綜復雜。更加令人望而生畏的是:隨著 Ceph 應用場景日益廣泛,大量新需求新特性持續湧入,Ceph 正加速嚮前發展!社區代碼每天都在發生翻天覆地的變化——一方麵很多模塊從無到有,另一方麵很多模塊從有到無,即便是一些仍然存在的模塊,短短幾個開發周期之後就會變得麵目全非。上述這一切都成為大量渴望接觸 Ceph、玩轉 Ceph 和深度參與 Ceph的開發人士的夢魘,足以令他們手足無措,對 Ceph望而卻步。
此外,雖然 Ceph誕生至今已經超過 10 年的時間,但是在國內興起卻是近幾年的事情(感謝 OpenStack),因此相關書籍異常匱乏。市麵上僅有的幾本,或者單純從實踐角度針對如何使用 Ceph 進行介紹,因為缺乏理論作為指導,加之 Ceph 的命令集一直處於進化之中並且越來越龐大,普通讀者可能無法留下深刻印象;或者單純從源碼角度對 Ceph 進行分解和剖析,一方麵 Ceph設計原理與實現 下載 mobi epub pdf txt 電子書 格式
Ceph設計原理與實現 下載 mobi pdf epub txt 電子書 格式 2024
Ceph設計原理與實現 下載 mobi epub pdf 電子書ceph入門書籍挺好的挺閤適的
評分公司項目組齣的,支持一下
評分非常實用‘物流很快
評分挺棒的書,好評
評分Ceph設計原理與實現
評分好好好好好好好好好好好好好
評分哈哈哈哈哈哈好哈哈哈哈好哈哈哈哈好哈哈哈哈好哈哈哈哈好哈哈
評分書 203 頁, 有關 lock.rbd_lock 信息查詢 lock_info_t 結構體, 是不是寫錯瞭? 我看 10.2.版本的是 raods::cls::lock::locker_info_t
評分推薦
Ceph設計原理與實現 mobi epub pdf txt 電子書 格式下載 2024