通过前面的学习我们知道,服务器其实就是一台配置更高的计算机,它的内部结构也和普通的计算机大同小异。图 1 所示为拆开盖子后的 Dell 服务器内部结构图。
可以看到,服务器是由电源、CPU、内存、硬盘、风扇、光驱等几部分构成。本节将挑选一些重要的硬件,给大家做详细介绍。
电源相当于人体的心脏,需保障电力供应,如果要买服务器,应选择质量好一点的电源。
另外需要注意的是,在实际使用场景中,如果只是配置一个服务器负责核心业务,那么最好使用双电源,并且分别接不同的机房线路;如果服务器是集群中的一台(若干机器做一件事),则可以不用双电源。除此之外,运维工作中就不用再过多考虑电源的其他问题了。
CPU 处理器相当于人体的大脑,负责整个服务器的运算和控制,是影响其性能效率的最核心部件。
常见的 CPU 种类有如下 2 种:
Intel、AMD 作为 x86 架构的 CPU,主要用于 PC 或 DELL 等常见品牌的系列服务器上。
CPU 一般通过频率(GHz)表示性能的好坏,CPU 频率就是用来表示 CPU 每秒钟的工作次数,即频率越高速度越快。比如说,笔者所用电脑的 CPU 是 Intel(R)Core(TM)i7-6700HQ CPU@2.60Hz(8 CPUs),~2.6GHz。
需要注意的是,每一台服务器中不是只能包含一个 CPU,而是可以容纳多个。服务器 CPU 的颗数,我们称为路数。例如,DELL R630 双路 1U 服务器、DELL R720 双路 2U 服务器、DELL R830 四路 2U 服务器。企业级常见的物理服务器配置包括如下两种:
在企业级系统运维中,选择 CPU 硬件配置,以及监测和优化服务器系统的 CPU 性能,是一项复杂且需要长期实践和反复观察的工作,同时也是运维人员的常见工作之一。
另外值得一提的是,CPU 长时间运行会发热,因此需要配置降温的设备,即 CPU 风扇或散热片(如图 4 所示),其中散热片主要是用金属铜或者铝制作的,作用是将热量快速传导出去。
内存是 CPU 和硬盘之间的缓冲设备(如图 5 所示),是临时存储器(用于存放数据),这就意味着,如果突然断电,那么位于内存中的数据很可能会丢失。
程序运行的时候,一般会被调度到内存中执行,服务器关闭或程序关闭之后,数据将自动从内存中释放掉。提到内存,很多企业在面试时,都会问缓冲区和缓存区的区别,作为新手,可以这样回答:
记住这样一句话,缓存无处不在,无论是电脑硬件、操作系统,还是企业网站集群及其他业务系统!
硬盘就是永久存放数据的存储器,如今常用的硬盘都是 3.5 英寸的,且生产的单块硬盘的容量越来越大,体积却越来越小,速度也越来越快,其中常见的硬盘有300GB、600GB、1TB、3TB、4TB等规格。
注意,对于工业级(企业级)硬盘计算,以 1000 为单位进行换算,即1TB=1000GB。
根据实际场景的需要,硬盘的接口有 IDE、SCSI、SAS、SATA 等几类(其中 IDE、SCSI 已退出历史舞台),硬盘的类型也分为机械硬盘和SSD(固态硬盘)两种。
从性能和价格的角度,可以对现有几类硬盘进行排序(从高到低),依次是 SAS接口固态硬盘 > SATA固态硬盘 > SAS机械硬盘 > SATA机械硬盘。
如图 7 所示,即从存储容量和 I/O 读取速度的角度,对服务器中各个硬件做了比较。可以看到,硬盘 I/O(读取)性能相比内存差很多,目前解决这个问题的普遍方法是先将大量的数据从硬盘缓存到内存,也就是说写入到缓冲区中,这也是当今互联网网站解决访问速度慢的必备方案。
Raid 称为磁盘冗余阵列,其功能是,当企业的网站(业务)数据量很大,单块盘装不下的时候,若购买多块硬盘存放数据,就需要利用 Raid 技术将所有硬盘整合成一个大硬盘,然后才能在这个大硬盘上分区(划分隔断、虚拟硬盘)存放数据。
但是,硬盘多了势必会有损坏,可数据是不能丢的,针对这种情况,Raid 还具备一个功能,就是多块硬盘放置在一起可以配置冗余(备份),由此可以确保即使若干硬盘有损坏,数据也不会丢失。
总的来说,使用 Raid 卡(阵列卡)具有以下好处:
如果有 Raid 卡,则一般会将硬盘连接到 Raid 卡上,而不是直接插到主板上,Raid 卡最终将插到主板对应的插槽里。不过,在企业真正的重要服务器里,Raid 几乎是不被采用的,请读者注意这点。
有关 Raid 磁盘阵列更详细的讲解,可阅读《Linux RAID(磁盘阵列)完全攻略》一节。
远程管理卡是服务器特有的远程管理部件,在家用电脑及笔记本电脑上是不存在的。它的作用是通过网络远程(异地)开关服务器,并可以查看服务器开关的过程等信息。
举个例子,早期(2010 年以前)的服务器托管在 IDC 机房,如果出现问题,运维人员必须亲自到机房或者请机房中的人管理;但有了管理卡之后,运维人员管理服务器的效率就大大提高了。