服务器调研 服务器需求

服务器BMC技术调研

服务器管理的未来:探索BMC技术的深度与广度

在数据中心的管理中,BMC(基板管理控制器)扮演着至关重要的角色,它是IPMI(智能平台管理接口)协议的核心组件,为服务器的高效运维提供了强大的后台支持。IPMI设计了一套独立于操作系统和硬件的标准化接口,确保了对服务器物理状态、性能监控和远程操作的全面控制。自IPMI1.5和2.0的发布,安全性和功能扩展显著提升,比如引入了安全在线(SOL)、身份认证和安全网络接口等高级特性。

BMC作为嵌入在主板上的微控制器,它的职责是搭建起软件与硬件之间的桥梁,严格遵循IMPI规范,执行命令、接收事件并存储关键信息。它通过多样化的接口与服务器组件紧密协作,支持远程管理,使得运维人员能够随时随地对服务器进行维护。

在开源解决方案的领域,OpenBMC作为Linux基金会的杰出之作,引领了BMC技术的革新。这个项目由业界巨头微软和英特尔共同推动,基于Yocto Project构建,旨在提供一个跨平台的BMC固件堆栈,专为企业的复杂环境和HPC系统优化设计。OpenBMC不仅支持REST API、Redfish、IPMIv2.0等现代接口,还涵盖了广泛的SoC(系统-on-a-chip)支持,如Stardragon4800、Centriq2400、ASPEED AST2500等,涵盖了ARM、PPC、Xilinx Zynq架构,甚至包括Raspberry Pi这样的边缘计算平台。

OpenBMC的开发分支如master和helium,分别对应不同的BSP(基础软件平台)和SoC架构,但需注意,不同分支的BSP支持会有所差异,开发者需要根据本地配置文件来调整。编译和运行OpenBMC的过程需要在特定环境下进行,例如在Kubuntu 18.04 LTS上,利用OpenBMC官方和QEMU仓库,后者甚至针对特定的Power8服务器模拟平台如AST2400进行了优化。

Facebook官方仓库在编译过程中可能会遇到一些问题,但通过参考OpenBMC社区的解决方案和相关技术文章,这些问题通常可以迎刃而解。编译步骤包括安装必要的软件、克隆OpenBMC仓库、构建image,并配置QEMU以模拟特定硬件环境。

通过REST API,管理员可以轻松地设置环境变量,进行BMC和主机的远程操作,如复位或重启。Redfish接口则提供了类似的功能,但以更现代的标准和方法呈现。至于传统的IPMI接口,如ipmitool,它仍然在服务器管理中占有重要地位,如查询电源状态等。

OpenBMC的开源精神推动了BMC技术的创新,比如u-bmc项目使用gRPC挑战现有安全框架,而coreIPM则致力于遵循IPMI v2.0标准,支持NXP和TI处理器。虽然GitHub仓库未提及最近的更新,但LPC总线、Intel IPMI、NC-SI、KVM OVER IP等领域仍在不断发展中。

深入了解BMC,可以从ARM BMC设计如OpenBMC入手,同时探索OpenBMC官网、GitHub仓库和相关技术社区,如简书,找到丰富的教程和资源。无论你是BMC技术的初学者还是资深专家,这些资源都能帮助你深入理解并提升服务器管理的效率。

调研Redis高可用两种方案

导读:Redis是被广泛使用的基础软件之一。对于工程师和,架构师,运维人员来说,了解Redis的高可用方案和背后的原理,是必备的基础知识。本文作者深入分析了Redis高可用的方方面面,并且做了有效总结,相信对广大读者可以起到很好的领路作用。

作者 codedump codedump.info博主,多年从事互联网服务器后台开发工作。可访问作者博客阅读 codedump更多文章。

Redis中为了实现高可用(High Availability,简称HA),采用了如下两个方式:

Redis中主从节点复制数据有全量复制和部分复制之分。

全量复制使用snyc命令来实现,其流程是:

旧版本全量复制功能,其最大的问题是从服务器断线重连时,即便在从服务器上已经有一部分数据了,也需要进行全量复制,这样做的效率很低,于是新版本的Redis在这部分做了改进。

新版本Redis使用psync命令来代替sync命令,该命令既可以实现完整全同步也可以实现部分同步。

执行复制的双方,主从服务器,分别会维护一个复制偏移量:

主服务器内部维护了一个固定长度的先进先出队列做为复制积压缓冲区,其默认大小为1MB。

在主服务器进行命令传播时,不仅会将写命令同步到从服务器,还会将写命令写入复制积压缓冲区。

每个Redis服务器,都有其运行ID,运行ID由服务器在启动时自动生成,主服务器会将自己的运行ID发送给从服务器,而从服务器会将主服务器的运行ID保存起来。

从服务器Redis断线重连之后进行同步时,就是根据运行ID来判断同步的进度:

有了前面的准备,下面开始分析psync命令的流程:

前面两种情况主服务器收到psync命令之后,会出现以下三种可能:

Redis使用哨兵机制来实现高可用(HA),其大概工作原理是:

以上将Redis节点分为两类:

以上是大体的流程,这个流程需要解决以下几个问题:

以下来逐个回答这些问题。

哨兵节点通过三个定时监控任务监控Redis数据节点的服务可用性。

每隔10秒,每个哨兵节点都会向主、从Redis数据节点发送info命令,获取新的拓扑结构信息。

Redis拓扑结构信息包括了:

这样,哨兵节点就能从info命令中自动获取到从节点信息,因此那些后续才加入的从节点信息不需要显式配置就能自动感知。

这一操作实际上完成了两件事情:*发现新的哨兵节点:如果有新的哨兵节点加入,此时保存下来这个新哨兵节点的信息,后续与该哨兵节点建立连接。*交换主节点的状态信息,作为后续客观判断主节点下线的依据。

每隔1秒,每个哨兵节点向主、从数据节点以及其他sentinel节点发送ping命令做心跳探测,这个心跳探测是后续主观判断数据节点下线的依据。

上面三个监控任务中的第三个探测心跳任务,如果在配置的down-after-milliseconds之后没有收到有效回复,那么就认为该数据节点“主观下线(sdown)”。

为什么称为“主观下线”?因为在一个分布式系统中,有多个机器在一起联动工作,网络可能出现各种状况,仅凭一个节点的判断还不足以认为一个数据节点下线了,这就需要后面的“客观下线”。

当一个哨兵节点认为主节点主观下线时,该哨兵节点需要通过”sentinel is-master-down-by addr”命令向其他哨兵节点咨询该主节点是否下线了,如果有超过半数的哨兵节点都回答了下线,此时认为主节点“客观下线”。

当主节点客观下线时,需要选举出一个哨兵节点做为哨兵领导者,以完成后续选出新的主节点的工作。

这个选举的大体思路是:

可以看到,这个选举领导者的流程很像raft中选举leader的流程。

在剩下的Redis从节点中,按照以下顺序来选择新的主节点:

选择了新的主节点之后,还需要最后的流程让该节点成为新的主节点:

原文地址:

参考阅读:

GIAC全球互联网架构大会深圳站将于2019年6月举行,掌阅资深架构师,畅销图书《Redis深度历险:核心原理与应用实践》作者钱文品将作为数据库专场的讲师出席2019年GIAC深圳站,并做关于Redis高性能,高可用方面的的演讲。本届GIAC数据库专场邀请阿里云前数据库总负责人余峰作为出品人,议题如下。

参加 GIAC,盘点2019年最新技术,目前购买7.5折优惠,多人购买有更多优惠。识别二维码了解大会更多详情。

如何根据需求挑选服务器

目前服务器的品种繁多,从处理器架构来分,服务器包括RISC服务器和X86服务器,一般我们对通用基于X86服务器称为PC服务器;从应用来分,服务器又可以分为Web服务器、邮件服务器、数据库服务器等。不同的用户对服务器也有着千差万别的需求,需要相应的服务器产品以满足要求,总体来讲用户需求主要有以下几种:

一、用户对服务器的需求要素分析

1、对空间需求

如果企业或政府的机房空间位置有限,为了节省成本,因此,占用空间越少的服务器所需的费用也就越低,于是在这些用户来说,服务器采购多数采用1U、2U机架式服务器产品,随着刀片服务器的推出,其密度高的特点可以较好满足这类用户的需求,比如在互联网托管行业是对空间需求最为明显的用户群。

2、分散配置用户需求

如教育行业,用户一般将服务器分散放置,将每台服务器分发到具体的学校和单位用户中,不需要机架服务器,一般采用塔式服务器。类似的分散放置服务器和服务器绝对拥有量不高的用户,塔式服务器易放置的特点较好的满足这类用户的需求。

3、集中配置用户需求

在很多用户中,如石油行业和高教行业,用户一次性需求大量的服务器产品,规格与配置各不相同,并要求快速对服务器的维护。因此,一般要求服务器与机柜系统相搭配以易于管理,在硬盘与电源多采用热插拔,以便在出现故障时迅速更换。

4、特定应用用户需求

游戏服务器,实际上是一台性能出色的文件服务器,存储容量和I/O性能是体现服务器品质的关键因素,很多国内网游公司还选择刀片作为标配,这样的服务器需要配备光纤或千兆以太网接口,以便提供更大的网络数据交换能力,为了更大的磁盘容量则可以选配SAN或NAS作为辅助设备,组建RAID系统也是提高游戏服务器性能的关键。

影视服务器,负载的视频流需要服务器配更高的配件。双核或多处理器技术可以在很大程度上提升服务器处理媒体视频流的能力,在经济条件有限的情况下可以选择单路2U服务器,搭配1GB内存、2.5TB SATA硬盘组成RAID 5模式,提高服务器的存储需求。在保证内存容量的前提下,面对多I/O指令,用户可以选购更高性能的SAS硬盘。

二、用户对服务器的选择

从上面的分析可以看出,影响选择服务器的因素多种多样,用户既需要对服务器的硬件系统综合评估,又需要结合自身的应用及实际情况,才能做到对服务器的选择。

目前国内服务器厂家大体可分为国内和国外两个阵营,国外有IBM、惠普、戴尔、SUN等厂商,国内的则有浪潮、联想、曙光、方正等等。从产品来讲,国外企业主要集中在中高端,国内则主要集中在中低端。

采购服务器,如何选择供应商呢?

1、通过招标方式

由于目前服务器采购都是“招标中心”或者“采购中心”等中间机构来实现的,通过这些中间机构对供应商资质“把关”,评审专家的“审查”和“挑选”,可以选择好供应商。

2、通过厂商交流

无论是国外的服务器还是国内的服务器生产厂商,他们是不直接进入服务器采购竟价环节中,而是通过供应商来实现的。我们通过同服务器厂商的销售和技术人员进行事前的沟通,来很好地了解情况,做到服务器采购时“心中有数”。

3、通过用户调研

在服务器采购前,对有关的服务器供应商实际情况进行调研,重点包括性价比、产品稳定性、服务器性能,是否有硬件扩充和添加应用软件功能,能否真正地满足用户的实际应用需求。

4、通过售后服务

服务器硬件系统主要包括:处理器、内存、存储系统(硬盘)、网络系统(一般与主板集成)、主板、机箱、电源系统、散热系统和噪音控制系统几部分组成。除硬件系统外,服务器系统还包括软件系统部分,这个随服务器厂商不同差别较大,属于个性化的产品部分。

没有售后的产品不是好产品,服务器作为工业化产品,有时出点小问题是避免不了的,但是出问题不能及时解决那样对企业也会有很大的影响,而且就算产品可以但是客户也不会放心的,所以说售后服务也是很重要的因素,可以通过售后服务的调查、研究、比较来选择服务器。它包含两部分:第一,传统的售后服务部分。服务器厂家对用户在服务器产品在出现故障时对用户的支持,如维修、设备调试及设备更换等。第二,服务器厂家为了保证服务器产品而投入的备件储备与技术储备。这一部分用户很难直接看到,只能通过第一种方式间接反映。一个服务器厂家的服务好坏,与第二部分的投入的实力有直接关系。从服务来看,国外品牌在服务及时性同国内品牌还存在差距,在服务价格上要比国内品牌高。

总之,如果前期没有做相应的调查,用户在选择服务器的时候难免出现选择失误,则服务器达不到我们的需求,或造成资源浪费。在服务器产品中,服务器系统是硬的部分,可以摸得着看得见,人们对它的认识也较多。服务是软的部分,是最容易被忽略的部分。这两部分都要兼顾,不能“重硬轻软”。

哈尔滨服务器托管。租用。虚拟主机。域名注册。VPS。企业邮局。

亿林网络博客机房资料

阅读剩余
THE END