內(nèi)容簡介
這是一本從工程角度講解Ceph原理、實戰(zhàn)和應用的著作,得到了近10家企業(yè)的高管和技術專家一致推薦。三位作者是RedHat和平安科技的資深技術專家,在分布式存儲領域積累了豐富的經(jīng)驗。
雖然本書對Ceph的原理和架構做了詳細的講解,但這不是目的,本書希望讀者在充分理解Ceph的原理的基礎上,能夠?qū)eph正確、高效地應用于工程實踐,在實踐的過程中持續(xù)對Ceph進行優(yōu)化和運維,z終實現(xiàn)Ceph的落地。
全書一共16章,圍繞原理、實戰(zhàn)、應用3個維度展開。
第1部分 Ceph原理(第1~4章)
這部分首先介紹了Ceph的常識,然后系統(tǒng)講解了Ceph的架構設計,z后分析了Ceph的核心技術組件和客戶端組件的原理。
第二部分 Ceph實戰(zhàn)(第5~13章)
從實戰(zhàn)的角度講解了Ceph集群的規(guī)劃、部署、管理,以及Ceph的對象存儲、文件存儲、塊存儲、容災、故障定位和性能調(diào)優(yōu)。這部分內(nèi)容是本書的重點,決定了Ceph落地后的性能、容量、未來的運維便捷度和可擴展性等,想采用Ceph作為數(shù)據(jù)中心分布式存儲方案的讀者應重點關注。
第三部分 Ceph應用(第14~16章)
通過企業(yè)網(wǎng)盤搭建,以及與OpenStack和OpenShift等平臺對接等典型應用場景相關的案例,講解了Ceph的工程實踐。
(1)作者背景深厚:3位作者來自紅帽和平安科技,至少都有10年以上從業(yè)經(jīng)驗,在Ceph等分布式存儲領域有豐富經(jīng)驗。(2)立足工程實踐:本書雖然講了Ceph的原理與架構,但目標為Ceph在企業(yè)的落地服務,所有內(nèi)容全部圍繞企業(yè)實踐展開。(3)近10專家推薦:本書得到了來自近10家互聯(lián)網(wǎng)企業(yè)和傳統(tǒng)企業(yè)的領導與技術專家的一致好評和推薦。(4)手把手教:所有實踐內(nèi)容,都有詳細的操作說明,并附代碼或圖片,確保讀者看了就能會,學會就能用。
為什么寫作本書
本書的幾位作者都曾在大型企業(yè)工作,技術方面各有所長,在企業(yè)項目規(guī)劃和交付過程中都積累了很多經(jīng)驗。一次偶然的機會,我們談論起分布式存儲話題,談到系統(tǒng)落地的各種困難,為企業(yè)客戶做的各種努力,以及未來這項技術的發(fā)展趨勢,一致覺得寫一本關于分布式存儲的書把工程實踐經(jīng)驗分享出來是一件有意義、有價值的事。
在云計算、大數(shù)據(jù)、AI等技術的發(fā)展浪潮推動下,企業(yè)數(shù)據(jù)中心的數(shù)據(jù)存儲形式要求既要兼顧傳統(tǒng)業(yè)務的數(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è)用戶落地分布式存儲的相關資料還很少,因此我們堅定了編寫本書的決心。
本書包括原理、實戰(zhàn)和應用,逐步引導企業(yè)落地Ceph,同時幫助企業(yè)相關人員在方案落地后對Ceph進行優(yōu)化和持續(xù)運維,推動企業(yè)數(shù)據(jù)存儲方案的轉(zhuǎn)型,助力企業(yè)在云計算、大數(shù)據(jù)、AI等技術上穩(wěn)步發(fā)展。
讀者對象
本書適讀人群如下:
分布式存儲技術愛好者
企業(yè)系統(tǒng)管理員
企業(yè)云資源管理員
企業(yè)平臺架構師
企業(yè)數(shù)據(jù)中心信息官
如何閱讀本書
本書分三部分進行講解,包括原理、實戰(zhàn)、應用。
原理部分(第1~4章)介紹Ceph的基本理論、實現(xiàn)原理,對初學者很有幫助。
實戰(zhàn)部分(第5~13章)介紹工程實踐、規(guī)劃集群、部署落地、使用及容災,以及如何落地Ceph集群并對其進行運營,對投產(chǎn)人員和愛好者有著很重要的指導意義。
應用部分(第14~16章)主要講解Ceph集群工程實踐示例,例如搭建企業(yè)云盤以及Ceph和OpenShift、OpenStack等平臺的集成,介紹集成時使用的主要技術手段,對具體應用相關技術的專家有很重要的指導意義。
如果你對Ceph集群了解較少,可以先從原理部分開始,掌握基本知識后,再通過實戰(zhàn)部分構建自己的Ceph集群,后根據(jù)實際需求落地應用。實戰(zhàn)部分使用的開源Ceph方案在后續(xù)版本中會有所變動,但本書當前選定的版本仍然可以作為參考來指導Ceph的落地。
在線資源獲取
筆者在編寫過程中參考了Red Hat官方的相關技術文檔、Ceph的官方指導文檔。如果你在閱讀過程中有疑問,可以訪問如下網(wǎng)站獲取相關內(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)容同步,但這不影響你在閱讀過程中獲取相關經(jīng)驗。如果對書中內(nèi)容有疑問,歡迎發(fā)送郵件至ceph@bt-linux.org,我們可以共同討論。期待你的聯(lián)系。
致謝
書稿終成,掩卷思量,飲水思源,在此,誠摯感謝在本書編寫期間提供幫助和支持的所有人。
首先,本書的成稿離不開眾多鮮活的客戶案例,在此感謝所有提供使用反饋的客戶和技術專家。你們的認可和支持為我們編寫本書提供了巨大動力。
其次,感謝各位領導、專家的大力支持,感謝你們提供的技術素材、推薦、評語、資源。各位領導、專家的支持讓我們堅定了寫書的信念,再次感謝你們。
后,感謝讓本書得以付梓的幕后英雄,包括提供經(jīng)驗指導的同人以及機械工業(yè)出版社華章公司的編輯。你們的付出使本書得以出版,感謝你們。
作者簡介
景顯強
紅帽軟件(北京)有限公司(RedHat)資深解決方案架構師,擁有10余年IT從業(yè)經(jīng)驗。在Linux內(nèi)核開發(fā)及運維、分布式存儲建設、IaaS云平臺建設、PaaS云平臺建設、企業(yè)自動化運維建設等方向擁有豐富的經(jīng)驗,曾幫助國內(nèi)眾多金融和制造業(yè)企業(yè)實現(xiàn)數(shù)字化轉(zhuǎn)型。
龔向宇
紅帽軟件(北京)有限公司副首席咨詢顧問,擁有近15年Linux開發(fā)與咨詢經(jīng)驗。對Linux內(nèi)核、云基礎網(wǎng)絡、存儲均有較深入的理解,曾幫助國內(nèi)眾多企業(yè)落地基礎架構平臺相關軟件,在項目落地中積累了豐富的經(jīng)驗。
黃軍寶
平安科技云架構專家,曾任紅帽軟件(北京)有限公司首席講師和解決方案架構師,擁有10余年IT行業(yè)經(jīng)驗。深入理解Linux操作系統(tǒng),擅長開源架構方案設計,如OpenStack架構設計、基于OpenShift和Kubernetes的容器云架構設計、軟件定義存儲方案設計。多次主導運營商和金融企業(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 分析類應用場景舉例13
1.4.2 IaaS云平臺應用場景舉例14
1.4.3 富媒體和歸檔應用場景舉例15
1.4.4 企業(yè)文件同步和共享應用場景舉例16
1.4.5 服務器和應用程序存儲場景舉例17
1.5 軟件定義存儲的商業(yè)產(chǎn)品18
1.6 本章小結20
第2章 Ceph架構分析21
2.1 Ceph集群的組成架構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所需服務器配置推薦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)關31
2.5.1 對象存儲31
2.5.2 對象網(wǎng)關32
2.6 文件存儲元數(shù)據(jù)節(jié)點分析33
2.6.1 Ceph文件存儲34
2.6.2 CephFS限制因素34
2.7 iSCSI網(wǎng)關節(jié)點分析36
2.8 本章小結36
第3章 Ceph核心技術組件37
3.1 Ceph的關鍵特性37
3.2 存儲池39
3.2.1 Ceph技術組件的全景架構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對象存儲技術51
3.8.1 FileStore技術52
3.8.2 BlueStore技術54
3.9 Ceph心跳檢查55
3.10 Ceph Peering56
3.11 Ceph數(shù)據(jù)再平衡56
3.12 Ceph數(shù)據(jù)完整性57
3.13 本章小結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 本章小結65
第二部分 Ceph實戰(zhàn)
第5章 Ceph集群規(guī)劃68
5.1 版本規(guī)劃68
5.2 基礎環(huán)境規(guī)劃69
5.2.1 推薦使用的操作系統(tǒng)69
5.2.2 限制條件70
5.2.3 主要支持的特性71
5.3 服務器規(guī)劃71
5.3.1 追求良好的IOPS的場景71
5.3.2 追求良好的吞吐量場景72
5.3.3 追求低成本、高容量的場景73
5.3.4 實驗環(huán)境下服務器的小配置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 本章小結77
第6章 Ceph集群安裝部署78
6.1 基礎環(huán)境準備78
6.1.1 創(chuàng)建虛擬機79
6.1.2 配置服務器80
6.2 準備安裝介質(zhì)81
6.3 安裝前檢查82
6.4 安裝Ceph85
6.5 集群檢查92
6.6 本章小結101
第7章 使用Ceph對象存儲102
7.1 部署對象網(wǎng)關102
7.2 通過S3接口使用對象存儲105
7.3 本章小結109
第8章 使用Ceph塊存儲110
8.1 創(chuàng)建和刪除池110
8.2 RBD設備的配置及使用112
8.3 RBD快照114
8.4 RBD Image克隆116
8.5 RBD Image數(shù)據(jù)的導入/導出117
8.6 本章小結117
第9章 使用Ceph文件存儲118
9.1 部署MDS118
9.2 使用CephFS120
9.3 CephFS擴展屬性121
9.4 本章小結123
第10章 管理Ceph集群124
10.1 Ceph的常用命令124
10.2 配置CRUSH Map129
10.3 添加磁盤134
10.4 刪除磁盤137
10.5 本章小結138
第11章 Ceph容災140
11.1 對象存儲容災 141
11.1.1 對象存儲容災概述141
11.1.2 Ceph對象網(wǎng)關多站點介紹141
11.1.3 配置多站點對象網(wǎng)關實現(xiàn)容災142
11.2 RBD塊存儲容災157
11.2.1 數(shù)據(jù)復制方向157
11.2.2 數(shù)據(jù)復制模式159
11.2.3 配置RBD Mirror159
11.3 文件存儲容災164
11.4 本章小結164
第12章 調(diào)優(yōu)方法165
12.1 性能測試工具166
12.2 測試用例167
12.2.1 RBD測試用例167
12.2.2 網(wǎng)絡測試用例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)絡調(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 本章小結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集群的注意事