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技术和产品进行了分析,目的 ...
随机推荐
- 详解es6中Proxy代理对象的作用
在es6中新添加了Proxy,那么它有什么作用啊?Proxy本意为代理,而es6中的Proxy也就是代理对象,那么代理对象感觉听起来很模糊,在这里就解释一下Proxy代理对象的作用. Proxy的主要 ...
- python_网络编程socket(UDP)
服务端: import socket sk = socket.socket(type=socket.SOCK_DGRAM) #创建基于UDP协议的socket对象 sk.bind(('127.0.0. ...
- 基于Flask和百度AI实现与机器人对话
实现对话机器人主要有个步骤 : 一.前端收集语音传入后端 二.后端基于百度AI接口进行语音识别,转换成文字 三.对文字进行自定义验证或通过图灵端口进行处理,生成回复内容 四.将文字通过百度AI接口合成 ...
- recyclerview + cardview
https://www.jianshu.com/p/3a1ea6f78ad5http://qwzs112.iteye.com/blog/2235410https://github.com/mukesh ...
- Java8-Lock-No.06
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...
- js 获取窗口大小
//获得窗口大小 function findDimensions() //函数:获取尺寸 { var point = {}; ...
- pyinstaller打包好的.exe程序在别的电脑上运行出错
打开.exe提示: Failed to execute script... 查看命令行错误提示为: 总的来说呢,就是有的版本pyqt5库对系统变量的加载存在bug,具体原因只有官方才能解释了,咱也没法 ...
- select([[data],fn])
select([[data],fn]) 概述 当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件.大理石平台生产厂 这个函数会调用执行绑定到select事 ...
- 为什么说Redis是单线程的?
一.前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”.什么是“热数据和冷数据” ,复杂一点的会问到缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级等问题,这些看 ...
- VS2012 Update 2: 0x80040154 corrupt install when starting the debugger
使用VS2012開發console program ,发现生成32位的exe文件在別的机上不能正确运行,有文章說update1可以解決這個問題,如下 Setup.exe is not a valid ...