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),例如,从内存缓存区读取,即读缓存。
操作系统利用缓存提高文件系统的读性能和内存的分配性能,应用程序使用缓存也是为了提高读访问效率。将经常访问的操作结果保存在缓存中可备随时使用,而非总是执行读磁盘以获取数据等开销较高的操作。
记住一句话:缓存无处不在,无论是电脑硬件、操作系统,还是企业网站集群及其他业务系统!
0.5.4 磁盘
1.磁盘的基础知识
磁盘就是永久存放数据的存储器(如图0-22、图0-23和图0-24所示),不过,磁盘上也是有缓存的(芯片)。
图0-22 有不同接口类型的硬盘图
图0-23 企业级硬盘外观与硬盘架子及SSD硬盘外观
图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.小结
图0-25 计算机各级设备I/O性能基本对比
❏企业级硬盘适合7×24小时持续使用,一般较贵,与笔记本电脑以及家用台式电脑的硬盘有区别(工业级和家用)。
❏对于企业高并发网站来讲,系统都会尽量让用户从内存中读取数据,而不是硬盘。
❏企业运维和架构师做网站优化,以及服务器、软件优化的核心本质,几乎都是在调整磁盘和内存之间的使用比例。
图0-26所示的是缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速,容量从小到大。
图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所示。
图0-27 Dell服务器的Raid卡
图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机房,如果出现问题,运维人员必须亲自到机房或者请机房中的人管理,有了管理卡之后,运维人员管理服务器的效率就大大提高了。
图0-29 Dell服务器的远程控制卡
远程管理卡分为服务器自带远程管理卡和独立远程管理卡两类。服务器自带的远程管理卡,可以关机、开机,但是看不到开关服务器的过程。因此,建议为服务器配备独立的远程管理卡,成本上可能会多花人民币100元左右,但是好处是很明显的,当服务器出现问题时,不用打车或出差,也不用给机房人员打电话,而是可以利用管理卡快速查看服务器故障及恢复服务。
0.5.8 机房里的服务器
服务器一般是存放在机房的机柜里面的,一定要为服务器的各类线贴上规范标签,标记出每根线的用途等必要信息,如图0-30和图0-31所示。
图0-30 服务器网线上的标签
图0-31 服务器电源线上的标签
作为一名专业的Linux运维人员,不仅要熟悉Linux运维基础,在工作中也需要更专业和规范,下面是关于运维人员专业性的一篇文章,希望能提供一些启发:http://blog.51cto.com/oldboy/2083789。
0.5.9 主板(普通电脑)
主板实际上就是一块电路板,相当于人体的骨架,CPU、内存、磁盘、Raid卡等所有硬件设备最终都要连接在主板上,才能正常工作。图0-32展示的是普通台式电脑的主板示意。
图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最近的芯片,这主要是考虑到北桥芯片与处理器之间的通信最为密切,因此,为了提高通信性能而缩短了传输距离。因为北桥芯片的数据处理量非常大,发热量也越来越高,所以现在的北桥芯片都覆盖着散热片以加强散热,有些主板的北桥芯片还会配合风扇进行散热。
图0-33 BIOS芯片图
BIOS(Basic Input Output System)芯片(CMOS芯片)(如图0-33所示)负责主板通电后各部件的自检、设置和保存,一切正常后才能启动操作系统。其记录了电脑最基本的信息,是软件与硬件打交道的最基础的桥梁,没有它,电脑就不能正常工作。
常见的三种BIOS分别为Award、AMI、Phoenix。