Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
?
丁明一 编??
ISBN 978-7-121-21877-4
2014年1月出版
定价:69.00元
448页
16开
编辑推荐
1、《Linux运维之道》从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。
2、作者丁明一具有丰富的实践及教学经验,且非常认真,本书是其呕心沥血之作,不仅内容精益求精,代码的编排作者也花了一些心思,可见其缜密。
3、本书得到了多位业内专家的强烈推荐,包括红帽大中华区考官黄军宝、原红帽中国高级认证考官许成林,以及百度、新浪、达内、武汉誉天的运维工程师和培训讲师。
4、运维是一项需要多种技能的工作,本书作者丁明一告诉您如何成为一名合格的运维工程师,能够直接提高运维人员的工作效率,值得阅读。
内容提要
随着开源技术的不断进步与创新,整个 IT行业中越来越多的企业愿意采用开源产品,而基于 Linux的操作系统为这些开源产品提供了一个极佳的操作平台。《Linux运维之道》将围绕 Linux操作系统这样一个基础平台,讲解如何使用操作系统实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解基本 Linux操作系统以及各种软件服务的运维工作。
现在的商业环境是一个充满竞争的环境,很多企业的业务量在不断地增长,而对服务质量的要求也越来越高。特别是互联网企业为了满足客户更高的需求,提升用户使用体验。 IT部门维护的设备往往数以万计,如此庞大的设备维护量,通常会让 IT管理人员头疼不已。《Linux运维之道》介绍的自动化运维的内容可以让我们快速掌握大规模批量处理的简单方法。仅仅依靠自动化运维还不足以发挥出这些设备能效,因此,我们还需要将这个服务器设备有机地结合在一起,为客户提供更加安全、快捷、高效的服务,于是集群技术应运而生。《Linux运维之道》最后将围绕集群技术介绍目前比较流行的开源产品部署案例。
《Linux运维之道》从基础讲到服务器的高级应用,适合于 Linux运维人员、Linux爱好者阅读,可作为 Linux运维人员的一本优秀的案头书。
目录
精彩节章
Cacti监控其他主机是通过简单的网络管理协议(SNMP)收集被监控端的数据信息的,因此,被监控端Web1与Web2服务器都需要安装net-snmp以及依赖包lm_sensors,并设置SNMP配置文件。lm_sensors软件可以帮助我们监控硬件信息(如CPU的工作电压等数据),具体步骤如下。
安装snmp主程序及相关的依赖软件包,被监控主机仅需要修改snmp主配置文件即可(根据模板文件,本书对需要修改的地方用黑体字表示)。
?
?
SNMP配置文件主要包括四部分内容需要修改。第一步,映射通信名称到安全用户名称;第二步,将用户加入到组中;第三步,为组创建systemvies视图;第四步,创建all视图并赋予组只读访问权限。主配置文件设置完成后重启服务,即可通过客户端访问该服务器获得系统信息,SNMP使用的端口号为UDP 161端口以及TCP 199端口,我们需要在防火墙规则中开放这些端口数据。
?
Web1与Web2被监控主机均启动snmpd服务后,可以在Cacti主机上执行snmpwalk命令验证SNMPD服务是否运行正常,如果出现如下提示,则说明一切正常(命令输出仅为部分信息):
Cacti是基于PHP的Web监控管理系统,所以Cacti监控主机需要部署LAMP环境,此环境可以参考第4章的内容搭建。此外,还需要使用SNMP简单网络管理协议从被监控主机提取数据,然后使用RRDTool工具保存数据并最终生成图表信息。
安装相关依赖包软件:
[root@cacti ~]# yum -y install net-snmp net-snmp-devel net-snmp-utils\
>net snmp-libs lm_sensors php-xml zlib libpng freetype cairo-devel\
>pango-devel gd
?
因为Cacti的优势在于其丰富的图表效果,为了将数据绘制成相应的更加直观的图表格式输出,就需要安装RRDTool工具,该软件的安装非常简单,使用configure、make、make install默认安装即可。
?
设置Apache虚拟主机:
因为是基于Web的监控平台,而本书Web服务器采用的是Apache HTTP Server,因此,需要修改Apache主配置文件httpd.conf,通过DirectoryIndex index.php index.html指令设置默认首页为index.php,去除Include conf/extra/httpd-vhosts.conf指令前的“#”符号。Include指令将读取httpd-vhosts.conf文件的内容作为主配置文件的一部分,并在httpd-vhosts.conf文件中加入用来实现监控的虚拟主机。
?
?
修改PHP配置文件的时区设置,默认date.timezone为注释行,需要手动开启并设置时区,否则进行Cacti初始化时会提示It is not safe to rely on the system's timezone settings。
本书将时区修改为上海,即编辑PHP配置文件/usr/local/php5/lib/php.ini,修改其中的时区参数date.timezone = "Asia/Shanghai"。
部署Cacti监控系统,创建Web页面根路径monitor目录,解压Cacti包并移动至Web根路径下,因为Apache默认以daemon用户及组身份启动,所以需要使用chown命令修改目录权限以便Apache读取相关页面。
[root@cacti ~]# wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
[root@cacti ~]# tar -xzf /root/cacti-0.8.8a.tar.gz -C /usr/src/
[root@cacti ~]# mv /usr/src/cacti-0.8.8a/ /usr/local/apache2/htdocs/cacti
[root@cacti ~]# chown -r daemon.daemon /usr/local/apache2/htdocs/cacti
[root@cacti ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@cacti ~]# service iptables save
[root@cacti ~]# /usr/local/apache2/bin/apachectl restart
?
创建初始化数据库,这里要确保MySQL服务器程序是开启的,通过Cacti软件包内提供的数据库备份文件,在本机生成名为cacti的数据库,创建cactiuser账户,并赋予其访问cacti数据库的所有权限,该账号密码为rose0011。
[root@cacti ~]# /usr/local/mysql/bin/mysqladmin -u root -p create cacti
[root@cacti ~]# cd /usr/local/apache2/htdocs /cacti
[root@cacti cacti]# /usr/local/mysql/bin/mysql -u root -p cacti < cacti.sql
[root@cacti cacti]# /usr/local/mysql/bin/mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'rose0011';
mysql> flush privileges;
mysql> exit
?
设置Cacti配置文件,根据上一步数据库初始化操作所创建的数据库信息,修改Cacti配置文件中的数据库参数资料,需要修改的内容如下。
?
作者简介
丁明一,领航众达教育创始人,红帽认证高级讲师(RHCI),有着丰富的Linux系统运维以及讲师经验,培养学生两千余名。精通Linux系统管理、生产环境大规模集中部署Linux环境、建立Shell脚本自动化管理平台。主持部署多个LAMP网络服务平台、构建管理多个大型Nginx Web服务平台,项目实施中利用Cacti与Nagios监控平台实现自动故障报警。对企业集群环境及高性能、高可用构架有深入的研究。拥有丰富的虚拟化技术使用经验:Xen、KVM、VMware,利用虚拟化技术构建高效、绿色节能机房。对安全与调优有独特的理解,精通Linux防火墙、SELinux安全、系统性能调优化。翻译过多篇国外顶级云计算解决方案文档,熟悉国外主流云计算技术发展。
媒体评论
本书从基本的操作系统知识与实践到互联网应用,由浅入深,由表及里,层层推进;对作为开源技术中既基础又非常重要的Linux操作系统的各类操作和技巧作了详细的阐述;进而对各类常用服务如Apache、Nginx、MySQL等进行了深度的剖析;同时又考虑到系统及服务的安全。可见作者心思缜密,为本书费尽心血。拜读本书之后,受益非浅,其中许多小技巧在工作中非常有帮助,相信读者在阅读本书之后也能大受裨益。
红帽大中华区考官? 黄军宝
?
在技术发展十分迅速的领域,赶时髦的书多如牛毛,书店里充满了应景之作,但是,真正经过深入思考、用心、用技术写作的书不多。而本书却是一位技术高手的呕心沥血之作,书中的每项技术都介绍得很通透,并且反复经过思考和推敲。在本书即将出版之际,我向作者表示深深的敬意和祝贺,并向所有的Linux爱好者推荐这本学习Linux技术的好书。
??????????????? ??????????????????????????????原红帽中国高级认证考官许成林
?
作者以其多年的工作经验,总结归纳了一套适合于各种层次水平的Linux书籍。本书内容讲解深入浅出,配合大量的经典案例,通俗易懂,实用性非常强。尤其书中提供的常见问题分析,根据各种常见问题提供了不同的解决方案,这样可以帮助读者排除很多已知的常见故障。对于初级运维人员以及高级运维工作者,本书都相当高的具体技术实践指导意义。
? 武汉誉天高级讲师? 邹圣林
?
很多初学者,包括笔者的初学期都发现,在品类繁多的入门书籍中,很难找到一本由基础知识展开,深入浅出的覆盖到编程语言、集群架构等全面运维知识点的书籍。本书作者从实际运维工作出发,结合概念、知识,带领读者从实际操作深化到工作原理,让读者轻松上手,全面掌握理论,强化实际操作,非常值得一读。
百度高级运维工程师? 刘宇
?
?
运维方向上一直缺乏一本内容比较全面的书籍。这本书正是从入门到高级,内容覆盖了运维的方方面面,非常有实践指导价值,是运维和开发人员都可以深入阅读的一本好书。
??????????????????????????????????????????????????? 新浪运维架构师? 白贵兴
?
这是一本难得的好书,内容全面涵盖了Linux入门基础、生产环境常用服务以及大规模业务部署。本书语言精炼、内容紧凑,非常适合作为Linux技术人员的枕边书。通过阅读本书内容您可以获得大量企业实践项目的实际动手能力。
达内集团网络工程教研总监? 周华飞
前言
撰写本书的起因
目前越来越多的企业需要依赖于IT技术发布产品与服务,尤其是电子商务最为明显,它凸显了IT技术在现代企业中的重要性。当企业需要部署IT业务时,机房与服务器是整个IT技术生态链中非常重要的环节。对服务器操作系统的选择,Linux以其开源、稳定、安全的特性,目前在服务器领域已经称为无可争议的霸主,而且有众多的服务可以应用于Linux平台,可以灵活地应用这些服务以满足企业的各种业务需求。本书重点在于讲解如何部署服务器操作系统以及在Linux操作系统平台上部署常见的IT服务。
从1991年起至今,Linux已经快速成长为企业服务器产品的首选操作系统,越来越多的IT企业采用Linux作为其服务器端平台操作系统,为客户提供高性能、高可用的业务服务。随着红帽公司宣布其年营业额超10亿美元,也标志着开源Linux操作系统的光辉时代已经来临。红帽的成功预示着采用开源模式的Linux操作系统可以为企业提供安全、可靠和高性能的平台系统。服务器领域中Linux操作系统的份额越来越大,而目前技术人才又相对匮乏,导致大量的就业人才缺口,本书着眼于Linux技术中方方面面的主流技术,为读者进入Linux行业开启了一扇畅通的大门。本书主要分为三部分,从基础的系统管理到Shell自动化运维的实现,再到网络服务器的部署实施,最后通过案例介绍高负载网络架构的企业环境。本书在选择操作系统发行版本时,综合了各个发行版本的特点,最终选择了CentOS作为本书的基础系统平台。CentOS是众多Linux发行版本之一,但因为其源自于RedHat 框架,同时该版本完全开源,包括开放的软件YUM源,可以为用户带来更加方便的升级方法。另外,目前国内很多企业对于CentOS发行版也非常热衷,这也增加了本书的实用性。
本书结构
本书第1篇为基础知识篇,主要讲述如何安装部署Linux操作系统以及对基本命令行工具的使用,帮助读者快速掌握Linux基本知识要点,夯实基本功。基于Shell脚本实现运维工作自动化,帮助运维人员摆脱周而复始地进行无效的工作,加快企业进入自动化、智能化的运维环境。具体包括:
◎? 部署操作系统
◎? 命令工具
◎? 自动化运维
第2篇为网络服务架构篇,主要讨论网络架构的规划与部署,通过网站综合案例提升读者的应用能力,并针对常见问题提供故障排错。通过部署监控与安全软件确保网络服务的正常及安全运行。具体包括:
◎? 搭建网络服务
◎? 系统监控
◎? 网络安全
第3篇为高级应用,主要描述当前主流的虚拟化及服务器高可用技术,满足大型企业服务的生产需求。通过集群及高可用软件充分体现巨大的数据压力下产品业务的安全及性能优势。
◎? 虚拟化技术
◎? 集群及高可用
◎? 数据库复制
排版说明
关于本书中的排版,如果书中的命令是需要读者输入,我们将使用等比例黑体加粗显示;对于计算机输出的命令返回结果,书中将使用等比例斜体字显示。由于采用的开源模式,随意Linux操作系统中拥有大量的文本形式的配置文件,对于打开及修改文本文件中的内容,书中将把文件中的内容放置于方框中排版书写;对于需要读者注意的地方,书中会给出明确的注意提示。
本书读者
本书可以作为学习Linux应用技术的一本指南,主要针对与希望进入Linux运维行业的新手,不过对于有经验的专家而言,其中的部分章节同样适用。另外,本书也可以作为计算机培训参考教材。
勘误
作者在编写本书的过程中已经花了大量的时间对内容进行审核与校验,但因为时间紧迫,作者精力有限,书中难免出现一些错漏,敬请广大专家和读者批评、指正。
关于本书,您有任何意见或建议可以发送邮件至ydh0011@163.com或使用博客平台交流 http://manual.blog.51cto.com。
致谢
由于是采用的业余时间编写本书,占有了大量本应该可以和家人在一起的欢乐时光,在此感谢家人对我的支持与勉励,感谢我一岁儿子(子墨)给家庭带来的无限快乐。感谢我所有的同事对此项任务的全力配合与支持。感谢我的学生对本书的期待,是你们的无形支持促成了我编写本书。感谢生活中所有给予我帮助的朋友,是你们支持的让我不断第进步与创新,不管是工作中还是生活中,好朋友都是我们成功的坚实后盾。感谢电子工业出版社的编辑董英为本书的出版提供了大力的支持。
丁明一