(一)Redfish简介

IPMI

        在介绍redfish前,先介绍一下IPMI标准。

        市面上服务器市场厂商众多,知名的有Intel、NEC、DELL、HP等,各家厂商有各自不同的硬件配置以及针对自己服务器的硬件配置而编写的软件,所以不同厂商编写的软件无法应用到另一家的硬件上,导致大部分软件无法实现跨平台。服务器购买方可能会购买不同服务器厂商的服务器,各家厂商管理方式的不同为购买方管理服务器带来了极大的不便。

        因此,在1998年Intel、DELL、HP、NEC及SuperMicro等公司共同制定出IPMI协议。

        IPMI是Intelligent Platform Management Interface的缩写,即智能型平台管理接口,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。而且更为重要的是IPMI是一个开放的免费标准,用户无需为使用该标准而支付额外的费用。

        IPMI 的基础在于运行于BMC(基板管理控制器)上的专业固件。BMC完全独立于服务器的CPU/BIOS/OS而存在的,即使系统不开启,只要给它供电就它可以正常工作,它有自己完整的一套系统,有自己的CPU(ARM)、OS、储存设备等,就相当于服务器上有两套系统:一套业务系统,一套管理业务系统和硬件的系统。IPMI良好的自治特性便克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。

        在工作时,所有的IPMI功能都是向BMC发送命令来完成的,命令使用IPMI规范中规定的指令,BMC接收并在系统事件日志中记录事件消息,维护描述系统中传感器情况的传感器数据记录。在需要远程访问系统时,IPMI新的LAN上串行(SOL)特性很有用。SOL改变IPMI会话过程中本地串口传送方向,从而提供对紧急管理服务、Windows专用管理控制台或Linux串行控制台的远程访问。BMC通过在LAN上改变传送给串行端口的信息的方向来做到这点,提供了一种与厂商无关的远程查看启动、操作系统加载器或紧急管理控制台来诊断和维修故障的标准方式。

        随着时代发展,IPMI规范的局限性也越发明显。由于IPMI更多的是单点的服务,所以其扩展性(Scale Out)较差,而这些仅仅是开始,在它发明的后很长时间,IPMI的管理网络是一个专有的网络,只有授权的用户才能访问,这导致其在开始设计的时候就对安全性考虑有所欠缺。在爆出安全漏洞后,IPMI2.0增加了增强身份认证(RAKP+、SHA-1等),但其后更有别的漏洞爆出。业界呼唤一种新的,重新设计的新标准,一劳永逸的解决这些问题,于是RedFish应运而生,IPMI也在2015年公布2.0 v1.1标准后,不再更新,被RedFish永久代替,Intel也宣布不再维护,号召大家转战RedFish。

什么是redfish?

        Redfish 规范的第一个版本于2015年8月由分布式管理任务组( Distributed Management Task Force,DMTF )发布,是一个开放的行业标准规范,为可扩展平台硬件提供简单,现代和安全的管理功能。它是一个超媒体API,所以它能够通过一个一致的接口来表示各种实现。它有管理数据中心资源、处理事件、长期任务和发现的机制。基于Redfish统一的管理接口规范普及之后,未来能够有效减少不同服务器硬件管理接口带来的大量适配和开发和测试工作。目前,RedFish标准由DMTF组织的SPMF论坛维护。

       Redfish是一种基于HTTPs服务的管理标准,利用RESTful接口实现设备管理。每个HTTPs操作都以UTF-8编码的JSON格式(JSON是一种key-value对的数据格式)提交或返回一个资源或结果,就像Web应用程序向浏览器返回HTML一样。该技术具有降低开发复杂性,易于实施、易于使用而且提供了可扩展性优势,为设计灵活性预留了空间。

Redfish 在标准订立之初,就设定了以下目标:

        1.安全

        2.高可扩展管理(Scalable)

        3.人类可读数据界面(Human readable data)

        4. 基于现有硬件可实现

        开发Redfish的主要原因之一是解决遗留IPMI无法有效解决的安全需求。例如,Redfish基于其网络传输协议的超文本传输协议安全(HTTPS)/安全套接字层(SSL)标准,这比唯一的IPMI网络协议更普遍、更安全、更可审计。

        最后一条浅显易懂,也就是现在支持IPMI的BMC上,不需要(或者很小)硬件改动,就可以支持RedFish,也就是硬件兼容。高可扩展性通过定义所有的API为RESTful形式的API来完成。REST(REpresent State Transfer,REST),这个概念从Web API而来,相对于传统的SOAP API,RESTful的API定义很简单(如:POST,GET,PUT或DELETE),将对象的状态State,用JSON或XML格式在服务器和Client之间传递,这也是它的名字的由来。

         Redfish = REST  API + 软件定义的服务器(数据模型)。
         简单来说就是规定了某些资源,通过RESTful API操作这些资源。

         下图为DMTF组织定义的Redfish资源示意图,我们可以看到3大分支——Systems(系统的逻辑视图) 、Chassis(系统的物理视图)和 Managers(BMC功能)。

         Redfish依赖于RESTful(Representational State Transfer)编程接口,该接口允许使用多种编程语言进行简单查询。数据传输在HTTPS上,数据格式为JSON,支持Apps、GUI和脚本多种调用方式。HTTP容易被运维人员理解,并且拥有众所周知的安全模型。JSON是一种现代化数据格式,比XML要简单,普通人都能看懂。运维人员可以使用他们现有的 DevOps (运维/开发) 技能和工具链来执行系统管理任务。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值