Redfish技术介绍
1.1 概述
Redfish是一种基于HTTPs服务的管理标准,利用RESTful接口实现设备管理。每个HTTPs操作都以UTF-8编码的JSON格式(JSON是一种key-value对的数据格式)提交或返回一个资源或结果,就像Web应用程序向浏览器返回HTML一样。该技术具有降低开发复杂性,易于实施、易于使用而且提供了可扩展性优势,为设计灵活性预留了空间。目前我们利用Redfish管理接口可以实现包括用户管理、获取服务器信息、管理模块信息等常用HDM和BIOS配置。
Redfish=REST API+软件定义的服务器(数据模型),当前由标准组织DMTF(www.dmtf.org)负责维护。
1.2 协议
在Redfish中,每个URL都代表一个资源,一个服务或一组资源。根据REST原则,使用统一资源标识符(URI)指向资源,客户端与资源进行交互。
资源的格式根据Redfish架构来定义,客户端再根据Redfish架构来确定正确的语义(Redfish语义被设计的非常直观)。
在Redfish中,所有资源都是从服务入口点(根)链接的,这个根始终位于/ redfish / v1。
主要资源类型以“collections”结构化,以支持独立,多节点或聚合的机架级系统,其他相关资源从这些集合中的成员中散开。
1.3 特点
在Redfish之前,现代数据中心环境缺少通用的管理标准。随着组织转向横向扩展解决方案,传统标准不足以满足管理众多单节点和多节点服务器融合架构的需要。
Redfish从一开始就设计为融合基础架构的通用管理协议,提供了的强大的简便性,可以集成到现有的工具链中。
2 Redfish和IPMI
IPMI是一个受到广泛支持的行业标准,它指定了一组接口,以提供独立于主机系统的CPU、固件(遗留BIOS或UEFI)和操作系统(OS)的带外管理和监视功能。然而,IPMI现在是一个已有近20年历史的遗留接口,无法满足当今的功能和安全需求。
2.1 功能
IPMI作为带外管理的较老标准,被限制为一组“最小公分母”命令(例如,电源开关、重启、温度读数和风扇速度)。因此,用户被限制在一组功能的缩减中,因为尝试增加IPMI功能的特定于供应商的扩展在来自不同供应商的平台上并不常见。与此同时,用户越来越多地开发自己的工具来实现紧密集成,常常不得不依赖于带内管理软件。IPMI内的功能缺乏标准化,加上由于重复的OEM扩展而导致越来越多的碎片,导致特定于供应商的解决方案不能满足向外扩展的数据中心用户的需求。
2.2 安全
开发Redfish的主要原因之一是解决遗留IPMI无法有效解决的安全需求。例如,Redfish基于其网络传输协议的超文本传输协议安全(HTTPS)/安全套接字层(SSL)标准,这比唯一的IPMI网络协议更普遍、更安全、更可审计。
3 HDM Redfish实现
HDM Redfish接口基于Redfish V1.1.1开发。目前我们利用Redfish管理接口可以实现包括用户管理、获取服务器信息、管理模块信息等常用HDM和BIOS配置。
Redfish的接口涉及两方面,包括HDM的接口和BIOS的接口。
3.1 HDM接口
表1 Redfish功能
|
功能 |
描述 |
|
机箱管理 |
查询机箱集合资源信息 |
|
服务器主机电源操作 |
支持服务器电源控制,和查询相关操作 |
|
主机资源操作 |
支持主机风扇、CPU、内存、PCIE卡、扩展卡、UID灯、网口查询或设置相关操作 |
|
HDM系统资源操作 |
支持HDM重启,主备切换操作。 |
|
存储管理 |
支持RAID卡信息获取,逻辑盘创建、删除、信息查询等 |
|
固件管理 |
支持相关固件信息查询和固件升级 |
|
网络服务 |
支持NTP、SNMP、SMTP、SYSLOG信息查询和配置 |
|
会话、服务管理 |
支持创建会话,查询设置服务信息 |
|
HDM账户管理 |
支持用户账户、用户组操作接口 |
|
BIOS配置管理 |
支持查询下次启动设备、BIOS配置选项,修改BIOS密码、恢复BIOS默认属性值。 |
3.2 BIOS配置项
表2 BIOS配置项支持列表
|
菜单 |
描述 |
|
Advanced |
ACPI设置、休眠设置、终端配置 、串口重定向设置、支持传统USB设备功能、XHCI切换、支持大容量USB存储设备、配置OptionROM的加载策略、PXE设置、启动设备检测计数设置 |
|
Platform Configuration |
支持SATA控制器设置、USB设置、显示设备选择选择、BIOS串口日志输出设置、SOL功能设置、软件错误注入支持设置 |
|
Socket Configuration |
支持CPU Core设置、超线程功能设置、Monitor/Mwait功能设置、Intel TXT功能设置、Intel硬件辅助虚拟化技术设置、安全模式扩展功能设置、硬件预取设置、EIST(P状态)设置、TDP等级设置、Intel® Speed Select设置、EIST PSD Function 设置、Turbo模式设置、CPU Core 频率设置、硬件P状态设置、硬件PM中断设置、EPP设置、C状态设置、T状态设置、热监控设置、功率性能调节设置 |
|
Server Management |
支持FRB-2定时器、超时策略设置和OS看门狗定时器、超时策略设置 |
|
Security |
支持安全启动模式配置,提供出厂默认秘钥设置 |
|
Boot |
支持数字锁定键状态设置、启动模式设置(UEFI和LEGACY)、UEFI Shell使能设置、启动选项设置 |
Redfish技术介绍的更多相关文章
- .Net环境下的缓存技术介绍 (转)
.Net环境下的缓存技术介绍 (转) 摘要:介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 ...
- RAID技术介绍
RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAI ...
- .Net环境下的缓存技术介绍
.Net环境下的缓存技术介绍 摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 1.1 ...
- 网络存储技术介绍(1) ( based on zt)
最近由于某同学微信发了一些网络存储的文章,开始感兴趣,稍微收集了一些 一. 网络存储技术 http://ask.zol.com.cn/q/187044.html (yxr:很老的技术介绍吧) 网络 ...
- (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍
首页 视界智尚 算法技术 每日技术 来打我呀 注册 SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...
- VPS技术介绍以及分析
VPS的全称为Virtual Private Server,叫做虚拟专用服务器(Godaddy称之为Virtual Dedicated Server,VDS).就是利用各种虚拟化手段把单台物理服务器虚 ...
- 转:Android 2.3 代码混淆proguard技术介绍
ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...
- WPF开发技术介绍
本月做了一个小讲座,主要是WPF的开发技术介绍,由于是上班时间,去听的人不多,但对于自己来说至少是又巩固了Winform的知识,抽时间写一篇文章,在此分享给大家,有什么宝贵建议大家也可以提给我,谢谢. ...
- Portal技术介绍
Portal技术介绍 Portal是web应用发展的一个重要趋势,目前几乎所有大的软件厂商都有自己的Portal产品.并且Portal技术已经形成规范.本文对Portal技术和产品进行了分析,目的 ...
随机推荐
- linux实操_shell自定义函数
基本语法: #定义函数 function 函数名(){ 函数体 } #调用函数 函数名 参数1 参数2... 实例:计算两个数的和. 运行后
- 7月新的开始 - Axure学习02 - 页面属性、钢笔工具
页面属性 页面属性可以修改整个页面的效果 包含: 属性.对交互用力和事件的编辑 样式.对页面的样式操作 说明.可以对整个页面进行说明.以及样式的说明 钢笔工具:锚点.路径 锚点:钢笔点击之后的点就是锚 ...
- 用IE滤镜实现多种常用的CSS3效果
CSS3是当下非常火的一个话题之一,很多浏览器都已经开始支持这一特性,然后IE这个拥有庞大用户群体的平台,却无法提供这样的支持,即便是IE9发布,也无法改变这一事实,然而,幸运的是,IE并非在这方面毫 ...
- KETTLE 更新表的两种方式-更新控件和sql更新 2种方式的实现比较
在实际工作中,我们有可能遇见只更新不插入的情况,可以由以下2种方式去实现: 1.更新控件 如下图所示,根据id字段,更新name和cjsj时间字段 该控件不足的地方是,用来查询关键值得字段不够灵活,一 ...
- 彻底搞懂prototype和__proto__
prototype是函数特有的属性,是Function的静态属性:__proto__是对象特有的属性. 因为函数本身是一种对象,所以函数既有prototype属性也有__proto__属性. 当函数使 ...
- junit3和junit4的使用区别如下
junit3和junit4的使用区别如下1.在JUnit3中需要继承TestCase类,但在JUnit4中已经不需要继承TestCase2.在JUnit3中需要覆盖TestCase中的setUp和te ...
- 2019CCPC-江西省赛
目录 Contest Info Solutions A. Cotree C.Trap D.Wave F.String G. Traffic H.Rng I. Budget J. Worker K. C ...
- 7月清北学堂培训 Day 5
今天是钟皓曦老师的讲授~ 动态规划 动态规划的三种实现方法: 1.递推: 2.递归: 3.记忆化: 举个例子: 斐波那契数列:0,1,1,2,3,5,8…… Fn = Fn-1 + Fn-2 1.我们 ...
- 爬虫之python3用execjs执行JS代码
JS运行环境 Node.js 是Javascript语言服务器端运行环境 安装和配置:https://www.runoob.com/nodejs/nodejs-install-setup.html 测 ...
- Echarts-树状图(源码 含flare.json)
刚刚发现官网实例里边的数据其实在:https://www.echartsjs.com/data/asset/data/flare.json 源码: html: <!DOCTYPE html> ...