《 跟老男孩学Linux运维:核心基础篇(上)(第2版)》 —0.5 服务器(计算机)核心零部件介绍

举报
华章计算机 发表于 2019/11/15 11:27:50 2019/11/15
【摘要】 本节书摘来自华章计算机《跟老男孩学Linux运维:核心基础篇(上)(第2版)》一书中第0章,第0.5节,作者是老男孩 。

0.5 服务器(计算机)核心零部件介绍

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

 image.png

图0-13 Dell服务器的内部结构图

0.5.1 电源

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

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

电源的代表示例如图0-14和图0-15所示。

 image.png

图0-14 Dell服务器可插拔电源的“苗条”和“富态”两种外形

 image.png

图0-15 台式电脑和笔记本电脑的电源

0.5.2 CPU处理器

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

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

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

 image.png

图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。

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

image.png

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

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

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

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

 image.png

图0-18 服务器CPU上附带的散热片以及翻开的CPU示意

0.5.3 内存

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

 image.png

图0-19 服务器内存展示

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

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

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

表0-5 程序、进程、守护进程间的区别

image.png

 

2.企业案例:提升用户体验的网站解决方案

(1)门户(大网站)极端案例:大并发写入案例(抢红包、微博)

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

 image.png

图0-20 企业高并发业务写入流程图

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

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

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

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

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

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

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

柴油发电机+油罐,机房一般会与附近的加油站签订紧急供油协议。

(2)中小型企业案例

对于并发访问(可简单理解为同时访问的数量)不是很大、数据量也不是特别大的网站,若是业务读多写少,则会先将数据写入磁盘中,然后通过程序将写到磁盘的数据读到内存中,再对外通过读取内存提供访问服务(如图0-21所示)。绝大多数企业的业务逻辑还是读请求(例如,浏览页面)多于写请求(例如,写文章、发朋友圈)。

 image.png

图0-21 中小型企业访问量低的读写流程示意

注意:由于99%的网站以及企业业务都是以读取为主、写入为辅的,读写比例一般可能大于10:1,所以并发写入一般都不是大问题。这里提到的将数据写入内存一般是由Memcached或Redis等高效的内存级别软件来实现的,各类关系型数据库一般也都提供了读写缓存的功能。

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

对于新手,可参考如下说明来理解或解答。

(1)缓冲区

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

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

(2)缓存区

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

操作系统利用缓存提高文件系统的读性能和内存的分配性能,应用程序使用缓存也是为了提高读访问效率。将经常访问的操作结果保存在缓存中可备随时使用,而非总是执行读磁盘以获取数据等开销较高的操作。

记住一句话:缓存无处不在,无论是电脑硬件、操作系统,还是企业网站集群及其他业务系统!

0.5.4 磁盘

1.磁盘的基础知识

磁盘就是永久存放数据的存储器(如图0-22、图0-23和图0-24所示),不过,磁盘上也是有缓存的(芯片)。

 image.png

图0-22 有不同接口类型的硬盘图

 image.png

图0-23 企业级硬盘外观与硬盘架子及SSD硬盘外观

 image.png

图0-24 企业级硬盘从服务器插拔瞬间

常用的磁盘(硬盘)都是3.5英寸的,常规的机械硬盘,读取(性能不高)性能相比内存差很多,所以,在企业中,我们才会将大量的数据缓存到内存中,写入到缓冲区中,这是当今互联网网站必备的解决网站访问速度慢的方案。

磁盘的接口包括IDE、SCSI、SAS、SATA等种类,其中IDE、SCSI已退出历史舞台。

磁盘的类型又分为机械磁盘和SSD(固态硬盘)两种。

性能与价格排序(从高到低):SSD(固态硬盘)>SAS> SATA。

2.磁盘的相关单位

现在生产的单块磁盘的容量越来越大,体积却越来越小,速度也越来越快,其中,常见的磁盘有300GB、600GB、1TB、3TB、4TB等规格。

注意:对于工业级(企业级)硬盘计算,以1000为单位进行换算,即1TB=1000GB。

有关数据单位的换算,见0.7.3节。

3.计算机与服务器的各硬件I/O对比

I/O(Input/Output)即输入/输出,一般翻译为读写。衡量磁盘读写速度的单位是iops,即input/output per second(每秒的输入输出)。

通过图0-25不难发现,CPU的速度最快,其次是内存,最慢的就是硬盘和网卡了。图0-25可以帮助读者理解不同设备的性能差距,未来做运维工作的时候,可从速度慢、瓶颈大的设备进行改进和转化。

4.小结

 image.png

图0-25 计算机各级设备I/O性能基本对比

企业级硬盘适合7×24小时持续使用,一般较贵,与笔记本电脑以及家用台式电脑的硬盘有区别(工业级和家用)。

对于企业高并发网站来讲,系统都会尽量让用户从内存中读取数据,而不是硬盘。

企业运维和架构师做网站优化,以及服务器、软件优化的核心本质,几乎都是在调整磁盘和内存之间的使用比例。

图0-26所示的是缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速,容量从小到大。

 image.png

图0-26 缓存在服务器各硬件上的速度和大小对比另类维度图解

0.5.5 Raid卡(阵列卡)

当企业的网站(业务)数据量很大,单块盘装不下了的时候,若购买多块硬盘存放数据,则需要利用工具(Raid)将所有硬盘整合成一个大磁盘,再在这个大磁盘上分区(划分隔断、虚拟磁盘)存放数据,但是硬盘多了势必会有损坏,可数据是不能丢的。因此,Raid还具备另一大功能,就是多块硬盘放置在一起可以配置冗余(备份),即使若干硬盘有损坏,数据也不会丢失,又因为业务对多块硬盘存储的数据访问效率也有需求,因此,Raid分成了不同的级别。比如,Raid0、Raid1、Raid10、Raid5等,更多具体划分情况将在本书后文详细说明。

那么,什么是Raid呢?它其实是一种技术,称为磁盘冗余阵列,Raid的实现有软Raid(即软件实现)和硬Raid(即硬件实现),二者的主要区别就是,硬件Raid的实现性能、冗余都更好、更高。不过,在企业真正的重要服务器里,Raid几乎是不被采用的,请读者注意这点。

1. Raid卡(阵列卡)的好处

可以将所有硬盘整合到一起(扩充容量)。

可以使得数据更加安全(数据冗余)。

可以获得更高的效率(读写性能)。

如果有Raid卡,则一般会将磁盘连接到Raid卡上,而不是直接插到主板上,Raid卡最终将插到主板对应的插槽里。

与Raid卡相关的内容如图0-27和图0-28所示。

 image.png

图0-27 Dell服务器的Raid卡

 image.png

图0-28 确保数据安全的Raid卡电池

前面已经提到过,Raid分软Raid和硬Raid,其中,硬Raid卡又分两种,具体如下:

服务器板载Raid卡,缺点是只支持Raid0或Raid1级别。

独立Raid卡,支持更多功能。

2. Raid的多种整合方式(Raid级别)

Raid级别有很多种,常见的Raid级别有Raid0、Raid1、Raid5、Raid10。

互联网公司的服务器一般都会购买独立Raid卡,Raid卡上也是有缓存的,具体说明如下:

冗余从好到坏:Raid1、Raid10、Raid5、Raid0

性能从好到坏:Raid0、Raid10、Raid5、Raid1

成本从低到高:Raid0、Raid5、Raid1、Raid10

小作业:了解Raid的常见级别、冗余、性能和特点,这部分知识在本书后文Linux运维图(或者下一部图书)中会详细讲解,读者可先进行大致了解,然后跟着本系列书学习。

0.5.6 光驱

光驱作为一个设备也已经几乎退出历史舞台了,几乎所有的影视剧、音乐等也都不再使用光驱发行。

在企业应用中,光驱主要用于为服务器装系统,不过,出于为公司省钱考虑,可在购买服务器时淘汰光驱,换成下面的高效安装方式。

用U盘做镜像来安装系统。

还可以使用更高端的网络安装(ftp、http),无人值守批量安装系统(pxe+ kickstart)。

参考文档:

http://blog.oldboyedu.com/autoinstall-kickstart/

http://blog.oldboyedu.com/autoinstall-cobbler/

以下课程里提供了无人值守安装的面授课程和视频课程,读者有需要可以进入www.oldboyedu.com咨询。

0.5.7 远程管理卡

远程管理卡是服务器特有的远程管理部件,在家用电脑及笔记本电脑上是不存在的,如图0-29所示。

远程控制卡的作用是通过网络远程(异地)开关服务器,并可以查看服务器开关的过程等信息,早期(2010年以前),服务器托管在IDC机房,如果出现问题,运维人员必须亲自到机房或者请机房中的人管理,有了管理卡之后,运维人员管理服务器的效率就大大提高了。

远程管理卡分为服务器自带远程管理卡和独立远程管理卡两类。服务器自带的远程管理卡,可以关机、开机,但是看不到开关服务器的过程。因此,建议为服务器配备独立的远程管理卡,成本上可能会多花人民币100元左右,但是好处是很明显的,当服务器出现问题时,不用打车或出差,也不用给机房人员打电话,而是可以利用管理卡快速查看服务器故障及恢复服务。

image.png

0.5.8 机房里的服务器

服务器一般是存放在机房的机柜里面的,一定要为服务器的各类线贴上规范标签,标记出每根线的用途等必要信息,如图0-30和图0-31所示。

 image.png

作为一名专业的Linux运维人员,不仅要熟悉Linux运维基础,在工作中也需要更专业和规范,下面是关于运维人员专业性的一篇文章,希望能提供一些启发:http://blog.51cto.com/oldboy/2083789。

0.5.9 主板(普通电脑)

主板实际上就是一块电路板,相当于人体的骨架,CPU、内存、磁盘、Raid卡等所有硬件设备最终都要连接在主板上,才能正常工作。图0-32展示的是普通台式电脑的主板示意。

 image.png

图0-32 普通台式电脑的主板示意

这里主要介绍一下南桥芯片、北桥芯片和BIOS芯片。

南桥芯片(South Bridge)是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方、PCI插槽的附近。这种布局是考虑到它所连接的I/O总线较多,离处理器远一点有利于布线。相对于北桥芯片来说,其数据处理量并不算大,所以南桥芯片一般都没有覆盖散热片。南桥芯片不与处理器直接相连,而是通过一定的方式(不同厂商的各种芯片组有所不同,例如,英特尔的英特尔Hub Architecture以及SIS的Multi-Threaded“妙渠”)与北桥芯片相连。

南桥芯片负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等,这些技术相对来说一般比较稳定,所以在不同的芯片组中,它们的南桥芯片可能是一样的,不同的只是北桥芯片。南桥芯片的发展方向主要是集成更多的功能,例如网卡、Raid、IEEE 1394,甚至是Wi-Fi无线网络等。图0-32中,中间靠下的那个较大的芯片就是主板的南桥芯片。

北桥芯片(North Bridge)负责与CPU联系,并且会控制内存、AGP数据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM、DDR SDRAM以及RDRAM,等)和最大容量、AGP插槽、ECC纠错等的支持,整合型芯片组的北桥芯片还集成了显示核心。北桥芯片就是主板上离CPU最近的芯片,这主要是考虑到北桥芯片与处理器之间的通信最为密切,因此,为了提高通信性能而缩短了传输距离。因为北桥芯片的数据处理量非常大,发热量也越来越高,所以现在的北桥芯片都覆盖着散热片以加强散热,有些主板的北桥芯片还会配合风扇进行散热。

BIOS(Basic Input Output System)芯片(CMOS芯片)(如图0-33所示)负责主板通电后各部件的自检、设置和保存,一切正常后才能启动操作系统。其记录了电脑最基本的信息,是软件与硬件打交道的最基础的桥梁,没有它,电脑就不能正常工作。

常见的三种BIOS分别为Award、AMI、Phoenix。

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。