目录
- 概述
-
- [1 概念](#1 概念)
-
- [1.1 组成](#1.1 组成)
- [1.2 分类](#1.2 分类)
- [1.3 层次架构](#1.3 层次架构)
- [1.4 其他](#1.4 其他)
- [2 主板组成](#2 主板组成)
- [3 PCIe总线](#3 PCIe总线)
-
- [3.1 服务器主板总线](#3.1 服务器主板总线)
- [3.2 概念](#3.2 概念)
- [3.3 出现原因](#3.3 出现原因)
- [3.4 设计](#3.4 设计)
- [3.5 形式](#3.5 形式)
- [3.6 拓扑结构图](#3.6 拓扑结构图)
- [3.7 应用场景](#3.7 应用场景)
- 参考
本篇记录和梳理服务器方面的知识,目前写的还比较简略,后续会逐步补充。
概述
1 概念
1.1 组成
服务器主要由CPU、内存、硬盘 、RAID卡、网卡组成。
与PC相比,服务器旨在全天候运行,管理、存储、发送和处理数据,需要管理所有的网络资源,并提供普通台式计算机中不常用的各种功能和硬件。
图源:服务器的组成
服务器是专用计算机,硬件会运行一项或多项服务。
服务器自带BMC管理系统用于硬件设备管理,PC一般没有BMC。
注:BMC(基板管理控制器,Baseboard Manager Controller) ,其作用是对系统硬件进行监视和控制("大管家"),涉及到系统的温度、电压、风扇、电源灯,做出相应的调节工作,保证系统处于健康的状态。
包括五项主要功能:monitoring监视状态,recovery复位,logging记录异常或超过阈值的情况,alerting告警,inventory提供清单以帮助快速查找坏件。
将以上功能集成到一个控制器实现,就是BMC。服务器从上电之后,所有的部件都归BMC负责和管理。
BMC是一个独立的系统,运行在服务器上单独的ARM芯片上(即BMC软件的CPU),并且配有自己的RAM、Flash等器件,不依赖与系统上其他的硬件(CPU、内存等)。
注:带外管理和带内管理是什么?
带外 :使用网卡或专用管理口与服务器连接,实现对服务器的远程管理和控制。可以对服务器进行全面的远程控制和管理,可以在任何时间、任何地点对服务器进行管理,适用于远程数据中心、云计算。
带内 :在服务器本身运行的管理软件。可以对服务器进行实时监控和维护,只能在服务器本身运行的操作系统范围内进行管理,对于操作系统故障或者服务器无法正常启动的情况下,无法进行管理 。
通常在X86侧执行的运维管理动作是带内;BMC是脱离X86侧独立运行的服务器管理软件,即为带外管理。
1.2 分类
-
按应用层次 划分
入门级服务器:小型企业、小部门需求。主要用于完成文件、打印服务等
工作组服务器:中型部门等、不复杂的业务,比如没有大型数据库需要管理。
部门级服务器:能够承载中大型数据库、网站等,具有较高的可用性、可靠性、可扩展性、可管理性。
企业级服务器:企业级服务器主要应用于需要处理大量数据,对处理速度和可靠性要求极高的大型企业和重要行业(如金融、交通、通信等行业)。
-
按用途 划分
通用服务器:没有为某种服务专门设计的,可以提供各种服务功能的服务器。
功能服务器(专用服务器):专门为某一种或某几种功能专门设计的服务器,可以实现"即插即用",无需专业人员进行专门的软硬件配置。
-
按体系架构 划分
非X86服务器:包括大型机、小型机和Unix服务器。使用RISC或EPIC处理器
X86服务器:即CISC架构服务器,也就是我们常说的PC服务器。
-
按外形 划分
机架式服务器 :用于安装在标准19英寸宽的机架中的服务器,通常具有扁平且长方形的外形。特点:现阶段销售数量最多,机箱尺寸比较小,机柜可以放多台。
适用于需要高效利用空间的数据中心环境。
其高度的计量方式是U,1U=1.75inch=44.45mm。
塔式服务器 :外观类似于传统的台式计算机,但拥有更强的硬件配置和更高的性能,可以独立放置或堆叠放置。
适合中小企业或者不需要大量服务器的企业使用,特别是在没有专门机房的情况下。
刀片式服务器 :刀片式服务器是一种模块化的服务器架构,其中多个薄型服务器板(称为刀片)被插入到一个机箱中。每个刀片都是一个完整的服务器,包含处理器、内存和网络连接等。
在标准高度的机架式机箱内可插装多个卡式的服务器单元,是一种实现HAHD(High Availability High Density,高可用高密度)的低成本服务器平台,为特殊应用行业和高密度计算环境专门设计。
适用于大型企业和数据中心,尤其是那些对空间和能源消耗有严格要求的应用场景。
注1:ARM架构是什么
ARM架构最初设计用于低功耗、嵌入式系统,如移动电话、平板电脑和嵌入式系统。ARM采用RISC(Reduced Instruction Set Computing,精简指令集)设计哲学,简化指令集,通过执行更少的指令来提高性能。ARM处理器通常采用低功耗设计,适用于移动设备等对功耗要求较高的场景。
ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。
注2:x86和ARM架构的区别①指令集和复杂度:ARM采用RISC设计,指令集相对较小,执行速度更快,但每条指令的功能较为简单;x86采用CISC(Complex Instruction Set Computer,复杂指令系统计算机)设计,指令集较大,每条指令的功能更为丰富,但执行速度相对较慢。
②功耗和散热:ARM处理器采用低功耗设计,适用于便携设备;x86架构更多应用于桌面和服务器系统,功耗较高,需要更多散热措施以稳定运行。
③应用领域:ARM架构在移动设备、嵌入式系统、物联网设备应用广泛;x86架构更多应用于桌面计算、服务器、高性能计算等更高性能和计算场景。
④制造商:ARM架构的许多制造商采用许可模式,允许其他公司基于ARM设计开发自己的处理器核心,也因此可以看到许多不同厂商的ARM处理器;x86架构主要由Intel和AMD等几个大厂商垄断。
注3:国产化架构
1.3 层次架构
① OS、Driver、APP
OS(Operating System,操作系统):对服务器软硬件和数据资源管理调度。OS分为32位和64位,OS位数决定计算机处理器在RAM处理信息的效率,64位比32位可以处理更多内存和应用程序。
Driver驱动程序:驱动程序是一组软件指令,它们允许操作系统能够识别并控制连接到计算机的各种硬件设备。换句话说,驱动程序是特定硬件组件与操作系统之间的接口。

图源(概念很全,可学习):史上最全计算机操作系统详解
② iBMA
以华为为例,华为服务器智能管理系统(Huawei Intelligent Baseboard Management Controller,以下简称iBMC)是面向服务器全生命周期的服务器嵌入式管理系统。提供硬件状态监控、部署、节能、安全等系列管理工具,标准化接口构建服务器管理更加完善的生态系统。
③ BMC
基板管理控制器,前面已经介绍过了。
④ BIOS
BIOS(Basic input/ Output System)
基本输入输出系统,是服务器启动后最先运行的软件。它包括基本输入输出控制程序、上电自检程序、系统启动自举程序、系统设置信息。
BIOS是服务器硬件和OS之间的抽象层,用来设置硬件,为OS运行做准备。BIOS设置程序是储存在BIOS芯片中的。BIOS的进化版本是UEFI(Unified Extensible FirmwareInterface),即统一的可扩展固定接口。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。
⑤ CPU、GPU、硬盘、RAID等
⑥ 硬件:主板等硬件板卡
⑦ 整机:机箱和散热结构
1.4 其他
-
扩展插槽
主板上用于固定扩展卡并连接到系统总线上的插槽,从而增加电脑功能。
-
服务器散热方式
风冷、液冷。通过PUE衡量数据中心散热效率。
-
金手指
不同品牌的服务器拥有不同针脚的金手指,常见的有24pin,64pin等,每一pin都有自己的作用,金手指最大的部分是电流主路输出,还有热插拔启动,其他的金手指就是其他的信号传输。
-
衡量标准
R:Reliability可靠性;A:Availability可用性;S:Scalability可扩展性;U:Usability易用性;M:Manageability可管理性;即服务器的RASUM衡量标准。
2 主板组成
芯片组 (Chipset):这是主板的核心逻辑系统,控制着数据在处理器、内存和其他设备之间的流动。
处理器插槽/插座 (CPU Socket):用于安装服务器的中央处理器(CPU)。根据主板设计的不同,可能有一个或多个CPU插槽来支持多处理器配置。
内存插槽 (RAM Slots):提供位置给随机存取存储器(RAM ),这决定了服务器可以同时处理的数据量和速度。服务器主板通常支持ECC(Error-Correcting Code)内存,以提高数据完整性和系统稳定性。
扩展插槽 (Expansion Slots):如PCIe (Peripheral Component Interconnect Express ,外设组件互连高速总线)插槽,允许添加额外的硬件组件,例如网络卡、RAID控制器等。
存储接口 (Storage Interfaces):包括SATA (Serial Advanced Technology Attachment,串行高级技术附件)、SAS (Serial Attached SCSI)等接口,用于连接硬盘驱动器(HDD )、固态硬盘(SSD )等存储设备。
网络接口卡 (NIC, Network Interface Card):提供服务器与网络之间通信的能力,有些服务器主板内置了多个千兆或万兆网络端口。
USB接口和外部连接端口 :用于连接外部设备,如键盘、鼠标、外部存储设备等。
电源连接器 (Power Connectors):为整个主板及其组件供电的接口。
BIOS/UEFI (Basic Input Output System/Unified Extensible Firmware Interface):负责初始化硬件并启动操作系统。
3 PCIe总线
3.1 服务器主板总线
服务器总线用于在服务器内部各组件之间传输数据的通信路径。
如图所示,服务器中存在多种总线,帮助不同类型的器件实现数据传输。
3.2 概念
PCIe(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准,用于连接主板上的各种外部设备或内部组件,提供高速数据传输路径及相应协议。
其高带宽、低延迟和可扩展性,成为现代计算机系统的核心互联标准。
注1:总线是多个硬件之间的一条电路,就像CPU想找内存沟通的通路。总线的数据传输能力被称为带宽。
注2:PCIe是总线还是协议?答:PCIe总线是符合并运行PCIe协议的数据总线。
3.3 出现原因
主板不同设备使用的总线接口完全不一样,导致主板结构只能对应一个硬件,难以进行扩展和同一,为解决这一问题设计了统一的总线。
随着时代的发展、淘汰与变革, PCI总线一统天下,但由于PCI总线是并行总线设计,传输速度受限;其带宽共享机制,出现强带宽现象,也不支持热插拔。
为解决PCI总线的缺陷,技术升级革新,出现了PCIe总线。
代表着传统并行总线 向高速串行总线发展的时代的到来。
3.4 设计
PCIe采用全双工 的传输设计,即能够在同一时刻同时发送和接收数据。所有数据以数据包为单位进行发送。
注:并行总线中,数据通过多条线路同时传输,每一条线路在同一时间可以传输一个比特数据,因此多个比特(一个字节或更多)能够同时被发送。
串行总线中,数据以数据包形式依次发送,虽然每次只能传输一位数据,但通过较高的时钟频率和复杂的编码技术能够实现较高的传输速率。
数据以比特形式通过物理介质传输,但以"数据包"为单位涉及了更高层次的数据组织和管理,能够确保数据完整性和正确性。

设备A和设备B之间通过双向的Link相连接,每个Link支持1到32个通道(Lane)。
为了兼容之前的PCI总线设备,虽然PCIe是一种串行总线,无法再物理层上兼容PCI总线,但是在软件层上面却是兼容PCI总线的。
3.5 形式
PCIe有两个重要概念:物理接口(插槽)和通道(lane),一个是其物理表现形式,一个是其内部的数据传输机制。
物理接口:是实际安装在主板上的PCIe插槽,用于插入相应的硬件扩展卡(显卡、网卡等)。根据支持的带宽的不同,这些插槽可以有不同的物理尺寸,常见x1、x2、x4、x8、x16规格,数字代表可用lane数量。一个PCIe X16插槽最多可以支持16条lane,适合需要高带宽的应用场景。
当PCIe以接口形式存在的时候,就是如下图所示主板上横着的长槽。
x1、x2、x4、x8、x16的尺寸的最大带宽是不同的,在同一代PCIe总线上,X16的PCIe速度就是X8的两倍,X8就是X4的两倍。
如需要很高的带宽,则采用多个Lane(比如显卡);如果并不需要特别高的带宽,则只需要一个Lane就可以了(比如说网卡等)。
但值得说明的是,如果x16长度的带宽使用的是x4带宽,那么x16长度下x4带宽速度=x4长度下x4带宽速度。
通道:lane是PCIe通信的基本单位,每一条lane由一对差分信号线组成,分别用于发送和接收数据,一个lane可以提供双向的数据传输路径,理论上允许同时进行数据的发送和接收
如下图所示,PCIe采用了差分对进行收发,以提高总线的性能。
注1:M.2接口(M.2固态硬盘的接口)、USB4.0、雷电3、雷电4接口协议都是借助PCIe通道传输数据,虽然与PCIe接口不同,但采用的仍是PCIe通道。
其他接口协议类型的接口,一般都是借助DMI总线去传输数据的。
除此之外,PCIe引入了嵌入式时钟技术,即发送端不再向接收端发送时钟,但是接收端可以通过8b/10b(版本不同编码方式不同)的编码从数据Lane中恢复出时钟。

注:以8b/10b为例,将每8位原始数据编码为10位符号,增加了2位****冗余 实现数据平衡和错误检测。定义特殊字符****k码 ,标识数据包的起始、结束和空闲状态,确保链路同步。
8位数据分为5位和3位两个部分,再被编码为6位和4位,组合成10位。每个lane的10位符号通过差分信号传输,接收端解码后恢复为8位数据。
这样的编码形式通过冗余位和特殊字符实现数据同步、时钟恢复和数据检测。
3.6 拓扑结构图
由于非常高的传输速度 ,PCIe是一种点对点连接的总线,而不像PCI那样的共享总线。
PCIe总线系统可以通过Switch连接多个PCIe设备,也可以通过PCIe桥连接传统的PCI和PCI-X设备。

注:图中Root Complex理解为CPU与PCIe总线系统通信的媒介;Switch实际上包含了多个类似于PCI总线中桥的概念;Endpoint处于PCIe总线系统拓扑结构中的最末端,一般作为总线操作的发起者(initiator,类似于PCI总线中的主机)或者终结者(Completers,类似于PCI总线中的从机);Lagacy PCIe Endpoint是指那些原本准备设计为PCI-X总线接口的设备,但是却被改为PCIe接口的设备。
3.7 应用场景
PCIe作为现代计算系统的核心互联标准,其设计贯穿主板、加速卡、存储、网络 等全领域。
如:主板与核心组件互联 --- CPU与芯片组连接、多CPU互联;
图形处理与加速 --- 独立显卡、GPU加速卡;
高速存储设备 --- NVMe SSD、RAID控制器;
网络与通信设备 --- 高速网卡、FPGA加速卡。
参考
1\] [什么是服务器,服务器与普通电脑有什么区别?](https://cloud.tencent.com/developer/article/1160195) \[2\] [什么是带内管理和带外管理?](https://blog.csdn.net/m0_57032851/article/details/129705907) \[3\] [授人以渔 篇一:硬件科普:PCIe到底是总线还是协议?关于PCIe的一些科普](https://zhuanlan.zhihu.com/p/420873978) \[4\] [PCIe扫盲------PCIe总线基本概念](https://blog.csdn.net/kunkliu/article/details/93993436) \[5\] [PCIe(Peripheral Component Interconnect Express)详解](https://zhuanlan.zhihu.com/p/31916113580) \[6\] [服务器简介(一):服务器定义、服务器特点、服务器分类、服务器软件](https://blog.csdn.net/qq_46254436/article/details/105342533) \[7\] [一文看懂arm架构和x86架构有什么区别](https://blog.csdn.net/Bruce_0712/article/details/109743895) \[8\] [arm架构和x86架构区别](https://developer.aliyun.com/article/1543154) \[9\] [服务器硬件学习-服务器电源和PC电源](https://blog.csdn.net/little_startoo/article/details/134240498)