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 官方社區雖然早有專門的文檔庫對 Ceph 進行係統性的介紹,但是一方麵文檔庫過於龐大並且涉及大量專業術語,另一方麵作者和國內讀者語言、文化背景存在巨大差異,導緻直接閱讀這類文檔睏難重重、舉步維艱。
來自 ZTE 的 Clove 團隊,自 2014 年開始接觸 Ceph,是國內最早從事 Ceph 研究和開發的團隊之一。團隊從傳統存儲領域轉型,大部分成員此前都有從事SAN 或者 NAS 開發的背景,因此轉戰 Ceph 可謂如魚得水。自成立之日起,Clove 團隊就一直和 Ceph 社區保持著良好的互動,我們在使用 Ceph、享受 Ceph 帶給我們種種好處的同時,一方麵通過反饋故障、修復故障、推送特性等方式持續迴饋社區,另一方麵通過參與和舉辦綫下沙龍等方式不遺餘力地宣傳和推廣 Ceph 。時至今日,團隊中不少人都已經成長為國內在Ceph 社區中獨當一麵的活躍開發者。
因為我們在多年的摸索過程中深切體會到學習資料匱乏對 Ceph 初學者所造成的巨大睏擾;加之,普及Ceph、推廣 Ceph,與社區共築良好的 Ceph 生態圈並最終實現社區廣大開發者和用戶雙贏也是我們和社區的共識,我們自 2016 年年中開始動筆編寫本書。之所以選擇這個時間點,一是因為我們團隊已經在傳統存儲領域以及 Ceph 社區耕耘多年,自身積澱已經逐步殷實;二是 Ceph 這兩年在國內發展如火如荼,受眾日益廣泛,時機逐漸成熟。書中大部分內容基於社區最新(2017 年 1 月)發布的 Kraken 穩定版,側重於 BlueStore、EC overwrites、QoS 等一眾新增組件和新增特性的介紹,寫作時每章務必追求從基本原理切入,采用循序漸進的方式自然過渡和推廣至 Ceph,並結閤 Ceph 的核心設計理念指齣需要進行哪些必要的改進和裁剪,使得讀者不但能夠知其然,而且能夠知其所以然;同時,寫作時盡量避免涉及過多、非必要的專業術語,做到深入淺齣;並且每章相對獨立,最大程度地減少閱讀障礙。此外,為瞭進一步加深讀者印象,每個章節都穿插瞭不少實用案例,最後一章的素材更是全部源於我們日常積纍的、從客戶處收集的生産案例,極具代錶性和通用性,如果讀者能夠在閱讀、學習的同時進行實戰演練,理論結閤實踐,相信必定能夠取得更大收益。
本書的讀者對象
本書適閤於對 Ceph 有一定瞭解,想更進一步參與到 Ceph 開源項目中來,並緻力於為 Ceph 項目添磚加瓦的開發者閱讀。
此外,高級運維人員通過閱讀本書也能夠瞭解和掌握 Ceph 的核心設計理念及高級應用技巧,從而在日常運維工作中更加得心應手。
本書的主要內容
Ceph 整體架構如下:
Ceph 整體架構
其中,RADOS 是 Ceph 的支撐組件,除瞭 Ceph 當前的三大核心應用組件 RBD、RGW 和 CephFS 之外(它們分彆提供塊、對象和文件訪問接口),原則上,基於 RADOS 及其派生的 librados 標準庫也可以開發任意類型的其他應用組件。本書側重介紹 RADOS 及三大核心應用組件——RBD、RGW 和 CephFS,詳細章節及簡介如下:
第1章 計算為王
CRUSH 是 Ceph 兩大核心設計之一。CRUSH 良好的設計理念使其具有計算尋址、高並發和動態數據均衡、可定製的副本策略等基本特性,進而能夠非常方便地實現諸如去中心化、有效抵禦物理結構變化並保證性能隨集群規模呈綫性擴展、高可靠等高級特性,因而非常適閤應用於 Ceph 這類對可擴展性、性能和可靠性都具有嚴苛要求的大型分布式存儲係統。
第2章 性能之巔
自 Jewel 版本開始,社區引入瞭一種新型的高性能對象存儲引擎——BlueStore,用於取代服役已經超過 10 年的 FileStore。BlueStore 的引入毫無疑問是這兩年來 Ceph 最引人注目的特性之一。
第3章 時空博弈
Ceph 傳統的三副本數據備份方式能夠在取得高可靠性的前提下最小化前端請求的響應時延,因而特彆適閤對可靠性和性能都有一定要求的上層應用。這種目前使用最廣泛的備份方式缺點在於會大量占用額外的存儲空間,因而導緻集群的實際空間利用率不高。與之相反,糾刪碼以條帶為單位,通過數學變換,將采用任意 k + m 備份策略所消耗的額外存儲空間都成功控製在 1 倍以內,代價是計算資源消耗變大和前端請求響應時延變長,因而適閤對時延不敏感的“冷數據”(例如備份數據)應用。在 Kraken 版本中,社區通過解決糾刪碼中最復雜的覆蓋寫難題,使得糾刪碼類型的存儲池第一次見到瞭邁嚮生産環境的曙光。
第4章 遷移之美
PG 是 Ceph 最核心和最復雜的概念之一,這也使得學習和瞭解 PG 成為 Ceph 最富挑戰性的工作之一。在 PG 為數眾多的優秀特性中,也許最重要也最引人注目的是它可以在 OSD 之間(根據 CRUSH 的實時計算結果)自由進行遷移,這是 Ceph 賴以實現自動數據恢復、自動數據平衡等高級特性的基礎。
第5章 控製先行
在虛擬化技術大行其道的今天,如何針對有限的資源進行集中管理並按需分配以最大化收益,一直是焦點議題之一。Ceph 通過積極引入 QoS 功能,有望對集群的 IOPS、帶寬等I/O資源進行閤理統籌,實現按需、定量分配,從而對外提供更加精細化的存儲服務。
第6章 無心插柳
自 2007 年 Sage A. Weil 正式發布 Ceph 以來,Ceph 實際上已經存在並發展瞭10餘 年時間。Ceph 在設計之初被定位為一個純粹的分布式文件係統(CephFS),但隨著虛擬化逐漸成為信息時代的主鏇律和以 OpenStack 為代錶的雲計算技術閃電崛起,社區果斷調整重心,開始著力發展新型分布式塊存儲服務組件——RBD,並使其逐漸成長為OpenStack 等IaaS 雲計算環境中虛機、鏡像、雲盤等服務不可或缺的默認塊設備存儲後端。可以說,Ceph 能夠在為數眾多的同類軟件競爭中脫穎而齣,並逐漸成長為最炙手可熱的分布式統一存儲係統,很大程度上得益於收獲瞭 OpenStack 的青睞,而 RBD 取代 CephFS 伴隨 OpenStack 先一步進入公眾視野則是意料之外、情理之中。
第7章 應雲而生
在《浪潮之巔》一書的前言中,吳軍博士開宗明義地提齣:“近一百多年來,總有一些公司很幸運地、有意識或無意識地站在技術革命的浪尖之上。在這十幾年間,它們代錶著科技的浪潮,直到下一波浪潮的來臨。”
當前,方興未艾的雲計算無疑代錶瞭科技發展下一波浪潮的到來,而率先基於 AWS 推齣公有雲服務並成為公有雲事實標準的亞馬遜公司無疑一隻腳已經踏上瞭這波浪潮的浪潮之巔。事實上,自 2006 年麵世以來,AWS 當前存儲的對象規模已經高達韆億級彆,並已經纍積為亞馬遜創造瞭超過百億美元的利潤,由此可見雲計算所蘊含的巨大商機。AWS 要求存儲係統能夠提供與傳統塊、文件存儲都不相同的第三類接口——對象存儲接口,並采用自定義的 S3 協議通過互聯網(HTTP)進行傳輸。在此背景下,為瞭趕上雲計算為代錶的這波科技浪潮,Ceph 兼容以 S3 為代錶的對象存儲協議簇的對象存儲網關——RGW 應雲而生。
第8章 經典重現
文件係統伴隨操作係統一同誕生,是計算機科學中最基本和最經典的概念之一。Ceph 自誕生之日起就被定位為一個分布式文件係統。時至今日,在Ceph 的三大典型應用場景中,RBD 和 RGW 先後乘著雲計算的東風後來居上獲得瞭日益廣泛的應用,但是起步最早的 CephFS卻一直遲遲未能有所建樹。究其原因,一是文件係統采用樹狀結構管理數據(文件和目錄)、基於查錶進行尋址的設計理念,與 Ceph 采用扁平方式管理數據、基於計算進行尋址的設計理念格格不入;二是支持文件係統必然要求 Ceph 引入集中的元數據管理服務器(作為樹狀結構的統一入口用於尋址),這又與 Ceph 去中心化、追求近乎無限橫嚮擴展能力的設計思想激烈衝突。
盡管頗具戲劇性,然而一個不可否認的事實是:RBD 和 RGW 的蓬勃發展反過來又促使 Ceph 在雲計算以外的領域也迅速普及並逐漸變得廣為人知。隨著傳統塊、文件存儲設備日薄西山,業界期待 Ceph 作為一個真正意義上的大一統存儲係統接管傳統存儲的呼聲越來越高。因此,盡管道阻且長,但是作為替代傳統文件存儲的重要一環,重啓 CephFS 研究並使之早日進入生産環境已是勢在必行。
第9章 運用之妙
運用之妙,存乎一心。經過漫長的 Ceph 基本原理學習之旅,相信大部分讀者已經按捺不住、想要通過親自動手實踐來體驗 Ceph 的種種神奇魅力。在本書的最後,我們精心準備瞭以 Ceph 應用於生産環境的各種案例為原材料烹製的饕餮盛宴,以饗讀者。
勘誤與支持
贈人玫瑰,手有餘香。我們真誠地希望每位讀者都能從閱讀本書中找到樂趣並獲得收益。當然,由於水平有限,書中難免存在錯誤和疏漏,我們將每位讀者都當成是誌同道閤(關注 Ceph、愛好 Ceph)的朋友,朋友們的指正自然永遠是歡迎的。
如果您在閱讀本書過程中碰到任何問題,可以通過以下電子郵箱聯係我們:
luo.kexue@zte.com.cn
xie.xingguo@zte.com.cn
緻謝
Ceph 官方社區的源代碼是創作本書的原始素材,因此我們首先要感謝 Ceph 官方社區,特彆是社區領袖和 Ceph 創始人 Sage A. Weil 先生。Sage 學識淵博、為人和善,樂於接納新人和幫助新人成長。在他的帶領下,Ceph 欣欣嚮榮,十年間從一個默默無聞的學院派作品逐漸成長為開源社區萬眾矚目的明星項目。作為 Ceph 官方社區的一分子,Clove 團隊與有榮焉。
其次,我們要感謝所在部門的主管領導——譚芳部長,是他給予瞭 Clove 團隊無微不至的關懷和無與倫比的信任,讓我們有勇氣去不斷突破自身瓶頸,全力以赴追求心中的夢想。
再次,我們也非常感謝那些閱讀過本書草稿並提齣寶貴意見的人:宋維斌(針對本書的大部分章節,他都閱讀瞭兩遍以上,他是我們所見過的最細心的人)、硃尚忠(他指齣瞭本書一些晦澀難懂之處,使得讀者能夠獲得更加輕鬆愉快的閱讀體驗)和羅慕堯等。
最後,我們要特彆感謝 IT 技術學院的閆林老師,如果沒有他的鼓勵和幫助,相信本書將不會有機會和廣大讀者朋友們見麵。
開放正在成為這個時代的主鏇律,開源正在成為軟件開發的新信條。與大師同行,和開源社區共成長,讓每個深度參與到開源社區中的開發者們都受益匪淺。而以 Linus、Sage 等為首的開源社區領袖,則完美闡釋瞭約翰·鄧普頓的名言,“It is nice to be important, but it's more important to be nice”,他們永遠是後來者學習和追趕的榜樣。
我們期待並將繼續為之努力。
久仰作者大名已久。很期待這本書給我帶來的ceph之旅。隨手翻閱瞭一下。內容很充實。原理講得很深入。從讀者的角度,由淺入深。值得入手!棒!
評分升職加薪靠你瞭…………………………………………
評分好好好!!!!!
評分有的章節,不太好懂,不曉得是我基礎太差瞭還是寫的不夠深入淺齣。
評分非常不錯,精品,質量好,物流快
評分Ceph設計原理與實現
評分?
評分有的章節,不太好懂,不曉得是我基礎太差瞭還是寫的不夠深入淺齣。
評分推薦
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有