服务器基础知识科普
本文由"架构师技术联盟"授权转载
服务器分类
按照服务器体系架构,服务器主要分为非x86服务器和x86两类;
非x86服务器包括大型机、小型机和UNIX服务器,它们是使用RISC或EPIC,并且主要采用UNIX和其它专用操作系统;其中RISC处理器主要包括IBM公司的Power和PowerPC处理器,SUN和富士通合作研发的SPARC处理器,EPIC处理器主要是Intel研发的安腾处理器等。
x86服务器又称CISC架构服务器,采用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器。
服务器按照不同分类方法主要分为如下:
CISC:Complex Instruction Set Computing 复杂指令集计算RISC:Reduced Instruction Set Computing 精简指令集计算EPIC:Explicitly Parallel Instruction Computing 显式并行指令运算实际上,服务器的分类没有一个统一的标准,下面从多个纬度来看服务器的分类可以加深我们对各种服务器的认识。
高度计量单位
U为机柜安装空间的高度度量单位,1U = 44.45 mm = 1.75 inch
容量计量单位
一种容量计量单位,通常在标示内存等具有一般容量的储存媒介之储存容量时使用。一般指磁盘空间、文档大小时使用。
速率单位
指在一个数据传送系统中,单位时间内通过设备比特、字符、块等的平均量。一般在描述传输速率或带宽时使用。如果是比特/秒,就用bit/s (kbit/s, Mbit/s) ,如果是字节/秒,就用B/s (kB/s、 MB/s、 KB/s), 小写的k代表1000, 大写的K代表1024。
计算单位和峰值
每秒浮点运算次数(亦称每秒峰值速度)是每秒所执行的浮点运算次数(Floating point Operations Per Second)的简称,被用来估算电脑效能,尤其是在使用到大量浮点运算的科学计算领域中。
服务器主要软件
BIOS(Basic Input/Output System)是服务器上电后最先运行的软件。它包括基本输入输出控制程序、上电自检程序、系统启动自举程序、系统设置信息。BIOS是服务器硬件和OS之间的抽象层,用来设置硬件,为OS运行做准备。 BIOS设置程序是储存在BIOS芯片中的。
UEFI(Unified Extensible Firmware Interface) 下一代BIOS是UEFI, 即统一的可扩展固定接口。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。
CMOS(complementary metal-oxide-semiconductor) 是电脑主机板上一块特殊的RAM芯片,是系统参数存放的地方。CMOS存储器是用来存储BIOS设定后的要保存数据的。
BMC (baseboard management controller)对服务器进行监控和管理。
OS(Operatingsystem)和位数,主要分32bit和64bit操作系统,计算机处理器在RAM(随机存取储存器)处理信息的效率,取决于32位和64位版本。64位版本比32位的可以处理更多的内存和应用程序。简单理解下,64位版本可以处理的物理内存在4GB以上,高达128GB,而32位版本最多可以处理4 GB的内存。因此,如果你在计算机上安装32位版本的Windows,那么安装4GB以上的RAM是没意义的。
服务器的逻辑结构
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。计算机的五大组成部分,最重要的部分是CPU 和内存。CPU 进行判断和计算,内存为CPU 计算提供数据。
缓存
缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。CPU缓存是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。
缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
目前所有主流处理器大都具有一级缓存(level 1 cache,简称 L1 cache)和二级缓存(L2 cache), 少数高端处理器还集成了三级缓存(L3 cache)。
一级缓存可分为一级指令缓存(instruction cache)和一级数据缓存(data cache)。一级指令缓存用于暂时存储并向CPU 递送各类运算指令;一级数据缓存用于暂时存储并向CPU 递送运算所需数据,这就是一级缓存的作用。二级缓存就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些CPU处理时需要用到、一级缓存又无法存储的数据。三级缓存和内存可以看作是二级缓存的缓冲器,它们的容量递增,但单位制造成本却递减。内存(Memory)和存储(Storage)的区别
大多数人常将内存(Memory)与存储空间(Storage)两个名字混为一谈,尤其是在谈到两者的容量的时候。内存(Memory)是指计算机中所安装的随机存取内存的容量,而存储(Storage)是指计算机内硬盘的容量。
内存频率
内存主频和CPU主频一样,习惯上被用来表示内存的速度,它代表着该内存所能达到的最高工作频率。内存主频是以MHz(兆赫)为单位来计量的。内存主频越高在一定程度上代表着内存所能达到的速度越快。内存主频决定着该内存最高能在什么样的频率正常工作。
系统启动方式
启动系统通常有三种方式:冷启动、热启动和复位启动。
冷启动:过程包括上电、全面自检、系统引导及初始化等工作;热启动:和冷启动的区别是不需要重新上电、自检的范围很小;复位启动:和冷启动的区别仅仅在于无须上电。主板南北桥区别
一个主板上最重要的部分可以说就是主板的芯片组了,主板的芯片组一般由北桥芯片和南桥芯片组成,两者共同组成主板的芯片组。
北桥芯片主要负责实现与CPU、内存、AGP接口之间的数据传输,同时还通过特定的数据通道和南桥芯片相连接。北桥芯片的封装模式最初使用BGA封装模式,到Intel的北桥芯片已经转变为FC-PGA封装模式,不过为AMD处理器设计的主板北桥芯片依然还使用传统的BGA封装模式。
南桥芯片相比北桥芯片来讲,南桥芯片主要负责和IDE设备、PCI设备、声音设备、网络设备以及其他的I/O设备的沟通,南桥芯片到目前为止还只能见到传统的BGA封装模式一种。
时间跳变和渐变
NTP client和server的时间同步有两种情况: 时间跳变(time step)和渐变(time slew)。时间跳变是指在client和server间时间偏差(Offset)过大时(默认128ms),瞬间调整client端的系统时间。
时间渐变是指时间差较小时,通过改变client端的时钟频率,进而改变client端中"1秒"的"真实时间",保持client端时间连续性。如果client端比server端慢10s,client端的中每1秒现实时间是1.0005秒,虽然client端的时间仍然是1秒1秒增加的,通过调整每秒的实际时间,直到与server的时间相同。
FC SAN的Zone
Zone是FC SAN特有一种概念,目的用来配置同一个交换机上面不同设备之间的访问权限。同在一个zone里面的设备可以互相访问。Brocade交换机有个Default zone,出厂时候所有交换机端口都在一个default zone里面,默认是不允许互相访问的。可以理解为网络中的VLAN,出厂默认都在VLAN1。
Zone可以根据交换机端口ID(Domain 、Port ID)或者设备WWN来划分。一个Zone里面可以部分设备是交换机端口ID,部分是WWN的混合Zone。Hard Zone和Soft Zone是早期交换机厂商根据对Zone实现方式做的一个分类。通过硬件来实现的叫做Hard Zone,通过软件来实现叫做soft zone;早期一般称基于端口ID的Zone为Hard zone,基于WWN的Zone为Soft Zone。现在这两个类型的Zone都是基于硬件实现。最佳使用WWN来划分Zone,始终遵循Single Initiator原则 。交换机通常把多个Zone纳入一个Zone Set管理,每个交换机可以保留多个Zone Set配置,一次有且只有一个Zone Set配置能够被激活。TPC基准(Benchmark)标准规范
TPC(Transaction Processing Performance Council)是由数10家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。
TPC已经推出了多套Benchmarks,被称为TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时不再使用了。TPC-C是在线事务处理(OLTP)的基准程序,TPC-D是决策支持(Decision Support) 的基准程序。TPC即将推出TPC-E,作为大型企业(Enterprise)信息服务的基准程序。
TPC-C使用三种性能和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是Transactions Per Minute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。
CPU亲和性
处理器亲和性又称处理器关联。通过处理器关联可以将虚拟机或虚拟处理器映射到一个或多个物理处理器上。该技术基于对称多处理机操作系统中的Native Central Queue调度算法。队列(Queue)中的每一个任务(进程或线程)都有一个标签(Tag)来指定它们倾向的处理器。在分配处理器的阶段,每个任务就会分配到它们所倾向的处理器上。
处理器亲和性利用了这样一个事实,就是进程上一次运行后的残余信息会保留在处理器的状态中(也就是指处理器的缓存)。如果下一次仍然将该进程调度到同一个处理器上,就能避免一些不好的情况(比如缓存未命中),使得进程的运行更加高效。
调度算法对于处理器亲和性的支持各不相同。有些调度算法在它认为合适的情况下会允许把一个任务调度到不同的处理器上。比如当两个计算密集型的任务(A和B)同时对一个处理器具有亲和性时,另外一个处理器可能就被闲置了。这种情况下许多调度算法会把任务B调度到第二个处理器上,使得多处理器的利用更加充分。
处理器亲和性能够有效地解决一些高速缓存的问题,但却不能缓解负载均衡的问题。而且,在异构系统中,处理器亲和性问题会变得更加复杂。
简单网络管理协议(SNMP)
SNMPv1/v2/v3/v2c主要用于网络监控和管理。在SNMP模型中,有一或多个管理系统和多个被管理系统。每一个被管理系统上有运行一个代理(Agent)软件通过SNMP向管理系统报告信息。一个SNMP管理的网络由下列三个关键组件组成:
网络管理系统 (NMS): 运行应用程序监视并控制被管理的设备。也称为管理实体(managing entity),网络管理员在这儿与网络设备进行交互。NMS提供网络管理需要的大量运算和记忆资源。一个被管理的网络可能存在一个以上的NMS。被管理的设备(managed device): 一个被管理的设备是一个网络节点,它包含一个存在于被管理的网络中的SNMP代理。被管理的设备通过管理信息库(MIB)收集并存储管理信息,并且让网络管理系统能够通过SNMP代理者获取这项信息。代理(agent): 运行在被管理设备中的网络管理软件。代理控制本机的管理信息,以和SNMP兼容的格式发送这些信息。
0 留言