书籍详情
DevOps故障排除:linux服务器运维最佳实践
作者:(美)Kyle Rankin 著,王东明,王飞,刘洁 译
出版社:机械工业出版社
出版时间:2014-04-01
ISBN:9787111462828
定价:¥39.00
购买这本书可以去
内容简介
DevOps描述了开发者、质量保证人员(QA)以及系统管理员团结协作的一种工作环境,其中的合作比传统环境中的合作更紧密。人们已经认识到DevOps在软件快速部署和自动化方面的巨大价值,但是通常会忽略DevOps方法在解决整个团队协作处理系统故障时的作用。遗憾的是,开发者、QA以及系统管理员三者所掌握的故障排除技术存在不小的差距,当系统出现问题时他们往往会相互责备。本书旨在缩小这类差距并引导所有的群组进行一系列标准的故障排除实践,通过这些实践他们可以作为一个团队来处理绝大多数常见的Linux服务器问题。尽管本书介绍的主题都是系统管理领域老生常谈的话题,但是在DevOps环境中,处理网络问题、设置Web服务器以及诊断高负载问题时也能看到开发者和QA的身影,即使他们可能并没有Linux管理背景。本书不同于普通的系统管理问题诊断指南之处在于它的读者对象和专注点。本书假设读者可能不是Linux系统管理员,而是DevOps组织中一名有天赋的开发者或QA工程师,他们可能没有很多系统级的Linux经验。即便如此,如果你是一名系统管理员,本书也同样适合你。本书还包含了让高级系统管理员也能补充技能的故障排除技术—用一种易于理解的方法。在一个传统的没有DevOps原则的企业中,故障排除和开发工作都会不正常。当出现服务器问题时,如果在会话中既有开发者也有系统管理员,可以预见他们每个人都会陷入自己的角色职责当中:系统管理员仅会查看服务器资源和日志;开发者将会等待来自团队的不可避免的责备,批评他们那些或臃肿或bug丛生的代码,与此同时开发者和系统管理员都会抱怨服务器不稳定,功率不足;或者也许每个人都会调转枪口,责备QA人员没有在将产品部署到生产环境之前找到问题。实际问题一直都无法解决。
作者简介
Kyle Rankin,高级系统管理员、DevOps开发工程师、美国北湾地区Linux用户组主席。他著有《The Official Ubuntu Server Book》、《Knoppix Hacks》和《Ubuntu Hacks》等书,不仅是《Linux Journal》杂志享誉盛名的专栏作家,还是《PC Magazine》杂志、TechTarget网站等多家媒体的撰稿人。Rankin经常出席SCALE(南加州Linux展会)、OSCON(O’Reilly开源大会)、Linux World Expo、Penguicon以及一些Linux用户组会议,并就开源软件发表演讲。 译者简介王东明,毕业于武汉大学,之后开始从事网络游戏服务器开发。先后开发过端游和页游服务器,现就职于某外企进行游戏开发。业余时间喜欢技术类书籍翻译,以及移动游戏开发。希望自己翻译的书籍能够为读者带来便利,也希望自己开发的游戏能为大家带来欢乐。王飞,武汉大学获得学士学位,研究生就读于中国科技大学。现就职于某国企互联网部,从事网络运维开发工作。对于Linux服务器运维有丰富的经验。面对“大流量,高并发”的应用场景有着深刻的理解。擅长自动化运维工具的开发与使用,尤其是对报警相关流程的自动化有着独到的见解。希望自己在运维开发相关方面的努力,能提高服务器的运行质量,解放运维工作人员,同时也为企业节约成本。刘洁,北京邮电大学硕士学位。资深Web开发工程师和系统工程师,现就职于某搜索公司,专注于计算广告系统和移动搜索算法研究相关工作,工程实践经验极为丰富。立志于不断改进搜索算法及策略,实现技术与商业目标之间的完美结合,提升搜索在移动化联网中的用户体验。
目录
译者序
前言
第1章 故障排除的最佳实践
1.1 划分问题空间
1.2 协同工作时的良好沟通
1.2.1 电话会议
1.2.2 直接对话
1.2.3 电子邮件
1.2.4 实时聊天室
1.2.5 备用沟通方法
1.3 首选快速、简单的测试,而不是缓慢、复杂的测试
1.4 多尝试过去的解决方案
1.5 记录问题和解决方案
1.6 了解改动
1.7 了解系统如何工作
1.8 谨慎使用Internet
1.9 抵制重启
第2章章服务器为什么这么慢?耗尽了CPU、RAM和磁盘I/O资源
2.1 系统负载
2.2 使用top命令解决负载问题
2.2.1 了解top命令的输出
2.2.2 解决高用户时间的问题
2.2.3 解决内存不足的问题
2.2.4 解决高I/O等待时间问题
2.3 问题发生后的高负载处理
2.3.1 配置sysstat
2.3.2 查看CPU统计信息
2.3.3 查看RAM统计信息
2.3.4 查看磁盘统计信息
2.3.5 查看之前的统计信息
第3章 为什么系统无法启动?解决启动问题
3.1 Linux启动流程
3.1.1 BIOS
3.1.2 GRUB和Linux启动载入程序
3.1.3 内核与初始RAM磁盘
3.1.4 /sbin/init
3.2 BIOS启动顺序
3.3 修复GRUB
3.3.1 没有GRUB提示
3.3.2 阶段1.5 GRUB提示
3.3.3 配置错误的GRUB提示
3.3.4 从活动系统中修复GRUB
3.3.5 通过恢复磁盘修复GRUB
3.4 禁止启动界面
3.5 无法挂载根文件系统
3.5.1 根内核参数
3.5.2 根设备更改
3.5.3 根分区损坏或失效
3.6 无法挂载二级文件系统
第4章章为什么磁盘无法写入?解决磁盘满或者磁盘损坏的问题
4.1 磁盘满
4.1.1 保留区块
4.1.2 找到占用空间最大的目录
4.2 节点不足
4.3 文件系统只读
4.4 修复损坏的文件系统
4.5 修复软RAID
第5章 服务器宕机了?追踪网络问题的根源
5.1 服务器A不能和服务器B通信
5.1.1 客户端或者服务器问题
5.1.2 链路接通了吗
5.1.3 接口是否启用
5.1.4 是否连通本地网络
5.1.5 DNS是否工作正常
5.1.6 是否可以路由到远程主机
5.1.7 远程端口是否开放
5.1.8 在本地测试远端主机
5.2 网络速度较慢的故障排除
5.2.1 DNS的问题
5.2.2 通过traceroute查找网络缓慢的原因
5.2.3 使用iftop查看带宽使用情况
5.3 抓取数据包
5.3.1 使用tcpdump
5.3.2 使用Wireshark
第6章 为什么主机名无法解析?解决DNS服务器的问题
6.1 DNS客户端故障排除
6.1.1 未配置名称服务器或者无法访问名称服务器
6.1.2 丢失查询路径或者名称服务器问题
6.2 DNS服务器故障排除
6.2.1 了解dig的输出
6.2.2 跟踪DNS查询
6.2.3 递归名称服务器的问题
6.2.4 什么情况下没有执行更新
第7章 为什么无法收发邮件?追踪邮件问题
7.1 追踪邮件请求
7.2 了解邮件头信息
7.3 邮件发送的问题
7.3.1 客户端无法与外部邮件服务器通信
7.3.2 出站邮件服务器不允许转发
7.3.3 出站邮件服务器无法与目标服务器通信
7.4 接收邮件的问题
7.4.1 telnet测试无法连接
7.4.2 telnet可以连接,但消息却被拒绝了
7.4.3 研究邮件日志
第8章 网站宕机了?追踪Web服务器问题
8.1 服务器是否正在运行
8.1.1 远程端口是否开放
8.1.2 在本地测试远程主机
8.2 使用命令行测试Web服务器
8.2.1 使用curl测试Web服务器
8.2.2 使用telnet测试Web服务器
8.3 HTTP状态码
8.3.1 1××信息状态码
8.3.2 2××成功状态码
8.3.3 3××重定向状态码
8.3.4 4××客户端错误状态码
8.3.5 5××服务器错误状态码
8.4 分析Web服务器的日志
8.5 获取Web服务器统计数据
8.6 解决常见的Web服务器问题
8.6.1 配置问题
8.6.2 权限问题
8.6.3 Web服务器性能迟缓或不可用
第9章 为什么数据库这么慢?追踪数据库问题
9.1 查找数据库日志
9.1.1 MySQL
9.1.2 PostgresSQL
9.2 数据库还在运行吗
9.2.1 MySQL
9.2.2 PostgresSQL
9.3 获得数据库度量值
9.3.1 MySQL
9.3.2 PostgresSQL
9.4 识别查询缓慢的问题
9.4.1 MySQL
9.4.2 PostgresSQL
第10章 这是硬件问题!诊断常见的硬件问题
10.1 硬盘驱动器无法工作
10.2 测试内存错误
10.3 网卡故障
10.4 服务器过热
10.5 电源供电故障
前言
第1章 故障排除的最佳实践
1.1 划分问题空间
1.2 协同工作时的良好沟通
1.2.1 电话会议
1.2.2 直接对话
1.2.3 电子邮件
1.2.4 实时聊天室
1.2.5 备用沟通方法
1.3 首选快速、简单的测试,而不是缓慢、复杂的测试
1.4 多尝试过去的解决方案
1.5 记录问题和解决方案
1.6 了解改动
1.7 了解系统如何工作
1.8 谨慎使用Internet
1.9 抵制重启
第2章章服务器为什么这么慢?耗尽了CPU、RAM和磁盘I/O资源
2.1 系统负载
2.2 使用top命令解决负载问题
2.2.1 了解top命令的输出
2.2.2 解决高用户时间的问题
2.2.3 解决内存不足的问题
2.2.4 解决高I/O等待时间问题
2.3 问题发生后的高负载处理
2.3.1 配置sysstat
2.3.2 查看CPU统计信息
2.3.3 查看RAM统计信息
2.3.4 查看磁盘统计信息
2.3.5 查看之前的统计信息
第3章 为什么系统无法启动?解决启动问题
3.1 Linux启动流程
3.1.1 BIOS
3.1.2 GRUB和Linux启动载入程序
3.1.3 内核与初始RAM磁盘
3.1.4 /sbin/init
3.2 BIOS启动顺序
3.3 修复GRUB
3.3.1 没有GRUB提示
3.3.2 阶段1.5 GRUB提示
3.3.3 配置错误的GRUB提示
3.3.4 从活动系统中修复GRUB
3.3.5 通过恢复磁盘修复GRUB
3.4 禁止启动界面
3.5 无法挂载根文件系统
3.5.1 根内核参数
3.5.2 根设备更改
3.5.3 根分区损坏或失效
3.6 无法挂载二级文件系统
第4章章为什么磁盘无法写入?解决磁盘满或者磁盘损坏的问题
4.1 磁盘满
4.1.1 保留区块
4.1.2 找到占用空间最大的目录
4.2 节点不足
4.3 文件系统只读
4.4 修复损坏的文件系统
4.5 修复软RAID
第5章 服务器宕机了?追踪网络问题的根源
5.1 服务器A不能和服务器B通信
5.1.1 客户端或者服务器问题
5.1.2 链路接通了吗
5.1.3 接口是否启用
5.1.4 是否连通本地网络
5.1.5 DNS是否工作正常
5.1.6 是否可以路由到远程主机
5.1.7 远程端口是否开放
5.1.8 在本地测试远端主机
5.2 网络速度较慢的故障排除
5.2.1 DNS的问题
5.2.2 通过traceroute查找网络缓慢的原因
5.2.3 使用iftop查看带宽使用情况
5.3 抓取数据包
5.3.1 使用tcpdump
5.3.2 使用Wireshark
第6章 为什么主机名无法解析?解决DNS服务器的问题
6.1 DNS客户端故障排除
6.1.1 未配置名称服务器或者无法访问名称服务器
6.1.2 丢失查询路径或者名称服务器问题
6.2 DNS服务器故障排除
6.2.1 了解dig的输出
6.2.2 跟踪DNS查询
6.2.3 递归名称服务器的问题
6.2.4 什么情况下没有执行更新
第7章 为什么无法收发邮件?追踪邮件问题
7.1 追踪邮件请求
7.2 了解邮件头信息
7.3 邮件发送的问题
7.3.1 客户端无法与外部邮件服务器通信
7.3.2 出站邮件服务器不允许转发
7.3.3 出站邮件服务器无法与目标服务器通信
7.4 接收邮件的问题
7.4.1 telnet测试无法连接
7.4.2 telnet可以连接,但消息却被拒绝了
7.4.3 研究邮件日志
第8章 网站宕机了?追踪Web服务器问题
8.1 服务器是否正在运行
8.1.1 远程端口是否开放
8.1.2 在本地测试远程主机
8.2 使用命令行测试Web服务器
8.2.1 使用curl测试Web服务器
8.2.2 使用telnet测试Web服务器
8.3 HTTP状态码
8.3.1 1××信息状态码
8.3.2 2××成功状态码
8.3.3 3××重定向状态码
8.3.4 4××客户端错误状态码
8.3.5 5××服务器错误状态码
8.4 分析Web服务器的日志
8.5 获取Web服务器统计数据
8.6 解决常见的Web服务器问题
8.6.1 配置问题
8.6.2 权限问题
8.6.3 Web服务器性能迟缓或不可用
第9章 为什么数据库这么慢?追踪数据库问题
9.1 查找数据库日志
9.1.1 MySQL
9.1.2 PostgresSQL
9.2 数据库还在运行吗
9.2.1 MySQL
9.2.2 PostgresSQL
9.3 获得数据库度量值
9.3.1 MySQL
9.3.2 PostgresSQL
9.4 识别查询缓慢的问题
9.4.1 MySQL
9.4.2 PostgresSQL
第10章 这是硬件问题!诊断常见的硬件问题
10.1 硬盘驱动器无法工作
10.2 测试内存错误
10.3 网卡故障
10.4 服务器过热
10.5 电源供电故障
猜您喜欢