热门排行
简介
《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》是Linux运维领域畅销的、公认的经典著作《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》的姊妹篇,它从系统安全运维、运维故障排查、自动化运维、集群架构4个维度讲解了构建大规模和高性能Linux服务器集群所需要的技术、工具、方法和技巧,二者一脉相承,互为补充,内容涵盖了运维工程师构建高性能服务器需要掌握的各种知识。本书在内容上继承了前面一本书中被读者认可的诸多优点:实用(以实际生产环境为背景)、实战(包含大量案例)、易懂,同时也改进了读者反馈的不足之处。
全书共14章,分为四个部分:安全运维篇(1-3章)主要讲解了服务器安全运维、网络安全运维和数据安全运维的关键技术和方法;运维故障排查篇(4-5章)从服务器系统和应用软件两个维度讲解了运维故障的排查思路,以及常见的和经典的运维故障的解决方案;自动化运维篇(6-9章)主要讲解了海量主机的自动化部署和配置、自动化监控、分布式监控等大规模集群运维所需的各种工具(pssh、pdsh、mussh、Ganglia、nagios、Centreon等)和方法;集群架构篇(10-14)讲解了如何构建和优化基于Web和MySQL数据库的高性能集群和高可用的负载均衡集群。
目录
前言
第一部分 安全运维篇
第1章 Linux服务器安全运维
1.1 账户和登录安全
1.1.1 删除特殊的用户和用户组
1.1.2 关闭系统不需要的服务
1.1.3 密码安全策略
1.1.4 合理使用su、sudo命令
1.1.5 删减系统登录欢迎信息
1.1.6 禁止Control-Alt-Delete键盘关闭命令
1.2 远程访问和认证安全
1.2.1 远程登录取消telnet而采用SSH方式
1.2.2 合理使用shell历史命令记录功能
1.2.3 启用tcp_wrappers防火墙
1.3 文件系统安全
1.3.1 锁定系统重要文件
1.3.2 文件权限检查和修改
1.3.3 /tmp、/var/tmp、/dev/shm安全设定
1.4 系统软件安全管理
1.4.1 软件自动升级工具yum
1.4.2 yum的安装与配置
1.4.3 yum的特点与基本用法
1.4.4 几个不错的yum源
1.5 Linux后门入侵检测工具
1.5.1 rootkit后门检测工具chkrootkit
1.5.2 rootkit后门检测工具RKHunter
1.6 服务器遭受攻击后的处理过程
1.6.1 处理服务器遭受攻击的一般思路
1.6.2 检查并锁定可疑用户
1.6.3 查看系统日志
1.6.4 检查并关闭系统可疑进程
1.6.5 检查文件系统的完好性
1.7 一次Linux被入侵后的分析
1.7.1 受攻击现象
1.7.2 初步分析
1.7.3 断网分析系统
1.7.4 寻找攻击源
1.7.5 查找攻击原因
1.7.6 揭开谜团
1.7.7 如何恢复网站
第2章 Linux网络安全运维
2.1 网络实时流量监测工具iftop
2.1.1 iftop能做什么
2.1.2 iftop的安装
2.1.3 使用iftop监控网卡实时流量
2.2 网络流量监控与分析工具Ntop和Ntopng
2.2.1 Ntop与MRTG的异同
2.2.2 Ntop与Ntopng的功能介绍
2.2.3 安装Ntop与Ntopng
2.2.4 Ntop和Ntopng的使用技巧
2.3 网络性能评估工具iperf
2.3.1 iperf能做什么
2.3.2 iperf的安装与使用
2.3.3 iperf应用实例
2.4 网络探测和安全审核工具nmap
2.4.1 nmap和Zenmap简介
2.4.2 nmap基本功能与结构
2.4.3 nmap的安装与验证
2.4.4 nmap的典型用法
2.4.5 nmap主机发现扫描
2.4.6 nmap端口扫描
2.4.7 nmap版本侦测
2.4.8 nmap操作系统侦测
第3章 数据安全工具DRBD、extundelete
3.1 数据镜像软件DRBD介绍
3.1.1 DRBD的基本功能
3.1.2 DRBD的构成
3.1.3 DRBD与现在的集群的关系
3.1.4 DRBD的主要特性
3.2 DRDB的安装与配置
3.2.1 安装环境说明
3.2.2 DRBD的安装部署
3.2.3 快速配置一个DRBD镜像系统
3.3 DRBD的管理与维护
3.3.1 启动DRDB
3.3.2 测试DRBD数据镜像
3.3.3 DRBD主备节点切换
3.4 数据恢复软件extundelete介绍
3.4.1 如何使用"rm -rf"命令
3.4.2 extundelete与ext3grep的异同
3.4.3 extundelete的恢复原理
3.4.4 安装extundelete
3.4.5 extundelete用法详解
3.5 实战:extundelete恢复数据的过程
3.5.1 通过extundelete恢复单个文件
3.5.2 通过extundelete恢复单个目录
3.5.3 通过extundelete恢复所有误删除数据
3.5.4 通过extundelete恢复某个时间段的数据
第二部分 运维故障排查篇
第4章 Linux系统运维故障排查思路
4.1 Linux系统故障的处理思路
4.2 Linux系统无法启动的解决方法
4.2.1 文件系统破坏导致系统无法启动
4.2.2 /etc/fstab文件丢失导致系统无法启动
4.3 Linux系统无响应(死机)问题分析
4.4 Linux下常见网络故障的处理思路
4.4.1 检查网络硬件问题
4.4.2 检查网卡是否正常工作
4.4.3 检查DNS解析文件是否设置正确
4.4.4 检查服务是否正常打开
4.4.5 检查访问权限是否打开
4.4.6 检查局域网主机之间联机是否正常
第5章 Linux故障排查案例实战
5.1 常见系统故障案例
5.1.1 su切换用户带来的疑惑
5.1.2 "Read-only file system"错误与解决方法
5.1.3 "Argument list too long"错误与解决方法
5.1.4 inode耗尽导致应用故障
5.1.5 文件已删除但空间不释放的原因
5.1.6 "Too many open files"错误与解决方法
5.2 Apache常见错误故障案例
5.2.1 "No space left on device"错误与解决方法
5.2.2 apache(20014)故障与解决方法
5.2.3 "could not bind to address 0.0.0.0:80"错误与解决方法
5.3 因NAS存储故障引起的Linux系统恢复案例
5.3.1 故障现象描述
5.3.2 问题判断思路
5.3.3 问题处理过程
5.3.4 解决问题
第三部分 自动化运维篇
第6章 轻量级运维利器pssh、pdsh和mussh
6.1 并行SSH运维工具pssh
6.1.1 pssh应用场景
6.1.2 pssh的安装与用法
6.1.3 pssh应用实例
6.2 并行分布式运维工具pdsh
6.2.1 pdsh应用场景
6.2.2 pdsh的安装与语法
6.2.3 pdsh应用实例
6.3 多主机ssh封装器mussh
6.3.1 mussh功能介绍
6.3.2 mussh的安装与语法
6.3.3 mussh应用实例
第7章 分布式监控系统Ganglia
7.1 Ganglia简介
7.2 Ganglia的组成
7.3 Ganglia的工作原理
7.3.1 Ganglia数据流向分析
7.3.2 Ganglia工作模式
7.4 Ganglia的安装
7.4.1 yum源安装方式
7.4.2 源码方式
7.5 配置一个Ganglia分布式监控系统
7.5.1 Ganglia配置文件介绍
7.5.2 Ganglia监控系统架构图
7.5.3 Ganglia监控管理端配置
7.5.4 Ganglia的客户端配置
7.5.5 Ganglia的Web端配置
7.6 Ganglia监控系统的管理和维护
7.7 Ganglia监控扩展实现机制
7.7.1 扩展Ganglia监控功能的方法
7.7.2 通过gmetric接口扩展Ganglia监控
7.7.3 通过Python插件扩展Ganglia监控
7.7.4 实战:利用Python接口监控Nginx运行状态
7.8 Ganglia在实际应用中要考虑的问题
7.8.1 网络IO可能存在瓶颈
7.8.2 CPU可能存在瓶颈
7.8.3 gmetad写入rrd数据库可能存在瓶颈
第8章 基于nagios的分布式监控报警平台Centreon
8.1 Centreon概述
8.2 Centreon的特点
8.3 Centreon的结构
8.4 安装Centreon+nagios监控系统
8.4.1 安装支持Centreon的yum源
8.4.2 安装系统基础依赖库
8.4.3 安装nagios及nagios-plugins
8.4.4 安装ndoutils
8.4.5 安装nrpe
8.4.6 安装Centreon
8.4.7 安装配置Centreon Web
8.4.8 启动Centreon相关服务
8.4.9 安装问题总结
8.5 配置Centreon监控系统
8.5.1 添加主机和主机组
8.5.2 批量添加主机
8.5.3 监控引擎管理
8.5.4 添加服务和服务组
8.5.5 监控报警配置
8.5.6 用户和用户权限管理
8.6 配置分布式监控
8.6.1 分布式监控架构与实现原理
8.6.2 分布式监控搭建环境介绍
8.6.3 监控软件的安装
8.6.4 配置节点间SSH信任登录
8.6.5 在Central server上添加分布式监控配置
8.7 常见服务监控配置
8.7.1 nagios插件编写规范
8.7.2 监控Apache运行状态
8.7.3 监控MySQL运行状态
8.7.4 监控Hadoop HDFS运行状态
8.8 桌面监控报警器Nagstamon
第9章 通过Ganglia与Centreon构建智能化监控报警平台
9.1 智能运维监控报警平台的组成
9.2 Ganglia作为数据收集模块
9.3 Centreon作为监控报警模块
9.4 Ganglia与Centreon的无缝整合
9.4.1 数据提取脚本
9.4.2 实现Ganglia与Centreon完美整合
9.5 在Centreon中实现批量数据收集与监控报警
第四部分 集群架构篇
第10章 高性能Web服务器Nginx
10.1 高性能Web服务器Nginx介绍
10.1.1 Nginx的组成与工作原理
10.1.2 Nginx的性能优势
10.2 Nginx的安装
10.2.1 安装Nginx依赖库
10.2.2 快速安装Nginx
10.3 配置与调试Nginx
10.3.1 Nginx配置文件结构
10.3.2 Nginx配置文件详解
10.3.3 Nginx日常维护技巧
10.4 Nginx常用功能介绍
10.4.1 Nginx反向代理应用实例
10.4.2 Nginx的URL重写应用实例
10.5 案例:Nginx作为Web缓存服务器应用
10.5.1 在Nginx下安装缓存服务器
10.5.2 配置Nginx缓存服务器
10.5.3 测试proxy_cache实现的缓存功能
10.5.4 如何清除指定的URL缓存
10.6 案例:Nginx作为负载均衡服务器应用
10.6.1 Nginx的负载均衡算法
10.6.2 Nginx的负载均衡配置实例
10.7 Nginx性能优化技巧
10.7.1 编译安装过程优化
10.7.2 利用TCMalloc优化Nginx的性能
10.7.3 Nginx内核参数优化
第11章 高性能集群软件Keepalived
11.1 Keepalived介绍
11.1.1 Keepalived是什么
11.1.2 VRRP协议与工作原理
11.1.3 Keepalived工作原理
11.1.4 Keepalived的体系结构
11.2 Keepalived安装与配置
11.2.1 Keepalived的安装过程
11.2.2 Keepalived的全局配置
11.2.3 Keepalived的VRRPD配置
11.2.4 Keepalived的LVS配置
11.3 Keepalived基础功能应用实例
11.3.1 Keepalived基础HA功能演示
11.3.2 通过vrrp_script实现对集群资源的监控
11.3.3 Keepalived集群中MASTER和BACKUP角色选举策略
第12章 千万级高并发负载均衡软件HAProxy
12.1 高性能负载均衡软件HAProxy介绍
12.1.1 HAProxy简介
12.1.2 四层和七层负载均衡的区别
12.1.3 HAProxy与LVS的异同
12.2 HAProxy基础配置与应用实例
12.2.1 快速安装HAProxy集群软件
12.2.2 HAProxy基础配置文件详解
12.2.3 HAProxy的日志配置策略
12.2.4 通过HAProxy的ACL规则实现智能负载均衡
12.3 基于虚拟主机的HAProxy负载均衡系统配置实例
12.3.1 通过HAProxy的ACL规则配置虚拟主机
12.3.2 测试HAProxy实现虚拟主机和负载均衡功能
12.3.3 测试HAProxy的故障转移功能
12.3.4 使用HAProxy的Web监控平台
第13章 构建高性能的MySQL集群系统
13.1 常见的高可用MySQL解决方案
13.1.1 主从复制解决方案
13.1.2 MMM高可用解决方案
13.1.3 Heartbeat/SAN高可用解决方案
13.1.4 Heartbeat/DRBD高可用解决方案
13.1.5 MySQL Cluster高可用解决方案
13.2 通过Keepalived搭建MySQL双主模式的高可用集群系统
13.2.1 MySQLReplication介绍
13.2.2 MySQL Replication实现原理
13.2.3 MySQL Replication常用架构
13.2.4 MySQL主主互备模式架构
13.2.5 MySQL主主互备模式配置
13.2.6 配置Keepalived实现MySQL双主高可用
13.2.7 测试MySQL主从同步功能
13.2.8 测试Keepalived实现MySQL故障转移
13.3 通过MMM构建MySQL高可用集群系统
13.3.1 MMM高可用MySQL方案简介
13.3.2 MMM典型应用方案
13.3.3 MMM高可用MySQL方案架构
13.3.4 MMM的安装与配置
13.3.5 MMM的管理
13.3.6 测试MMM实现MySQL高可用功能
13.4 MySQL读写分离解决方案
13.4.1 通过Amoeba实现MySQL读写分离
13.4.2 通过Keepalived构建高可用的Amoeba服务
第14章 高性能负载均衡集群软件HAProxy
14.1 高性能负载均衡架构设计原则
14.1.1 HAProxy常见方案与拓扑
14.1.2 高可用集群软件的选择
14.2 搭建HAProxy+Keepalived高可用负载均衡系统
14.2.1 搭建环境描述
14.2.2 配置HAProxy负载均衡服务器
14.2.3 配置主、备Keepalived服务器
14.3 测试HAProxy+Keepalived高可用负载均衡集群
14.3.1 测试Keepalived的高可用功能
14.3.2 测试负载均衡功能
14.4 构建双主高可用的HAProxy负载均衡系统
14.4.1 系统架构图与实现原理
14.4.2 安装并配置HAProxy集群系统
14.4.3 安装并配置双主的Keepalived高可用系统
14.4.4 测试双主高可用的HAProxy负载均衡集群系统