內容簡介
《Ceph分布式存儲學習指南》將展示規劃、部署和有效管理Ceph集群所需的所有技能,指導你瞭解Ceph的技術、架構和組件。通過分步驟解釋每個Ceph組件的部署,本書將帶你學習Ceph存儲配置以及Ceph與OpenStack的集成。然後,你將瞭解如何部署和設置Ceph集群,探索各種組件以及為什麼需要它們。通過學習本書,你不僅會瞭解Ceph的基礎知識,甚至會成為熟悉Ceph高級特性的專傢。
目錄
推薦序
譯者序
作者簡介
前言
第1章 Ceph存儲介紹1
1.1 概要1
1.2 Ceph的曆史和發展2
1.3 Ceph和存儲的未來3
1.3.1 Ceph雲存儲解決方案4
1.3.2 Ceph軟件定義存儲解決方案6
1.3.3 Cehp統一存儲解決方案6
1.3.4 下一代架構6
1.3.5 Raid時代的終結7
1.4 兼容性組閤8
1.5 Ceph塊存儲8
1.6 Ceph文件係統9
1.7 Ceph對象存儲10
1.8 Ceph與其他存儲解決方案11
1.9 GPFS12
1.10 iRODS12
1.11 HDFS12
1.12 Lustre12
1.13 Gluster13
1.14 Ceph13
總結14
第2章 Ceph實戰部署15
2.1 使用VirtualBox創建沙箱環境15
2.2 從零開始部署你的第一個Ceph集群20
2.3 縱嚮擴展Ceph集群—添加monitor和OSD22
2.3.1 添加Ceph monitor22
2.3.2 添加Ceph OSD23
總結24
第3章 Ceph架構和組件25
3.1 Ceph存儲架構25
3.2 Ceph RADOS26
3.2.1 Ceph對象存儲設備27
3.2.2 Ceph monitor32
3.2.3 librados35
3.2.4 Ceph塊存儲35
3.2.5 Ceph對象網關36
3.3 Ceph MDS37
3.4 為Ceph集群部署MDS37
3.5 Ceph文件係統38
總結39
第4章 Ceph內部構件40
4.1 Ceph底層實現40
4.2 對象40
4.3 CRUSH42
4.3.1 CRUSH查找43
4.3.2 CRUSH層級結構44
4.3.3 恢復和再平衡45
4.3.4 編輯CRUSH map45
4.3.5 定製集群布局46
4.4 PG47
4.4.1 計算PG數48
4.4.2 修改PG和PGP48
4.4.3 PG peering、up集閤和acting集閤50
4.5 Ceph池50
4.6 Ceph數據管理53
總結55
第5章 Ceph部署56
5.1 Ceph集群硬件規劃56
5.1.1 監控需求57
5.1.2 OSD需求57
5.1.3 網絡需求58
5.1.4 MDS需求59
5.2 再次配置VirtualBox環境59
5.3 準備安裝Ceph59
5.4 Ceph集群手工部署61
5.4.1 安裝依賴61
5.4.2 部署Ceph集群62
5.4.3 部署monitor62
5.4.4 創建OSD65
5.5 擴展集群66
5.5.1 添加monitor67
5.5.2 添加OSD68
5.6 使用ceph-deploy工具部署Ceph集群69
5.7 升級Ceph集群70
5.7.1 升級monitor71
5.7.2 升級OSD72
總結73
第6章 Ceph存儲配置74
6.1 RADOS塊設備74
6.1.1 創建你的第一個Ceph客戶端75
6.1.2 映射RADOS塊設備77
6.1.3 調整Ceph RBD的大小79
6.1.4 Ceph RBD快照80
6.1.5 復製Ceph RBD82
6.2 Ceph文件係統85
6.2.1 使用內核驅動程序掛載CephFS85
6.2.2 通過FUSE方式掛載CephFS86
6.3 使用Ceph RADOS網關的對象存儲87
6.3.1 創建虛擬機88
6.3.2 安裝RADOS網關89
6.3.3 配置RADOS網關92
6.3.4 創建radosgw用戶96
6.3.5 訪問Ceph對象存儲97
6.4 S3 API兼容的Ceph對象存儲97
總結102
第7章 Ceph操作及管理103
7.1 Ceph服務管理103
7.1.1 采用sysvinit運行Ceph103
7.1.2 根據類型啓動守護進程104
7.1.3 根據類型停止守護進程105
7.1.4 啓動及停止所有守護進程105
7.1.5 啓動及停止指定守護進程106
7.2 把Ceph作為服務運行106
7.2.1 啓動、停止所有守護進程107
7.2.2 啓動、停止指定守護進程107
7.3 橫嚮擴展Ceph集群107
7.4 嚮Ceph集群中添加OSD節點108
7.5 Ceph集群縮容110
7.6 從Ceph集群中移除並關閉一個OSD111
7.7 從Ceph集群中移除OSD112
7.8 替換齣故障的磁盤設備113
7.9 管理CRUSH map115
7.10 確定CRUSH的位置116
7.11 CRUSH map內部細節117
7.12 將不同的池置於不同的OSD中119
總結122
第8章 監控Ceph集群123
8.1 監控Ceph集群123
8.1.1 檢查集群健康狀況124
8.1.2 監控集群事件124
8.1.3 集群利用率統計125
8.1.4 檢查集群的狀態125
8.1.5 基於密鑰的集群驗證126
8.2 監控Ceph MON127
8.2.1 MON狀態127
8.2.2 MON法定人數狀態127
8.3 監控Ceph OSD128
8.3.1 OSD樹視圖128
8.3.2 OSD統計129
8.3.3 檢查CRUSH map129
8.3.4 監控PG130
8.4 監控MDS132
8.5 使用開源管理控製颱監控Ceph133
8.5.1 Kraken133
8.5.2 ceph-dash工具136
8.5.3 Calamari138
總結138
第9章 Ceph與OpenStack的集成139
9.1 OpenStack簡介139
9.2 Ceph—OpenStack的最佳搭檔140
9.3 創建OpenStack測試環境141
9.3.1 啓動一個OpenStack主機141
9.3.2 安裝OpenStack143
9.3.3 Ceph和OpenStack145
9.3.4 在OpenStack節點安裝Ceph145
9.3.5 為OpenStack配置Ceph146
總結152
第10章 Ceph性能調優和基準測試153
10.1 Ceph性能概述153
10.2 Ceph性能關鍵點—硬件層麵154
10.2.1 CPU154
10.2.2 內存155
10.2.3 網絡155
10.2.4 磁盤156
10.3 Ceph性能調優—軟件層麵156
10.3.1 集群配置文件157
10.3.2 配置文件段157
10.4 Ceph集群性能優化158
10.4.1 全局調優參數158
10.4.2 OSD調優參數158
10.4.3 客戶端調優參數161
10.4.4 通用調優參數161
10.5 Ceph糾刪碼162
10.5.1 低成本冷存儲164
10.5.2 實現糾刪碼164
10.6 Ceph緩存分層167
10.6.1 writeback模式167
10.6.2 read-only模式167
10.6.3 部署緩存分層168
10.7 使用RADOS bench對Ceph進行基
前言/序言
Preface 前言 數據—這是個簡單的詞,但它存儲著整個世界的過去、現在和將來。同時,它也是現存的任何係統的最關鍵元素。我們生活在一個技術時代,它每秒鍾都會産生巨量的數據,並且隨著時間的遷移,這些數據的量級會達到讓人不可思議的程度。然而,我們如何纔能安全、可靠並麵嚮未來地存儲這些永遠都在産生的數據呢?本書將討論一個存儲技術規則的改變者,它將重新定義存儲的未來。 Ceph是種開源技術,它是軟件定義存儲的領導者。Ceph具備極好的可靠性、統一性和魯棒性。它比現存的其他存儲解決方案更加完整、經濟。Ceph開闢瞭一個全新的、數據存儲的途徑。它是分布式的、可大規模擴展的,並且沒有單點故障。更重要的是,它運行在商用硬件之上,這使得它具備令人驚訝的經濟性。它可以幫你打破昂貴的廠商鎖定方案的枷鎖,在存儲上采用企業級的開源技術。 Ceph集中瞭各種企業級特性,例如高度的可靠性、魯棒性、可擴展性、糾刪碼、分層緩存等。經過十年,Ceph已經足夠成熟,也使得它鶴立雞群並且引領存儲的方嚮。它是目前流行並且將高速發展的技術。統一的Ceph存儲係統能夠滿足你在數據存儲上的任何需求。Ceph是真正的統一,也就意味著在單個存儲係統裏提供文件存儲、塊存儲和對象存儲。這使得Ceph非常靈活,並且能夠滿足你所有的數據需求。它就是你在數據存儲上所有問題的答案。 雲計算是下一個思維變革,而類似Ceph這樣的存儲係統是雲計算基礎設施中最關鍵的部件。Ceph在雲存儲領域有自己強大的影響力。它已經是OpenStack、CloudStack這樣的雲平颱中首選的開源企業級軟件定義存儲。這些雲平颱利用Ceph的特性,提供瞭魯棒的、可擴展的艾字節(EB)級公有雲或者私有雲基礎設施。除此之外,虛擬化平颱(例如KVM和libvirt)完美支持Ceph,專用的虛擬化解決方案也支持(例如VMware)Ceph,而HyperV也即將支持Ceph。 在Inktank(現在是Red Hat的一部分)的支持下,Ceph無疑是存儲行業裏的下一個重大突破。Ceph具有一個令人驚嘆的社區,並且有快速的開發周期,使其更可靠。盡管Ceph是完全開源的,但是用戶可以享受來自Red Hat及其商業夥伴的企業級支持。這是個優點。 本書涵蓋的內容第1章概述Ceph的發展、曆史,以及未來的方嚮。該章解釋常見存儲的挑戰,以及Ceph如何處理這些挑戰並成為遊戲規則改變者。同時也包括Ceph和其他存儲係統的比較。 第2章討論實例,並展示搭建Ceph集群的實際步驟。它也包括一個用於在VirtualBox上創建Ceph沙盒環境並縱嚮擴展的嚮導。 第3章深入Ceph內部架構,詳細地解釋每一個組件。通過逐漸實踐式地解釋組件達到更好的學習效果,並瞭解它們的相關性。 第4章介紹Ceph怎樣管理數據,實踐內容將讓你瞭解它的每一個部分。該章也包括CRUSH、PG(Placement Group,歸置組)和池的細節。 第5章討論企業級Ceph集群所需要的硬件計劃。該章也包括手動或者使用ceph-deploy自動搭建Ceph集群的實際步驟。 第6章包括用實踐方式解釋Ceph中的文件、塊和對象三種存儲類型,以及如何配置和提供每一種類型的存儲。該章也包括快照、復製、兼容S3和swift的對象存儲等。 第7章涵蓋從係統管理的角度管理和操作Ceph的一切內容。包括日常操作、縱嚮擴展和收縮、硬件更換,同時還詳細介紹CRUSH管理和它的高級概念。 第8章可以讓你有能力監控自己的Ceph集群和它的所有組件。該章涵蓋瞭開源的Ceph監控儀錶盤項目,例如Kraken和ceph-dash,以及它們的安裝和配置。 第9章一步步教你搭建自己的OpenStack測試環境以及將它與Ceph集成。該章解釋瞭Ceph如何使OpenStack錦上添花,以及OpenStack組件如何使用Ceph。 第10章涵蓋瞭Ceph的高級概念,例如從硬件和軟件角度進行性能調優。該章也介紹使用糾刪碼和緩存分層的方法,並討論Ceph基準測試工具。 閱讀本書所需要的軟件閱讀本書所需要的各種軟件如下: VirtualBox 4.0或更高版本(https://www.virtualbox.org/wiki/Downloads)CentOS 6.4(http://wiki.centos.org/Download)Ceph software packages 0.78或更高版本(http://ceph.com/resources/downloads/)S3 Client,通常是S3cmd(http://s3tools.org/download)Python-swiftclient用於監控的Kraken管理控製颱(https://github.com/krakendash)用於監控的ceph-dash管理控製颱(https://github.com/Crapworks/ceph-dash)OpenStack RDO(http://rdo.fedorapeople.org/rdo-release.rpm)本書讀者對象本書的目標讀者是那些想通過Ceph進入軟件定義存儲領域的IT人員和存儲管理員。當然,它也麵嚮希望瞭解如何使用Ceph,以及它如何工作,以便開始開發並為Ceph開源項目貢獻的任何人。 本書也為想瞭解傳統存儲和軟件定義的雲存儲之間差異的IT經理和專傢提供瞭重要息。
Forward 推薦序我們喜歡稱呼Ceph為“未來的存儲”,這是一個能夠引起很多不同層的人共鳴的稱呼。對於係統架構師而言,Ceph的係統架構滿足瞭所有人都希望構建的一類係統的需求。它是模塊化和可擴展的,並且有容錯設計的。對於用戶來說,Ceph為傳統和新興的工作負載提供瞭一係列存儲接口,可以在商用硬件上運行,並且支持僅以適度的資本投資來部署生産集群。對於免費軟件愛好者來說,Ceph持續推動著這些技術,這些技術的代碼庫是完全開源的,且允許所有人免費審查、修改並完善這些代碼,在存儲行業中這些代碼仍然成本昂貴且具有專有的使用權限。 Ceph項目始於我在加州大學聖剋魯斯的一個研究計劃,這個計劃由幾個能源部實驗室(洛斯·阿拉莫斯、勞倫斯·利弗莫爾和桑迪亞)資助。這個計劃的目標是進一步加強拍字節(PB)級彆的擴展、基於對象的存儲係統。在2005年加入該組織的時候,我最初的重點是為文件係統構建可擴展的元數據管理,即如何在多個服務器之間管理文件和目錄層次結構,這樣,係統就可以響應超級計算機中的100萬個處理器,在同一時間將文件寫入文件係統的同一目錄下。在接下來的3年裏,我們主要研究瞭這個關鍵概念,然後構建瞭一個完整的體係結構並一直緻力於這種係統的實現。 2006年當我們將最初描述Ceph的學術論文發錶,並將相關代碼開源且發布在網上後,我想我的主要工作就已經完成瞭。這個係統“運轉正常”,現在開源社區的魔力和協作開發已經開始運轉並迅速把Ceph變成自由軟件,它也是我一直想在自己的數據中心運行的軟件。我花瞭些時間纔意識到原型和生産代碼之間的巨大差距,還有高效的自由軟件社區是需要隨著時間的推移來建立的。我們在未來幾年會繼續發展Ceph,目標不變。我們構建瞭一個先進的分布式存儲係統,並且完全免費,它之於存儲行業正如Linux之於服務器市場。 圍繞Ceph項目建立一個擁有活躍用戶和開發者的社區是這次經曆最有益的一部分。而在2012年和2013年成立Inktank商業公司來推動Ceph的産品化時,社區的主要話題就是溝通和審查。在那個時間點我們的主要問題是如何投資和雇用那些不為我們工作的專傢和貢獻者一起來構建這個社區。我相信對於開源模型的熱切關注和理解最終使得Inktank和Ceph獲得成功。我們試圖建立一個包含用戶、閤作夥伴以及競爭對手而我們不占壟斷地位的生態係統。 Karan Singh就是通過這種形式,在過去的幾年中從Ceph社區浮現齣來的一個社區成員。他是我們早期基於郵件和IRC論壇的一個活躍會員,在這個論壇,Ceph用戶和開發者通過綫上的方式開展他們的業務,主題包括開始使用Ceph的求助,討論最佳的硬件或軟件配置選項,分享崩潰報告和跟蹤bug,或者閤作開發新特性。 雖然我們在網上已經彼此認識好幾年瞭,我最近纔有機會私下和 Karan見麵,我纔發現他一直在努力寫一本關於Ceph的書。我發現它證明瞭該社區的多樣性,並成功完成瞭本書—第一本關於Ceph的紙質書,它是由一個和初始Ceph研發團隊以及Inktank公司沒有直接關係的人寫的,但它促使Ceph成為人們關注的焦點。Karan在Ceph研究上雄厚的技術背景和在社區深厚的根基,讓他能從一個理想的技術角度看Ceph的影響以及最重要的用戶體驗。 —Sage WeilRed Hat公司Ceph首席架構師
Ceph分布式存儲學習指南 下載 mobi epub pdf txt 電子書 格式