服务器对每个从事IT工作的人来说并不陌生,但是服务器所涉及的各种知识细节,并非大家都十分清楚,为了让大家深入了解服务器的关键知识点,笔者特意抽时间总结了这篇科普文章,旨在帮助读者全面了解服务器。今天内容就从服务器的架构和分类开始(2018.7.20更新)。
按照服务器体系架构,服务器主要分为非x86服务器和x86两类;非x86服务器包括大型机、小型机和UNIX服务器,它们是使用RISC或EPIC,并且主要采用UNIX和其它专用操作系统,RISC处理器主要包括IBM公司的Power和PowerPC处理器,SUN和富士通合作研发的SPARC处理器。EPIC处理器主要是Intel研发的安腾处理器等。
x86服务器又称CISC架构服务器,采用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器。服务器按照不同分类方法主要分为如下:
实际上,服务器的分类没有一个统一的标准,下面从多个纬度来看服务器的分类可以加深我们对各种服务器的认识。
U为机柜安装空间的高度度量单位,1U=44.45mm=1.75inch
是一种容量计量单位,通常在标示内存等具有一般容量的储存媒介之储存容量时使用。一般指磁盘空间、文档大小时使用。
指在一个数据传送系统中,单位时间内通过设备比特、字符、块等的平均量。一般在描述传输速率或带宽时使用。如果是比特/秒,就用bit/s(kbit/s,Mbit/s),如果是字节/秒,就用B/s(kB/s、MB/s、KB/s),小写的k代表1000,大写的K代表1024。
每秒浮点运算次数(亦称每秒峰值速度)是每秒所执行的浮点运算次数(FloatingpointOperationsPerSecond)的简称,被用来估算电脑效能,尤其是在使用到大量浮点运算的科学计算领域中。
是一个以太网的过程,两个相连的设备选择通用的传输参数,如速度、双工模式和流量控制。在这个过程中,连接的设备首先共享它们的能力(10、100、1000BASE-T),然后选择它们都支持的最高性能传输模式。在OSI模型中,对于以太网,在IEEE802.3对其做了定义。
BIOS(BasicInput/OutputSystem)是服务器上电后最先运行的软件。它包括基本输入输出控制程序、上电自检程序、系统启动自举程序、系统设置信息。BIOS是服务器硬件和OS之间的抽象层,用来设置硬件,为OS运行做准备。BIOS设置程序是储存在BIOS芯片中的。
UEFI(UnifiedExtensibleFirmwareInterface)下一代BIOS是UEFI,即统一的可扩展固定接口。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。
CMOS(complementarymetal-oxide-semiconductor)是电脑主机板上一块特殊的RAM芯片,是系统参数存放的地方。CMOS存储器是用来存储BIOS设定后的要保存数据的。
BMC(baseboardmanagementcontroller)对服务器进行监控和管理。
OS(Operatingsystem)和位数,主要分32bit和64bit操作系统,计算机处理器在RAM(随机存取储存器)处理信息的效率,取决于32位和64位版本。64位版本比32位的可以处理更多的内存和应用程序。
简单理解下,64位版本可以处理的物理内存在4GB以上,高达128GB,而32位版本最多可以处理4GB的内存。因此,如果你在计算机上安装32位版本的Windows,那么安装4GB以上的RAM是没意义的。
ATCA(AdvancedTelecomComputingArchitecture)国际标准,ATCA脱胎于在电信、航天、工业控制、医疗器械、智能交通、军事装备等领域应用广泛的新一代主流工业计算技术:CompactPCI标准。是为下一代融合通信及数据网络应用提供的一个高性价比的,基于模块化结构的、兼容的、并可扩展的硬件构架。
ATCA由一系列规范组成,包括定义了结构、电源、散热、互联与系统管理的核心规范PICMG3.0以及定义了点对点互联协议的5个辅助规范组成(以太和光纤传输、InfiniBand传输、星形传输、PCI-Express传输和RapidIO传输)。
OSCA(OpenServiceConvergedArchitecture)开放服务汇聚架构,是华为基于ATCA标准自研的服务器平台
OSTA(OpenStandardsTelecomArchitecture)是由华为技术公司生产的强大的服务处理平台。它由处理器子系统、交换网络子系统、机电子系统和设备管理子系统组成。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。计算机的五大组成部分,最重要的部分是CPU和内存。CPU进行判断和计算,内存为CPU计算提供数据。
缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。CPU缓存是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。
缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
目前所有主流处理器大都具有一级缓存(level1cache,简称L1cache)和二级缓存(L2cache),少数高端处理器还集成了三级缓存(L3cache)。
内存(Memory)和存储(Storage)的区别
大多数人常将内存(Memory)与储存空间(Storage)两个名字混为一谈,尤其是在谈到两者的容量的时候。内存(Memory)是指计算机中所安装的随机存取内存的容量,而储存(Storage)是指计算机内硬盘的容量。
为了避免混淆,我们将计算机比喻为一个有办公桌与档案柜的办公室。档案柜代表计算机中提供储存所有所需档案及资料的硬盘,工作时将需要的档案从档案柜中取出并放到办公桌上以方便取得,办公桌就像保持资料及数据取用方便的内存。
内存主频和CPU主频一样,习惯上被用来表示内存的速度,它代表着该内存所能达到的最高工作频率。内存主频是以MHz(兆赫)为单位来计量的。内存主频越高在一定程度上代表着内存所能达到的速度越快。内存主频决定着该内存最高能在什么样的频率正常工作。
启动系统通常有三种方式:冷启动、热启动和复位启动。
一个主板上最重要的部分可以说就是主板的芯片组了,主板的芯片组一般由北桥芯片和南桥芯片组成,两者共同组成主板的芯片组。
北桥芯片主要负责实现与CPU、内存、AGP接口之间的数据传输,同时还通过特定的数据通道和南桥芯片相连接。北桥芯片的封装模式最初使用BGA封装模式,到Intel的北桥芯片已经转变为FC-PGA封装模式,不过为AMD处理器设计的主板北桥芯片依然还使用传统的BGA封装模式。
南桥芯片相比北桥芯片来讲,南桥芯片主要负责和IDE设备、PCI设备、声音设备、网络设备以及其他的I/O设备的沟通,南桥芯片到目前为止还只能见到传统的BGA封装模式一种。
交换:完成信号由设备入口到出口的转发。只要是和符合该定义的所有设备都可被称为交换设备。
二层交换机工作在数据链路层。二层交换机就是普通的交换,把数据以帧的形式发送出去。三层交换机工作在网络层。三层交换机既可以作交换机又可以做路由器。
路由:是把信息从源穿过网络传递到目的地的行为,在路上,至少遇到一个中间节点。它们的主要区别在于桥接发生在OSI参考协议的第二层(链接层),而路由发生在第三层(网络层)。这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。
级联和堆叠是多台交换机或集线器连接在一起的两种方式。它们的主要目的是增加端口密度,主要区别:
级联是上下关系(总线型、树型或星型的级联),堆叠是平等关系(堆叠中多台交换机作为一个整体对外体现为一台逻辑设备)。
堆叠组建时会选举出一台交换机做为主交换机(Master),剩下的交换机称为从交换机(Slave)。主交换机是整个堆叠系统中的控制中心。堆叠中每一台交换机都同时具备成为主交换机或者从交换机的能力。
NTPclient和server的时间同步有两种情况:时间跳变(timestep)和渐变(timeslew)。时间跳变是指在client和server间时间偏差(Offset)过大时(默认128ms),瞬间调整client端的系统时间。
时间渐变是指时间差较小时,通过改变client端的时钟频率,进而改变client端中"1秒"的"真实时间",保持client端时间连续性。如果client端比server端慢10s,client端的中每1秒现实时间是1.0005秒,虽然client端的时间仍然是1秒1秒增加的,通过调整每秒的实际时间,直到与server的时间相同。
Zone是FCSAN特有一种概念,目的用来配置同一个交换机上面不同设备之间的访问权限。同在一个zone里面的设备可以互相访问。Brocade交换机有个Defaultzone,出厂时候所有交换机端口都在一个defaultzone里面,默认是不允许互相访问的。
TPC(TransactionProcessingPerformanceCouncil)是由数10家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。
TPC已经推出了多套Benchmarks,被称为TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时不再使用了。TPC-C是在线事务处理(OLTP)的基准程序,TPC-D是决策支持(DecisionSupport)的基准程序。TPC即将推出TPC-E,作为大型企业(Enterprise)信息服务的基准程序。
TPC-C使用三种性能和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是TransactionsPerMinute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。
处理器亲和性又称处理器关联。通过处理器关联可以将虚拟机或虚拟处理器映射到一个或多个物理处理器上。该技术基于对称多处理机操作系统中的NativeCentralQueue调度算法。队列(Queue)中的每一个任务(进程或线程)都有一个标签(Tag)来指定它们倾向的处理器。在分配处理器的阶段,每个任务就会分配到它们所倾向的处理器上。
处理器亲和性利用了这样一个事实,就是进程上一次运行后的残余信息会保留在处理器的状态中(也就是指处理器的缓存)。如果下一次仍然将该进程调度到同一个处理器上,就能避免一些不好的情况(比如缓存未命中),使得进程的运行更加高效。
调度算法对于处理器亲和性的支持各不相同。有些调度算法在它认为合适的情况下会允许把一个任务调度到不同的处理器上。比如当两个计算密集型的任务(A和B)同时对一个处理器具有亲和性时,另外一个处理器可能就被闲置了。这种情况下许多调度算法会把任务B调度到第二个处理器上,使得多处理器的利用更加充分。
处理器亲和性能够有效地解决一些高速缓存的问题,但却不能缓解负载均衡的问题。而且,在异构系统中,处理器亲和性问题会变得更加复杂。
SNMPv1/v2/v3/v2c主要用于网络监控和管理。在SNMP模型中,有一或多个管理系统和多个被管理系统。每一个被管理系统上有运行一个代理(Agent)软件通过SNMP向管理系统报告信息。一个SNMP管理的网络由下列三个关键组件组成: