第2章 云平台运维
2.1 服务器
Q18.x86和ARM的区别是什么?
一、指令集
x86采用复杂指令集(Complex Instruction Set Computer,CISC)。CISC处理的是不等长指令集,其必须对不等长指令进行分割。因此,CISC 在执行单一指令的时候需要进行较多的处理工作,并且存在很多机器指令,这就使得硬件逻辑很复杂,晶体管数量庞大。为了高效地进行运算,x86 有较长的流水线,以达到指令级并行(Instruction-Level Parallelism,ILP)。
ARM采用精简指令集(Reduced Instruction Set Computer,RISC)。RISC执行的是等长精简指令集,CPU 在执行指令的时候速度较快,并且性能稳定。其以少量指令集就可以简化硬件逻辑的设计,可以减少晶体管数量、降低功耗。
二、工艺
ARM和x86的一大区别是:ARM从来只设计低功耗处理器,如高通骁龙、华为海思等;x86 的强项是设计超高性能的台式计算机、便携式计算机、服务器处理器,如Intel的至强、AMD的霄龙等。
三、计算
对于64位计算,ARM和Intel也有一些显著区别。Intel并没有开发64位版本x86指令集。64位版本x86指令集的名称为x86-64(有时简称为“x64”),其实际上是 AMD 设计开发的,就是 AMD64。它是 64 位版本的 x86 处理器的标准。Intel当前给出的移动方案,就采用了AMD开发的64位指令集的64位处理器。
在 ARM 的 big.LITTLE 架构中,处理器的类型可以是不同的。ARM 通过big.LITTLE 架构向移动设备推出了异构计算。这意味着,处理器中的核可以有不同的性能和功耗。采用 big.LITTLE 架构的处理器可以同时拥有 Cortex-A53 核(顺序执行)和 Cortex-A57 核(乱序执行)。设备在正常运行时,使用低功耗的核;而设备在运行一款复杂的游戏时,使用高性能的核。
四、操作系统的兼容性
x86架构由微软的Windows、Intel构建的Wintel联盟形成巨大的用户群。同时,x86 在硬件和软件开发方面已经形成统一的标准,几乎所有 x86 硬件平台都可以直接使用微软的视窗系统,以及现在流行的几乎所有工具软件,所以x86在兼容性方面具有无可比拟的优势。
ARM 架构几乎都采用 Linux 操作系统,而且几乎所有硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能很方便地移植。这一点严重制约了ARM的发展和应用。
五、产品定位区别
ARM 本身定位于嵌入式平台,用于应付轻量级、目的单一明确的程序,应用在移动设备上更加得心应手。
x86 定位于桌面和服务器,这些平台上很多应用是计算密集型的,如多媒体编辑、科研计算、模拟等。
Q19.网络云资源池硬件如何分区?
硬件资源池是同一个数据中心内同机房或同机房楼的一个或多个虚拟资源池的硬件组合,包括一组EOR交换机/EOR配对路由器及其下连的计算、存储、网络等硬件资源。
当有容灾备份关系的多个网元部署在同一个资源池时,可能会被 VIM 分配到同一台物理主机、同一个机柜,存储也可能分配到同一套存储设备上,因此存在单硬件设备(机架电源模块、配电柜、存储设备等)故障同时影响多个有容灾备份关系网元的风险。为了避免该风险,需要在虚拟层划分可用区(Availability Zone,AZ),初期设置两个AZ,每个AZ内有独立的服务器和分布式存储集群。
由于 AZ 划分基于硬件,因此一个虚拟资源池划分成两个 AZ,分别位于硬件资源池的两个硬件分区,如图 Q19-1 所示。每个物理设备节点只能属于一个 AZ;每个AZ内有独立的服务器、服务器所接入的 TOR、存储服务器,两个 AZ 共用成对设置的 EOR、CE(Customer Edge,用户网络边缘设备)、防火墙等出口层设备。
图Q19-1 一个资源池划分成两个AZ
一、硬件分区对供电的要求
为了提升业务可靠性,采用不同电源系统为不同硬件分区供电的组合划分,包括计算、存储、网络及其配套等硬件资源。
若采用交流供电,两路供电分别来自两套不同的UPS主机或UPS电源系统。
若采用直流供电,两路供电来自同一套直流电源系统的两个端子,当存在直流电源系统故障或输入开关故障时,所有设备都有断电的风险。因此,在条件允许的情况下,可采用两套直流电源系统为不同的硬件分区供电,以提升业务可靠性。
二、硬件分区对存储的要求
为避免存储集群故障影响整个资源池内的网元,应配置至少两套分布式存储集群。
Q20.服务器的组网方式是什么?
一、计算型服务器
计算型服务器对外提供硬件管理GE网口及6×10GE网口,其中,硬件管理GE 网口连接硬件管理 TOR,6×10GE 网口划分为管理平面、业务平面、存储平面。不同平面间流量采用物理端口隔离,保证在物理层面互不干扰;同一平面内不同功能接口之间采用逻辑隔离。
对于VNF及VIM所在服务器,管理网口连接管理TOR,业务网口连接业务 TOR,存储网口连接存储TOR。对于 NFVO+、VNFM、EMS等管理网元所在服务器,管理网口连接管理 TOR,业务网口(业务管理流量、MANO 管理流量等)连接管理 TOR,存储网口连接存储 TOR。计算型服务器网口接线具体如图Q20-1所示。
管理平面、业务平面、存储平面尽量两两跨网卡 BOND 绑定。为便于维护,每个平面的TOR1跨网卡连接第一个网口,TOR2跨网卡连接第二个网口。
图Q20-1 计算型服务器网口接线
二、存储型服务器
存储型服务器对外提供4×10GE网口及硬件管理GE网口。其中,硬件管理GE网口连接硬件管理TOR实现硬件管理;2×10GE网口跨网卡连接管理TOR,实现 OpenStack 管理;2×10GE 网口跨网卡连接存储 TOR,实现数据存储和存储后端数据同步、重均衡,存储前端和后端网络共用存储网口,如图Q20-2所示。
图Q20-2 存储型服务器网口接线
在组网中,计算型服务器与存储型服务器有 BMC(硬件设备管理平面,用于带外管理、硬件告警),以及 external_om(存储运维平面,用于虚拟化告警、备份、NTP 等)、storage_om(存储管理平面,需要与 OpenStack 管理平面三层通信)、storage_data (存储业务平面,与计算节点三层互通)、storage_data0~storage_data1 (存储数据平面,用于与存储设备间三层通信);计算还含external_api(存储 API 平面,用于运营 API 和少量的运维 API 调用,即运营平面)、public service(VIM 的通信平面,用于VIM 的运营和运维)、internal_base (存储的内部通信)等平面。
Q21.内存ECC是什么?
内存ECC(Error Checking and Correcting,错误检查和纠正)本意是指利用错误检查和纠正技术,使内存中的错误数据被检查和纠正过来。其机制为服务器内存的高容错功能,发生该错误的常见情况有两种。一种是可纠正的内存 ECC错误,简称 CE,此种错误并不会影响系统正常运行,只是代表内存中的错误数据被纠正的一条记录,此时错误本身已经被纠正,产生的内存 ECC 错误记录不会对服务器性能和稳定性产生影响,因此对于极少数不连续的报错可以忽略;但是,当 CE 纠错的频率和次数达到一定阈值时(CE 风暴和 CE 溢出),须关注该内存健康状态。另一种是不可纠正的内存 ECC 错误,简称 UCE,这种错误可能直接导致宕机,需要及时更换内存。
服务器上实现内存ECC,需要使用RDIMM(Registered Dual In-line Memory Module,带寄存器的内存)、LRDIMM (Load Reduced Dual In-line Memory Module,低负载双列直插内存)。这两种内存,不同于 UDIMM (Unbuffered Dual In-line Memory Module,无缓冲双列直插内存),除包含存储正常数据的内存颗粒外,还会多几个内存颗粒,用于存储数据的 CRC (Cyclic Redundancy Check,循环冗余校验)值和 PARITY(奇偶校验位)值。这样的内存也被称为带ECC的内存。
实现内存 ECC 的基本原理为,内存控制器每次向内存中写入数据时,会同时将数据及计算出这些数据的 CRC 值+PARITY 值保存到 ECC 内存上。当 CPU需要用到这组数据时,内存控制器会同时读取数据的CRC值+PARITY值;然后根据读取出来的数据再计算一次 CRC 值和 PARITY 值。当发现 CRC 值和PARITY 值与读取到原先存储的 CRC 值和 PARITY 值不同时,内存控制器就会知道数据有错误,并根据 CRC 值和 PARITY 值进行纠正,将原本正确的数据传送给 CPU,这样就完成了一次内存数据的检查和纠正。这一系列操作是由内存控制器中的纯硬件(芯片)完成的。
内存 DRAM 是一种电子器件,由于其工艺特性,普遍存在硬件早期失效和软失效,在其工作过程中出现部分比特位翻转,从而导致数据错误,这是内存最普遍的问题。对于稳定性要求高的服务器产品来说,为了保证数据的正确性,采用带ECC的内存来实现内存ECC。发生内存ECC不可避免,这些错误数据被纠正是为了保证数据的正确性,一般来说对业务没有影响。
Q22.BMC是什么?
BMC(Baseboard Management Controller,基板管理控制器)是一种专用芯片控制器,也称为服务器处理器,兼容服务器业界管理标准 IPMI2.0 规范,独立于服务器系统之外的小型操作系统,是一个集成在主板上的芯片。它并不依赖服务器的处理器、BIOS 或操作系统来工作,有自己的固件、电源、MAC 地址与网络接口,可谓非常独立,是一个单独在系统内运行的无代理管理子系统。BMC 主要实现远程控制、告警管理、状态监测、设备信息管理、散热控制、支持IPMItool、支持Web 界面管理、支持账号集中管理等功能。
Q23.什么是故障诊断最小化测试?
故障诊断最小化测试是指,从维修的角度判断可使服务器开机或运行的最基本的硬件和软件环境。
最小化测试有两种形式与目的。
1.硬件最小化测试
硬件最小化测试系统由电源、主板和 CPU 组成。在这个系统中,没有任何信号线的连接,只有电源到主板的电源连接。能够使服务器启动说明这些备件均正常,然后一件件地将其他备件插上去,直到某个备件引起错误为止,这样可以逐一排除故障。
2.软件最小化测试
软件最小化测试系统由电源、主板、CPU、内存、显示卡/显示器、键盘和硬盘组成。软件最小化测试的目的主要是判断系统是否可完成正常启动与运行。
故障诊断最小化测试系统配置为:CPU 一个,安装在 CPU1 槽位;内存一个,安装在DIMM000(A)槽位;电源一个,安装在任意槽位。