跟老男孩学Linux运维:核心基础篇(上)(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-18 20:02:32

点击下载

作者:老男孩

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

跟老男孩学Linux运维:核心基础篇(上)(第2版)

跟老男孩学Linux运维:核心基础篇(上)(第2版)试读:

前言

为什么要写这本书

最近几年,老男孩一口气出了好多本Linux运维书籍,但是由于时间比较紧张,这些书籍的内容并不完全成体系,使得读者没办法完整从零学习提高到企业Linux运维岗位要求的高度,而且随着时间的推移,这些书籍涉及的软件版本都落后了,因此,从2019年年初开始,我就着手开始进行系统化的运维书籍的写作,将Linux系统全新升级到CentOS7.6(当下最新版本)。

根据我近20年的工作经验和教学经验,把企业运维岗位必备的Linux基础部分分为上下册来写,使得读者可轻松阅读,吸收效果好。本书为上册,下册也在写作中。很快就会和大家见面。

除了出版这两本Linux核心基础书籍之外,老男孩还会写作集群的书籍,集群书籍计划分为上中下三册,其中上册就是已经出版的[1]《跟老男孩学Linux运维:Web集群实战》的升级版。中册和下册也在写作中。届时,读者只要从头学习老男孩写的书籍系列,就可以拥有胜任企业运维工作的能力。

老男孩写书一直采取的是实战路线,即不讲或少讲企业中用不到的内容,让读者能够通过学习最少的有价值的知识,花最少的时间、精力,拥有胜任运维相关工作的能力。

在长期的运维工作以及深度教学中,老男孩发现很多Linux入门人员对Linux基础掌握得不够好,他们都更关注高端的集群和云计算知识,其实,所有高端知识都是以细小的Linux基础知识和命令等为根基的,只有对Linux核心基础掌握牢固了,再学习高级技术才能轻车熟路,如鱼得水,相信本书以及后续系列书籍一定会让众多读者受益,提升个人Linux运维能力,达到找到满意工作或加薪升职的目的。

本书是“跟老男孩学Linux运维”(CentOS7全新升级)系列的第一本书,《跟老男孩学Linux运维:核心基础篇(下)》(CentOS7全新升级)、《跟老男孩学Linux运维:Web集群实战(上)》(CentOS7全新升级)是后续的第二本和第三本,后两本将在几个月后和大家见面。更多Linux运维实战系列图书在持续写作中,敬请期待。

在老男孩教育培训班教学中,本书被采纳为内部教材,有对本书配套视频感兴趣的读者,可以搜索oldboylinux(注明:读者)加入微信群或者加入下文提到的QQ群,凭购书付费凭证免费获取。读者对象

·Linux系统管理员和运维工程师

·程序开发及数据库管理人员

·网络管理员和项目实施工程师

·Linux相关售前售后技术工程师

·开设Linux相关课程的大学以及专科院校

·对Linux运维感兴趣的人群

·从其他行业转入IT行业的新手如何阅读本书

本书是一本以企业Linux运维需要的知识为基础的实战型教学图书,书的内容并非大而全,但处处可以体现实战二字,非常多的内容取之于企业实战案例,并结合老男孩十几年的运维工作和教学工作进行了梳理。本书从脉络上可分为三大部分:

第一部分为Linux入门环境与基础(第0章~第4章),此部分着重介绍新手需要了解的计算机核心硬件基础知识,学习Linux运维需要的环境搭建、系统安装、远程连接,以及进入命令行感受Linux命令行的魅力。

第二部分为Linux目录结构与文件属性(第5章~第9章),着重讲解Linux的目录结构与重要文件路径知识,Linux系统启动核心知识(含CentOS7),大量和文件、目录相关的核心命令讲解与实践,Linux系统文件类型、权限、用户、用户组、时间戳、软硬链接等核心知识。

第三部分为中高级实战知识和技能篇(第10章~第15章)。着重讲解Linux系统各类特殊字符、正则表达式与三剑客知识,Linux系统权限,Linux系统定时任务,Linux用户管理知识与企业级用户管理项目案例。

全书内容都是想高薪就业的读者必须掌握的内容。勘误和支持

由于老男孩的培训班课程排期很紧,课程较多,全书写作内容基本上都是利用早晨和夜晚的时间完成的,限于本人的水平和能力,加之编写的时间仓促,书中难免有疏漏和不当之处,恳请读者批评指正。你可以将书中的错误发布在专门为本书准备的博客评论处http://blog.51cto.com/oldboy/2125172,同时不管你遇到何种问题,都可以加入我为本书提供的QQ交流群204041129(验证口令:oldboy),我将尽力为读者提供最满意的解答。如果你有更多的宝贵意见,也欢迎发送邮件至我的邮箱oldboy@oldboyedu.com,很期待能够听到你的真挚反馈。致谢

感谢“老男孩IT教育”的所有员工和同事,正是你们辛勤努力的工作,让我得以有时间完成此书。

一如既往地感谢中网志腾的郭威和数码创天的王斐及梁露女士,感谢你们提供的优质DELL服务器资源,使得本书得以高效顺利地完成!

感谢森华易腾的陆锦云女士及其同事,感谢你们提供的优质IDC机房带宽支持,使得本书得以顺利完成!

感谢机械工业出版社华章公司的编辑杨绣国女士,感谢你的包容和鼓励,在我升级书籍的写作中一如既往地支持我,正是你的鼓励和帮助引导我顺利完成全部书稿。

感谢没有提及名字的所有学生、网友以及关心关注老男孩的每一位朋友。

最后要感谢我的父母、家人,正是你们的支持和体谅,让我有无限信心和力量去写作,并最终完成此书!

谨以此书,献给支持老男孩IT教育的每一位朋友、学员以及众多热爱Linux运维技术的人们。老男孩中国,北京,2019年7月[1] 本书已由机械工业出版社出版,ISBN为978-7-111-52983-5。——编辑注第0章 计算机硬件与组成基础0.1 计算机硬件分类

1.家用台式电脑介绍

家用台式电脑主要分为主机和显示器两部分(如图0-1所示),一般用于家庭娱乐(例如,听音乐、打游戏、看电影等),优点是可以配置独立显卡、声卡、显示器等设备,因此配置会更高一些,娱乐时更让人享受;缺点就是设备的体积和重量都太大,占地方且移动不方便,其在国内一二线城市已经逐步退出历史舞台了,被简便、小巧并且同样可以拥有高配置的笔记本电脑所取代。图0-1 家用台式电脑

2.笔记本电脑介绍

笔记本电脑以简便、轻巧、携带方便等优点被更多人选择使用(如图0-2所示),其早期多用于办公,现在已经逐步走进千家万户,成为国内计算机用户的主流选择。与早期的产品不同,现在的笔记本电脑的部件配置也可以很高,并且价格早已下降到普通用户可以接受的程度了。图0-2 笔记本电脑0.2 运维与服务器

90%以上的Linux基础图书,都只讲解了Linux基础以及Linux开发,而未提及Linux运维这个岗位名词,其实学Linux最直接的目的就是维护Linux服务器,哪怕是开发人员,学习的目的也是如此,因此本书不会只讲解Linux,而是根据企业Linux运维岗位真正的需求来讲解Linux基础及Linux运维核心知识,使得读者在学习Linux的同时,可以对未来企业里的Linux运维工作岗位所需的知识有一个很好的了解,这也是本书区别于其他Linux基础图书的核心所在。0.2.1 运维人员的三个核心职责

下面来看一下运维人员的三大核心职责。

·企业数据安全(不丢失、不泄露)。

企业数据是现代各个IT企业的生命线,作为Linux运维人员,不但不能丢失任何数据,同时,也不能向外部人员泄露公司的任何有用数据。读者可以搜索“拖库事件”以了解当下社会上的企业数据安全信息。

·企业业务7×24小时运行(永不停机)。

互联网企业甚至是传统企业(例如,银行和电信),除了数据安全之外,还需要业务有持续运行的能力,这对Linux运维人员提出了更高的要求,也是运维人员高薪的原因。

如表0-1所列举的是企业网站和应用的可用性的衡量标准。表0-1 企业网站和应用的可用性的衡量标准

其中,一般中小企业的业务持续可用性级别至少应该是99.9%,中大型企业应达到99.99%甚至是99.999%。

·企业业务服务效率高(用户体验好)。

一切的企业工作最终都是为了向用户提供高效、舒心的服务,如果网站打开的速度很慢,用户体验很差,那么这样的企业是没有任何生命力的,因此Linux运维人员需要不断地优化网站业务,使得用户能够进行高效的访问,这种能力是决定Linux运维人员是否能拿高薪的必备条件。注意:运维人员的基本工作原则:简单、易用、高效、稳定、安全。

如果在达到上述三大核心原则的情况下,还能对网站架构不断地进行优化和调整,从而达到节省服务器数量、IDC和CDN带宽,甚至能够使用云计算、容器服务,以及开发自动化平台等提高工作效率、节省企业人力成本,那这样的运维工程师简直堪称完美,拿到高薪自然也是水到渠成。0.2.2 运维人员工作的主战场——服务器

1.什么是服务器?

服务器是提供计算和存储服务的设备(如图0-3所示)。由于服务器需要响应服务请求,并进行处理,因此一般来说,服务器应具备承担服务及保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,这与通用的计算机架构类似,但是由于需要提供高性能高可靠的服务,因此,在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。图0-3 Dell R730 2U和R620 1U互联网主流服务器外观

上述对于服务器的介绍比较复杂,一句话概括:服务器就是一台特殊的计算机,配置更高,设备更贵更好,主要用在企业的后台,为用户提供各种业务服务。

服务器的功能:搭建网站(互联网企业常见应用)等应用服务所使用的机器,相对于其他台式电脑、笔记本电脑来说,使用服务器更加稳定可靠,其硬件有7×24小时的持续运行能力。

2.服务器的尺寸[1]

就像笔记本电脑的显示器按照屏幕大小可分为14英寸、15.6英寸等一样,服务器也是有尺寸的,这个尺寸一般用于描述服务器的高度,即(U)(如图0-4所示)。图0-4 Dell 4U服务器的背面

服务器的尺寸是按U计算的。1U服务器表示服务器的高度是4.45cm(1.75英寸)。

如图0-5所示,服务器的内部结构与台式电脑大同小异,基本零部件与台式电脑一样必须要有,例如,CPU处理器、内存、磁盘,所不同的是,服务器可以容纳的CPU处理器的数量更多,风扇也更多,可插拔的硬盘数量也可以多很多,后文将为大家详细讲解服务器的内部组件。图0-5 Dell 2U服务器的内部结构

关于服务器,如有不了解或者存在疑问的地方,可以咨询相关的服务器销售人员,他们一定会很乐意回答。0.2.3 服务器按外形分类

1.机架式服务器

机架式服务器的外形看起来不像计算机,而更像“抽屉”(如图0-6所示),有1U(1U=1.75英寸=44.45mm)、2U、4U等规格。机架式服务器一般安放在标准的19英寸机柜里面,是工作中使用最多的服务器类型。图0-6 2U机架式服务器外形

2.刀片服务器

刀片服务器的外观类似于一个箱子里摆放整齐的书(如图0-7所示)。

所谓刀片服务器(准确地说应该叫作刀片式服务器),是指在标准高度的机架式机箱内插装多个卡式服务器单元,以实现高可用性和高密度。每一块“刀片”实际上就是一块系统主板。它们可以通过“板载”硬盘启动自己的操作系统,如Windows 8/10、Linux等,类似于一个个独立的服务器。在这种模式下,每一块母板均会运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相对于机架式服务器和机柜式服务器,单片母板的性能较低。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板都可以连接起来,从而提供高速的网络环境,并且它们还会共享资源,为相同的用户群服务。在集群中插入新的“刀片”即可提高整体性能。而由于每块“刀片”都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。图0-7 刀片式服务器

3.塔式服务器——更强壮的计算机

塔式服务器(Tower Server)应该是最容易理解的一种服务器结构类型,因为它的外形及结构都与立式PC差不多(如图0-7所示)。当然,由于服务器的主板的扩展性较强,插槽也多出了若干个,所以外观会比普通主板大一些,因此塔式服务器的主机机箱也比标准的ATX机箱要大,一般都会预留足够的内部空间以便日后进行硬盘和电源的冗余扩展。但这种类型的服务器具有不少局限性,比如,在需要多台服务器同时工作以满足较高的服务器应用需求时,由于其个体比较大,占用空间比较多,也不方便管理,所以会显得很不适合。图0-8 塔式服务器的外部结构[1] 1英寸=2.54厘米。——编辑注0.3 互联网公司的服务器品牌

国内互联网公司使用的服务器品牌比较多,从笔者及同行和学员从事的互联网公司来看,DELL品牌的服务器是最多的,也是性价比较高的,下面笔者将比较了解的品牌整理成一个简表,见表0-2。表0-2 服务器品牌简表

需要说明的是,现在越来越多的企业直接购买云服务了,因此,服务器硬件也逐渐落寞。随着云服务器的发展,中小企业直接购买硬件的机会也越来越少,各类硬件工程师的岗位和前景越来越不明朗,建议这部分人员加速转行到Linux运维或者Python开发的领域(在这两个领域上,他们之前用到的技术都可以叠加到Linux运维上)。0.4 服务器品牌详解及对应型号

1.Dell服务器

如表0-3所示的是Dell服务器生产与使用的时间,以及对应的U数,读者可以参考。表0-3 Dell服务器生产与使用的时间及对应的U数

提示:以Dell机架式服务器为例,R2X0到R6X0基本都是1U的,R7X0或R8X0是2U的,R9X0是4U的。其中,“X”表示1~3这几个数字,个别可以有4。

下面推荐一些查询DELL服务器配置的方式。

·Dell服务器的配置官网:http://china.dell.com/cn/business/p/servers。

·中关村在线:http://server.zol.com.cn/。

·咨询服务器的销售人员。

图0-9~图0-12以Dell R720 2U服务器为例说明了服务器的外部结构。图0-9 Dell R720服务器常用接口说明图0-10 Dell R720液晶屏幕显示IP地址图0-11 Dell R720正面图图0-12 Dell R720正面加上盖子后的图

2.IBM服务器

IBM服务器的型号及对应的U数见表0-4。表0-4 IBM服务器型号及对应的U数

IBM服务器质量好,但价格贵,互联网公司不太常用,仅作了解即可。

目前来看,“IOE”代表了全球三个领域里最好的品牌,即IBM服务器、Oracle(甲骨文数据库)和Emc(存储厂商设备),但互联网公司从2010年起就在提倡去IOE,代表企业为阿里巴巴集团,企业去IOE的本质是企业变大以后,购买IOE的成本开销会成倍增加,而且IOE的设备都是黑盒运行,并不能为企业完全掌控,受限于厂商。0.5 服务器(计算机)核心零部件介绍

图0-13为拆开盖子后的Dell服务器内部结构图,读者可以通过此图了解Dell服务器的内部结构信息,其中对相关区域做了简单标记。图0-13 Dell服务器的内部结构图0.5.1 电源

电源相当于人体的心脏,需保障电力供应,如果要买服务器,请选择质量好的电源。

在生产中,若是单个服务器负责核心业务,那么最好使用双电源,分别接机房A、B线路。如果服务器是集群中的一台(若干机器做一件事),那么可以不用双电源。除此之外,运维工作就不用再过多考虑电源的其他问题了。

电源的代表示例如图0-14和图0-15所示。图0-14 Dell服务器可插拔电源的“苗条”和“富态”两种外形图0-15 台式电脑和笔记本电脑的电源0.5.2 CPU处理器

CPU处理器相当于人体的大脑,负责整个计算机的运算和控制,是影响服务器性能效率的最核心部件(如图0-16所示)。

CPU常见的种类分为精简指令集和复杂指令集两类,具体说明如下。

精简指令集的CPU设计代表有SUN公司的SPARC系列和ARM系列等,这类CPU的设计特点是指令集精简,每个指令执行的时间很短,操作很简单、效率较高。图0-16 CPU外形示例

复杂指令集的设计代表有大家熟知的Intel至强系列(XEON)(应用广泛)和AMD系列(应用不多)等。这类CPU的设计特点是指令数量多、指令集复杂,且执行的时间较长,但能处理的事务更多、更丰富。

Intel、AMD作为x86架构的CPU,主要用于PC或DELL等常见品牌的系列服务器上。

服务器CPU的颗数,我们称为路数。例如,DELL R630双路1U服务器、DELL R720双路2U服务器、DELL R830四路2U服务器。

CPU一般通过频率吉赫兹(GHz)表示性能的好坏,频率越高速度越快,简单地说,CPU频率就是用来表示CPU每秒钟的工作次数,例如,笔者所用电脑的CPU是Intel(R)Core(TM)i7-6700HQ CPU@2.60Hz(8 CPUs),~2.6GHz。

企业级常见的物理服务器配置包括如下两种。

·一般企业里的服务器,CPU个(颗)数为2~4颗,单个(颗)CPU是四核。内存总量一般是16~256GB(32GB、64GB比较常见)。

·用于虚拟化的宿主机(例如,应用VMware(虚拟化软件)、KVM的主机),CPU颗数可达4~8颗,内存总量一般是48~128GB,常规企业可以同时启动6~10个虚拟机,甚至更多,主要是根据业务需求决定虚拟机的配置大小。图0-17 服务器CPU风扇

CPU长时间运行会发热,因此需要配置降温的设备,即CPU风扇或散热片(如图0-17和图0-18所示),散热片主要是用金属铜或者铝制作的,目的是将热量快速传导出去。

在企业级系统运维中,选择CPU硬件配置,以及监测和优化服务器系统的CPU性能,是运维人员的常见工作之一。CPU的优化是一项复杂的工作,需要长期的实践和反复观察,由于这部分内容的难度很大且复杂,笔者在后期出版的系列高级技术图书中会加重笔墨,读者可以重点关注。图0-18 服务器CPU上附带的散热片以及翻开的CPU示意0.5.3 内存

内存(RAM)是CPU和磁盘之间的缓冲设备(如图0-19所示),是临时存储器(用于存放数据)。若断电,数据就会丢失。图0-19 服务器内存展示

程序运行的时候,一般会被调度到内存中执行,服务器关闭或程序关闭之后,数据将自动从内存中释放掉。

1.程序和进程的基本概念

这里简单介绍程序和进程的区别,具体见表0-5。表0-5 程序、进程、守护进程间的区别

2.企业案例:提升用户体验的网站解决方案(1)门户(大网站)极端案例:大并发写入案例(抢红包、微博)

遇到高并发、大数据量“写”数据的极端情况时,系统会将数据先写到内存中,在数据积累了一定的量后,再定时或者定量地写到磁盘中以减轻磁盘的压力,减少磁盘I/O(Input/Output,磁盘的输入/输出),最终再将数据加载到内存中以对外提供访问,目的还是为了减轻对磁盘的访问压力,相关流程如图0-20所示。图0-20 企业高并发业务写入流程图

这种状况的特点具体如下。

·优点是写数据到内存时,性能高、速度快(适用于微博、微信、SNS(社交网)、秒杀等场景)。

·缺点是可能会丢失一部分在内存中还没有来得及存入磁盘的数据。

解决数据丢失的方法具体如下。

·在服务器主板上安装蓄电池,在断电后宕机前瞬间将内存数据回写到磁盘。

·UPS(一组蓄电池)不间断供电(IDC数据中心机房一般都会用UPS持续供电)。UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。

·选双路电的机房,使用双电源、分别接不同路的电,以及将服务器放到不同的机柜中,将企业业务放置到不同的地区(异地)。

·柴油发电机+油罐,机房一般会与附近的加油站签订紧急供油协议。(2)中小型企业案例

对于并发访问(可简单理解为同时访问的数量)不是很大、数据量也不是特别大的网站,若是业务读多写少,则会先将数据写入磁盘中,然后通过程序将写到磁盘的数据读到内存中,再对外通过读取内存提供访问服务(如图0-21所示)。绝大多数企业的业务逻辑还是读请求(例如,浏览页面)多于写请求(例如,写文章、发朋友圈)。图0-21 中小型企业访问量低的读写流程示意注意:由于99%的网站以及企业业务都是以读取为主、写入为辅的,读写比例一般可能大于10:1,所以并发写入一般都不是大问题。这里提到的将数据写入内存一般是由Memcached或Redis等高效的内存级别软件来实现的,各类关系型数据库一般也都提供了读写缓存的功能。

3.企业Linux面试题:计算机操作系统中,缓冲区和缓存区有什么区别?

对于新手,可参考如下说明来理解或解答。(1)缓冲区

将数据写入内存,这个数据的内存空间在Linux系统里一般称为缓冲区(buffer),例如,写入到内存缓冲区,即写缓冲。

为了提高写操作性能,数据在写入最终介质或下一层级介质之前会合并放入缓冲区中。这样会增加数据持久写的延时,因为第一次写入缓冲区后,在向下写入数据之前,还要等待后续的写入,以便凑够数据或者定时写入到永久存储介质中。(2)缓存区

从内存中读取数据,这个存数据的内存空间在Linux系统里一般称为缓存区(cache),例如,从内存缓存区读取,即读缓存。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载