《私有云存儲系統(tǒng)搭建與應(yīng)用》主要內(nèi)容大致分為四個部分:第壹部分(第1~3章)介紹Swift存儲系統(tǒng),第二部分(第4、5章)介紹如何搭建基于Swift的私有化存儲系統(tǒng),第三部分(第6、7章)分析企業(yè)應(yīng)用與存儲系統(tǒng)的集成方案,第四部分(第8章)介紹應(yīng)用集成的實(shí)例。
《私有云存儲系統(tǒng)搭建與應(yīng)用》的知識體系涵蓋了Linux、對象存儲、虛擬化、Java、HTTP通信、Web等技術(shù),而這些技術(shù)所涉及的業(yè)務(wù)范圍主要是兩塊:存儲系統(tǒng)的運(yùn)維以及存儲系統(tǒng)與應(yīng)用的集成。即本書的技術(shù)方向是企業(yè)在數(shù)據(jù)存儲方面的基礎(chǔ)設(shè)施建設(shè),以及在此基礎(chǔ)上實(shí)現(xiàn)企業(yè)應(yīng)用與存儲系統(tǒng)的集成。
《私有云存儲系統(tǒng)搭建與應(yīng)用》既適合有一定架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)的架構(gòu)師或項(xiàng)目經(jīng)理(系統(tǒng)搭建及集成方案),也適合中高級Java程序員(API的實(shí)現(xiàn)及應(yīng)用集成)。
書中代碼可免費(fèi)下載(掃描封底二維碼)。
出版說明
前言
第1章 存儲系統(tǒng)的演進(jìn)之路1
1.1 極具年代感的存儲系統(tǒng)1
1.2 存儲系統(tǒng)的演進(jìn)歷程1
1.2.1 節(jié)點(diǎn)能力的提升:從磁盤到磁盤陣列1
1.2.2 存儲與服務(wù)器剝離:存儲網(wǎng)絡(luò)化2
1.2.3 抽象硬件管理:軟件定義存儲3
1.2.4 一切皆是對象:對象存儲3
1.3 心中的存儲系統(tǒng)3
1.4 結(jié)語:永無止境的存儲系統(tǒng)5
第2章 初識Swift存儲系統(tǒng)6
2.1 對象存儲系統(tǒng):OpenStack Swift6
2.1.1 Swift的重要特點(diǎn)6
2.1.2 對象存儲的主要特征7
2.1.3 Swift的衡量結(jié)果7
2.1.4 Swift的重要概念8
2.2 Swift對開發(fā)者的支持8
2.2.1 開源9
2.2.2 對象存儲API9
2.3 結(jié)語:企業(yè)級應(yīng)用的選擇10
第3章 Swift存儲系統(tǒng)的架構(gòu)11
3.1 Swift存儲系統(tǒng)的結(jié)構(gòu)11
3.1.1 系統(tǒng)層次結(jié)構(gòu)11
3.1.2 部署規(guī)模的定義12
3.1.3 數(shù)據(jù)存儲結(jié)構(gòu)13
3.2 Swift存儲系統(tǒng)的應(yīng)用框架14
3.3 結(jié)語:框架決定開局15
第4章 搭建基于Swift的存儲系統(tǒng)16
4.1 搭建思路16
4.1.1 部署方式的選擇16
4.1.2 部署步驟的調(diào)整16
4.2 條件檢查17
4.2.1 宿主機(jī)CPU是否支持虛擬化17
4.2.2 宿主機(jī)操作系統(tǒng)內(nèi)核檢查18
4.2.3 宿主機(jī)實(shí)驗(yàn)配置和生產(chǎn)配置18
4.3 系統(tǒng)規(guī)劃18
4.3.1 集群規(guī)劃18
4.3.2 存儲規(guī)劃19
4.4 準(zhǔn)備基礎(chǔ)模板虛擬機(jī)20
4.4.1 前提條件20
4.4.2 系統(tǒng)設(shè)置21
4.4.3 基礎(chǔ)工具安裝(可選)22
4.4.4 準(zhǔn)備專用存儲分區(qū)22
4.4.5 提取模板虛擬機(jī)24
4.5 準(zhǔn)備對象存儲模板虛擬機(jī)24
4.5.1 系統(tǒng)設(shè)置24
4.5.2 存儲空間準(zhǔn)備25
4.5.3 安裝依賴項(xiàng)26
4.5.4 下載代碼并編譯27
4.5.5 配置依賴服務(wù)27
4.5.6 準(zhǔn)備配置文件31
4.5.7 準(zhǔn)備運(yùn)行腳本37
4.5.8 提取模板虛擬機(jī)38
4.6 準(zhǔn)備對象存儲服務(wù)器39
4.6.1 實(shí)例化虛擬機(jī)39
4.6.2 基礎(chǔ)個性化配置40
4.6.3 對象存儲系統(tǒng)個性化設(shè)置42
4.7 啟動對象存儲服務(wù)44
4.7.1 創(chuàng)建環(huán)定義文件44
4.7.2 分發(fā)環(huán)定義文件(多機(jī)環(huán)境)45
4.7.3 啟動主守護(hù)進(jìn)程45
4.7.4 驗(yàn)證守護(hù)進(jìn)程46
4.8 部署驗(yàn)證46
4.8.1 驗(yàn)證工具47
4.8.2 驗(yàn)證過程47
4.9 優(yōu)化及調(diào)整56
4.9.1 服務(wù)進(jìn)程數(shù)調(diào)整57
4.9.2 新增內(nèi)置賬戶57
4.9.3 設(shè)置授權(quán)Token的時(shí)效57
4.9.4 網(wǎng)絡(luò)超時(shí)設(shè)置58
4.10 結(jié)語:開啟云存儲之門58
第5章 存儲系統(tǒng)的擴(kuò)展59
5.1 系統(tǒng)擴(kuò)展的“套路”59
5.2 縱向擴(kuò)展:動態(tài)擴(kuò)展虛擬機(jī)的能力59
5.2.1 擴(kuò)展CPU的能力60
5.2.2 擴(kuò)展內(nèi)存的容量60
5.2.3 擴(kuò)展存儲的空間60
5.2.4 驗(yàn)證61
5.3 橫向擴(kuò)展:動態(tài)調(diào)整集群的節(jié)點(diǎn)62
5.3.1 擴(kuò)展思路62
5.3.2 新增節(jié)點(diǎn)63
5.3.3 淘汰節(jié)點(diǎn)64
5.4 結(jié)語:讓存儲系統(tǒng)“保先”65
第6章 存儲系統(tǒng)集成方案66
6.1 存儲系統(tǒng)集成的用例66
6.2 B/S應(yīng)用與存儲系統(tǒng)的集成方案66
6.2.1 方案架構(gòu)66
6.2.2 方案要點(diǎn)67
6.2.3 技術(shù)實(shí)現(xiàn)思路68
6.3 C/S應(yīng)用與存儲系統(tǒng)的集成方案70
6.3.1 方案架構(gòu)70
6.3.2 方案要點(diǎn)70
6.3.3 技術(shù)實(shí)現(xiàn)思路71
6.4 結(jié)語:集成之道72
第7章 客戶端工具API的實(shí)現(xiàn)74
7.1 Swift存儲系統(tǒng)的API體系回顧74
7.1.1 賬戶API規(guī)范74
7.1.2 容器API規(guī)范74
7.1.3 對象API規(guī)范75
7.1.4 大對象API規(guī)范75
7.1.5 API規(guī)范的特點(diǎn)76
7.2 客戶端工具API的實(shí)現(xiàn)思路76
7.3 賬戶驗(yàn)證API:叩開云存儲之門80
7.4 賬戶API:管理你的存儲系統(tǒng)81
7.4.1 獲取賬戶下容器列表81
7.4.2 獲取元數(shù)據(jù)83
7.4.3 設(shè)置自定義元數(shù)據(jù)84
7.4.4 刪除自定義元數(shù)據(jù)86
7.5 容器API:管理你的存儲空間87
7.5.1 創(chuàng)建容器87
7.5.2 獲取元數(shù)據(jù)89
7.5.3 設(shè)置自定義元數(shù)據(jù)90
7.5.4 刪除自定義元數(shù)據(jù)91
7.5.5 檢測容器是否存在93
7.5.6 刪除容器94
7.5.7 獲取容器中對象列表95
7.6 對象API:管理你的存儲內(nèi)容103
7.6.1 創(chuàng)建對象103
7.6.2 獲取元數(shù)據(jù)105
7.6.3 設(shè)置自定義元數(shù)據(jù)107
7.6.4 設(shè)置過期時(shí)效108
7.6.5 檢測對象是否存在110
7.6.6 獲取對象大。ㄗ止(jié)數(shù))111
7.6.7 獲取對象內(nèi)容112
7.6.8 刪除對象117
7.6.9 復(fù)制對象118
7.6.10 移動對象119
7.7 大對象API:有容乃大120
7.7.1 檢測是否支持靜態(tài)大對象(SLO)121
7.7.2 上傳分段對象(Segments)122
7.7.3 上傳清單(Manifest)124
7.7.4 獲取清單126
7.7.5 刪除大對象127
7.7.6 復(fù)制大對象128
7.8 HTTP通信實(shí)現(xiàn)130
7.8.1 HTTP通信的“套路”130
7.8.2 GET方法130
7.8.3 POST方法137
7.8.4 PUT方法139
7.8.5 DELETE方法145
7.8.6 HEAD方法147
7.9 結(jié)語:存儲一切對象149
第8章 存儲系統(tǒng)與Java項(xiàng)目集成實(shí)例150
8.1 存儲系統(tǒng)與Java項(xiàng)目的集成點(diǎn)150
8.2 Web應(yīng)用與存儲系統(tǒng)集成150
8.2.1 Web應(yīng)用的集成模式150
8.2.2 集成示例1:文件上傳151
8.2.3 集成示例2:顯示圖片167
8.2.4 集成示例3:下載文件170
8.2.5 Web應(yīng)用集成小結(jié)173
8.3 工具類應(yīng)用與存儲系統(tǒng)集成174
8.3.1 工具類應(yīng)用的集成模式174
8.3.2 集成示例1:上傳文件到存儲系統(tǒng)174
8.3.3 集成示例2:從存儲系統(tǒng)下載內(nèi)容177
8.4 應(yīng)用集成技巧182
8.4.1 訪問控制相關(guān)182
8.4.2 數(shù)據(jù)存取相關(guān)183
8.5 結(jié)語:用存儲系統(tǒng)“武裝”你的項(xiàng)目184
第9章 虛擬機(jī)管理185
9.1 不得不說的KVM185
9.2 條件檢查185
9.2.1 宿主機(jī)CPU是否支持虛擬化185
9.2.2 宿主機(jī)操作系統(tǒng)版本檢查186
9.3 安裝KVM186
9.3.1 宿主機(jī)準(zhǔn)備186
9.3.2 安裝KVM工具188
9.3.3 安裝系統(tǒng)性能監(jiān)測工具191
9.4 管理你的虛擬機(jī)(VM)191
9.4.1 客戶端準(zhǔn)備191
9.4.2 宿主機(jī)準(zhǔn)備192
9.4.3 管理虛擬機(jī)192
9.4.4 虛擬機(jī)鏡像文件相關(guān)200
9.5 磁盤鏡像工具用法詳解202
9.5.1 創(chuàng)建/替換鏡像文件202
9.5.2 查看鏡像文件信息203
9.5.3 檢查虛擬機(jī)鏡像文件203
9.5.4 快照管理204
9.5.5 調(diào)整鏡像文件大小205
9.6 結(jié)語:利器KVM206
第10章 虛擬機(jī)的擴(kuò)展207
10.1 虛擬機(jī)擴(kuò)展存儲容量的思路207
10.2 有容乃大的LVM207
10.3 擴(kuò)展虛擬機(jī)的存儲容量207
10.3.1 擴(kuò)展虛擬機(jī)鏡像207
10.3.2 創(chuàng)建分區(qū)208
10.3.3 使用LVM管理新增分區(qū)210
第11章 Swift相關(guān)工具215
11.1 Swift建環(huán)工具215
11.1.1 建環(huán)工具簡介215
11.1.2 建環(huán)工具的使用場景215
11.1.3 建環(huán)工具使用詳解218
11.2 Swift客戶端工具簡介222
11.2.1 Swift客戶端工具的安裝222
11.2.2 Swift客戶端工具的使用222
第12章 重要命令詳解233
12.1 系統(tǒng)信息相關(guān)233
12.1.1 查看CPU信息233
12.1.2 查看內(nèi)存占用情況233
12.1.3 打印系統(tǒng)信息234
12.1.4 顯示進(jìn)程信息234
12.1.5 查看網(wǎng)絡(luò)235
12.2 磁盤相關(guān)236
12.2.1 磁盤分區(qū)236
12.2.2 格式化文件系統(tǒng)237
12.2.3 掛載/卸載設(shè)備238
12.2.4 擴(kuò)展文件系統(tǒng)239
12.2.5 查看文件系統(tǒng)240
12.2.6 查看磁盤使用240
12.2.7 文件鏈接241
12.3 賬戶管理242
12.3.1 新增賬戶243
12.3.2 修改賬戶密碼243
12.3.3 修改賬戶設(shè)置243
12.4 軟件安裝244
12.4.1 軟件包安裝工具244
12.4.2 修改更新源244
12.5 服務(wù)管理245
12.5.1 systemctl命令方式245
12.5.2 service命令方式245
12.5.3 /etc/init.d/xxx方式246
12.6 工具相關(guān)246
12.6.1 流編輯器—sed246
12.6.2 文本搜索—egrep247
12.6.3 參數(shù)傳送—xargs247
12.6.4 文檔打包/提取—tar248
12.6.5 基于SSH的遠(yuǎn)程復(fù)制—scp248