《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》电子书

高性能Linux服务器构建实战:运维监控、性能调优与集群应用《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高性能的Linux服务器。全书以实战性为导向,所有内容都来自于作者多年实践经验的总结,同时从社区中收集了大量Linux运维人员遇到的有代表性的疑难问题,并给出了优秀的解决方案,实践指导意义极强。

全书分为5个部分。Web应用篇详细介绍了Nginx、Varnish和Memcached这三款Linux服务器上极为常用的Web应用软件的安装、配置、管理、使用方法、工作原理和性能调优技巧。数据备份与恢复篇首先讲述了开源备份软件bacula的使用与管理技巧,并通过实例讲解了在bacula上进行各种备份与恢复操作的具体方法;其次讲解了开源数据镜像备份工具rsync和unison的使用,并通过两个企业级案例演示了这两个工具在生产环境中的使用过程;最后讲解了如何利用ext3grep工具来恢复误删除的数据文件和MySQL数据库的方法。网络存储应用篇首先系统地讲解了网络存储技术iSCSI的配置和使用,然后讲解了分布式存储系统MFS的使用和维护。运维监控与性能优化篇通过理论与实践相结合的方法讲解了如何利用Nagios进行性能监控,以及Linux服务器的性能分析原则和优化方法。集群高级应用篇是前面内容的综合,也是本书的核心,主要讲述了如何通过LVS+heartbeat、piranha、LVS+Keepalived来构建高可用的负载均衡集群,其次讲解了红帽集群套件RHCS的配置、管理、维护和监控,然后讲解了Oracle集群解决方案,即Oracle RAC数据库的构建、使用和维护。最后以构建一个MySQL+heartbeat+DRBD+LVS集群系统的实战案例结束全书,巧妙地将本书的所有核心内容都融合到了一起。
作者简介
高俊峰(南非蚂蚁),资深系统管理员、系统架构师、DBA和技术顾问,从事Linux+Oracle服务器系统的运维和管理多年,在系统管理、故障诊断与排除、性能调优、集群和虚拟化等方面积累了大量的实战经验。国内知名IT技术社区51CTO的博客专家和IXPUB论坛Linux版块的版主,同时还活跃于ChinaUnix和ITPUB等技术社区,在社区和论坛里发表了大量技术文章,深受欢迎。此外,他还著有畅销书《循序渐进Linux》,广获读者好评。
精彩书评
本书很有可能成为Linux服务器构建与运维领域的经典著作之一,从运维监控、性能优化和集群应用等多方面对如何构建高性能的Linux服务器进行了细致的讲解和全面的解析,蕴含了丰富的运维经验。更为重要的是,本书的内容不受硬件环境的限制,同时包含大量实用性极强的案例。对于广大Linux服务器运维人员来说,真可谓“一书在手,运维不愁”。

——ITPUB技术论坛

开源赋予了Linux强大的生命力,Linux因为开源而聚集了全球技术精英的智慧。本书围绕“高性能”这个话题,先从实用的角度详细讲解了各种与构建高性能Linux服务器相关的开源软件的配置、使用、管理和维护;然后结合实际生产环境讲解了Web应用、数据备份与恢复、网络存储应用、性能优化与运维监控、集群高级应用等方面的知识,能给Linux运维人员和系统管理人员非常实用的指导。

——51CTO

从内容上讲,本书基本涵盖了当前Linux服务器系统运维所需要的主流技术。与大部分运维手册性质的书籍不同的是,本书注重于实践,包含大量来自于实际生产环境中的案例,能帮助我们解决很多实际工作中会遇到的问题,实践指导意义很强。我将这本书推荐本给所有从事Linux服务器运维的同行,希望它能帮助大家提高技能、收获经验,最终实现升职加薪的愿望。

——田逸 资深系统架构师/《互联网运营智慧:高可用可扩展网站技术实战》作者
目录
前言
第1篇 Web应用篇
第1章 轻量级HTTP服务器Nginx
1.1 什么是Nginx
1.2 为什么要选择Nginx
1.2.1 Nginx与Apache的异同
1.2.2 选择Nginx的优势所在
1.3 Nginx的模块与工作原理
1.4 Nginx的安装与配置
1.4.1 下载与安装Nginx
1.4.2 Nginx配置文件的结构
1.4.3 配置与调试Nginx
1.4.4 Nginx的启动、关闭和平滑重启
1.5 Nginx常用配置实例
1.5.1 虚拟主机配置实例
1.5.2 负载均衡配置实例
1.5.3 防盗链配置实例
1.5.4 日志分割配置实例
1.6 Nginx性能优化技巧
1.6.1 编译安装过程优化
1.6.2 利用TCMalloc优化Nginx的性能
1.6.3 Nginx内核参数优化
1.7 实战Nginx与PHP(FastCGI)的安装、配置与优化
1.7.1 什么是 FastCGI
1.7.2 Nginx+FastCGI运行原理
1.7.3 spawn-fcgi与PHP-FPM
1.7.4 PHP与PHP-FPM的安装及优化
1.7.5 配置Nginx来支持PHP
1.7.6 测试Nginx对PHP的解析功能
1.7.7 优化Nginx中FastCGI参数的实例
1.8 实战Nginx与Perl、Java的安装与配置
1.8.1 Perl(FastCGI)的安装
1.8.2 为Nginx添加FCGI支持
1.8.3 测试Nginx +Perl(FastCGI)
1.8.4 搭建Nginx+Java环境
1.9 本章小结
第2章 高性能HTTP加速器Varnish
2.1 初识Varnish
2.1.1 Varnish概述
2.1.2 Varnish的结构与特点
2.1.3 Varnish与Squid的对比
2.2 开始安装Varnish
2.2.1 安装前的准备
2.2.2 获取Varnish软件
2.2.3 安装pcre
2.2.4 安装Varnish
2.3 配置Varnish
2.3.1 VCL使用说明
2.3.2 配置一个简单的Varnish实例
2.3.3 Varnish对应多台Web服务器的配置实例
2.4 运行Varnish
2.4.1 varnishd指令
2.4.2 配置Varnish运行脚本
2.4.3 管理Varnish运行日志
2.5 管理Varnish
2.5.1 查看Varnish进程
2.5.2 查看Varnish缓存效果与状态
2.5.3 通过端口管理Varnish
2.5.4 管理Varnish缓存内容
2.6 Varnish优化
2.6.1 优化Linux内核参数
2.6.2 优化系统资源
2.6.3 优化Varnish参数
2.7 Varnish的常见应用实例
2.7.1 利用Varnish实现图片防盗链
2.7.2 利用Varnish实现静态文件压缩处理
2.8 本章小结
第3章 Memcached应用实战
3.1 Memcached基础
3.1.1 什么是Memcached
3.1.2 Memcached的特征
3.1.3 Memcached的安装
3.1.4 Memcached的简单使用过程
3.2 剖析Memcached的工作原理
3.2.1 Memcached的工作过程
3.2.2 Slab Allocation的工作机制
3.2.3 Memcached的删除机制
3.2.4 Memcached的分布式算法
3.3 Memcached的管理与性能监控
3.3.1 如何管理Memcached
3.3.2 Memcached的监控
3.3.3 Memcached变种产品介绍
3.4 通过UDFs实现Memcached与MySQL的自动更新
3.4.1 UDFs使用简介
3.4.2 memcached_functions_mysql应用实例
3.4.3 对memcached_functions_mysql的简单功能进行测试
3.4.4 使用memcached_functions_mysql的经验与技巧
3.5 本章小结
第2篇 数据备份恢复篇
第4章 开源网络备份软件bacula
4.1 bacula总体概述
4.1.1 bacula是什么
4.1.2 bacula适合哪些用户
4.1.3 bacula的功能特点
4.1.4 bacula的工作原理
4.2 安装bacula
4.2.1 bacula的几种网络备份拓扑
4.2.2 编译与安装bacula
4.2.3 初始化MySQL数据库
4.3 配置一个bacula备份系统
4.3.1 配置bacula的Console端
4.3.2 配置bacula的Director端
4.3.3 配置bacula的SD
4.3.4 配置bacula的FD端
4.4 启动与关闭bacula
4.4.1 启动bacula的Director daemon与Storage daemon
4.4.2 在客户端FD启动File daemon
4.5 实战bacula备份恢复过程
4.5.1 实例演示bacula的完全备份功能
4.5.2 实例演示bacula的增量备份功能
4.5.3 实例演示bacula的差异备份功能
4.5.4 实例演示bacula的完全恢复功能
4.5.5 实例演示bacula的不完全恢复功能
4.6 本章小结
第5章 数据镜像备份工具rsync与unison
5.1 rsync简介
5.1.1 什么是rsync
5.1.2 rsync的功能特性
5.1.3 下载与安装rsync软件
5.2 利用rsync搭建数据镜像备份系统
5.2.1 rsync的应用模式
5.2.2 企业案例:搭建远程容灾备份系统
5.3 通过rsync+inotify实现数据的实时备份
5.3.1 rsync的优点与不足
5.3.2 初识inotify
5.3.3 安装inotify工具inotify-tools
5.3.4 inotify相关参数
5.3.5 inotifywait相关参数
5.3.6 企业应用案例:利用rsync+inotify搭建实时同步系统
5.4 unison简介
5.5 安装unison
5.6 配置双机ssh信任
5.6.1 在两台机器上创建 RSA密钥
5.6.2 添加密钥到授权密钥文件中
5.7 unison的使用
5.7.1 本地使用unison
5.7.2 远程使用unison
5.7.3 unison参数说明
5.7.4 通过配置文件来使用unison
5.8 本章小结
第6章 ext3文件系统反删除利器ext3grep
6.1 “rm–rf”带来的困惑
6.2 ext3grep的安装与使用
6.2.1 ext3grep的恢复原理
6.2.2 ext3grep的安装过程
6.3 通过ext3grep恢复误删除的文件与目录
6.3.1 数据恢复准则
6.3.2 实战ext3grep恢复文件
6.4 通过ext3grep恢复误删除的MySQL表
6.4.1 MySQL存储引擎介绍
6.4.2 模拟MySQL表被误删除的环境
6.4.3 通过ext3grep分析数据、恢复数据
6.5 本章小结
第3篇 网络存储应用篇
第7章 IP网络存储iSCSI
7.1 存储的概念与术语
7.1.1 SCSI介绍
7.1.2 FC介绍
7.1.3 DAS介绍
7.1.4 NAS介绍
7.1.5 SAN介绍
7.2 iSCSI的概念
7.3 FC SAN与IP SAN
7.4 iSCSI的组成
7.4.1 iSCSI Initiator
7.4.2 iSCSI Target
7.5 iSCSI的工作原理
7.6 搭建基于IP SAN的iSCSI存储系统
7.6.1 安装iSCSI Target软件
7.6.2 配置一个简单的iSCSI Target
7.6.3 在Windows上配置iSCSI Initiator
7.6.4 在Linux上配置iSCSI Initiator
7.7 iSCSI 在安全方面的相关设定
7.7.1 Initiator主机以IP认证方式获取iSCSI Target资源
7.7.2 Initiator主机以密码认证方式获取iSCSI Target资源
7.8 iSCSI性能优化方案
7.8.1 iSCSI性能瓶颈
7.8.2 iSCSI性能优化
7.9 本章小结
第8章 分布式存储系统MFS
8.1 MFS概论
8.2 MFS 文件系统
8.2.1 MFS文件系统结构
8.2.2 MFS的编译与安装实例
8.3 编译与使用MFS的经验总结
8.3.1 安装选项说明
8.3.2 管理服务器
8.3.3 元数据日志服务器
8.3.4 数据存储服务器
8.3.5 客户端挂载
8.4 管理与使用MFS
8.4.1 在客户端挂载文件系统
8.4.2 MFS常用操作
8.4.3 为垃圾箱设定隔离时间
8.4.4 快照
8.4.5 MFS的其他命令
8.5 维护MFS
8.5.1 启动MFS集群
8.5.2 停止MFS集群
8.5.3 MFS 数据存储服务器的维护
8.5.4 MFS元数据的备份
8.5.5 MFS 管理服务器的恢复
8.5.6 从备份恢复MFS 管理服务器
8.6 通过冗余实现失败防护的解决方案
8.7 本章小结
第4篇 运维监控与性能优化篇
第9章 运维监控利器Nagios
9.1 Nagios综述
9.1.1 什么是Nagios
9.1.2 Nagios的结构与特点
9.2 Nagios的安装与配置
9.2.1 安装Nagios
9.2.2 配置Nagios
9.3 Nagios的运行和维护
9.3.1 验证Nagios配置文件的正确性
9.3.2 启动与停止Nagios
9.3.3 Nagios故障报警
9.4 Nagios性能分析图表的实现
9.4.1 Nagios性能分析图表的作用
9.4.2 PNP的概念与安装环境
9.4.3 安装PNP
9.4.4 配置PNP
9.4.5 修改Nagios配置文件
9.4.6 测试PNP功能
9.5 利用插件扩展Nagios的监控功能
9.5.1 利用NRPE外部构件监控远程主机
9.5.2 利用飞信实现Nagios短信报警功能
9.6 本章小结
第10章 基于Linux服务器的性能分析与优化
10.1 系统性能分析的目的
10.1.1 找到系统性能的瓶颈
10.1.2 提供性能优化方案
10.1.3 使系统硬件和软件资源的使用达到平衡
10.2 分析系统性能涉及的人员
10.2.1 Linux系统管理人员
10.2.2 系统架构设计人员
10.2.3 软件开发人员
10.3 影响Linux性能的各种因素
10.3.1 系统硬件资源
10.3.2 操作系统相关资源
10.3.3 应用程序软件资源
10.4 系统性能分析标准和优化原则
10.5 几种典型应用对系统资源使用的特点
10.5.1 以静态内容为主的Web应用
10.5.2 以动态内容为主的Web应用
10.5.3 数据库应用
10.5.4 软件下载应用
10.5.5 流媒体服务应用
10.6 Linux下常见的性能分析工具
10.6.1 vmstat命令
10.6.2 sar命令
10.6.3 iostat命令
10.6.4 free命令
10.6.5 uptime命令
10.6.6 netstat命令
10.6.7 top命令
10.7 基于Web应用的性能分析及优化案例
10.7.1 基于动态内容为主的网站优化案例
10.7.2 基于动态、静态内容结合的网站优化案例
10.8 本章小结
第5篇 集群高级应用篇
第11章 构建高可用的LVS负载均衡集群
11.1 LVS集群的组成与特点
11.1.1 LVS集群的组成
11.1.2 LVS集群的特点
11.1.3 LVS集群系统的优缺点
11.2 高可用 LVS负载均衡集群体系结构
11.3 高可用性软件Heartbeat与Keepalived
11.3.1 开源HA软件Heartbeat的介绍
11.3.2 安装heartbeat
11.3.3 开源HA软件Keepalived的介绍
11.3.4 安装Keepalived
11.4 安装LVS软件
11.4.1 配置与检查安装环境
11.4.2 在Director Server上安装IPVS管理软件
11.5 搭建高可用 LVS集群
11.5.1 通过heartbeat搭建LVS高可用性集群
11.5.2 通过Keepalived搭建LVS高可用性集群系统
11.5.3 通过piranha搭建LVS高可用性集群
11.6 测试高可用LVS负载均衡集群系统
11.6.1 高可用性功能测试
11.6.2 负载均衡测试
11.6.3 故障切换测试
11.7 本章小结
第12章 RHCS集群
12.1 RHCS集群概述
12.2 RHCS集群的组成与结构
12.2.1 RHCS集群的组成
12.2.2 RHCS集群结构
12.3 RHCS集群的运行原理及功能
12.3.1 分布式集群管理器(CMAN)
12.3.2 锁管理(DLM)
12.3.3 配置文件管理(CCS)
12.3.4 栅设备(Fence)
12.3.5 高可用性服务管理器
12.3.6 集群配置和管理工具
12.3.7 Redhat GFS
12.4 安装RHCS
12.4.1 安装前准备工作
12.4.2 配置共享存储和RHCS管理端Luci
12.4.3 在集群节点上安装RHCS软件包
12.4.4 在集群节点上安装和配置iSCSI客户端
12.5 配置RHCS高可用集群
12.5.1 创建一个cluster
12.5.2 创建Failover Domain
12.5.3 创建Resources
12.5.4 创建Service
12.5.5 配置存储集群GFS
12.5.6 配置表决磁盘
12.5.7 配置Fence设备
12.6 管理和维护RHCS集群
12.6.1 启动RHCS集群
12.6.2 关闭RHCS集群
12.6.3 管理应用服务
12.6.4 监控RHCS集群状态
12.6.5 管理和维护GFS2文件系统
12.7 RHCS集群功能测试
12.7.1 高可用集群测试
12.7.2 存储集群测试
12.8 本章小结
第13章 Oracle RAC集群
13.1 Oracle集群体系结构
13.2 Oracle ClusterWare体系结构与进程介绍
13.2.1 Oracle ClusterWare 简介
13.2.2 Oracle ClusterWare 进程介绍
13.3 RAC数据库体系结构与进程
13.3.1 RAC 简介
13.3.2 Oracle RAC的特点
13.3.3 RAC进程管理
13.3.4 RAC数据库存储规划
13.4 安装Oracle RAC数据库
13.4.1 安装前的系统配置需求
13.4.2 设置数据库安装资源
13.4.3 配置主机解析文件
13.4.4 检查所需软件包
13.4.5 配置系统内核参数
13.4.6 设置 Shell对Oracle用户的限制
13.4.7 配置hangcheck-timer内核模块
13.4.8 配置系统安全设置
13.4.9 创建Oracle用户和组
13.4.10 设置Oracle用户环境变量
13.4.11 配置节点间SSH信任
13.4.12 配置共享存储系统
13.4.13 安装Oracle Clusterware
13.4.14 安装Oracle数据库
13.4.15 配置Oracle Net
13.4.16 创建RAC数据库
13.5 Oracle CRS的管理与维护
13.5.1 查看集群状态
13.5.2 启动与关闭集群服务资源
13.5.3 启动与关闭CRS
13.5.4 管理voting disk
13.5.5 管理OCR
13.5.6 快速卸载CRS
13.6 ASM基本操作维护
13.6.1 ASM的特点
13.6.2 ASM的体系结构与后台进程
13.6.3 管理ASM实例
13.7 利用srvctl管理RAC数据库
13.7.1 查看实例状态(srvctl status)
13.7.2 查看RAC数据库配置信息(srvctl config)
13.7.3 启动
13.7.4 增加
13.8 测试RAC数据库集群的功能
13.8.1 负载均衡测试
13.8.2 透明应用失败切换测试
13.9 本章小结
第14章 构建MySQL+heartbeat+DRBD+LVS集群应用系统
14.1 MySQL高可用集群概述
14.2 heartbeat + DRBD高可用性方案的实现原理
14.3 部署MySQL高可用高扩展集群
14.3.1 配置之前的准备
14.3.2 DRBD的部署
14.3.3 DRBD的配置
14.3.4 DRBD的维护和管理
14.3.5 DRBD的性能优化
14.3.6 MySQL的部署
14.3.7 heartbeat的部署
14.4 搭建Slave集群
14.4.1 为什么要搭建Slave集群
14.4.2 利用LVS+Keepalived搭建高可用MySQL Slave集群
14.4.3 高可用Slave集群的一些注意点
14.5 部署MySQL集群要考虑的问题
14.6 本章小结

精彩书摘
RHCS是RedHatClusterSuite的缩写,即红帽子集群套件。RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济实用的集群工具集合,它将集群系统中的三大集群架构融合为一体,可以为Web应用、数据库应用等提供安全、稳定的运行环境。更确切地说,RHCS是一个功能完备的集群应用解决方案,从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构实现方案。通过RHCS提供的这种解决方案,不但能保证前端应用持久、稳定地提供服务,同时也保证了后端数据存储的安全。
高可用集群是RHCS的核心功能。当应用程序出现故障,或者系统硬件或网络出现故障时,应用可以通过RHCS提供的高可用性服务管理组件自动、快速地从一个节点切换到另一个节点。节点故障转移功能对客户端来说是透明的,从而保证应用持续、不间断地对外提供服务,这就是RHCS高可用集群实现的功能。
RHCS通过LVS来提供负载均衡集群,而LVS是一个开源的、功能强大的基于IP的负载均衡技术。LVS由负载调度器和服务访问节点组成,通过LVS的负载调度功能,可以将客户端请求平均分配到各个服务节点上,同时还可以定义多种负载分配策略。当一个请求进来时,集群系统根据调度算法来判断应该将请求分配到哪个服务节点上,然后,由分配到的节点响应客户端请求。LVS还提供了服务节点故障转移功能,也就是当某个服务节点不能提供服务时,LVS会自动屏蔽这个故障节点,接着将失败节点从集群中剔除,同时将新分配到此节点的请求平滑转移到其他正常节点上;而在此故障节点恢复正常后,LVS又会自动将此节点加入到集群中去。这一系列切换动作,对用户来说都是透明的。通过故障转移功能,保证了服务不间断、稳定地运行。
前言/序言
  前言
为什么要写这本书
随着企业信息系统的广泛应用和深入发展,用户核心应用数量越来越多,企业对业务系统的性能需求越来越高,高稳定性、高可靠性成为评价业务系统性能的主要指标。在这种趋势下,分布式应用系统构架应运而生,高性能多节点的集群系统日益被广泛接受和使用,企业应用进入了集群和高性能时代。与几个主要硬件厂商(例如IBM、HP、SGI等)开始研制并有计划地推出基于Linux开放源码的集群产品,集群软件也逐渐从UNIX平台的高端应用向基于Linux平台发展,Linux由此进入了企业应用的高端市场,同时,一些老牌的Linux厂商更是把Linux集群这一高端应用领域作为自己的战略发展方向,不遗余力地加入激烈的市场产品竞争中。
开放源码的迅猛发展为集群的出现提供了良好的技术平台,目前,已经有多种多样可供选择的集群解决方案,这些方案有基于硬件的,也有纯软件的,那么,如何选择这些集群软件和集群方案呢?借助开源软件丰富的技术资源,构建一个优秀的集群系统,是技术人员要解决的首要问题,这也正是写作本书的目的。
目前市场上关于Linux系统管理、维护和优化的书籍很多,但是普遍存在模式单一的现象,要么只讲基础理论和系统命令,要么侧重代码示例,要么针对具体的系统版本(Redhat Linux/Ubuntu Linux等),要么缺少实践应用,很少对Linux进行全面、深入、灵活的讲解。
本书针对这种现象,从基础入手,再进行深入研究,同时结合实际的应用案例进行由点到面、由浅入深的讲述,将Linux应用的各个方面系统、深入、全面地展现给读者。理论介绍结合实际应用贯穿全书,通过真实案例使读者可以更深入地了解Linux应用的现实环境,从而真正提高实践能力。
本书分为 5篇,以Linux平台下的应用软件为中心,涉及Linux运维的各个方面,包括Web应用方面、数据备份恢复方面、网络存储应用方面、运维监控与性能优化方面、集群高级应用方面,其中,前四个方面是Linux运维的核心内容,是本书的基础,而最后一个方面是前面内容的综合和深入,更是本书介绍的重点。读完本书相信读者一定会有一种豁然开朗的感觉,而这正是我们所期待的。
本书是作者多年实践工作的经验总结,全书贯穿了由点及线、由线及面的学习方法,既可以供初学者参考学习,也可以帮助有一定基础的中高级Linux系统管理员进阶学习,使不同层次的读者都能从本书受益。






文件名称:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》电子书

下载地址:百度网盘

资源来源:网络收集

网盘资源均收集于网络,只作学习和交流使用,版权归原作者所有,请在下载后24小时之内删除!若作商业用途,请到原网站购买,由于未及时购买和付费发生的侵权行为,与本站无关。

点击下载

0
分享到:

评论0

请先

没有账号? 忘记密码?