(特价书)构建高可用Linux服务器(第3版)
基本信息

编辑推荐
Linux运维领域公认经典畅销书,曾被《程序员》杂志和51CTO等权威IT媒体评为10大最具技术影响力的图书和最爱读者喜爱的原创图书,运维工程师必备工具书。
基于实际生产环境,从Linux服务器构建与优化,高可用Linux集群构建、MySQL高可用架构设计、Puppet自动化运维等多角度讲解了构建高可用Linux服务器的方法和技巧。
内容简介
计算机书籍
《构建高可用Linux服务器(第3版)》是Linux运维领域公认的经典畅销书,是 51CTO、ITl68等知名网站和多位资深运维专家共同推荐的运维工程师必备的工具书!
酒哥在Linux运维领域潜心实践近10年,一直在运维一线,技术和思维都紧跟时代的发展,非常清楚运维工程师们需要什么,应该学习什么。本书不仅是他近10年工作经验的结晶,同时也是他的数万名读者和数十万粉丝共同需求和集体智慧的呈现。本书自第1版出版以来,就广受关注和好评,曾被《程序员》杂志和51CTO等权威IT媒体评为“10大最具技术影响力的图书”和“最受读者喜爱的原创图书”。笔者根据运维技术的发展和读者的反馈意见,不断地对书的内容进行优化:更新了过时的技术:补充了最新的内容;限于篇幅,部分内容作为电子版免费提供给读者在线阅读,从而使得这本书的内容更加完善。
本书最大的特点就是与实践紧密结合,所有理论知识、方法、技巧和案例都来自实际生产环境,涵盖 Linux服务器构建与优化、服务器故障诊断与排除、Shell脚本、高可用Linux集群构建、MySQL性能调优及高可用、自动化运维(Puppet)、安全运维等主题,所有内容都围绕“如何构建高可用的Linux服务器”这个主题深度展开。
作译者
目录
本书赞誉
前 言
第1章 Linux服务器的构建与优化1
1.1 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS 5.8 x86_641
1.2 全面了解Linux服务器9
1.2.1 查看Linux服务器的CPU详细情况10
1.2.2 查看Linux服务器的内存使用情况10
1.2.3 查看Linux服务器的硬盘使用情况12
1.2.4 查看Linux系统的平均负载15
1.2.5 查看Linux系统的其他参数16
1.3 Linux服务器的网络配置19
1.3.1 配置Linux服务器的网络20
1.3.2 查看Linux服务器的网络连接22
1.3.3 查看Linux服务器的进程32
1.3.4 在CentOS 5.8、FreeBSD 8.1及Windows下添加静态路由39
1.4 Linux服务器的日志管理41
1.4.1 系统日志syslog.conf的配置详解41
1.4.2 Linux下的日志维护技巧43
1.5 Linux服务器的优化49
前言
2004年我初识UNIX开源系统。那会儿我正在一家大型国有企业做系统管理员,负责值守公司的Windows Server 2000服务器。当时“震荡波”和“冲击波”这两种病毒很猖狂,虽然我们在防毒方面投入了大量的精力和金钱(当时购买的都是正版Windows 2000系统和正版瑞星杀毒软件),但新上线的机器,偶尔也有遗漏的时候,没有打补丁的机器无一幸免,所以对这个问题比较头疼。有一次去朋友的公司(某省太平洋寿险下面的一个分支机构)参观,我发现他们的服务器和终端系统都很奇怪,只有纯字符界面,没有任何图形界面。一问才知道是UNIX系统,因为运行机制不一样,所以Windows Server下的病毒丝毫影响不了它们。而且这些服务器很稳定,基本上不宕机。当时很是羡慕,心想要是哪一天我们的服务器也换成UNIX系统,那“冲击波”和“震荡波”就奈何不了我们的服务器了,而且也不会有蓝屏现象,那该多好。
后来有幸到北京一家大型广告公司上班,公司的核心业务是CDN系统,所用的服务器基本上都是CentOS系统,内部用的文件服务器是Samba,Web服务器是Apache和Nginx,NAT路由器是iptables,装的几乎全部是CentOS 5.1 x86_64,仅有一台服务器安装的是Windows Server 2003(供程序员开发.NET程序之用)。公司的这套CDN分布式系统要负责处理所有的流量,即使在高峰期PV和并发量特别大的时候,网站也非常稳定。
我当时对CentOS系统产生了浓厚的兴趣,尝试改掉自己多年使用Windows的习惯,换成了纯字符操作,用Vim编辑CentOS下面的配置文件,并且尝试用Shell完成自动化工作。渐渐地,我发现自己越来越喜欢CentOS系统了。公司有一台vsftpd服务器,3年没有重启了,这很令人吃惊。后来我又得知另外一位从事Linux运维工作的朋友所在的公司有一台很老的RH9服务器,因为负责的是公司的核心业务,已经9年没有重启了,当时更加感到震撼,这更加坚定了我要学好Linux/UNIX的决心。
后来在担任项目实施工程师期间,接触到一些客户,他们的核心网站的并发量并不是太大,但比较重要,所以他们都要求部署Linux集群,有时指定要部署LVS或HAProxy负载均衡器。在项目实施的过程中,我发现LVS/HAProxy的负载均衡能力确实非常强大,其能力可以与硬件级的F5负载均衡器相媲美。很快我就被Linux集群这门艺术迷住了,我自己也研究了Nginx+Keepalived这种负载均衡高可用架构,并且在许多项目中成功实施,客户反映效果也不错,所以我开始在很多开源社区推广这些技术。
现阶段我的职务是公司的系统架构师,主要工作是设计、实施及维护本公司的电子商务网站,相对于CDN分布式系统而言,它没有节点冗余,所以对Linux集群技术的要求更高。我前期对所有的网站应用都做了双机高HA、LVS/HAProxy+Keepalived和Nginx+Keepalived,以及DRBD+Heartbeat+NFS文件高可用,MySQL数据库用的是DRBD双主多从架构。后期随着流量和规模日益增大,新机器上线也日益频繁,我采用了Puppet自动化运维来管理线上机器,避免重复劳动。另外,由于电子商务网站涉及支付的问题,所以对安全性的要求非常高,我们平时都会从网络安全(硬件防火墙)、系统安全、代码安全和数据库安全这些方面着手,尽力避免一切影响网站安全的行为。虽然工作辛苦,但看着自己架构的网站顺利稳定运行,心里还是很有成就感的,这也是我目前工作的主要动力。
撰写此书的目的
从事系统集成/管理/架构方面的工作已经有9年了,在工作期间,我曾经有幸担任了一段时间的红帽RHCE讲师,到东北大学等高校推广红帽Linux系统。在教学过程中我发现,很多学生在进入企业后都无法胜任自己的工作,更谈不上正确地规划自己的职业道路了。一方面因为企业的生产环境具有一定的复杂性和危险性,另一方面市场上入门书居多,缺乏能真正指导读者解决实际问题的书籍。例如,很多书都只是给出了比较基础的操作及理论,而相对于线上环境,根本没有涉及如何安全操作、如何避免误操、PV、UV、并发数、磁盘I/O压力及数据库压力等相关话题。
之所以写这本书,一方面是想对自己这些年的工作经验和心得进行一次系统的梳理和总结;另一方面是想将自己的经验分享给大家,希望能帮助大家少走弯路。通过本书中的项目实践(包括Linux集群、MySQL高可用方案及Puppet自动化运维工具的使用)和线上环境的Shell脚本,大家能迅速进入工作状态。书中所提供的Shell脚本和iptables脚本均来自于线上的生产服务器,大家均可直接拿来用。关于Linux集群的项目实践和MySQL的高可用方案,大家也可以根据实际项目的需求直接采用,以此来设计自己公司的网站架构。
希望大家能通过本书掌握Linux的精髓,轻松而愉快地工作,从而提高自己的技术水平,这是我非常希望看到的,这也是我写本书的初衷。
第3版与第2版的区别
本书是第3版,相对于第1版和第2版而言改动比较大,第3版涉及的Linux服务器系统以现在主流的CentOS 5.8 x86_64为主(第2版以CentOS 5.5为主)。在写作过程中吸收了读者对上一版本的许多意见和建议,继续修正第2版的排版错误、人为错误及其他问题。如果大家能够完全掌握第3版新增的章节和内容,相信无论是在平常的自动化运维工作方面还是系统架构设计方面都会有自己的认识和见解了。
具体改动如下:
考虑到XEN虚拟化目前应用范围不是特别大,所以删除了第2版第2章Linux服务器虚拟化章节,部分内容并进了附录。
考虑到目前企业中多采用商业版的邮件系统,所以删除了第2版第8章如何构建开源免费的企业级邮件系统。
限于篇幅,再加上编辑希望第3版是一本纯粹的技术书籍的原因,删除了第2版第9章系统管理员在企业中的职业定位及发展方向,部分内容会在我的个人博客发出。
由于现在MySQL在互联网项目中的比重日益增大,所以我特意将第2版第5章构建高可用Linux集群中的MySQL部分重新整理,增加了MySQL性能调优级高可用案例分享章节;考虑到第2版中MySQL双主多从高可用配置方案的受众群范围较小(游戏行业),这里用线上的DRBD+Heartbeat双机高可用方案来代替;还增加了利用sysbench对磁盘I/O作性能测试等新内容,对MySQL有兴趣的读者朋友也可以重点关注这一章节。
构建高可用Linux集群章节增加了千万级PV网站系统架构拓朴图,限于篇幅,集群章节的内容暂时没有考虑前端有CDN的系统架构方案。
另外,现在自动化运维是系统运维的流行趋势,所以增加了分布式自动化部署管理工具Puppet章节,对负载均衡技术有兴趣的朋友可以关注Nginx在Puppet部署中的应用。
读者对象
媒体评论
——刘天斯腾讯系统架构师
在IT领域,好书很多,烂书也不少,毫无疑问,本书是一本好书。建议大家用最强悍的执行力来学习本书中的案例,用最细腻的心思去揣摩每个案例背后的原理。如果你能吃透这本书,那么你就能在短短几个月的时间内将作者几年来积累的知识和经验化为己有,从而在短时间内使自己的技能产生质的飞跃。
——曹亚孟合力金软运维经理
本书的内容全部来自于企业的实际生产环境,非常注重实践性和实用性,书中所有案例都可以供大家在解决实际问题时参考和借鉴。本书从Linux服务器的构建、生产环境下服务器的故障诊断与排除、生产环境下的Shell脚本、高可用Linux集群建设、MySQL性能调优与高可用、自动化运维、VPN在企业中的部署应用、Linux防火墙等多个方面阐述了构建高可用Linux服务器的方法与最佳实践。强烈推荐!
——崔晓辉大众网高级系统管理员
本书作者从事Linux运维相关的工作已近10年,不仅主导过多个Linux集群相关项目,还从事过Linux教学方面的工作,积累了相当丰富的经验。利用工作之余,他把自己多年来积累的实践经验整理到了这本书中,可谓是精华中的精华!本书结合一线生产环境的真实案例讲解了Linux集群、MySQL性能优化、自动化运维和系统安全相关的内容,同时还包括一些常见问题和故障的排除方法。本书尤其适合那些已经有2~3年Linux服务器管理与运维经验的读者,相信本书能在工作中助你们一臂之力。
——侯心刚巨人网络运维中心运维部经理