對象存儲:OpenStack Swift套用、管理與開發

對象存儲:OpenStack Swift套用、管理與開發

《對象存儲:OpenStack Swift套用、管理與開發》一書原作【美】Joe Arnold(喬·阿諾德) 【美】members of the SwiftStack team(SwiftStack開發團隊),中文版由 奧思數據OStorage-EOS技術團隊 譯,電子工業出版社2017年5月出版

基本介紹

  • 書名:對象存儲:OpenStack Swift套用、管理與開發
  • 作者:【美】Joe Arnold(喬·阿諾德) 【美】members of the SwiftStack team(SwiftStack開發團隊)
  • 譯者:奧思數據OStorage-EOS技術團隊
  • ISBN:978-7-121-31097-3
  • 頁數:312
  • 定價:79.00
  • 出版社:電子工業出版社
  • 出版時間:2017年5月
  • 開本:16
內容提要,目錄,

內容提要

《對象存儲:OpenStack Swift套用、管理與開發》主要介紹了OpenStack Swift 的原理與架構,以及應用程式設計、安裝、部署、運維與性能測試等內容。《對象存儲:OpenStack Swift套用、管理與開發》用生動翔實的語言帶你領略Swift 對象存儲的魅力,希望讀者能像Swift的標誌雨燕那樣在新存儲的世界裡翱翔。
《對象存儲:OpenStack Swift套用、管理與開發》一共分為五大部分。
第一部分主要介紹了Swift 的概念、架構、原理。這一部分適合所有讀者閱讀,我們希望你能夠了解Swift 出現的背景,理解Swift 的概念、架構、原理,為你部署使用Swift 集群打下堅實的基礎。
第二部分主要涵蓋了Swift API、Swift 客戶端庫、Swift 的高級API 特性等內容,並介紹了什麼是中間件以及如何開發中間件。這一部分主要是面向開發人員的,旨在教會幫助開發人員如何基於對象存儲進行開發。
第三部分主要介紹了如何安裝Swift,第四部分介紹了部署當中的一些注意事項以及如何進行硬體選型,第五部分講述了錯誤檢修和基準測試,這三部分特別適合存儲運維人員閱讀參考。

目錄

前言 XVII
第一部分 基礎與架構
第1章 存儲的演進 3
當今數據的存儲需求 3
- - 數據的增長:艾位元組(Exabytes)、駭位元組(Hellabytes)以及更多 4
- - 非結構化數據的存儲需求 4
沒有放之四海而皆準的存儲系統 5
對象存儲與其他存儲類型的比較 6
新的存儲架構:軟體定義存儲(SDS) 7
軟體定義存儲組件 8
- - 軟體定義存儲的優點 9
為什麼是OpenStack Swift 9
小結 10
第2章 初識Swift 11
認識SwiftStack 15
第3章 Swift數據模型和體系結構 17
Swift數據模型 17
Swift體系結構 20
服務進程(Server Processes) 22
一致性進程(Consistency Processes) 24
定位數據 26
- - 環基礎:哈希函式 26
- - 環基礎:一致性哈希環 28
- - 環檔案:修改後的一致性哈希環 30
- - 數據分發(Distribution of Data) 32
創建和更新環 32
- - 創建和更新構造檔案 32
- - 重新平衡環(Rebalancing the Rings) 33
- - 環內部結構 33
小結 34
第4章 Swift基礎 35
與集群交談:Swift API 35
傳送請求 36
- - 存儲URL 36
- - 身份驗證 37
- - HTTP動詞 37
授權和採取行動 38
獲取回響 38
通信工具 39
- - 命令行界面 39
- - 自定義客戶端應用程式 42
示例場景 43
小結 43
第二部分 Swift應用程式設計
第5章 Swift API概述 47
API到底是什麼? 47
CAP定理 48
Swift的亮點:高可用性、冗餘性和高吞吐量 49
Swift API:背景 50
- - 回顧超文本傳輸協定(HTTP) 50
- - 表現層狀態轉化(REST) 53
- - Swift、HTTP和REST 53
使用Swift API 54
- - 關於你的Swift集群 54
- - 認證 55
- - 檢索數據 56
- - 存儲數據 58
- - 刪除數據 59
- - 更新元數據 60
小結 61
第6章 Swift客戶端庫 63
客戶端庫 63
身份驗證交換 64
存儲請求:基本用法 65
其他語言的客戶端庫 68
- - Ruby 68
- - PHP 68
- - Java 69
存儲請求:高級用法 70
使用Python的其他注意事項 71
小結 71
第7章 高級API特性 73
大對象(Large Objects) 73
對象版本管理 75
對象過期 75
臨時URL中間件(TempURL) 76
表單提交中間件 76
自定義元數據 77
上傳和更新元數據 77
跨域資源共享(CORS) 78
Swift集群信息 79
範圍請求 80
域重映射中間件 80
靜態Web託管(Static Web Hosting) 81
Content-Type頭 82
批量操作中間件 82
代碼示例 83
- - 靜態大對象 83
- - 動態大對象 84
- - 對象版本管理 85
- - TempURL(Time-Limited URLs) 86
- - 表單提交 87
- - 跨域資源共享(CORS) 88
- - 自定義元數據 89
- - Swift集群信息 90
- - 範圍請求 90
- - 域重映射 91
- - 靜態web託管 92
- - Content-Type 93
- - 批量上傳 93
- - 批量刪除 94
小結 94
第8章 部署Swift中間件 95
WSGI框架簡介 95
編寫WSGI 97
數據流和數據的修改 98
通過Paste來配置中間件 100
如何編寫Swift中間件 102
由內而外 104
簡單的例子 104
中間件中更多的工作 106
回顧與前瞻 110
小結 111
第三部分 Swift的安裝
第9章 源碼安裝OpenStack Swift 115
下載OpenStack Swift 115
- - 依賴 116
- - 安裝Swift CLI(python-Swiftclient) 116
- - 安裝Swift 117
- - 複製Swift配置檔案 117
配置Swift 117
- - 向Swift中添加驅動器 118
- - 存儲策略 122
- - 創建環構造器檔案 124
- - 向構造檔案中添加磁碟 128
- - 添加硬碟 130
- - 構建環 131
配置Swift日誌 132
- - 創建日誌配置檔案 132
- - 重啟Rsyslog,開始記錄Swift日誌 133
配置代理服務 133
- - 設定哈希路徑前綴和後綴 133
- - 開啟代理服務 134
設定TempAuth驗證和Swift授權 134
- - 開啟memcahed 134
- - 在proxy-server.conf中添加用戶 135
- - 啟動服務和重啟代理 135
- - 賬戶認證 136
驗證賬戶訪問 137
創建容器 138
上傳對象 139
開啟一致性進程 139
- - 配置rsync 140
- - 啟動其他一致性進程 141
小結 141
第10章 安裝SwiftStack 143
SwiftStack控制器和節點概述 143
- - SwiftStack控制器 143
- - SwiftStack節點 145
使用SwiftStack創建一個Swift集群 146
- - 創建一個SwiftStack控制器用戶 146
- - 安裝SwiftStack節點軟體 147
- - 聲明一個新節點 147
- - 創建集群 148
- - 獲取節點 149
- - 啟用SwiftStack節點 149
- - 配置SwiftStack節點 150
- - 添加Swift用戶 150
- - SwiftStack中間件 151
- - 部署到集群 152
- - 通過網頁控制台來創建容器和上傳對象 153
小結 154
第四部分 規劃Swift部署
第11章 Swift的硬體 157
節點的硬體規格 158
- - CPU 158
- - 記憶體 161
- - 盤 162
集群組網(Cluster Networking) 164
- - 網卡(NIC) 165
- - 對外網路(Outward-Facing Network) 165
- - 對區域網路絡(Cluster-Facing Network) 165
- - 數據複製網路(Replication Network) 166
- - 帶外管理(Out-of-Band Management) 166
- - 其他網路連線 166
小結 167
第12章 規劃Swift部署 169
你的用例 169
系統設計 170
- - 多少個節點? 171
- - 節點服務分層(Tiering Node Services) 175
- - 定義集群空間 176
- - 節點命名規則 178
- - 身份驗證與授權 178
組網 179
- - 對外網路 180
- - 集群內部的網路 181
示例部署 184
- - 小規模集群:幾個節點 184
- - 中等規模集群:多個機架 184
- - 大規模集群:多個地域 184
小結 185
第13章 認證和授權 187
認證 187
- - 認證系統工作原理 188
- - 認證請求 190
- - 認證處理 192
- - 認證回響 194
在存儲請求中使用認證令牌 196
授權 196
- - 授權案例 197
- - 授權原理 197
- - 存儲請求處理 200
- - 令牌確認和授權信息查詢 200
- - 授權回調和回響 201
授權和訪問級別 201
賬戶訪問控制 202
- - 唯讀訪問(Read-Only Access) 202
- - 讀寫訪問(Read-Write Access) 203
- - 管理員訪問(Admin Access) 203
- - 賬戶訪問控制的JSON字典 203
容器訪問控制 204
- - 容器ACL示例 205
Swift認證系統 206
- - Keystone 206
- - TempAuth 206
- - SWAuth 207
SwiftStack認證系統 207
- - SwiftStack Auth 207
- - SwiftStack LDAP 208
- - SwiftStack Active Directory 208
小結 209
第14章 集群調優和性能最佳化 211
Swift設定 211
- - worker進程 212
- - 塊大小 213
- - 設定後台進程 214
外部管理設定 218
Swift中間件 219
- - 中間件管道 219
- - 重要中間件 219
- - 最有用的中間件 222
- - 其他中間件 223
SwiftStack方法 224
小結 225
第15章 操作Swift集群 227
操作注意事項 227
- - Swift如何分發數據 228
- - 追蹤環和構造器檔案 228
管理容量 229
- - 我們應當避免什麼 230
- - 添加容量 230
- - 現有集群:初始化節點上的環 231
- - 添加節點 234
移除容量 239
- - 移除節點 240
- - 移除盤 241
使用SwiftStack管理容量 243
- - 添加容量 244
- - 添加盤 245
- - 添加節點 246
- - 移除容量 246
- - 移除節點 246
- - 移除盤 247
監控你的集群 248
- - Swift特有指標:監控什麼 248
- - 監控和日誌工具 250
- - SwiftStack工具 250
使用SwiftStack進行操作 252
小結 253
第五部分 調試和檢修故障
第16章 硬體故障與恢復 257
處理故障的驅動器 258
處理已滿的盤 259
處理扇區和部分磁碟故障(也稱為位衰減) 259
處理無法訪問的節點 260
處理故障節點 261
節點故障案例研究 262
小結 263
第17章 基準測試 265
評估性能 266
性能指標、基準測試和測試 267
- - 準備你的集群以進行基準測試 268
- - 避免陷阱和錯誤 269
- - 基準測試目標和工具 269
- - 不要貪婪 270
- - 瓶頸 271
使用ssbench進行基準測試 273
- - 安裝ssbench 273
- - 基本ssbench運行 273
- - 定義用例 274
- - ssbench如何工作 275
- - 測量基本性能 275
- - 進一步使用ssbench 276
- - 定義場景檔案 277
- - ssbench-worker 280
- - 啟動ssbench-worker的方法 280
使用swift-bench進行基準測試 281
- - 準備 282
- - swift-bench如何工作 282
- - 容器數量 282
- - 測試高並發(-c, -b) 283
- - 測試延遲 283
- - 對象大小(-s, -l) 284
- - 對象數(-n) 284
- - GET數(-g) 284
- - 不刪除選項(-x) 284
- - 創建配置檔案 285
- - swift-bench運行示例 285
- - 運行分散式swift-bench 285
- - swift-bench配置示例 286
- - 統計工具 287
小結 288
Swift後記 289

相關詞條

熱門詞條

聯絡我們