《大规模Linux集群架构实践 如何管理上千台服务器》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:魔软运维社著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111575856
  • 页数:402 页
图书介绍:本书是以动视暴雪中国运维团队七位作者的日常工作作为背景,全面解析了Linux集群在动视暴雪的应用现状,内容包括Linux系统、网络、安全、监控、备份、日志分析、自动化等,跳出了一般书籍仅仅能覆盖的原理层面,详尽真实地展现了各项技术在集群架构和运维方向上的实际应用和发展趋势,绝对是一本不可多得的实战案例。

第1章 Linux系统管理入门 1

1.1 系统安装 1

1.1.1 安装CentOS 1

1.1.2 首次启动CentOS 14

1.1.3 更多设置 14

1.2 系统登录 20

1.2.1 本地登录 20

1.2.2 远程登录 22

1.3 用户管理 24

1.3.1 用户和用户组的概念 24

1.3.2 新增和删除用户 25

1.3.3 新增和删除用户组 26

1.3.4 用户切换 26

1.4 文件系统 27

1.4.1 什么是文件系统 27

1.4.2 常见的文件系统 27

1.4.3 磁盘分区和创建文件系统 28

1.5 文件管理 33

1.5.1 文件和目录简介 33

1.5.2 文件和目录权限 34

1.5.3 文件查找 35

1.5.4 文件压缩和打包 36

1.6 网络管理 37

1.6.1 网络配置管理 37

1.6.2 Linux防火墙 38

1.6.3 网络连通性诊断 40

1.7 进程管理 42

1.7.1 什么是进程 43

1.7.2 进程的常见状态 43

1.7.3 进程优先级的调整 43

1.7.4 进程的终止 44

1.8 软件安装 46

1.8.1 源码编译安装 46

1.8.2 使用包管理Yum 48

1.8.3 创建自己的Yum仓库 49

1.9 系统安全检测与审计 51

1.9.1 AIDE系统入侵检测 51

1.9.2 审计 53

第2章 系统性能分析 56

2.1 性能分析简介 56

2.2 系统分析的基本工具 56

2.2.1 CPU性能分析工具 56

2.2.2 内存性能分析工具 60

2.2.3 磁盘性能分析工具 62

2.2.4 sar 64

2.3 软件分析的基本工具 66

2.3.1 idd 66

2.3.2 strace与ltrace 66

2.3.3 ipcs 71

2.3.4 systemtap 73

2.4 与内存相关的那些事情 76

2.4.1 内存泄漏 76

2.4.2 虚拟内存、物理内存与页缺失 78

2.4.3 Out of Memory 79

2.4.4 Overcommit 79

2.4.5 cache与buffer 80

2.5 与磁盘相关的那些事情 80

2.5.1 HDD与SSD 80

2.5.2 HDD磁盘的调度算法 81

2.5.3 文件系统中的日志 82

2.6 系统资源限制 82

2.6.1 ulimit 82

2.6.2 Cgroup 84

第3章 用户集中认证 91

3.1 openLDAP简介 91

3.2 openLDAP的安装 91

3.3 openLDAP的配置 92

3.4 利用openLDAP集中认证 95

第4章 域名服务器DNS 97

4.1 DNS服务简介 97

4.2 DNS安装配置 98

4.2.1 DNS安装过程 98

4.2.2 关于chroot的解释 99

4.2.3 配置主配置文件 99

4.2.4 DNS的正向解析配置 100

4.2.5 DNS的反向解析配置 101

4.2.6 利用DNS实现负载均衡 103

4.3 DNS的主从复制 104

4.4 配置纯缓存的DNS服务 106

4.5 DNS的客户端配置 107

4.5.1 Linux中的配置 107

4.5.2 Windows中的配置 108

第5章 系统备份 109

5.1 为什么要备份 109

5.2 常见的备份机制 110

5.2.1 完全备份 110

5.2.2 增量备份 110

5.2.3 差异备份 111

5.3 Bacula简介 111

5.3.1 什么是Bacula 111

5.3.2 Bacula的基本组件 112

5.4 Bacula的安装和配置 112

5.4.1 Bacula控制器 114

5.4.2 Bacula存储守护进程 120

5.4.3 Bacula客户端文件守护进程 121

5.4.4 Bacula控制台 122

5.4.5 启动服务 122

5.4.6 Bacula配置综述 122

5.5 使用Bacula进行备份和恢复 124

5.5.1 执行备份 124

5.5.2 文件恢复 127

5.6 Bacula的使用和维护 129

5.6.1 Bconsole的用法 129

5.6.2 使用Bacula进行文件验证 130

5.6.3 Catalog的维护和备份 131

5.7 备份的策略 132

5.7.1 备份什么 133

5.7.2 备份到哪里 133

5.7.3 备份的时间 133

5.7.4 测试和监控备份 133

第6章 集群与存储 134

6.1 存储的基本概念 134

6.2 SAN 134

6.2.1 SAN的选择 135

6.2.2 iSCSI的配置 135

6.3 分布式文件系统与集群文件系统 138

6.3.1 分布式文件系统 138

6.3.2 GlusterFS的配置 138

6.4 高可用集群 141

6.4.1 Red Hat HA Cluster简介 141

6.4.2 配置一个高可用的Apache集群 142

6.5 负载均衡集群 151

6.5.1 HAProxy负载均衡 151

6.5.2 Nginx负载均衡 153

6.5.3 LVS负载均衡 155

第7章 Graphite 159

7.1 Graphite是什么 159

7.1.1 Graphite不是一个告警系统 159

7.1.2 Graphite的功能和特色 159

7.2 Graphite的基本组件 160

7.2.1 Whisper 160

7.2.2 Carbon 161

7.2.3 Graphite Web 162

7.3 Graphite的安装 162

7.3.1 安装Whisper数据库 163

7.3.2 安装Carbon守护进程 163

7.3.3 安装graphite-web 163

7.4 Graphite的配置(单点) 164

7.4.1 配置Carbon守护进程 164

7.4.2 给Carbon Cache发送数据 166

7.4.3 配置Graphite-web 167

7.5 Graphite的配置(集群配置) 169

7.5.1 配置Carbon Relay 170

7.5.2 Relay中的数据复制 172

7.5.3 数据聚合 172

7.5.4 Graphite Cluster 174

7.6 使用Graphite Web 175

7.6.1 Graphite的Render API 175

7.6.2 Graphite作图函数 176

7.6.3 Graphite Dashboard和Grafana 178

7.7 Graphite的性能监控和调整 181

7.8 其他 182

7.8.1 Whisper文件操作 182

7.8.2 压力测试 183

7.8.3 其他工具 185

第8章 系统大规模部署 186

8.1 概述 186

8.2 与PXE不得不说的故事 186

8.2.1 PXE简介 186

8.2.2 PXE实战 187

8.3 系统部署工具Cobbler 192

8.3.1 Cobbler简介 192

8.3.2 Cobbler安装 192

8.3.3 Cobbler配置 193

8.3.4 Cobbler应用 197

8.3.5 Cobbler API 202

8.3.6 Cobbler Replication 203

8.3.7 Cobbler实战 204

8.4 操作系统无盘技术 206

8.4.1 定义 206

8.4.2 制作无盘镜像 206

8.4.3 测试无盘镜像 212

8.5 本章小结 213

第9章 Puppet配置管理 214

9.1 什么是Puppet 214

9.1.1 Puppet对于系统运维意味着什么 214

9.1.2 为什么选择Puppet 215

9.2 安装Puppet 216

9.2.1 准备工作 216

9.2.2 安装一个服务端 219

9.2.3 安装一个客户端 219

9.2.4 连接第一个客户端 220

9.2.5 Puppet master上的site.pp 220

9.2.6 制作第一个模块 223

9.3 深入Puppet 227

9.3.1 深入resources type 227

9.3.2 深入metaparamete 240

9.3.3 深入fact 245

9.3.4 深入流程控制 248

9.3.5 深入function 252

9.3.6 深入template 257

9.3.7 深入define type 259

第10章 Puppet实战 262

10.1 扩展Puppet 262

10.1.1 自定义模块 262

10.1.2 使用公有模块 271

10.1.3 神奇的enc 273

10.1.4 自定义resource type/facter/function 275

10.2 管理好一个Puppet集群 280

10.2.1 监控Puppet运行状况 280

10.2.2 做好Puppet的容量规划 288

10.2.3 使用版本控制来管理代码 295

10.2.4 确保你的代码不是留给别人的坑 311

第11章 CMDB配置中心管理 314

11.1 什么是DCIM 314

11.2 什么是CMDB 315

11.3 运维为什么需要CMDB 316

11.3.1 整合信息 316

11.3.2 关系映射 316

11.3.3 防止配置偏差 316

11.3.4 自动化 317

11.3.5 中央管理 317

11.4 如何选择适合的CMDB 317

11.4.1 每个项目都会遇到的那些任务 317

11.4.2 选择开源的CMDB 321

11.5 自主搭建CMDB 324

11.5.1 openDCIM安装 324

11.5.2 openDCIM配置 327

11.5.3 openDCIM API 339

11.5.4 解决每个项目都会遇到的那些任务 359

11.6 如何管理好一个CMDB 371

11.6.1 制定相应流程管理 371

11.6.2 CMDB与自动化 373

11.6.3 做好CMDB的架构设计 374

11.6.4 那些年,我们碰过的坑 375

第12章 日志管理 378

12.1 日志中的四个W 378

12.2 首先要有一个日志服务器 378

12.2.1 rsyslog 379

12.2.2 syslog-ng 380

12.2.3 如何选择syslog程序 382

12.3 常见的日志分析处理工具 382

12.4 Splunk的安装配置 384

12.4.1 下载Splunk安装程序包 384

12.4.2 安装启动Splunk 384

12.4.3 配置Splunk 385

12.4.4 搜索日志 388

12.5 Elasticsearch+Logstash+Kiana 388

12.5.1 ELK简介 388

12.5.2 安装 ELK软件包 389

12.5.3 配置Logstash 391

12.5.4 配置Elasticsearch 392

12.5.5 配置Kibana 393

12.6 Elasticsearch入门 395

12.6.1 基本配置 395

12.6.2 安装插件 397

12.6.3 API 397