0.1 计算机硬件分类 0.1.1 家用台式电脑介绍 家用电脑,顾名思义,就是专为普通家庭用户所涉及制造的微型计算机,和其他微型计算机,比如商用电脑相比,在硬件结构和系统、软件结构上,基本无异,主要功能用途上有所差异 。家用电脑主要侧重于影音娱乐和游戏方面的应用,同时,也具备一定的学习办公方面的能力 , 可以满足家庭用户的绝大多数需要 。家用电脑的基本组成与办公室使用的台式微型计算机没什么区别,同样是冯.诺依曼体系结构,大体上分为三级 , 输入设备和输出设备等几个部分 。
文章插图
图0-1 家用台式机图示
0.1.2 笔记本电脑介绍 笔记本电脑(NoteBook Computer , 简称为:NoteBook),亦称笔记型、手提或膝上电脑(英语:Laptop Computer 。可简称为Laptop) , 是一种小型、可方便携带的个人电脑 。笔记本电脑的重量通常重1-3公斤 。其发展趋势是体积越来越小 , 重量越来越轻,而功能越来越强大 。像Netbook,也就是俗称的上网本 。笔记本电脑跟PC的主要区别在于其便携带性 。
文章插图
图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 企业网站和应用的可用性的衡量标准
- 可用标准描述简称可用性级别全年停机时间基本可用性2个999%87.6小时较高可用性3个999.9%8.8小时很高可用性4个999.99%53分钟极高可用性5个999.999%5分钟
- 其中,一般中小企业的业务持续可用性级别至少应该是99.9%,中大型企业应达到99.99% , 甚至99.999% 。
- 企业业务服务效率高(用户体验好)。
注意: 运维人员工作基本原则:简单,易用,高效,稳定,安全 。
如果在达到上述三大核心原则的情况下 , 还能对网站架构不断地进行优化和调整,从而达到节省服务器数量、IDC和CDN带宽 , 甚至能够使用云计算、容器服务,以及开发自动化平台等提高工作效率、节省企业人力成本,那这样的运维工程师简直堪称完美 , 拿到高薪自然也是水到渠成 。
0.2.2 运维人员工作的主战场--服务器 0.2.2.1 什么是服务器? 服务器是提供计算和存储服务的设备(如图0-3所示),由于服务器需要响应服务请求,并进行处理 , 因此一般来说,服务器应具备承担服务并且保障服务的能力 。服务器的构成包括处理器、硬盘、内存、系统总线等,这与通用的计算机构架类似,但是由于需要提供高性能高可靠的服务,因此 , 在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高 。
文章插图
图0-3 Dell R730 2U和R620 1U互联网主流服务器外观
上述对于服务器的介绍比较复杂,一句话概括:服务器就是一台特殊的计算机,配置更高,设备更贵更好,主要用在企业的后台,为用户提供各种业务服务 。
服务器的功能:搭建网站(互联网企业常见应用)等应用服务所使用的机器,相对于其他台式机电脑、笔记本电脑来说,使用服务器更加稳定可靠 , 硬件有7*24小时的持续运行能力 。
0.2.2.2 服务器的尺寸 就像笔记本电脑的显示器按照屏幕大小分为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 服务器按外形分类 0.2.3.1 机架式服务器 机架式服务器的外形看起来不像计算机,而像“抽屉”(如图0-6所示) , 有1U(1U=1.75英寸=44.45毫米)、2U、4U等规格 。机架式服务器一般安装在标准的19英寸机柜里面,是工作中使用最多的服务器类型 。
文章插图
图0-6 2U机架式服务器外形
0.2.3.2 刀片服务器 刀片服务器的外观类似一个箱子里摆放整齐的书(如图0-7所示) 。
所谓刀片服务器(准确地说应叫刀片式服务器),是指在标准高度的机架式机箱内插装多个卡式服务器单元,以实现高可用行和高密度 。每一块“刀片”实际上就是一块系统主板 。它们可以通过“板载”硬盘启动自己的操作系统,如Windows8/10、Linux等,类似于一个个独立的服务器 。在这种模式下 , 每一块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相对于机架式服务器和机柜式服务器,单片母板的性能较低 。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群 。在集群模式下,所有的母板都可以连接起来,从而提供高速的网络环境,并且它们会共享资源,为相同的用户群服务 。在集群中插入新的“刀片”即可提高整体性能 。而由于每块“刀片”都是热插拔的 , 所以,系统可以轻松地进行替换 , 并且将维护时间减少到最小 。
文章插图
图0-7 刀片式服务器
0.2.3.3 塔式服务器--更强壮的计算机 塔式服务器(Tower Server)应该是最容易理解的一种服务器结构类型,因为它的外形及结构都跟立式PC差不多(如图0-8所示) 。当然 , 由于服务器的主板扩展性较强,插槽也多出了若干个,所以外观会比普通主板大一些,因此塔式服务器的主机机箱也比标准的ATX机箱更大,一般都会预留足够的内部空间以便日后进行硬盘和电源的冗余扩展 。但这种类型服务器也有不少局限性 , 比如,在需要采用多台服务器同时工作以满足较高的服务器应用需求时,由于某个体比较大,占用空间多,也不方便管理,所以会显得很不适合 。
文章插图
图0-8 塔式服务器的外部结构
0.3 互联网公司的服务器品牌 国内互联网公司使用的服务器品牌很多,从笔者及同行和学员从事的互联网公司来看,DELL品牌的服务器是最多的,也是性价比较高的 , 下面把笔者比较了解的品牌整理一个简表,见表0-2.
表0-2 服务器品牌简表
服务器品牌
说明
DELL戴尔服务器
互联网公司应用最广
HP惠普服务器
部分互联网公司应用
IBM服务器
较高端的服务器,有些传统大型企业会用,百度也在使用IBM服务器
浪潮
国产服务器 , 传统企业、学校用
华为
国产服务器
联想
国产服务器,用户较广、杂
需要说明的是,现在越来越多的企业直接购买云服务器了 , 因此,服务器硬件也逐渐的落寞 。随着云的发展,中小企业直接购买硬件的机会越来越少了,各类硬件工程师的岗位和前景越来越不明朗了,建议这部分人群加速转行到Linux运维或者Python开发领域(在这两个领域,他们之前用到的技术都可以叠加到Linux运维商 。
0.4 服务器品牌详解及对应型号 0.4.1 Dell服务器 如表0-3所示的是Dell服务器生产与使用的时间,以及对应的U数 , 读者可以参考 。
表0-3 Dell服务器生产与使用的时间及对应的U数
主流应用时间段
1U的主流型号
2U的主流型号
2010年以前
1850、1950
2850、1950
2010~2013年
R410、R610
R710
2014~2016年
R420/430 R620/630
R720/730
2017-2018年
R440 R640
R740
提示:以Dell机架式服务器为例,R2X0到R6X0基本都是1U的,R7X0或R8X0是2U的,R9X0是4U的 。其中 , "X"表示1-3这几个数字 , 个别可以有4 。下面推荐一些查询DELL服务器配置的方式:
- DELL服务器的配置官网:www.dell.com/zh-cn/work/… 。
- 中关村在线: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正面加上盖子后的图
0.4.2 IBM服务器 IBM服务器的型号及对应的U数见表0-4.
表0-4 IBM服务器型号及对应的U数
服务器尺寸
服务器型号
1U
3550/M3 3550/M5
2U
3650/M3/M4/M5
4U
3850
8U
3950
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.60GHz (8 CPUs),~2.6Hz 。
企业级常见的物理服务器配置包括如下两种 。
- 一般企业里的服务器,CPU个(颗)数为24颗,单个(颗)CPU是四核 。内存总量一般是16256GB(32GB、64GB较常见) 。
- 用于虚拟化的宿主机(例如,应用vmware(虚拟化软件)、KVM的主机),CPU颗数可达4-8颗,内存总量一般48GB128GB,常规企业可以同时启动610个虚拟机,甚至更多,主要是根据业务需求决定虚拟机的配置大小 。
文章插图
图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 服务器内存展示
程序运行的时候,一般会被调度到内存中执行,服务器关闭或程序关闭之后,数据自动从内存中释放掉 。
0.5.3.1 程序和进程的基本概念 这里简单介绍下程序和进程的区别 , 具体见表0-5.
表0-5 程序、进程、守护进程间的区别
例称
实际名称
实际含义说明
影片
程序
C/Python/Java,代码文件
放片
进程
正在运行的各类程序(放在内存里执行)
没完没了地放片
守护进程
持续保持运行着的程序
0.5.3.2 企业案例:提升用户体验的网站解决方案 (1)门户(大网站)极端案例:大并发写入案例(抢红包、微博)
遇到高并发、大数据量“写”数据的极端情况时,系统会将数据先写到内存中,在数据积累了一定的量后,再定时或者定量地写到磁盘中以减轻磁盘的压力,减少磁盘I/0(Input/Output,磁盘的输入/输出),最终再将数据加载到内存中以对外提供访问,目的还是减轻对磁盘的访问压力,相关流程如图0-20所示 。
高并发数据存储方式
文章插图
图0-20 企业高并发业务写入流程图
这种状况的特点具体如下 。
- 优点是写数据到内存时,性能高,速度快(适用于微博 , 微信,SNS(社交网),秒杀等场景) 。
- 缺点是可能会丢失一部分在内存中还没有来得及存入磁盘的数据 。
- 解决数据丢失的方法具体如下 。
- 在服务器主板上安装蓄电池,在断电后宕机前瞬间将内存数据回写到磁盘 。
- UPS(一组蓄电池)不间断供电(IDC数据中心机房一般都会用UPS持续供电) 。UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不间断电源 , 是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备 。
- 选双路电的机房,使用双电源、分别接不同路的电,以及服务器放到不同的机柜中,将企业业务放置到不同的地区(异地) 。
- 柴油发电机+池罐,机房一般会与附近的加油站签订紧急供油协议 。
对于并发访问(可简单理解为同时访问数量)不是很大、数据量也不是特别大的网站 , 若是业务读多写少,则会先将数据写入到磁盘中,然后通过程序把写到磁盘的数据读入到内存中,再对外通过读取内存提供访问服务(如果0-21所示) 。绝大多数企业的业务逻辑还是读请求(例如:浏览页面)多于写请求(例如:写文章、发朋友圈) 。
低并发数据存储方式
文章插图
图0-21 中小型企业访问量低的读写流程示意
注意: 用于99%的网站以及企业业务都是以读取为主,写入为辅的,读写比例一般可能大于10:1,所以并发写入一般都不是大问题 。这里提到的把数据写入内存一般是由Memcached或Redis等高效的内存级别软件来实现的,各类关系型数据库一般也都提供了读写缓存的功能 。
0.5.3.3 企业Linux面试题:计算机操作系统中缓冲区(buffer)和缓存区(cache)什么区别? 对于新手,可参考如下说明来理解或解答 。
(1)缓冲区(buffer)
将数据写入内存 , 这个数据的内存空间在Linux系统里一般被称为缓冲区(buffer),例如,写入到内存缓冲区,即写缓冲 。
为了提高写操作性能,数据在写入最终介质或下一层级介质之前会合并放入缓冲区中 。这样会增加数据持久写的延时,因为第一次写入缓冲区后 , 在向下写入数据之前,还要等待后续的写入,以便凑够数据或者定时写入到永久存储介质中 。
(2)缓存区(cache)
从内存里读取数据,这个存数据的内存空间在Linux系统里一般称为缓存区(cache),例如 , 从内存缓存区读取 , 即读缓存 。
操作系统用缓存缓存提高文件系统的读性能和内存分配性能,应用程序使用缓存也是为了提升读访问效率 。将经常访问的操作结果保存在缓存中可备随时使用 , 而非总是执行读磁盘以获取数据等开销较高的操作 。
记住一句话:缓存无处不在 , 无论是电脑硬件、操作系统 , 还是企业网站集群及其他业务系统!
0.5.4 磁盘 0.5.4.1 磁盘基础知识 磁盘 是永久存放数据的存储器(如图0-22、图0-23和图0-24所示),不过,磁盘上也是有缓存的(芯片) 。
文章插图
图0-22 有不同接口类型的硬盘图
文章插图
图0-23 企业级硬盘外观与硬盘架子及SSD硬盘外观
文章插图
图0-24 企业级硬盘从服务器插拔瞬间
常用的磁盘(硬盘)都是3.5英寸的,常规的机械硬盘,读?。ㄐ阅懿桓撸┬阅鼙饶诖娌詈芏?nbsp;, 所以,在企业中,我们才会将大量的数据缓存到内存中,写入到缓冲区中,这是当今互联网网网站必备的解决网站访问速度慢的方案 。
磁盘的接口包括IDE、SCSI、SAS、SATA等种类,其中IDE、SCSI已退出历史舞台 。
磁盘的类型又分为机械磁盘和SSD固态硬盘两种 。
性能与价格排序(从高到低):SSD(固态硬盘)>SAS>SATA 。
0.5.4.2 磁盘的相关的单位 现在生产的单块磁盘容量越来越大 , 体积却越来越小 , 速度也越来越快 , 其中,常见的有300GB、600GB、1TB、3TB、4TB等规格 。
注意:对于工业级(企业级)硬盘计算:以1000为单位进行换算 , 即1TB=1000GB 。有关数据单位的换算 , 见0.7.3节 。
0.5.4.3 计算机与服务器各硬件I/0对比 I/O即input/output 输入/输出,一般翻译为读写 。衡量磁盘读写速度的单位是iops,即 input/output per second(每秒的输入输出) 。
1s=1000ms(毫秒)=1000 000us(微秒)=1000 000 000ns(纳秒)
通过图0-25不难发现,CPU速度最快,其次是内存,最慢的就是硬盘和网卡了 , 图0-25可以帮助读者理解不同设备的性能差距,将来做运维工作的时候,可从速度慢、瓶颈大的进行改进和转化 。
0.5.4.4 小结
文章插图
图0-25 计算机各级设备I/O性能基本对比
- 企业级硬盘适合7*24小时持续使用,一般较贵,和笔记本电脑以及家用台式机电脑的硬盘有区别(工业级和家用) 。
- 对于企业高并发网站来讲,系统都会尽量让用户从内存中读取数据,而不是硬盘 。
- 企业运维和架构师做网站优化 , 以及服务器、软件优化的核心本质,几乎都是在调整硬盘和内存之间的使用比例 。
- 图0-26所示的是缓存在服务器各硬件之间的速度和大小对比另类维度图解,从上到下由高速到低速,容量从小到大 。
文章插图