《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高性能的Linux服务器。全书以实战性为导向,所有内容都来自于作者多年实践经验的总结,同时从社区中收集了大量Linux运维人员遇到的有代表性的疑难问题,并给出了优秀的解决方案,实践指导意义极强。
全书分为5个部分。Web应用篇详细介绍了Nginx、Varnish和Memcached这三款Linux服务器上极为常用的Web应用软件的安装、配置、管理、使用方法、工作原理和性能调优技巧。数据备份与恢复篇首先讲述了开源备份软件bacula的使用与管理技巧,并通过实例讲解了在bacula上进行各种备份与恢复操作的具体方法;其次讲解了开源数据镜像备份工具rsync和umson的使用,并通过两个企业级案例演示了这两个工具在生产环境中的使用过程:最后讲解了如何利用ext3grep工具来恢复误删除的数据文件和MySQL数据库的方法。网络存储应用篇首先系统地讲解了网络存储技术iSCSI的配置和使用,然后讲解了分布式存储系统MFS的使用和维护。运维监控与性能优化篇通过理论与实践相结合的方法讲解了如何利用Nagios进行性能监控,以及Linux服务器的性能分析原则和优化方法。集群高级应用篇是前面内容的综合,也是本书的核心,主要讲述了如何通过LVS+heartbeat、piranha、LVS+Keepalived来构建高可用的负载均衡集群,其次讲解了红帽集群套件RHCS的配置、管理、维护和监控,然后讲解了Oracle集群解决方案,即OracleRAC数据库的构建、使用和维护。最后以构建一个MySQL+heartbeat+DRBD+LVS集群系统的实战案例结束全书,巧妙地将本书的所有核心内容都融合到了一起。
作者簡介:
高俊峰,(南非蚂蚁)资深系统管理员、系统架构师、DBA和技术顾问,从事Linux+Oracle服务器系统的运维和管理多年,在系统管理、故障诊断与排除、性能调优、集群和虚拟化等方面积累了大量的实战经验。国内知名IT技术社区51CTO的博客专家兼IXPUB论坛Linux版块的版主,同时还活跃于ChinaUnix和ITPUB等技术社区,在社区和论坛里发表了大量技术文章,深受欢迎。此外,他还著有畅销书《循序渐进Linux》,广获读者好评。
目錄
前言
第1篇 Web应用篇
第1章 轻量级HTTP服务器Nginx / 2
1.1 什么是Nginx / 2
1.2 为什么要选择Nginx / 2
1.2.1 Nginx与Apache的异同 / 2
1.2.2 选择Nginx的优势所在 / 2
1.3 Nginx的模块与工作原理 / 3
1.4 Nginx的安装与配置 / 4
1.4.1 下载与安装Nginx / 4
1.4.2 Nginx配置文件的结构 / 5
1.4.3 配置与调试Nginx / 6
1.4.4 Nginx的启动、关闭和平滑重启 / 13
1.5 Nginx常用配置实例 / 14
1.5.1 虚拟主机配置实例 / 14
1.5.2 负载均衡配置实例 / 15
1.5.3 防盗链配置实例 / 17
1.5.4 日志分割配置实例 / 17
1.6 Nginx性能优化技巧 / 18
1.6.1 编译安装过程优化 / 18
1.6.2 利用TCMalloc优化Nginx的性能 / 19
1.6.3 Nginx内核参数优化 / 20
1.7 实战Nginx与PHP(FastCGI)的安装、配置与优化 / 22
1.7.1 什么是 FastCGI / 22
1.7.2 Nginx+FastCGI运行原理 / 22
1.7.3 spawn-fcgi与PHP-FPM / 22
1.7.4 PHP与PHP-FPM的安装及优化 / 23
1.7.5 配置Nginx来支持PHP / 26
1.7.6 测试Nginx对PHP的解析功能 / 27
1.7.7 优化Nginx中FastCGI参数的实例 / 27
1.8 实战Nginx与Perl、Java的安装与配置 / 28
1.8.1 Perl(FastCGI)的安装 / 29
1.8.2 为Nginx添加FCGI支持 / 30
1.8.3 测试Nginx +Perl(FastCGI) / 31
1.8.4 搭建Nginx+Java环境 / 32
1.9 本章小结 / 34
第2章 高性能HTTP加速器Varnish / 35
2.1 初识Varnish / 35
2.1.1 Varnish概述 / 35
2.1.2 Varnish的结构与特点 / 35
2.1.3 Varnish与Squid的对比 / 36
2.2 开始安装Varnish / 36
2.2.1 安装前的准备 / 36
2.2.2 获取Varnish软件 / 37
2.2.3 安装pcre / 37
2.2.4 安装Varnish / 37
2.3 配置Varnish / 38
2.3.1 VCL使用说明 / 38
2.3.2 配置一个简单的Varnish实例 / 42
2.3.3 Varnish对应多台Web服务器的配置实例 / 44
2.4 运行Varnish / 48
2.4.1 varnishd指令 / 48
2.4.2 配置Varnish运行脚本 / 48
2.4.3 管理Varnish运行日志 / 49
2.5 管理Varnish / 51
2.5.1 查看Varnish进程 / 51
2.5.2 查看Varnish缓存效果与状态 / 51
2.5.3 通过端口管理Varnish / 53
2.5.4 管理Varnish缓存内容 / 55
2.6 Varnish优化 / 58
2.6.1 优化Linux内核参数 / 58
2.6.2 优化系统资源 / 59
2.6.3 优化Varnish参数 / 61
2.7 Varnish的常见应用实例 / 62
2.7.1 利用Varnish实现图片防盗链 / 62
2.7.2 利用Varnish实现静态文件压缩处理 / 62
2.8 本章小结 / 64
第3章 Memcached应用实战 / 65
3.1 Memcached基础 / 65
3.1.1 什么是Memcached / 65
3.1.2 Memcached的特征 / 66
3.1.3 Memcached的安装 / 67
3.1.4 Memcached的简单使用过程 / 70
3.2 剖析Memcached的工作原理 / 71
3.2.1 Memcached的工作过程 / 71
3.2.2 Slab Allocation的工作机制 / 72
3.2.3 Memcached的删除机制 / 72
3.2.4 Memcached的分布式算法 / 73
3.3 Memcached的管理与性能监控 / 75
3.3.1 如何管理Memcached / 75
3.3.2 Memcached的监控 / 77
3.3.3 Memcached变种产品介绍 / 81
3.4 通过UDFs实现Memcached与MySQL的自动更新 / 82
3.4.1 UDFs使用简介 / 82
3.4.2 memcached_functions_mysql应用实例 / 84
3.4.3 对memcached_functions_mysql的简单功能进行测试 / 87
3.4.4 使用memcached_functions_mysql的经验与技巧 / 88
3.5 本章小结 / 89
第2篇 数据备份恢复篇
第4章 开源网络备份软件bacula / 92
4.1 bacula总体概述 / 92
4.1.1 bacula是什么 / 92
4.1.2 bacula适合哪些用户 / 92
4.1.3 bacula的功能特点 / 93
4.1.4 bacula的工作原理 / 95
4.2 安装bacula / 96
4.2.1 bacula的几种网络备份拓扑 / 96
4.2.2 编译与安装bacula / 97
4.2.3 初始化MySQL数据库 / 98
4.3 配置一个bacula备份系统 / 98
4.3.1 配置bacula的Console端 / 98
4.3.2 配置bacula的Director端 / 99
4.3.3 配置bacula的SD / 103
4.3.4 配置bacula的FD端 / 104
4.4 启动与关闭bacula / 105
4.4.1 启动bacula的Director daemon与Storage daemon / 105
4.4.2 在客户端FD启动File daemon / 106
4.5 实战bacula备份恢复过程 / 106
4.5.1 实例演示bacula的完全备份功能 / 106
4.5.2 实例演示bacula的增量备份功能 / 109
4.5.3 实例演示bacula的差异备份功能 / 110
4.5.4 实例演示bacula的完全恢复功能 / 116
4.5.5 实例演示bacula的不完全恢复功能 / 122
4.6 本章小结 / 125
第5章 数据镜像备份工具rsync与unison / 126
5.1 rsync简介 / 126
5.1.1 什么是rsync / 126
5.1.2 rsync的功能特性 / 126
5.1.3 下载与安装rsync软件 / 127
5.2 利用rsync搭建数据镜像备份系统 / 127
5.2.1 rsync的应用模式 / 127
5.2.2 企业案例:搭建远程容灾备份系统 / 129
5.3 通过rsync+inotify实现数据的实时备份 / 133
5.3.1 rsync的优点与不足 / 133
5.3.2 初识inotify / 133
5.3.3 安装inotify工具inotify-tools / 133
5.3.4 inotify相关参数 / 134
5.3.5 inotifywait相关参数 / 134
5.3.6 企业应用案例:利用rsync+inotify搭建实时同步系统 / 135
5.4 unison简介 / 139
5.5 安装unison / 139
5.6 配置双机ssh信任 / 140
5.6.1 在两台机器上创建 RSA密钥 / 140
5.6.2 添加密钥到授权密钥文件中 / 141
5.7 unison的使用 / 141
5.7.1 本地使用unison / 142
5.7.2 远程使用unison / 143
5.7.3 unison参数说明 / 144
5.7.4 通过配置文件来使用unison / 145
5.8 本章小结 / 147
第6章 ext3文件系统反删除利器ext3grep / 148
6.1 “rm-rf”带来的困惑 / 148
6.2 ext3grep的安装与使用 / 148
6.2.1 ext3grep的恢复原理 / 148
6.2.2 ext3grep的安装过程 / 149
6.3 通过ext3grep恢复误删除的文件与目录 / 150
6.3.1 数据恢复准则 / 150
6.3.2 实战ext3grep恢复文件 / 150
6.4 通过ext3grep恢复误删除的MySQL表 / 154
6.4.1 MySQL存储引擎介绍 / 154
6.4.2 模拟MySQL表被误删除的环境 / 154
6.4.3 通过ext3grep分析数据、恢复数据 / 155
6.5 本章小结 / 159
第3篇 网络存储应用篇
第7章 IP网络存储iSCSI / 162
7.1 存储的概念与术语 / 162
7.1.1 SCSI介绍 / 162
7.1.2 FC介绍 / 162
7.1.3 DAS介绍 / 162
7.1.4 NAS介绍 / 163
7.1.5 SAN介绍 / 163
7.2 iSCSI的概念 / 163
7.3 FC SAN与IP SAN / 164
7.4 iSCSI的组成 / 164
7.4.1 iSCSI Initiator / 165
7.4.2 iSCSI Target / 166
7.5 iSCSI的工作原理 / 166
7.6 搭建基于IP SAN的iSCSI存储系统 / 167
7.6.1 安装iSCSI Target软件 / 168
7.6.2 配置一个简单的iSCSI Target / 169
7.6.3 在Windows上配置iSCSI Initiator / 169
7.6.4 在Linux上配置iSCSI Initiator / 172
7.7 iSCSI 在安全方面的相关设定 / 176
7.7.1 Initiator主机以IP认证方式获取iSCSI Target资源 / 176
7.7.2 Initiator主机以密码认证方式获取iSCSI Target资源 / 177
7.8 iSCSI性能优化方案 / 181
7.8.1 iSCSI性能瓶颈 / 181
7.8.2 iSCSI性能优化 / 181
7.9 本章小结 / 183
第8章 分布式存储系统MFS / 184
8.1 MFS概论 / 184
8.2 MFS 文件系统 / 185
8.2.1 MFS文件系统结构 / 185
8.2.2 MFS的编译与安装实例 / 186
8.3 编译与使用MFS的经验总结 / 199
8.3.1 安装选项说明 / 199
8.3.2 管理服务器 / 200
8.3.3 元数据日志服务器 / 201
8.3.4 数据存储服务器 / 201
8.3.5 客户端挂载 / 203
8.4 管理与使用MFS / 203
8.4.1 在客户端挂载文件系统 / 203
8.4.2 MFS常用操作 / 204
8.4.3 为垃圾箱设定隔离时间 / 207
8.4.4 快照 / 209
8.4.5 MFS的其他命令 / 209
8.5 维护MFS / 210
8.5.1 启动MFS集群 / 210
8.5.2 停止MFS集群 / 210
8.5.3 MFS 数据存储服务器的维护 / 210
8.5.4 MFS元数据的备份 / 211
8.5.5 MFS 管理服务器的恢复 / 211
8.5.6 从备份恢复MFS 管理服务器 / 211
8.6 通过冗余实现失败防护的解决方案 / 212
8.7 本章小结 / 212
第4篇 运维监控与性能优化篇
第9章 运维监控利器Nagios / 216
9.1 Nagios综述 / 216
9.1.1 什么是Nagios / 216
9.1.2 Nagios的结构与特点 / 216
9.2 Nagios的安装与配置 / 217
9.2.1 安装Nagios / 217
9.2.2 配置Nagios / 221
9.3 Nagios的运行和维护 / 231
9.3.1 验证Nagios配置文件的正确性 / 231
9.3.2 启动与停止Nagios / 231
9.3.3 Nagios故障报警 / 232
9.4 Nagios性能分析图表的实现 / 234
9.4.1 Nagios性能分析图表的作用 / 234
9.4.2 PNP的概念与安装环境 / 234
9.4.3 安装PNP / 234
9.4.4 配置PNP / 235
9.4.5 修改Nagios配置文件 / 236
9.4.6 测试PNP功能 / 237
9.5 利用插件扩展Nagios的监控功能 / 238
9.5.1 利用NRPE外部构件监控远程主机 / 238
9.5.2 利用飞信实现Nagios短信报警功能 / 243
9.6 本章小结 / 247
第10章 基于Linux服务器的性能分析与优化 / 248
10.1 系统性能分析的目的 / 248
10.1.1 找到系统性能的瓶颈 / 248
10.1.2 提供性能优化方案 / 248
10.1.3 使系统硬件和软件资源的使用达到平衡 / 249
10.2 分析系统性能涉及的人员 / 249
10.2.1 Linux系统管理人员 / 249
10.2.2 系统架构设计人员 / 249
10.2.3 软件开发人员 / 250
10.3 影响Linux性能的各种因素 / 250
10.3.1 系统硬件资源 / 250
10.3.2 操作系统相关资源 / 252
10.3.3 应用程序软件资源 / 253
10.4 系统性能分析标准和优化原则 / 253
10.5 几种典型应用对系统资源使用的特点 / 254
10.5.1 以静态内容为主的Web应用 / 254
10.5.2 以动态内容为主的Web应用 / 254
10.5.3 数据库应用 / 255
10.5.4 软件下载应用 / 255
10.5.5 流媒体服务应用 / 256
10.6 Linux下常见的性能分析工具 / 256
10.6.1 vmstat命令 / 256
10.6.2 sar命令 / 258
10.6.3 iostat命令 / 260
10.6.4 free命令 / 262
10.6.5 uptime命令 / 263
10.6.6 netstat命令 / 263
10.6.7 top命令 / 265
10.7 基于Web应用的性能分析及优化案例 / 268
10.7.1 基于动态内容为主的网站优化案例 / 268
10.7.2 基于动态、静态内容结合的网站优化案例 / 270
10.8 本章小结 / 272
第5篇 集群高级应用篇
第11章 构建高可用的LVS负载均衡集群 / 274
11.1 LVS集群的组成与特点 / 274
11.1.1 LVS集群的组成 / 274
11.1.2 LVS集群的特点 / 275
11.1.3 LVS集群系统的优缺点 / 278
11.2 高可用 LVS负载均衡集群体系结构 / 278
11.3 高可用性软件Heartbeat与Keepalived / 279
11.3.1 开源HA软件Heartbeat的介绍 / 279
11.3.2 安装heartbeat / 280
11.3.3 开源HA软件Keepalived的介绍 / 280
11.3.4 安装Keepalived / 281
11.4 安装LVS软件 / 282
11.4.1 配置与检查安装环境 / 282
11.4.2 在Director Server上安装IPVS管理软件 / 282
11.5 搭建高可用 LVS集群 / 283
11.5.1 通过heartbeat搭建LVS高可用性集群 / 284
11.5.2 通过Keepalived搭建LVS高可用性集群系统 / 288
11.5.3 通过piranha搭建LVS高可用性集群 / 291
11.6 测试高可用LVS负载均衡集群系统 / 293
11.6.1 高可用性功能测试 / 293
11.6.2 负载均衡测试 / 294
11.6.3 故障切换测试 / 294
11.7 本章小结 / 295
第12章 RHCS集群 / 296
12.1 RHCS集群概述 / 296
12.2 RHCS集群的组成与结构 / 297
12.2.1 RHCS集群的组成 / 297
12.2.2 RHCS集群结构 / 298
12.3 RHCS集群的运行原理及功能 / 299
12.3.1 分布式集群管理器(CMAN)/ 299
12.3.2 锁管理(DLM) / 299
12.3.3 配置文件管理(CCS) / 300
12.3.4 栅设备(Fence) / 301
12.3.5 高可用性服务管理器 / 302
12.3.6 集群配置和管理工具 / 304
12.3.7 Redhat GFS / 304
12.4 安装RHCS / 305
12.4.1 安装前准备工作 / 306
12.4.2 配置共享存储和RHCS管理端Luci / 307
12.4.3 在集群节点上安装RHCS软件包 / 308
12.4.4 在集群节点上安装和配置iSCSI客户端 / 309
12.5 配置RHCS高可用集群 / 309
12.5.1 创建一个cluster / 310
12.5.2 创建Failover Domain / 314
12.5.3 创建Resources / 315
12.5.4 创建Service / 319
12.5.5 配置存储集群GFS / 322
12.5.6 配置表决磁盘 / 325
12.5.7 配置Fence设备 / 328
12.6 管理和维护RHCS集群 / 333
12.6.1 启动RHCS集群 / 333
12.6.2 关闭RHCS集群 / 334
12.6.3 管理应用服务 / 334
12.6.4 监控RHCS集群状态 / 336
12.6.5 管理和维护GFS2文件系统 / 338
12.7 RHCS集群功能测试 / 340
12.7.1 高可用集群测试 / 340
12.7.2 存储集群测试 / 352
12.8 本章小结 / 352
第13章 Oracle RAC集群 / 353
13.1 Oracle集群体系结构 / 353
13.2 Oracle ClusterWare体系结构与进程介绍 / 355
13.2.1 Oracle ClusterWare 简介 / 355
13.2.2 Oracle ClusterWare 进程介绍 / 355
13.3 RAC数据库体系结构与进程 / 356
13.3.1 RAC 简介 / 356
13.3.2 Oracle RAC的特点 / 357
13.3.3 RAC进程管理 / 358
13.3.4 RAC数据库存储规划 / 359
13.4 安装Oracle RAC数据库 / 361
13.4.1 安装前的系统配置需求 / 361
13.4.2 设置数据库安装资源 / 363
13.4.3 配置主机解析文件 / 363
13.4.4 检查所需软件包 / 364
13.4.5 配置系统内核参数 / 364
13.4.6 设置 Shell对Oracle用户的限制 / 365
13.4.7 配置hangcheck-timer内核模块 / 366
13.4.8 配置系统安全设置 / 367
13.4.9 创建Oracle用户和组 / 367
13.4.10 设置Oracle用户环境变量 / 367
13.4.11 配置节点间SSH信任 / 368
13.4.12 配置共享存储系统 / 369
13.4.13 安装Oracle Clusterware / 373
13.4.14 安装Oracle数据库 / 381
13.4.15 配置Oracle Net / 387
13.4.16 创建RAC数据库 / 390
13.5 Oracle CRS的管理与维护 / 404
13.5.1 查看集群状态 / 404
13.5.2 启动与关闭集群服务资源 / 405
13.5.3 启动与关闭CRS / 406
13.5.4 管理voting disk / 407
13.5.5 管理OCR / 408
13.5.6 快速卸载CRS / 410
13.6 ASM基本操作维护 / 411
13.6.1 ASM的特点 / 411
13.6.2 ASM的体系结构与后台进程 / 412
13.6.3 管理ASM实例 / 413
13.7 利用srvctl管理RAC数据库 / 421
13.7.1 查看实例状态(srvctl status) / 422
13.7.2 查看RAC数据库配置信息(srvctl config) / 422
13.7.3 启动/关闭实例(srvctl start/stop) / 423
13.7.4 增加/删除/修改实例(srvctl add/remove/modify) / 423
13.8 测试RAC数据库集群的功能 / 424
13.8.1 负载均衡测试 / 424
13.8.2 透明应用失败切换测试 / 427
13.9 本章小结 / 428
第14章 构建MySQL+heartbeat+DRBD+LVS集群应用系统 / 430
14.1 MySQL高可用集群概述 / 430
14.2 heartbeat + DRBD高可用性方案的实现原理 / 431
14.3 部署MySQL高可用高扩展集群 / 432
14.3.1 配置之前的准备 / 433
14.3.2 DRBD的部署 / 434
14.3.3 DRBD的配置 / 434
14.3.4 DRBD的维护和管理 / 439
14.3.5 DRBD的性能优化 / 440
14.3.6 MySQL的部署 / 441
14.3.7 heartbeat的部署 / 445
14.4 搭建Slave集群 / 448
14.4.1 为什么要搭建Slave集群 / 448
14.4.2 利用LVS+Keepalived搭建高可用MySQL Slave集群 / 448
14.4.3 高可用Slave集群的一些注意点 / 451
14.5 部署MySQL集群要考虑的问题 / 451
14.6 本章小结 / 452
前言
第1篇 Web应用篇
第1章 轻量级HTTP服务器Nginx / 2
1.1 什么是Nginx / 2
1.2 为什么要选择Nginx / 2
1.2.1 Nginx与Apache的异同 / 2
1.2.2 选择Nginx的优势所在 / 2
1.3 Nginx的模块与工作原理 / 3
1.4 Nginx的安装与配置 / 4
1.4.1 下载与安装Nginx / 4
1.4.2 Nginx配置文件的结构 / 5
1.4.3 配置与调试Nginx / 6
1.4.4 Nginx的启动、关闭和平滑重启 / 13
1.5 Nginx常用配置实例 / 14
1.5.1 虚拟主机配置实例 / 14
1.5.2 负载均衡配置实例 / 15
1.5.3 防盗链配置实例 / 17
1.5.4 日志分割配置实例 / 17
1.6 Nginx性能优化技巧 / 18
1.6.1 编译安装过程优化 / 18
1.6.2 利用...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。