logo
分类于: 其它 互联网

简介

对象存储:OpenStack Swift应用、管理与开发

对象存储:OpenStack Swift应用、管理与开发 0.0分

资源最后更新于 2020-11-10 06:39:25

作者:【美】Joe Arnold

译者:奥思数据OStorage-EOS技术团队

出版社:电子工业出版社

出版日期:2017-01

ISBN:9787121310973

文件格式: pdf

标签: 大数据 软件工程 对象存储 分布式存储

简介· · · · · ·

《对象存储:OpenStack Swift应用、管理与开发》主要介绍了OpenStack Swift 的原理与架构,以及应用程序设计、安装、部署、运维与性能测试等内容。《对象存储:OpenStack Swift应用、管理与开发》用生动翔实的语言带你领略Swift 对象存储的魅力,希望读者能像Swift的标志雨燕那样在新存储的世界里翱翔。

《对象存储:OpenStack Swift应用、管理与开发》一共分为五大部分。

第一部分主要介绍了Swift 的概念、架构、原理。这一部分适合所有读者阅读,我们希望你能够了解Swift 出现的背景,理解Swift 的概念、架构、原理,为你部署使用Swift 集群打下坚实的基础。

第二部分主要涵盖了Swift API、Swift 客户端库、Swift 的高级API 特性等内容,并介绍了什么是中间件以及如何开发中间件。这...

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

前言 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