內(nèi)容簡介
這是一本從工程角度講解Ceph原理、實戰(zhàn)和應(yīng)用的著作,得到了近10家企業(yè)的高管和技術(shù)專家一致推薦。三位作者是RedHat和平安科技的資深技術(shù)專家,在分布式存儲領(lǐng)域積累了豐富的經(jīng)驗。
雖然本書對Ceph的原理和架構(gòu)做了詳細的講解,但這不是目的,本書希望讀者在充分理解Ceph的原理的基礎(chǔ)上,能夠?qū)eph正確、高效地應(yīng)用于工程實踐,在實踐的過程中持續(xù)對Ceph進行優(yōu)化和運維,z終實現(xiàn)Ceph的落地。
全書一共16章,圍繞原理、實戰(zhàn)、應(yīng)用3個維度展開。
第1部分 Ceph原理(第1~4章)
這部分首先介紹了Ceph的常識,然后系統(tǒng)講解了Ceph的架構(gòu)設(shè)計,z后分析了Ceph的核心技術(shù)組件和客戶端組件的原理。
第二部分 Ceph實戰(zhàn)(第5~13章)
從實戰(zhàn)的角度講解了Ceph集群的規(guī)劃、部署、管理,以及Ceph的對象存儲、文件存儲、塊存儲、容災(zāi)、故障定位和性能調(diào)優(yōu)。這部分內(nèi)容是本書的重點,決定了Ceph落地后的性能、容量、未來的運維便捷度和可擴展性等,想采用Ceph作為數(shù)據(jù)中心分布式存儲方案的讀者應(yīng)重點關(guān)注。
第三部分 Ceph應(yīng)用(第14~16章)
通過企業(yè)網(wǎng)盤搭建,以及與OpenStack和OpenShift等平臺對接等典型應(yīng)用場景相關(guān)的案例,講解了Ceph的工程實踐。
(1)作者背景深厚:3位作者來自紅帽和平安科技,至少都有10年以上從業(yè)經(jīng)驗,在Ceph等分布式存儲領(lǐng)域有豐富經(jīng)驗。(2)立足工程實踐:本書雖然講了Ceph的原理與架構(gòu),但目標為Ceph在企業(yè)的落地服務(wù),所有內(nèi)容全部圍繞企業(yè)實踐展開。(3)近10專家推薦:本書得到了來自近10家互聯(lián)網(wǎng)企業(yè)和傳統(tǒng)企業(yè)的領(lǐng)導與技術(shù)專家的一致好評和推薦。(4)手把手教:所有實踐內(nèi)容,都有詳細的操作說明,并附代碼或圖片,確保讀者看了就能會,學會就能用。
為什么寫作本書
本書的幾位作者都曾在大型企業(yè)工作,技術(shù)方面各有所長,在企業(yè)項目規(guī)劃和交付過程中都積累了很多經(jīng)驗。一次偶然的機會,我們談?wù)撈鸱植际酱鎯υ掝},談到系統(tǒng)落地的各種困難,為企業(yè)客戶做的各種努力,以及未來這項技術(shù)的發(fā)展趨勢,一致覺得寫一本關(guān)于分布式存儲的書把工程實踐經(jīng)驗分享出來是一件有意義、有價值的事。
在云計算、大數(shù)據(jù)、AI等技術(shù)的發(fā)展浪潮推動下,企業(yè)數(shù)據(jù)中心的數(shù)據(jù)存儲形式要求既要兼顧傳統(tǒng)業(yè)務(wù)的數(shù)據(jù)安全,又要保證云計算平臺的數(shù)據(jù)安全,同時企業(yè)存儲選型還要兼顧性能、成本、易用性、擴展性等。Ceph作為分布式存儲方案,已經(jīng)獲得全球眾多企業(yè)認可,在開源社區(qū)項目中的影響力巨大。在經(jīng)過20多年的發(fā)展后,Ceph已經(jīng)在性能和穩(wěn)定性上取得了突破性進展。眾多企業(yè)已經(jīng)開始嘗試將Ceph作為其數(shù)據(jù)中心分布式存儲的開源方案。但能完整地指導企業(yè)用戶落地分布式存儲的相關(guān)資料還很少,因此我們堅定了編寫本書的決心。
本書包括原理、實戰(zhàn)和應(yīng)用,逐步引導企業(yè)落地Ceph,同時幫助企業(yè)相關(guān)人員在方案落地后對Ceph進行優(yōu)化和持續(xù)運維,推動企業(yè)數(shù)據(jù)存儲方案的轉(zhuǎn)型,助力企業(yè)在云計算、大數(shù)據(jù)、AI等技術(shù)上穩(wěn)步發(fā)展。
讀者對象
本書適讀人群如下:
分布式存儲技術(shù)愛好者
企業(yè)系統(tǒng)管理員
企業(yè)云資源管理員
企業(yè)平臺架構(gòu)師
企業(yè)數(shù)據(jù)中心信息官
如何閱讀本書
本書分三部分進行講解,包括原理、實戰(zhàn)、應(yīng)用。
原理部分(第1~4章)介紹Ceph的基本理論、實現(xiàn)原理,對初學者很有幫助。
實戰(zhàn)部分(第5~13章)介紹工程實踐、規(guī)劃集群、部署落地、使用及容災(zāi),以及如何落地Ceph集群并對其進行運營,對投產(chǎn)人員和愛好者有著很重要的指導意義。
應(yīng)用部分(第14~16章)主要講解Ceph集群工程實踐示例,例如搭建企業(yè)云盤以及Ceph和OpenShift、OpenStack等平臺的集成,介紹集成時使用的主要技術(shù)手段,對具體應(yīng)用相關(guān)技術(shù)的專家有很重要的指導意義。
如果你對Ceph集群了解較少,可以先從原理部分開始,掌握基本知識后,再通過實戰(zhàn)部分構(gòu)建自己的Ceph集群,后根據(jù)實際需求落地應(yīng)用。實戰(zhàn)部分使用的開源Ceph方案在后續(xù)版本中會有所變動,但本書當前選定的版本仍然可以作為參考來指導Ceph的落地。
在線資源獲取
筆者在編寫過程中參考了Red Hat官方的相關(guān)技術(shù)文檔、Ceph的官方指導文檔。如果你在閱讀過程中有疑問,可以訪問如下網(wǎng)站獲取相關(guān)內(nèi)容。
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/hardware_guide/index
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/architecture_guide/index
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/configuration_guide/index
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/object_gateway_for_production_guide/index
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/file_system_guide/index
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/storage_strategies_guide/index
https://docs.ceph.com/en/latest/
本書勘誤
由于Ceph更新很快,書中的內(nèi)容無法與Ceph社區(qū)的內(nèi)容同步,但這不影響你在閱讀過程中獲取相關(guān)經(jīng)驗。如果對書中內(nèi)容有疑問,歡迎發(fā)送郵件至ceph@bt-linux.org,我們可以共同討論。期待你的聯(lián)系。
致謝
書稿終成,掩卷思量,飲水思源,在此,誠摯感謝在本書編寫期間提供幫助和支持的所有人。
首先,本書的成稿離不開眾多鮮活的客戶案例,在此感謝所有提供使用反饋的客戶和技術(shù)專家。你們的認可和支持為我們編寫本書提供了巨大動力。
其次,感謝各位領(lǐng)導、專家的大力支持,感謝你們提供的技術(shù)素材、推薦、評語、資源。各位領(lǐng)導、專家的支持讓我們堅定了寫書的信念,再次感謝你們。
后,感謝讓本書得以付梓的幕后英雄,包括提供經(jīng)驗指導的同人以及機械工業(yè)出版社華章公司的編輯。你們的付出使本書得以出版,感謝你們。
作者簡介
景顯強
紅帽軟件(北京)有限公司(RedHat)資深解決方案架構(gòu)師,擁有10余年IT從業(yè)經(jīng)驗。在Linux內(nèi)核開發(fā)及運維、分布式存儲建設(shè)、IaaS云平臺建設(shè)、PaaS云平臺建設(shè)、企業(yè)自動化運維建設(shè)等方向擁有豐富的經(jīng)驗,曾幫助國內(nèi)眾多金融和制造業(yè)企業(yè)實現(xiàn)數(shù)字化轉(zhuǎn)型。
龔向宇
紅帽軟件(北京)有限公司副首席咨詢顧問,擁有近15年Linux開發(fā)與咨詢經(jīng)驗。對Linux內(nèi)核、云基礎(chǔ)網(wǎng)絡(luò)、存儲均有較深入的理解,曾幫助國內(nèi)眾多企業(yè)落地基礎(chǔ)架構(gòu)平臺相關(guān)軟件,在項目落地中積累了豐富的經(jīng)驗。
黃軍寶
平安科技云架構(gòu)專家,曾任紅帽軟件(北京)有限公司首席講師和解決方案架構(gòu)師,擁有10余年IT行業(yè)經(jīng)驗。深入理解Linux操作系統(tǒng),擅長開源架構(gòu)方案設(shè)計,如OpenStack架構(gòu)設(shè)計、基于OpenShift和Kubernetes的容器云架構(gòu)設(shè)計、軟件定義存儲方案設(shè)計。多次主導運營商和金融企業(yè)私有云平臺IaaS/PaaS方案落地。
推薦序
前 言
部分 Ceph原理
第1章 Ceph概述2
1.1 軟件定義存儲2
1.1.1 基本概念介紹2
1.1.2 軟件定義存儲工作機制3
1.1.3 軟件定義存儲的優(yōu)勢4
1.2 Ceph的發(fā)展史5
1.2.1 研究階段5
1.2.2 孵化階段6
1.2.3 商業(yè)化階段7
1.2.4 成熟階段8
1.3 Ceph的市場分析9
1.3.1 存儲形態(tài)的轉(zhuǎn)型9
1.3.2 存儲形態(tài)演變的特點10
1.3.3 軟件定義存儲的市場分析11
1.4 Ceph的適用場景12
1.4.1 分析類應(yīng)用場景舉例13
1.4.2 IaaS云平臺應(yīng)用場景舉例14
1.4.3 富媒體和歸檔應(yīng)用場景舉例15
1.4.4 企業(yè)文件同步和共享應(yīng)用場景舉例16
1.4.5 服務(wù)器和應(yīng)用程序存儲場景舉例17
1.5 軟件定義存儲的商業(yè)產(chǎn)品18
1.6 本章小結(jié)20
第2章 Ceph架構(gòu)分析21
2.1 Ceph集群的組成架構(gòu)21
2.2 Monitor節(jié)點分析23
2.2.1 Ceph Cluster Map25
2.2.2 Ceph Monitor的Quorum機制25
2.2.3 Ceph Monitor一致性25
2.3 OSD節(jié)點分析26
2.3.1 運行OSD所需服務(wù)器配置推薦26
2.3.2 OSD的Scrub29
2.3.3 回填OSD30
2.3.4 OSD恢復30
2.4 Manager節(jié)點分析30
2.5 Ceph對象存儲和對象網(wǎng)關(guān)31
2.5.1 對象存儲31
2.5.2 對象網(wǎng)關(guān)32
2.6 文件存儲元數(shù)據(jù)節(jié)點分析33
2.6.1 Ceph文件存儲34
2.6.2 CephFS限制因素34
2.7 iSCSI網(wǎng)關(guān)節(jié)點分析36
2.8 本章小結(jié)36
第3章 Ceph核心技術(shù)組件37
3.1 Ceph的關(guān)鍵特性37
3.2 存儲池39
3.2.1 Ceph技術(shù)組件的全景架構(gòu)39
3.2.2 存儲池定義的內(nèi)容40
3.3 Ceph認證41
3.4 Ceph放置組42
3.4.1 PG基本概念42
3.4.2 放置組的計算方法43
3.4.3 PG和PGP的區(qū)別45
3.5 CRUSH算法46
3.6 Ceph數(shù)據(jù)副本49
3.7 Ceph糾刪碼49
3.8 Ceph對象存儲技術(shù)51
3.8.1 FileStore技術(shù)52
3.8.2 BlueStore技術(shù)54
3.9 Ceph心跳檢查55
3.10 Ceph Peering56
3.11 Ceph數(shù)據(jù)再平衡56
3.12 Ceph數(shù)據(jù)完整性57
3.13 本章小結(jié)58
第4章 Ceph客戶端組件59
4.1 Ceph支持的客戶端類型59
4.2 Ceph客戶端的Watch/Notify機制60
4.3 Ceph客戶端的獨占鎖61
4.4 Ceph客戶端的對象映射62
4.5 Ceph客戶端的數(shù)據(jù)條帶化63
4.6 本章小結(jié)65
第二部分 Ceph實戰(zhàn)
第5章 Ceph集群規(guī)劃68
5.1 版本規(guī)劃68
5.2 基礎(chǔ)環(huán)境規(guī)劃69
5.2.1 推薦使用的操作系統(tǒng)69
5.2.2 限制條件70
5.2.3 主要支持的特性71
5.3 服務(wù)器規(guī)劃71
5.3.1 追求良好的IOPS的場景71
5.3.2 追求良好的吞吐量場景72
5.3.3 追求低成本、高容量的場景73
5.3.4 實驗環(huán)境下服務(wù)器的小配置73
5.4 組網(wǎng)規(guī)劃74
5.4.1 組網(wǎng)規(guī)劃建議74
5.4.2 Ceph消息通信框架76
5.4.3 防火墻規(guī)劃76
5.5 本章小結(jié)77
第6章 Ceph集群安裝部署78
6.1 基礎(chǔ)環(huán)境準備78
6.1.1 創(chuàng)建虛擬機79
6.1.2 配置服務(wù)器80
6.2 準備安裝介質(zhì)81
6.3 安裝前檢查82
6.4 安裝Ceph85
6.5 集群檢查92
6.6 本章小結(jié)101
第7章 使用Ceph對象存儲102
7.1 部署對象網(wǎng)關(guān)102
7.2 通過S3接口使用對象存儲105
7.3 本章小結(jié)109
第8章 使用Ceph塊存儲110
8.1 創(chuàng)建和刪除池110
8.2 RBD設(shè)備的配置及使用112
8.3 RBD快照114
8.4 RBD Image克隆116
8.5 RBD Image數(shù)據(jù)的導入/導出117
8.6 本章小結(jié)117
第9章 使用Ceph文件存儲118
9.1 部署MDS118
9.2 使用CephFS120
9.3 CephFS擴展屬性121
9.4 本章小結(jié)123
第10章 管理Ceph集群124
10.1 Ceph的常用命令124
10.2 配置CRUSH Map129
10.3 添加磁盤134
10.4 刪除磁盤137
10.5 本章小結(jié)138
第11章 Ceph容災(zāi)140
11.1 對象存儲容災(zāi) 141
11.1.1 對象存儲容災(zāi)概述141
11.1.2 Ceph對象網(wǎng)關(guān)多站點介紹141
11.1.3 配置多站點對象網(wǎng)關(guān)實現(xiàn)容災(zāi)142
11.2 RBD塊存儲容災(zāi)157
11.2.1 數(shù)據(jù)復制方向157
11.2.2 數(shù)據(jù)復制模式159
11.2.3 配置RBD Mirror159
11.3 文件存儲容災(zāi)164
11.4 本章小結(jié)164
第12章 調(diào)優(yōu)方法165
12.1 性能測試工具166
12.2 測試用例167
12.2.1 RBD測試用例167
12.2.2 網(wǎng)絡(luò)測試用例170
12.2.3 對象存儲測試171
12.2.4 RADOS測試用例172
12.3 推薦的調(diào)優(yōu)方向174
12.3.1 硬件調(diào)優(yōu)174
12.3.2 網(wǎng)絡(luò)調(diào)優(yōu)176
12.3.3 內(nèi)存調(diào)優(yōu)178
12.3.4 Scrub179
12.3.5 Ceph配置參數(shù)調(diào)優(yōu)179
12.4 本章小結(jié)180
第13章 故障定位方法181
13.1 獲取集群狀態(tài)181
13.2 診斷Monitor問題183
13.3 診斷對象問題184
13.4 數(shù)據(jù)平衡185
13.5 重要文件目錄185
13.6 使用Ceph集群的注意事