《对象存储 OpenStackSwift应用、管理与开发》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Joe Arnold,(美)SwiftStack开发团队著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121310973
  • 页数:292 页
图书介绍:Swift保证了虚拟环境下数据存储的灵活性和健壮性,本书作者Joe Arnold是SwiftStack的共同创建者兼CEO,因此本书具有很强的实践性。书中介绍了如何从Swift这种高可用、分布式的OpenStack对象中获得最大效益,能够帮助系统管理员快速使用和管理Swift,还涵盖了一些高级话题。

第一部分 基础与架构 3

第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应用程序设计 47

第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的安装 115

第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部署 157

第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

第五部分 调试和检修故障 257

第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