一名架构师,懂点硬件知识不过分吧?

news/2024/11/23 2:43:47/

大家好,我是飘渺。

很多架构师都是从软件开发成长起来的,大家在软件领域都有很深的造诣,大部分人对硬件接触的很少。而成为架构师后需要频繁的跟人 、硬件 、软件 、网络打交道,

本篇文章就给大家带来服务器硬件方面的相关知识,主要包括服务器、CPU、内存、磁盘、网卡。当然如果此文对你有所帮助,请点击下方卡片给我加个关注哟。

服务器

根据服务器的外形和使用场景我们将服务器分为以下四种:

  • 塔式服务器

    cb3f87f10a6dcbde050e2959cdc08348.png塔式服务器类似于台式机,主要适用于没有机房机架的公司,一般存放于中小办公环境。

  • 机架式服务器ba75debc6017a23cccaaa1c737857a70.png机架式服务器需要放置在标准机柜中,多存放于数据中心。

  • 刀片服务器

    95086eaf760c073a080c1c1c91ef70b3.png刀片服务器为了提供更高的密度,它比机架式服务器更节省空间,同时,散热问题也更突出,往往要在机箱内装上大型强力风扇来散热,一般应用于大型的数据中心或者需要大规模计算的领域。

  • 高密度服务器

f17b3d4cbe5fe108a447ba885af84742.png高密度服务器是为了实现更高的空间利用率。

主板架构

服务器的机箱只是外壳,核心架构还是主板。

edc675ea61cbecc277cb9dfce5272343.png

这个图是Intel典型的主板芯片组架构:

服务器的主板有个统一的中央芯片组(Intel C600),芯片组可以连接多个CPU(E5-2400/2600),CPU之间通过QPI快速通道进行连接,CPU与内存插槽,PCIE插槽之间连接,芯片组还与低速的外设进行连接(USB、网卡、SATA等)。

服务器选型考虑因素

做服务选型主要基于以下几个方面:

  • 限制条件:操作系统OS、客户喜好及预算、应用系统的编程语言

  • 部署规模:如果规模较大,需要考虑空间占用问题,可考虑刀片或高密度服务器

  • 扩展性:内存数量、磁盘数量、PCI插槽数量

  • 稳定性

    • OS:UNIX > Linux > Windows

    • 硬件:小型机 > x86服务器

  • 物理机、虚拟机、容器

    • 计算特点的考虑:是要将一个大的计算能力进行分割,灵活分配,还是有一个很大的课题要用多台机器联合计算

    • IO特点的考虑:吞吐率与IOPS多大?虚拟机能否承受?

服务器厂商

  • 国内的服务器厂商主要有:曙光、华为、浪潮、H3C、联想、长城等

  • 国外的服务器厂商主要有:Dell、HP、IBM

CPU

CPU作为服务器的核心固件,我们主要通过以下几个概念来了解:

  • Socket Socket俗称多少路,就是一个服务器主板上可以安装几个物理CPU

  • Core 一个物理CPU实际可以有几个内核(Core),比如我们经常听到的32核64核、128核等等

  • 超线程 如果一个内核可以同时运行2个线程我们就称这个CPU具有超线程能力,反之则不具备超线程能力

  • 频率 也叫主频,这个越高越好

  • 内存通道 每个CPU能支撑的最大内存数,Intel最新的能支持6个

  • 内存带宽、内存规格 CPU支持什么规格的内存,支持的频率范围是多少

以上的这些概念数据可以通过CPU的产品规格书中进行详细了解。在服务器上可以通过 lscpu 命令查看cpu信息

e7eeff5719f312e8c05eebbe093b7b87.png

上图服务器CPU显示有72个,是因为有2个Socket,每个Socket有18核而每核可以同时运行2个线程,通过 2 x 18 x 2 = 72 得到。

厂商

  • 国外的CPU厂商主要有:Intel、AMD

  • 国内的CPU厂商主要有:龙芯、兆芯、飞腾、海光、申威、华为等

主流产品介绍

Intel系列

Intel现在主推的是“Intel至强可扩展”系列,在这个系列下又分为四档:铂金、金、银、铜,每档下面又有不同的型号

555ed0732c2237bf0cf805999de3eb77.png

AMD系列

AMD系列主要用到的是霄龙系列,霄龙系列CPU核数很高,下面我们看看几款具体的产品

型号CPU核心数线程数量最大加速时钟频率基准时钟频率默认TDP/TDP
霄龙774264128高达3.4GHZ2.25GHZ225W
霄龙770264128高达3.35GHZ2GHZ200W
霄龙7702P64128高达3.4GHZ2GHZ200W
霄龙76424896高达3.35GHZ2.3GHZ225W
霄龙75524896高达3.3GHZ2.2GHZ200W
霄龙75423264高达3.4GHZ2.9GHZ225W

华为鲲鹏系列

鲲鹏916(低功耗级)

  • 32核/2.4GHz/16nm/75W

  • 4通道DDR4控制器

  • PCIe 3.0 ,10GE

  • 支持2路互联

鲲鹏920-3326/4826(极致效能型)

  • 32/48核/2.6GHz/7nm/120/150W

  • 8通道DDR4控制器

  • PCIe 4.0 ,100GE,CCIX

  • 支持2/4路互联

鲲鹏920-3326/4826(极致性能级)

  • 64核/2.6GHz/7nm/180W

  • 8通道DDR4控制器

  • PCIe 4.0 ,100GE,CCIX

  • 支持2/4路互联

主流CPU型号性能横向对比

02136292da3109ccd70511c83cdf43ab.png

通过上图大家可以看到国产CPU与国外CPU之间的差距,性能基本只有Intel中档CPU性能的一半左右,国产CPU还有很长的路要走。

NUMA

NUMA 即 Non-Uiform Memory Access(非一致性内存访问),结合我们之前讲述的主板架构,两颗CPU之间有一个通道,每个CPU与各自的内存通道进行直连,可以通过下图直观看出。

75900476a9612cf6c061e768fa7f042d.png

CPU0 访问 左边的内存通道速度很快,CPU1访问右边的内存通道也很快,当CPU1要访问左边的内存通道必须要借助CPU0的帮忙,需要先通过QPI总线找到CPU0,再来访问左边的内存通道,这就产生了额外的开销,访问左边内存通道的开销相当于直连访问右边通道开销的3倍。

所以对于计算密集型任务我们需要尽量避免这种跨CPU的内存访问,这就是NUMA的问题,非一致性指的是访问本地和跨CPU访问的代价差别不一致

我们可以通过指令 numactl -s 查看numa的信息

a2838920436200a71cf98c85624d5447.png

可以使用指令numactl --cpunodebind=0 --membind=0 command 指定进程使用的numa节点和内存

如上就是让 command 指令只使用cpu0 ,和内存0,这就使得进程指令在运行的时候使用的CPU和内存在同一侧,达到计算性能速度最大化的效果。

内存

内存大家平时工作中接触的都比较多,对于内存我们主要通过以下几个方面来了解:

  • 内存规格 DDR3、DDR4,目前主流已经是DDR4

  • 内存大小 2G、4G、8G、16G、32G

  • 内存频率 1333MHz, 1600MHz, 1866MHz、2133MHz, 2400MHz , 2666MHz

  • 带宽 即CPU对内存实际读写数据的速度,DDR4 2400内存的带宽为30GB/s左右

  • 通道 一个CPU可以连接多个内存,CPU上的内存通道数指的是CPU能并发访问直连多少个内存。4通道表示CPU可以同时访问与之直连的4根内存,这样就能达到带宽翻四倍的效果。在4通道模式下读取1G的数据进内存,最终数据会分布在4根内存上而不是一根内存,这就实现了速度的翻4倍;每颗CPU对自己的内存控制器直连的内存访问速度较快,要访问另一颗CPU连接的内存时,需要通过QPI总线,开销为本地内存的3倍。

了解内存信息

主要通过以下三个命令全面了解内存信息

  • 我们可以通过 dmidecode -t memory | more 指令查看内存信息,效果如下:

76ccc30000eb539f2a1de297d8980ee7.png
  • 可以使用 dmidecode -t memory | grep Size 指令查看内存大小并判断内存是否正常工作

8c53440ed06d74b986341580d74d3a30.png

将内存插入主板时一般需要对称插入,通过上图我们可以看到下面有根内存不工作(非对称)。

  • 可以通过 free 指令查看内存容量

17e81f8ea0971699892a6d9a08995cc4.png

系统剩余内存 available 是我们最关心的一个值,不要被free列唬住了。

磁盘

对于磁盘我们主要通过吞吐率和IOPS两个指标来对其衡量

吞吐率/吞吐量:单位时间内读写的数据量

  • 机械硬盘:约100MB/s – 200MB/s;

  • 普通固态硬盘:200MB/s - 500MB/s;

  • PCIE固态硬盘(直连CPU):900MB/s - 3GB/s

IOPS:每秒IO操作的次数

  • 机械硬盘:100-200

  • 普通固态硬盘:30000-50000

  • PCIE固态硬盘(直连CPU):数十万

为什么很多性能比较慢的服务在软件层面进行优化收益很小,而更换一块固态硬盘就能解决所有问题,问题就在这里。

普通固态硬盘的吞吐率大概为机械硬盘的2~3倍,而IOPS确达到了机械硬盘的250~300倍。

IOPS和数据吞吐量适用于不同的场合:

在随机读写频繁的应用中,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。

对于大量顺序读写的应用,则更关注吞吐量指标。

读取10000个1KB文件,用时10秒  Throught(吞吐量)=1MB/s ,IOPS=1000  追求IOPS 读取1个10MB文件,用时0.2秒  Throught(吞吐量)=50MB/s, IOPS=5  追求吞吐量

网卡

网卡,又称网络适配器或网络接口卡,英文名为Network Interface Card。在网络中,如果有一台计算机没有网卡,那么这台计算机将不能和其他计算机通信,它将得不到服务器所提供的任何服务了。当然如果没有网卡,就称不上服务器了,所以说网卡是服务器必备的设备,就像普通PC(个人电脑)要配处理器一样。

我们也可以也通过以下几个维度来了解下网卡:

网卡速度规格100M、1G、10G、25G

网卡接口类型RJ45(电、短距离)、光纤(光、长距离)

网卡绑定模式

多网卡绑定一方面能够提高网络吞吐量,另一方面也可以增强网络高可用。从软件的角度来看,多网卡绑定实际上只需要提供一个额外的bond驱动程序即可,通过该虚拟网卡驱动程序可以将实际多块网卡屏蔽,对TCP/IP协议层而言只存在一个Bond网卡。Linux主要有7种绑定模式:

  • broadcast (广播策略:data is transmitted over all ports)
    这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去。当有对端交换机失效,我们感觉不到任何丢包。

  • round-robin (轮询策略:data is transmitted over all ports in turn)
    该模式下,链路处于负载均衡状态,数据以轮询方式向每条链路发送报文,基于per packet方式发送。即每条链路各一个数据包,这模式好处在于增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。

  • active-backup (主备策略:one port or link is used while others are kept as a backup)
    在该模式下,一个端口处于主状态,一个处于备状态,所有流量都在主链路上发出和接收,备链路不会有任何流量。当主端口down掉时,备端口接管主状态。

  • loadbalance (适配器传输负载均衡:with active Tx load balancing and BPF-based Tx portselectors)
    在该模式下,通过源和目标mac做hash因子来做xor算法来选择链路,这样就使得到达特定对端的流量总是从同一个接口上发出。

  • lacp (动态链路聚合:implements the 802.3ad Link Aggregation Control Protocol)
    在该模式下,操作系统和交换机都会创建一个聚合组,在同一聚合组下的网口共享同样的速率和双工设定。


最后说一句(别白嫖,求关注)

新开了一个纯技术交流群(一群已满),群里氛围还不错,无广告,无套路,单纯的吹牛逼,侃人生,想进的可以通过下方二维码加我微信,备注进群!

89ef0a74c4de7be0ebc6d0c9f1c1a340.png


http://www.ppmy.cn/news/364687.html

相关文章

物理真机上LUKS结合TPM的测试 —— 使用自己生成的密钥(问题版)

1. 创建磁盘空间 命令如下: dd if/dev/zero ofenc.disk bs1M count50 实际命令及结果如下: $ dd if/dev/zero ofenc.disk bs1M count50 输入了 500 块记录 输出了 500 块记录 52428800 字节 (52 MB, 50 MiB) 已复制,0.0598319 s&#xff…

TPM 2.0实例探索3 —— LUKS磁盘加密(5)

接前文:TPM 2.0实例探索3 —— LUKS磁盘加密(4) 本文大部分内容参考: Code Sample: Protecting secret data and keys using Intel Platform... 二、LUKS磁盘加密实例 4. 将密码存储于TPM的PCR 现在将TPM非易失性存储器中保护…

物理真机上LUKS结合TPM的测试 —— 使用自己生成的密钥(正确版)

本文与前一篇文章物理真机上LUKS结合TPM的测试 —— 使用自己生成的密钥(问题版)相对应。 1. 创建磁盘空间 命令如下: dd if/dev/zero ofenc.disk bs1M count50 实际命令及结果如下: $ dd if/dev/zero ofenc.disk bs1M count5…

中兴c600 10GPON 三方兼容 数据配置

username:zte password:zte /EPON宽带配置**/ ZXAN#con t Enter configuration commands, one per line. End with CTRL/Z. ZXAN(config)# //配置ONU模版--------------- ZXAN(config)#pon ZXAN(config-pon)#onu-type TDTC-201E epon speed 10g-asymmetric description…

C600 业务配置(包含tr069 / voip配置)

一种快速注册方式(找一个已配置好的设备,进入onu 模式下,直接替换当前的sn) ZXAN(config-if-gpon_olt-1/1/3)#show pon onu un ZXAN(config)#int gpon_onu-1/1/3:10 ZXAN(config-if-gpon_onu-1/1/3:10)#auth-id sn CMDCD52246E…

第七章实验

三个整数排序 一、实验目的 掌握指针的概念,会定义并使用指针变量。学会使用数组的指针和指向数组的指针变量。学会使用字符串的指针和指向字符串的指针变量。学会使用指向函数的指针变量。 二、实验内容 1、输入三个整数,用指针实现从大到小排序 &…

Intel C220/C600 RAID 在硬盘上的数据结构-纯干货

Intel C220/C600 RAID 在硬盘上的数据结构-纯干货 以4盘6TB 组建的RAID 5为例阵列扇区在磁盘上的分布结构一些计算方法 以4盘6TB 组建的RAID 5为例 因为自己的4盘阵列坏了,数据恢复需要,就简单研究了一下磁盘阵列写在磁盘上的数据结构。 基础信息如下&a…

全志F1C600 sqlite3嵌入式移植安装全过程

https://blog.csdn.net/nanfeibuyi/article/details/88034543 https://blog.csdn.net/H542723151/article/details/100568182 https://www.cnblogs.com/wangkangluo1/archive/2012/05/27/2520465.html https://www.ibm.com/developerworks/cn/linux/l-makefile/ 全志F1C600板子…