服务器基本概念
服务器的前世今生
计算机分为64位和32位,64位为主流的计算方式,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。
服务器发展史:
大型机 | 小型机 | X86服务器(工业标准服务器) |
专用的指令集、操作系统和软件(维护麻烦) | 高可靠 | 高性价比、开放的硬件平台和软件平台 |
IBM | IBM(Power系列)、SUN、HPE(Superdome系列) | Windows、Linux |
主要用于银行等大型企业的核心系统上面 | 中大型企业的核心系统 | Intel的至强系列CPU |
未来的发展方向可能是ARM架构的处理器(众核处理器、低功耗)
服务器体系架构
完整的服务器系统构成:
Windows | Windows server 2008 Windows server 2008 R2 Windows server 2012 Windows server 2016 Windows 7 Windows 8 Windows 10 |
Linux | Redhat |
虚拟化 | H3C CAS |
APP | 数据库(Oracle、MySQL) |
服务器硬件的系统结构:
从体系结构看,商用服务器大体可以分为三类,即CPU三大架构:
① 对称多处理器结构(SMP:Symmetric Multi-Processor),5年前的主流架构,现在已经不实用
所有的CPU共享全部资源,如总线,内存和I/O系统等,操作系统或管理数据库的复本只有一个,这种系统有一个最大的特点就是共享所有资源。多个CPU之间没有区别,平等地访问内存、外设、一个操作系统。操作系统管理着一个队列,每个处理器依次处理队列中的进程。如果两个处理器同时请求访问一个资源(例如同一段内存地址),由硬件、软件的锁机制去解决资源争用问题。
SMP服务器的主要特征是共享,系统中所有资源(CPU、内存、I/O等)都是共享的。也正是由于这种特征,导致了SMP服务器的主要问题,那就是它的扩展能力非常有限。对于SMP服务器而言,每一个共享的环节都可能造成SMP服务器扩展时的瓶颈,而最受限制的则是内存。由于每个CPU必须通过相同的内存总线访问相同的内存资源,因此随着CPU数量的增加,内存访问冲突将迅速增加,最终会造成CPU资源的浪费,使CPU性能的有效性大大降低。实验证明,SMP服务器CPU利用率最好的情况是2至4个CPU。
② 非一致存储访问结构(NUMA:Non-Uniform Memory Access),目前主流的架构
NUMA服务器的基本特征是具有多个CPU模块,每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块(如称为Crossbar Switch) 进行连接和信息交互,因此每个CPU可以访问整个系统的内存 (这是NUMA系统与MPP系统的重要差别)。显然,访问本地内存的速度将远远高于访问远地内存(系统内其它节点的内存)的速度,这也是非一致存储访问NUMA的由来。由于这个特点,为了更好地发挥系统性能,开发应用程序时需要尽量减少不同CPU模块之间的信息交互。
利用NUMA技术,可以较好地解决原来SMP系统的扩展问题,在一个物理服务器内可以支持上百个CPU。比较典型的NUMA服务器的例子包括HP的Superdome、SUN的15K、IBM的p690等。
但NUMA技术同样有一定缺陷,由于访问远地内存的延时远远超过本地内存,因此当CPU数量增加时,系统性能无法线性增加。如HP公司发布Superdome服务器时,曾公布了它与HP其它UNIX服务器的相对性能值,结果发现,64路CPU的Superdome(NUMA结构)的相对性能值是20,而8路N4000(共享的SMP结构)的相对性能值是6.3。从这个结果可以看到,8倍数量的CPU换来的只是3倍性能的提升。
③ 海量并行处理结构(MPP:Massive Parallel Processing),在多个服务器之间共享内存的集群架构
和NUMA不同,MPP提供了另外一种进行系统扩展的方式,它由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。其基本特征是由多个SMP服务器(每个SMP服务器称节点)通过节点互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种完全无共享(Share Nothing)结构,因而扩展能力最好,理论上其扩展无限制,目前的技术可实现512个节点互联,数千个CPU。 目前业界对节点互联网络暂无标准,如NCR的Bynet,IBM的SPSwitch,它们都采用了不同的内部实现机制。但节点互联网仅供MPP服务器内部使用,对用户而言是透明的。
在MPP系统中,每个SMP节点也可以运行自己的操作系统、数据库等。但和NUMA不同的是,它不存在异地内存访问的问题。换言之,每个节点内的CPU不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为数据重分配(Data Redistribution) 。
但是MPP服务器需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程。目前一些基于MPP技术的服务器往往通过系统级软件(如数据库)来屏蔽这种复杂性。举例来说,NCR的Teradata就是基于MPP技术的一个关系数据库软件,基于此数据库来开发应用时,不管后台服务器由多少个节点组成,开发人员所面对的都是同一个数据库系统,而不需要考虑如何调度其中某几个节点的负载。
MPP(Massively Parallel Processing),大规模并行处理系统,这样的系统是由许多松耦合的处理单元组成的,要注意的是这里指的是处理单元而不是处理器。每个单元内的CPU都有自己私有的资源,如总线,内存,硬盘等。在每个单元内都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源。
组成服务器的子系统:
- 系统结构:系统主板、互联结构、芯片组(Intel已经将北桥集成到了CPU内部,包括内存控制器和PCIE总线控制器,现在的芯片组只有南桥网络、USB等外设设备)、I/O结构
- 核心组件:处理器、内存、存储组件、多功能网卡
- 外围辅助:电源、散热、管理、机械相关
服务器系统架构:
处理器:
- 常见处理器:
① X86处理器(Intel的Xeon、AMD的霄龙)
② 安腾处理器(Intel的芯片用在小型机上)
③ Power处理器(IBM的芯片用在小型机上)
④ Sparc(小型机) - 常见分类:
① RISC精简指令集(小型机)
② CISC复杂指令集(X86服务器和笔记本) - 决定CPU性能的指标(服务器CPU关注点):
① 核数(内核的数量决定了可以同时并行运行的线程数)
② 主频(主频会对实时延迟要求低敏感性的业务产生影响,如数据库业务)
③ 缓存UPI/QPI(CPU的缓存可以在一定程度上提升计算能力)
④ 功耗(同指标的CPU低功耗会比高功耗的价格更高,CPU会占到服务器整个功耗的70%-80%之间)
2S系统架构(2路服务器):
4S典型架构(4路服务器):
8S典型架构(8路服务器):现在所支持的最高的CPU数量的架构(2路和4路服务器的CPU性能利用率最好,8路的服务器的CPU性能会有所下降)
服务器内存的关注点:
- 容量、频率、条数:容量一般是4/8/16/32/128G的容量,内存频率会和处理器相关(v4系列采用的是2400的内存,新的GEN10和G3上采用的是2666的内存,频率会更高),V4服务器上每个CPU会有4个内存通道(原则上每个通道插上2根内存条性能会更好,以380为例有2颗CPU,每个CPU有8根内存,插满16根内存条的时候性能会达到极致,GEN10的单CPU的内存通道会变成6个)
- 容错、ECC、镜像:ECC是“Error Correcting Code”的简写,ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,可提高计算机运行的稳定性和增加可靠性。(但是开启ECC功能会在一定程度上消耗服务器的性能)
- 功耗:内存条数的增加会导致内存的功耗也会随着增加
PCI Express串行总线系统:
- 串行连接:
① 位串行、双单工、点对点连接
② 减少了引线数量
③ 更高的频率 - PCI Express规格:目前用到的是PCIe3.0标准
GEN1:2.5GB/s
GEN2:5GB/s
GEN3:4通道达到8GB/s(用于网卡和阵列卡),16X达到32GB/s(用于GPU显卡)
PCIe链路的带宽:
服务器存储的SATA/SAS/NVMe和FC:
① 内部存储:SATA(SATA接口用于大容量HDD和标准的SSD)、SAS(企业级SAS接口的SSD)、NVMe(将SSD直接连接在PCIe通道上)和SD卡
② 外部存储:NAS、iSCSI(IP SAN)、FC/FCoE(FC SAN)
服务器硬盘的关注点:
① 类型:HDD(1.2T/2.4T)和SSD(240G/300G/480G/600G)
② 容量:GB和TB
③ 接口:SATA/SAS/NVMe/M.2(M.2是一个接口形式支持SATA/NVMe两种协议)
④ 尺寸:2.5"和3.5"
SSD硬盘的类型划分:
高性能、高可靠、低延迟、低能耗
写类型的SSD要贵于读类型的SSD,针对不同的场景选择不同类型的硬盘
*DWPD=5年内每天全部硬盘容量的写入次数,随机4KB,100%写入
存储相关的HBA卡:
SAS HBA:直通卡,主要是直连硬盘不做raid,做raid性能会非常差,HPE的品牌下面只有PMC的卡,H3C品牌下面PMC和LSI都支持(SAS HBA卡对外提供SAS接口用于设备之间互联)
FC HBA:用于连接存储
阵列卡:用于做raid提升硬盘性能保护数据安全服务器互联:
铜缆支持1/10G、光纤支持25/40/100G
HPC:高性能计算(High Performance Computing)机群电源:
240V是以电信的机房为主,380V是以移动的机房为主,电源转换效率白金的是94%,钛金的是96%服务器远程管理:
- 带内管理:通过生产网络进行管理,用的是业务口(利用业务口的网口来远程登入HDM界面属于带内管理,带内管理会影响到主机的运行,而且当主机系统出现故障的时候带内管理会失效)
- 带外管理:独立的系统进行管理,用的是单独的口(HPE的ilo口、H3C的hdm口都属于带外管理,是一个独立的小系统,不需要使用主机的CPU和内存)
- 管理工具:GUI(图形化管理界面)、IPMI(智能平台管理接口)、SNMP协议(网络管理协议)以及各种接口
机柜和电源基础设施:
现代数据中心
数据中心的组成:
服务器的主要形态: