基本信息
编辑推荐
《Linux运维之道》从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。
★作者丁明一具有丰富的实践及教学经验,且非常认真,《Linux运维之道》是其呕心沥血之作,不仅内容精益求精,代码的编排作者也花了一些心思,可见其缜密。
★《Linux运维之道》得到了多位业内专家的强烈推荐,包括红帽大中华区考官黄军宝、原红帽中国高级认证考官许成林,以及百度、新浪、达内、武汉誉天的运维工程师和培训讲师。
★运维是一项需要多种技能的工作,Linux运维之道作者丁明一告诉您如何成为一名合格的运维工程师,能够直接提高运维人员的工作效率,值得阅读。
★ 《Linux运维之道(第2版)》在第一版的基础上进行了全面细致的修订,所有内容全面升级至CentOS7.2系统。
内容简介
计算机书籍
随着开源技术的不断进步与创新,整个IT行业中 越来越多的企业愿意采用开源产品,而基于Linux 的操作系统为这些开源产品提供了一个**的操作平 台。丁明一编*的《Linux运维之道(第2版)》将围绕Linux操 作系统这样一个基础平台, 讲解如何使用操作系统实现各种开源产品的应用案例 。全书主要从运维工作中的应用服务入手,全面讲解 基本Linux操作系统以及各种软件服务的运维工作。 现在的商业环境是一个充满竞争的环境,很多企 业的业务量在不断地增长,而对服务质量的要求也越 来越高。特别是互联网企业为了满足客户*高的需求 ,提升用户使用体验。IT部门维护的设备往往数以 万计,如此庞大的设备维护量,通常会让IT管理人员 头疼不已。本书介绍的自动化运维的内容可以让我 们快速掌握大规模批量处理的简单方法。仅仅依靠自 动化运维还不足以发挥出这些设备能效,因此,我们 还需要将这个服务器设备有机地结合在一起,为客户 提供*加安全、快捷、高效的服务,于是集群技术应 运而生。本书*后将围绕集群技术介绍目前比较流行 的开源产品部署案例。
作译者
目录
第1章 部署操作系统 2
1.1 光盘安装Linux操作系统 2
1.1.1 操作系统版本的选择 2
1.1.2 光盘安装Linux系统案例 2
1.2 无人职守自动安装Linux操作系统 11
1.2.1 大规模部署案例 11
1.2.2 PXE简介 13
1.2.3 Kickstart技术 13
1.2.4 配置安装服务器 14
1.2.5 自动化安装案例 16
1.3 常见问题分析 26
第2章 命令工具 29
2.1 基本命令 30
2.1.1 目录及文件的基本操作 30
2.1.2 查看文件内容 34
2.1.3 链接文件 37
2.1.4 压缩及解压 37
2.1.5 命令使用技巧 38
2.1.6 帮助 39
前言
目前越来越多的企业需要依赖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运维行业的新手,不过对于有经验的专家而言,其中的部分章节同样适用。另外,本书也可以作为计算机培训参考教材。
媒体评论
——红帽大中华区考官 黄军宝
在技术发展十分迅速的领域,赶时髦的书多如牛毛,书店里充满了应景之作,但是,真正经过深入思考、用心、用技术写作的书不多。而本书却是一位技术高手的呕心沥血之作,书中的每项技术都介绍得很通透,并且经过反复思考和推敲。在本书即将出版之际,我向作者表示深深的敬意和祝贺,并向所有的Linux爱好者推荐这本学习Linux技术的好书。
——原红帽中国高级认证考官 许成林
作者以其多年的工作经验,总结归纳了一套适合于各层次水平的人阅读的Linux书籍。本书内容讲解深入浅出,配合大量的经典案例,通俗易懂,实用性非常强。尤其是书中提供的常见问题分析,针对各种常见问题提供了不同的解决方案,以帮助读者排除很多已知的常见故障。对初级运维人员和高级运维工作者而言,本书都具有相当高的具体技术实践指导意义。
——武汉誉天高级讲师 邹圣林
很多初学者(包括笔者的初学期)都发现,在种类繁多的入门书籍中很难找到一本由基础知识展开,深入浅出地覆盖到编程语言、集群架构等全面运维知识点的书籍。本书作者从实际运维工作出发,结合概念、知识点,带领读者从实际操作深化到工作原理,让读者轻松上手,全面掌握理论,强化实际操作,非常值得一读。
——百度高级运维工程师 刘宇
运维方向上一直缺乏一本内容比较全面的书籍。这本书正是从入门到高级,内容覆盖了运维的方方面面,非常有实践指导价值,是运维和开发人员都可以深入阅读的一本好书。
——新浪运维架构师 白贵兴
这是一本难得的好书,内容全面涵盖了Linux入门基础、生产环境常用服务以及大规模业务部署。本书语言精练、内容紧凑,非常适合作为Linux技术人员的枕边书。通过阅读本书内容,您将具备大量企业实践项目的实际动手能力。
——达内集团网络工程教研总监 周华飞
书摘
view语句用来创建视图,视图可以让不同的网络或主机在查询同一个DNS记录时得到不同的解析结果,也可以为不同的网络或主机创建不同的域数据文件。大型企业可以利用视图实现负载均衡,例如,当北京地区的网民访问新浪网时,域名服务器可以将结果解析为北京本地的新浪网服务器,上海地区的网民访问新浪网时,域名服务器会将上海的新浪网服务器IP地址作为结果返还给用户。这样所有的人访问新浪网页面查看新闻时,总是可以连接距离自己最近的服务器。
在BIND 9版本中,如果没有在主配置文件中使用view语句,则BIND会自动将所有的域定义为一个大的视图。通过在配置文件中使用view语句,并结合match-clients语句,实现不同用户查询相同记录时所得的结果不同。这样做的最大好处是可以让北京地区的网民访问新浪网时连接的是北京当地的服务器,而上海地区的网民需要连接新浪网时,DNS解析的结果为上海本地的新浪服务器。
一般我们会为同一个域创建多个视图,不同的视图对应不同的解析文件,此时需要注意的是,有多少个视图就需要创建多少个对应的数据解析文件。当客户端发送查询请求后,服务器根据视图内的match-clients语句来匹配客户端主机,匹配成功后,服务器读取特定的视图内file指定的数据文件,并将结果返回给客户端,如果没有匹配成功,则继续查询下一个视图。如果所有的试图都未能匹配成功,服务器将返回无相关数据记录的信息给客户端。下面的案例通过修改主域名服务器的主配置文件演示视图的应用,当172.16.0.88请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.develop这个数据解析文件,172.16.0.89请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.tech这个数据解析文件。注意,在此需要创建4个数据解析文件,相同域的正向域名解析文件有两个,反向域名解析文件有两个,只要在不同的数据解析文件中对相同的记录给予不同的解析结果,就可实现不同的用户得到的返回结果也不一样。
只要根据自己的实际需要创建相应的数据文件,并在各个数据文件中对同一个数据记录给出不同的解析数据,即可实现智能DNS的分离解析功能。这里我们不可能将全北京或全上海的所有IP地址写入match-clients,根据DNS查询原理我们知道,所有的终端用户访问网络时都会连接当地ISP服务商所提供的DNS服务器,这些服务商的DNS服务器会根据根服务器的提示迭代查询到我们的权威服务器。也就是说,我们在match-clients后面仅需要填写全国主要的ISP所提供的DNS服务器IP地址即可。不同地区服务商的DNS,我们给予不同的解析结果,最终所有的终端用户会间接获得正确的解析结果。这里我们不再给出具体的数据文件记录,读者可以根据实际情况自行填写数据记录。
以下为主配置文件named.conf实现视图应用的案例模板,读者根据自己的实际需要稍作修改即可。
(代码详见书中)
4.8.7常见问题分析
(1)由于BIND主配置文件中,默认allow-query被设置为仅localhost可以进行DNS查询,如果要开放DNS服务,则需要将allow-query修改为特定的主机或任意主机可以查询的DNS服务。
(2)在主配置文件中,默认listen-on被设置为仅监听本地回环地址,这样客户端也是无法连接服务器进行查询的。
(3)客户端连接服务器发送的查询请求使用的是UDP的53端口,而从服务器与主服务器同步数据时使用的是TCP的53端口,开放DNS服务后,要注意修改防火墙设置。
(4)在CentOS 7系统环境下,从域名服务器与主域名服务器同步数据时,默认SELinux会拒绝从远程下载的数据文件写入本地磁盘,此时需要修改SELinux的布尔值,方法如下:
[root@centos7 ~]# setsebool -P named_write_master_zones=1
(5)配置文件问题。如果管理员在配置文件中的语法格式有错误,则named服务无法正常启动。例如,如果在配置文件语句后面少了分号,启动服务时会提示类似的提示信息:/etc/named.conf:15: missing ';' before 'view',提示named.conf文件第15行左右少“;”符号。
(6)文件与目录权限。由于BIND相关进程都是以named用户身份启动的,当配置文件或数据文件的权限无法被正确读取时,则系统将无法启动BIND服务。通过查看/var/log/messages日志文件,可以看到none:0: open: /etc/named.conf: permission denied这样的提示,说明BIND软件启动时无权读取named.conf文件。类似的问题还可能出现在从服务器同步的时候,要求从服务器一定要把主服务器的数据文件同步到本地有读写权限的目录下。
……